【Linux】Linux 常用指令2
本篇文章主要介绍 Linux 中的一些常用指令
目录
1 mv 指令
2 cat 指令
3 more、less、head、tail 指令
4 echo 指令
5 date、cal 指令
6 find 指令
7 which 指令
8 whereis 指令
9 whoami 指令
10 alias 指令
11 grep 指令
12 zip/unzip 指令
13 rszs
14 tar 指令
15 Linux 中常用快捷键
1 mv 指令
mv 是 move 的缩写,其功能是用来对文件或者目录进行移动以及重命名,其用法为:
mv [ 选项 ] 源文件或者目录 目标文件或者目录
其常用的选项包括:
-f:force 的简称,如果目标文件已经存在,不会询问直接覆盖
-i:若目标文件已经存在,当要覆盖时会询问你是否要进行覆盖
示例:
2 cat 指令
cat 指令的功能是用来打印目标文件的内容,会从头到尾的把文件内容全部打印,其用法为:
cat [选项] [文件]
选项:
-b:不输出空行编号
-n:对所有输出进行行编号
-s:不连续输出多行空行
cat 指令也可以不加选项和参数,不加选项和参数时,会进入输入界面,此时你输入什么内容,就会往屏幕上打印什么内容,如果不想输入了,按 ctrl + C 退出(看似是退出了,其实是结束了 cat 这个进程):
示例:
mytest.c 内容:
cat mytest.c:
cat -n mytest.c:
cat -b mytest.c:
cat -s mytest.c:
在 Linux 中还存在一个指令叫做 tac 指令,tac 是 cat 的逆置,所以 tac 指令的作用与 cat 相反,是从最后一行打印到第一行:
3 more、less、head、tail 指令
这四个指令都与 cat 指令相同,都是用来查看文档的,只不过使用上与 cat 有所区别。这四个指令主要用来打印大文件,可以做到分批打印的作用,我们可以用下面这个指令形成一个大文件:
count=1; while [ ${count} -le 10000 ]; do echo "${count} hello Linux"; let count++; done > mytest.txt
这条指令的功能是将 10000 行 hello Linux 写到 mytest.txt 文件中。
more:
其功能是从第一行开始打印文档内容,打满一屏后,就不再打印,只能按 Enter 键向下查看,不能使用上下键进行上下翻。
选项:
-n:指定输出的函数
按 q 退出 more
示例:
less:
less 与 more 一样,都用来查看文件,但是 less 功能比起 more 来说,其功能更加强大,more 只能按 Enter 键向下翻,但是 less 在进入界面之后,可以使用 PgUp 与 PgDn 进行向上与向下查看,也就是 less 可以查看当前行之前的内容,也可以查看当前行之后的内容,而且进入界面之后,不仅可以查看内容,还可以进行搜索字符串,其拥有的选项也会让其功能更加强大。其用法为:
less [ 选项 ] 要查看的文件
选项:
-i:忽略搜索时的大小写
-N:显示每行的行号
/字符串:向下搜索"字符串"
?字符串:向上搜索"字符串"
n:重复前一个搜索
N:反向重复前一个搜索
q:退出
示例:
less -Ni mytest.txt:
head:
head 是头的意思,所以 head 指令的功能就是打印文件的前几行,如果不加选项,head 指令默认打印文件的前10行,其用法为:
head [ 选项 ] 要查看的文件
选项:
-数字:数字代表要查看的行数
示例:
tail:
tail 是尾巴的意思,所以其功能与 head 相反,功能是打印尾部的文字,默认打印最后十行。
选项:
-f:不退出 tail,当文件被其他进程追加新内容时,会将该新信息打印在屏幕上
-数字:数字代表输出的尾部行数
示例:
使用管道文件完成中间内容的查看:
前面有了 head 可以查看头部内容,tail 可以查看尾部内容,那么中间的内容我们怎么查看呢?这时候就可以借助一个名叫管道的文件,比如查看 mytest.txt 文件第 5001 行到第 5010 行,就可以这样写:
head -5010 mytest.txt | tail -10
中间连接两个命令的 | 就称为管道文件,之所以称作管道文件,就是其可以传送资源,可以连接多个命令,进行批量化处理,这句命令的意思是:先将 head -5010 mytest.txt 的内容交给管道文件,然后再有 tail -10 输出管道文件中的后 10 行内容。
命令执行结果:
4 echo 指令
echo 指令的功能多样,接下来我们分批进行讲解。
echo 字符串:
如果在 echo 后面直接写一个字符串,其默认会向显示屏文件中写入,也就是在屏幕上直接打印出后面的字符串。如:
输出重定向:
如果是 echo 字符串 > 文件 ,这个就叫做输出重定向,此时并不是将字符串内容写入显示器文件,而是将字符串内容写入要进行重定向的文件,此时会清空文件内容,再将字符串写入,如果文件不存在,那么就会新建一个文件,所以如果想要清空文件或者新建文件,我们也可以直接使用输出重定向来创建或者情况文件:
追加重定向:
如果将输出重定向中的 > 变为 >>,也就是 echo 字符串 >> 文件,此时就叫做追加重定向,这时候只会将字符串追加到文件末尾,并不会清空文件内容。如:
输入重定向:
输入重定向用到的并不是 echo 指令,而是 cat 指令,当 cat < 文件 时,这个就称为输入重定向。之前直接输出 cat 指令,其实是从键盘文件获取输入,然后再输出到显示器文件,但是输入重定向就是在后面的文件中获取内容,然后输出到显示器文件。如:
5 date、cal 指令
date:
date 指令就像他指令的名字一样,就是用来显示时间的,如:
当然也可以用标记来指定格式,常用的标记如下:
%Y:年
%m:月
%d:日
%H:小时
%M:分钟
%S:秒
%X:相当于 %H:%M:%S
%F:相当于 %Y-%m-%d
然后可以使用 date +标记 的形式来指定输出时间的格式,如要输出格式为 2025-10-2 03:56:24 可以使用如下指令来指定格式:
也可以:
时间戳:
Linux 中的时间戳用的是 Unix 时间戳,时间戳是一个整数,代表了从1970年1月1日0点开始所经过的秒数,计算机所看到的时间都是由时间戳转化而来,date 命令就可以进行时间戳与时间之间的转换:
时间变为时间戳:date +%s
时间戳变为格式化时间:date +标记 -d@时间戳
如:
我们可以使用上述功能查看 0 时间戳对应的时间:
可以看到 0 时间戳对应的是1970年1月1日的上午8点,并不是0点,这是因为我们处于东八区,加上 8 个小时才是我们日常生活中的时间,所以东八区的 0 时间戳对应的就是1970年1月1日的上午8点。
cal:
cal 是calendar 的简称,其意思为日历,所以 cal 命令就是用来显示日历的,其对应的选项有:
-3:显示上一个月、当前月和下一个月的日历
-j:显示在当年中的第几天
年份:显示当前年份的日历
6 find 指令
find 命令就像其名字一样,其功能主要是是用来查找文件的,但是也可以进行其他的操作。其用法为:
find [ 路径 ] [ 匹配条件 ] [ 操作 ]
选项:
find 的选项很多,这里挑几个常用的:
-name:按照文件名进行匹配,文件名区分大小写,?代表一个字符,*代表多个字符
-type:按照文件类型进行匹配,f 代表普通文件,d 代表目录,l 代表软连接,c 代表字符设备文件,s 代表套接字文件,b 代表块设备文件
-size:按照文件大小进行匹配,b 代表快(512字节),c 代表字节,k 代表 KB,M 代表 MB,G 代表 GB,+ 代表大于,- 代表小于
示例:
7 which 指令
which 是哪一个的意思,功能是查找并显示系统指定命令的绝对路径,如:
8 whereis 指令
whereis 指令与 which 指令很像,但是 whereis 指令与 which 指令查找的内容不同,whereis 指令的功能主要用于找到程序的源、二进制文件或者手册页等,也就是与这个程序有关的文件放在哪里,如:
9 whoami 指令
whoami 指令文件,主要就是用来查询当前用户是谁,是 root 用户还是普通用户:
其中可以使用 su 命令来切换用户,root 用户切换为其他用户不需要输入密码,而其他用户切换为 root 用户需要输入密码。
10 alias 指令
alias 指令也很简单,功能就是用来给指令取别名的,就像在 C 语言中使用 typedef 为变量取别名一样,其用法为:
alias 字符串="命令"
其实我们常用的 ll 命令也是一个命令的别名,通过 which ll 我们可以看到:
11 grep 指令
grep 主要是用于文本过滤的,其功能是在文件中搜索目标字符串,然后将搜索到的行打印出来。其用法为:
grep [ 选项 ] 搜索目标字符串 文件
选项:
-i:ignore 的缩写,忽略大小写
-n:输出行号
-v:反向选择,打印没有目标字符串的行
示例:
mytest.txt内容:
12 zip/unzip 指令
在 windows 系统中,有一种压缩方式叫做 zip 压缩,在 Linux 中也是一样的,zip 命令是用来对文件进行压缩打包的,相对的,unzip 就是对文件进行解压缩的。这两个的用法为:
zip 压缩后的文件 要压缩的文件
unzip 压缩后的文件 -d 要解压到的目录
选项:
zip:
-r:递归处理,将目录和其下的文件与目录一起打包压缩
示例:
13 rszs
rszs 是一个工具,其功能主要是用于 windows 机器和远端的 Linux 机器通过 xshell 传输文件,首先使用之前我们需要先安装一下这个工具,使用如下命令安装:
root 用户:
centos:yum install -y lrzlz
ubuntu:apt install -y lrzlz
普通用户(现在 sudo 使用不了可以先用 root 用户,后面讲解权限会讲解到):
centos:sudo yum install -y lrzlz
ubuntu:sudo apt install -y lrzlz
安装完成之后,就可以使用如下功能进行 Linux 与 Windows 之间的文件互传了:
Liunx 到 Windows:sz 要传送的文件
Windows 到 Linux:rz
示例:
选择了文件存放位置之后(这里选择的桌面),就可以看到 Windows 中出现了一个文件:
使用 rz 指令之后,选择了 AVLTree.h 这个文件,当前目录中就出现了 AVLTree.h 这个文件。
14 tar 指令
tar 指令与 zip 指令很像,其主要功能就是将多个文件和目录打包到一个文件下,并生成压缩包。其用法为:
tar [ 选项 ] 打包压缩后的文件 打包压缩前的多个文件与目录
选项:
-c:create 的简称,功能是创建新的打包文件
-x:从打包的文件中提取文件,其实就是解包的
-t:不解包,只查看打包的文件中包含哪些文件和目录
-z:用 gzip 格式压缩,解包时自动识别 gzip 格式
-v:列出打包的所有文件和目录
-f:指定归档文件的名称,需要注意的是 -f 选项之后后面必须接上文档名,不能再有其他参数
-C:解压到指定目录
-j:用 bzip2 的格式进行压缩,解包时自动识别 bzip2 格式
示例:
15 Linux 中常用快捷键
1) ctrl + c:使当前的程序强制退出
2) Tab:具有命令补全功能
3) Pgup 与 PgDn按键(上下按键):可以翻看并执行历史写过的命令,其实可以使用 history 命令来查看之前写过的命令
4) ctrl + d:代表键盘结束输入
5) ctrl + r:按了之后,输入关键词,就可以搜索历史写过的相关命令
6) !+ 命令字符:执行最近一次执行过的包含该字符的命令,比如执行了 clear(清空当前屏幕)命令,!c 就会执行 clear 命令