Day02 常见Linux命令
目录
文章目录
- Day02 常见Linux命令
- 1.查看当前路径 (pwd)
- 2.显示(ls)
- 3.切换到指定目录(cd)
- 4.命令行手册查看器(man)
- 5.显示shell内建命令、别名、shell选项和shell变量的帮助信息(help)
- 6.创建目录(mkdir)
- 7.删除空目录(rmdir)
- 8.移除文件或目录(rm)
- 9.创建空文件(touch)
- 10.拷贝文件到指定目录(cp)
- 11.移动文件与目录或重命名(mv)
- 12.查看、创建和拼接文件(cat)
- 13.查看文件的内容(less)
- 14.输出内容到控制台(echo)
- 15.显示文件的开头/末尾部分内容(head,tail)
- 16链接,类似于 windows里的快捷方式(ln)
- 16.2软链接
- 17.命令历史列表(history)
- 18.时间日期类
- 19.搜索符合条件的文件和目录(find)
- 20.快速定位文件(locate)
- 21.压缩解压
1.查看当前路径 (pwd)
pwd
2.显示(ls)
ls -a -l
-a:显示当前目录所有文件和目录,包括隐藏的
-l:以列表方式显示信息
3.切换到指定目录(cd)
4.命令行手册查看器(man)
man ls
显示ls命令的手册页
5.显示shell内建命令、别名、shell选项和shell变量的帮助信息(help)
help cd
显示cd命令的帮助信息
man与help区分
如果你需要详细的命令文档,man通常是更好的选择;如果你需要快速了解bash shell的某个特性或内建命令,help命令可能更加方便
6.创建目录(mkdir)
mkdir -p
创建多级目录
7.删除空目录(rmdir)
rmdir -rf
-rf :删除非空目录
8.移除文件或目录(rm)
rm -r -f
-r:递归
-f:强制
8.1rmdir与mv区分
由于rmdir不会删除非空目录,因此在某些情况下它可能更安全,因为它避免了意外删除重要文件的风险。rm命令则需要更小心使用,尤其是当使用-r和-f选项时。
9.创建空文件(touch)
9.1创建新文件
touch newfile.txt
在当前目录下创建一个名为newfile.txt的新文件。
9.2同时创建多个新文件
touch file1.txt file2.txt file3.txt
创建三个文件:file1.txt、file2.txt和file3.txt
10.拷贝文件到指定目录(cp)
cp -r
递归复制整个文件夹
cp -r /home/bbb /opt
递归复制整个文件夹,举例,比如将/home/bbb整个目录,拷贝到 /opt
11.移动文件与目录或重命名(mv)
11.1重命名文件
mv oldname.txt newname.txt
把oldname.txt重命名为newname.txt。
11.2移动文件
mv file.txt /path/to/destination
把file.txt移动到指定的目标目录
11.3移动多个文件
mv file1.txt file2.txt /path/to/destination
把file1.txt和file2.txt都移动到目标目录。
12.查看、创建和拼接文件(cat)
12.1查看文件内容
cat filename.txt
显示filename.txt文件的内容到终端
12.2创建新文件
cat > newfile.txt
你可以开始输入文本,输入完毕后按Ctrl+D结束输入并创建文件
12.3追加内容到文件
cat >> existingfile.txt
打开existingfile.txt文件以追加模式,允许你添加更多内容
12.4拼接文件
cat file1.txt file2.txt > combined.txt
把file1.txt和file2.txt的内容合并到combined.txt文件中
13.查看文件的内容(less)
13.1打开文件
less filename.txt
打开filename.txt文件,你可以浏览其内容
13.2浏览文件
Space(空格键)可以向下滚动一页
Page Up键可以向上滚动一页(我的是数字9)
13.3搜索
按/,然后输入要搜索的文本,按Enter。
使用n跳转到下一个匹配项。
使用N跳转到上一个匹配项
13.4编辑文件
按v在默认编辑器中打开当前文件进行编辑
13.5cat与less区分
与cat命令不同,less允许你逐步浏览文件,向前和向后滚动,而不必一次性将整个文件内容加载到内存中。
14.输出内容到控制台(echo)
echo "Hello, World!"
在终端输出文本"Hello, World!"
echo $PATH
输出环境变量PATH的值。
15.显示文件的开头/末尾部分内容(head,tail)
head -n
tail -n -f
-n:行数
-f:实时更新
16链接,类似于 windows里的快捷方式(ln)
16.1硬链接
硬链接直接指向文件的物理位置,即文件的inode(文件系统中存储文件信息的数据结构)。即使原文件被移动或删除,硬链接仍然有效
假设你有一个文件/myfiles/important_document.txt,你想要在/home/username/docs目录下创建一个硬链接,以便在不同的位置访问这个文件。
首先,你需要确保两个文件位于同一个文件系统上。然后,你可以使用以下命令创建硬链接:
ln /myfiles/important_document.txt /home/username/docs/important_doc_link.txt
这将在/home/username/docs目录下创建一个名为important_doc_link.txt的硬链接,它与/myfiles/important_document.txt是同一个文件。
16.2软链接
软链接类似于Windows系统中的快捷方式,它包含指向目标文件的路径。如果原文件被移动或删除,软链接将失效
ln -s target_file symbolic_link
这将在当前目录下创建一个名为symbolic_link的软链接,指向target_file
软硬连接注意事项:
硬链接不能跨文件系统创建,也不能链接到目录。
软链接可以跨文件系统,也可以链接到目录。
创建硬链接时,目标文件不能是目录。
创建软链接时,可以链接到目录
17.命令历史列表(history)
显示历史命令:
history
这将列出用户的所有命令历史记录,每个命令前面都有一个编号。
执行历史命令:
!数字
查看历史命令的文件:
cat ~/.bash_history
nano ~/.bash_history
18.时间日期类
显示当前日期和时间:
date
设置系统日期和时间(需要超级用户权限):
sudo date -s "2024-05-15 12:00:00"
测量某个命令的执行时间:
time ls -l
显示月历、年历或某个月的日历
cal 05 2024
显示2024年5月的日历
显示系统已经运行了多久
uptime
暂停60秒
sleep 60
18.1硬件时钟(Hardware Clock)
一个独立的计时设备,通常内置在计算机的主板上。它负责保持时间的连续性,即使在计算机关机的情况下也能持续运行,因为它通常由一个小型电池供电。
误差来源:
晶体振荡器的不完美:硬件时钟使用晶体振荡器来保持时间,但没有任何晶体振荡器是完美的,总会有微小的频率偏差。
电源问题:电源的稳定性和电池电量的减少可能会影响硬件时钟的准确性。
环境因素:温度变化和其他环境因素也可能对硬件时钟的精度产生影响。
设置硬件时钟:
sudo hwclock --set 12:00:00 2023-01-12
将硬件时钟同步到系统时间:
sudo hwclock --hctosys
18.2系统时钟(System Clock)
误差来源:
系统负载和调度:操作系统的调度程序和系统负载可能会影响系统时钟的更新频率。
系统休眠或睡眠:当系统进入休眠或睡眠状态时,系统时钟不会继续运行,这可能导致误差。
软件问题:操作系统中的软件错误或配置问题也可能影响系统时钟的准确性。
解决办法:
同步:通过与互联网上的时间服务器同步(使用NTP,Network Time Protocol),系统时钟可以定期校正,以保持高精度。
校准:在系统启动时,操作系统通常会从硬件时钟读取时间,并将系统时钟设置为硬件时钟的时间(如果硬件时钟被认为是准确的)。
电池更换:定期更换硬件时钟的电池,确保其稳定运行。
将系统时间同步到硬件时钟:
sudo hwclock --systohc
18.3启动NTP服务以自动同步时间
sudo systemctl start ntp
sudo systemctl enable ntp
19.搜索符合条件的文件和目录(find)
搜索特定目录下的所有文件和目录
find /path/to/directory
按文件名搜索文件
find /path/to/directory -name 'filename.txt'
find /path/to/directory -name '*.txt'
搜索文件大小超过10MB的文件
find /path/to/directory -type f -size +10M
20.快速定位文件(locate)
搜索文件:
locate filename.txt
搜索名为filename.txt的文件,并列出所有匹配的文件路径
搜索系统中所有的.jpg图片文件:
locate -r '\.jpg'
-r:允许你使用正则表达式来搜索文件名。
21.压缩解压
21.1gzip/gunzip
压缩文件:
gzip file.txt
解压文件:
gunzip file.txt.gz
恢复原始:
gzip -d file.txt.gz
21.2更通用的压缩工具(zip/unzip)
创建压缩文件:
zip archive.zip file1.txt file2.txt
创建一个名为archive.zip的压缩文件,包含file1.txt和file2.txt
解压压缩文件:
unzip archive.zip
解压archive.zip中的所有文件。
21.3打包工具(tar)
打包文件:
tar -cvf archive.tar file1.txt file2.txt
创建一个名为archive.tar的打包文件,包含file1.txt和file2.txt。
解压打包文件:
tar -xvf archive.tar
解压archive.tar中的所有文件