文章目录
-
- 1、cal指令
- 2、find指令
- 3、which指令
- 4、whereis指令
- 5、alias指令
- 6、grep指令
- [7、zip指令 和 unzip指令](#7、zip指令 和 unzip指令)
- [8、rz指令 和 sz指令](#8、rz指令 和 sz指令)
- 9、tar指令
- 10、bc指令
- 11、uname指令
- [12、重要的⼏个热键 Tab,Ctrl+C,Ctrl+D](#12、重要的⼏个热键 Tab,Ctrl+C,Ctrl+D)
- 13、shutdown指令
- 14、扩展命令
- 15、shell命令以及运⾏原理
1、cal指令
cal命令可以⽤来显⽰公历(阳历)⽇历。公历是现在国际通⽤的历法,⼜称格列历,通称阳历。"阳历"⼜名"太阳历",系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名"西历"。
命令格式: cal [选项] [月份] [年份]
功能: ⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份,如有两个参数,则表⽰⽉份和年份。
常⽤选项:
- -3 显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历。
- -j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)。
- -y 显⽰当前年份的⽇历
举例:
-
显示2025 年1月的日历:
cal January 2025
-
显示2025整年的日历:
cal 2025
-
显示当前月份及相邻的前一个月和后一个月的日历:
cal -3
2、find指令
- Linux下find命令在⽬录结构中搜索⽂件,并执⾏指定的操作。
- Linux下find命令提供了相当多的查找条件,功能很强⼤。由于find具有强⼤的功能,所以它的选项也很多,其中⼤部分选项都值得我们花时间来了解⼀下。
- 即使系统中含有⽹络⽂件系统(NFS),find命令在该⽂件系统中同样有效,只你具有相应的权限。
- 在运⾏⼀个⾮常消耗资源的find命令时,很多⼈都倾向于把它放在后台执⾏,因为遍历⼀个⼤的⽂件系统可能会花费很⻓的时间(这⾥是指30G字节以上的⽂件系统)。
语法: find [搜索路径] [匹配条件]
功能: ⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)
搜索路径: 指定要搜索的目录(默认为当前目录),可指定1个或多个路径。
匹配条件:
- -name 按文件名匹配(区分大小写),支持通配符(如 *.txt)
- -iname 按文件名匹配(不区分大小写)
- 在指定路径下搜索执行名称的文件:
find ~ -name temp.txt
3、which指令
语法: which [选项] 命令名
功能: 搜索系统指定命令的位置
常用选项:
- -a:显示所有匹配的可执行文件路径
- -s:静默模式,不输出结果,仅通过退出状态码表示是否找到(0 表示找到,1 表示未找到)
举例:
4、whereis指令
语法: whereis [选项] 命令名
功能: 用于查找程序的可执行文件、源代码文件和帮助文档(man 手册)位置的命令
常用选项:
- -b:仅搜索可执行文件
- -s:仅搜索源代码文件
- -m:仅搜索帮助文档
举例:
-
查找 ls 命令的所有相关文件:
where ls
-
仅查找 python3 的可执行文件位置:
whereis -b python3
-
仅查找 gcc 的帮助文档位置:
whereis -m gcc
5、alias指令
功能: 用于创建命令的别名
举例:
- 创建简单别名(用
ll
代替ls -l
)
powershell
alias ll="ls -l"

- 创建带参数的复杂别名(例如快速进入常用目录)
powershell
alias work="cd /home/user1"

- 查看已定义的别名
powershell
alias # 显示所有别名
alias ll # 仅显示ll别名的定义

- 删除别名
powershell
unalias work

6、grep指令
语法: grep [选项] 搜寻字符串 文件
功能: 在⽂件中搜索字符串,将找到的⾏打印出来。
常⽤选项:
- -i:忽略⼤⼩写的不同,所以⼤⼩写视为相同
- -n:输出⾏号
- -v:反向选择,即显⽰出没有'搜寻字符串'内容的那⼀⾏
举例:
先向temp.txt文件写入如下内容:
-
在文件中搜索指定字符串:
grep "ab" temp.txt
-
忽略大小写搜索,并显示行号:
grep -in "ab" temp.txt
-
反向匹配(显示不包含指定内容的行):
grep -v "ab" temp.txt
7、zip指令 和 unzip指令
1)zip指令
语法: zip [选项] 压缩文件名.zip 要压缩的文件/目录...
功能: 将⽬录或⽂件压缩成zip格式
常⽤选项:
- -r:递归压缩目录
举例:
- 压缩单个文件
powershell
zip test1.zip test1.txt

- 压缩多个文件
powershell
zip files.zip test2.txt test3.txt test4.txt

- 压缩目录(必须加 -r)
powershell
zip -r dir.zip dir

2)unzip指令
语法: unzip [选项] 压缩文件名.zip [要解压的文件...]
功能: 解压压缩文件
常用选项:
- -d 目录:指定解压到的目标目录(目录不存在会自动创建)
- -l:列出压缩文件中的内容(不解压)
- -o:覆盖已存在的文件,无需确认
- -x 文件:排除指定文件,不解压该文件
- 解压到当前目录
powershell
unzip test1.zip

- 解压到指定目录
powershell
unzip files.zip -d /home

- 查看压缩包内容(不解压)
powershell
unzip -l files.zip

- 解压时排除指定文件
powershell
unzip files.zip -x "test2.txt"

8、rz指令 和 sz指令
1)rz指令
语法: rz [选项]
功能: 从本地 Windows 系统向 Linux 服务器上传文件
常用选项:
- -b 二进制模式传输:用于传输压缩包(.tar/.zip)、可执行文件、图片等非文本文件,避免文件内容损坏
举例:
-
基础传输:
rz
接下来会弹出窗口,点击想要传输的文件即可进行传输:
-
二进制模式传输(用于非文本文件)
传输压缩包(如 data.tar.gz)、图片(如 img.png)、可执行程序时,必须用 -b 确保文件不损坏:
rz -b
接下来也是在弹出的窗口选择要传输的内容即可
2)sz指令
语法: sz [选项] 文件名1 [文件名2 ... 文件名N]
功能: 从本地 Linux 服务器向 Windows 系统上传文件
常用选项:
- -b 二进制模式传输:用于传输压缩包、图片、可执行文件等非文本文件,避免内容损坏。
举例:
- 传输压缩包 files.zip 到远程终端:
执行后,远程终端会弹出窗口,选择目录后开始传输:
最后在我们的终端上就可以看见我们上传的压缩包了
9、tar指令
语法: tar [选项] 归档文件名 文件或目录
功能: 另外一种常见的打包和解包工具
常用选项:
- -c:建⽴⼀个压缩⽂件,附档名为
.tar
- -x:解开⼀个压缩⽂件
- -t:查看压缩文件⾥⾯的内容
- -z:使用 gzip 压缩格式,附档名为
.tar.gz
- -j:使用 bzip2 压缩格式,附档名为
.tar.bz2
- -v:显示详细的处理过程
- -f:指定归档文件名。注意:在 f 之后要⽴即接档名,不要再加参数。
- -C:解压到指定⽬录
举例:
- 打包目录:将
/home/test
目录打包成test_backup.tar
powershell
tar -cf test_backup.tar /home/test

- 打包并压缩目录:把
/home/test
目录打包并压缩成test_backup.tar.gz
(gzip 格式)
powershell
tar -czf test_backup.tar.gz /home/test

如果打包后压缩成bzip2格式:
powershell
tar -cjf test_backup.tar.bz2 /home/test

- 解压压缩文件到当前目录:解压
test_backup.tar
到当前工作目录
powershell
tar -xf test_backup.tar

- 解压压缩归档文件到指定目录:将
test_backup.tar.gz
解压到/home
目录
powershell
tar -xzf test_backup.tar.gz -C /home

- 查看归档文件内容:查看
test_backup.tar.bz2
归档文件包含的文件和目录:
powershell
tar -tf test_backup.tar.bz2

10、bc指令
语法: bc [选项] [文件名]
功能: bc 是 Linux/Unix 系统中一款高精度的计算器工具,支持整数、小数运算,还能处理表达式、函数和变量,语法简洁直观,适合在命令行中进行数学计算。
常用选项:
- -l 加载数学库,支持小数运算和数学函数。
- -q 安静模式,进入交互环境时不显示版本信息和提示。
举例:
- 交互式计算
powershell
bc -lq

- 非交互式计算(单行命令):通过管道传递表达式
powershell
echo "2^10 + 100" | bc

- 计算文件中的表达式
powershell
bc -lq calc.txt

11、uname指令
语法: uname [选项]
功能: 用于获取系统信息的命令, 可以显示当前操作系统的名称、节点名称、内核版本、内核发行版本、机器硬件名称等信息。
常⽤选项:
- -a:详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
- -r:显示内核发行版本
举例:
- 显示当前系统的内核发行版本号:
uname -r
12、重要的⼏个热键 Tab,Ctrl+C,Ctrl+D
-
Tab:命令自动补全(最常用),文件 / 目录路径自动补全。
-
Ctrl + C:让当前的程序停掉。如果在命令行中,出现了异常情况,统一尝试Ctrl + C来终止异常。
-
Ctrl + D: 退出交互式程序(断开连接)
13、shutdown指令
语法: shutdown [选项]
常⻅选项:
- -h:将系统的服务停掉后,⽴即关机。
- -r:在将系统的服务停掉之后重新启动
- -t sec:-t 后⾯加秒数,亦即过⼏秒后关机的意思。
14、扩展命令
- 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
- ⽂件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
- 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
- ⽹络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup;
- 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
- 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
15、shell命令以及运⾏原理
Linux严格意义上说的是⼀个操作系统,我们称之为"核⼼(kernel)",但我们⼀般⽤户,不能直接使⽤kernel。⽽是通过kernel的"外壳"程序,也就是所谓的shell,来与kernel沟通。
如何理解?
从技术⻆度,Shell的最简单定义:命令⾏解释器(command Interpreter)主要包含:
- 将使⽤者的命令翻译给核⼼(kernel)处理。
- 同时,将核⼼的处理结果翻译给使⽤者。
为什么要存在外壳程序?
- 方便用户操作
- 保护内核
对⽐windows GUI,我们操作windows 不是直接操作windows内核,⽽是通过图形接⼝,点击,从⽽完成我们的操作(⽐如进⼊D盘的操作,我们通常是双击D盘盘符或者运⾏起来⼀个应⽤程序)。
shell对于Linux,有相同的作⽤,主要是对我们的指令进⾏解析,解析指令给Linux内核。反馈结果在通过内核运⾏出结果,通过shell解析给⽤⼾。
帮助理解: 如果说你是⼀个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的且有让你⼼动的⼩花。你看上了⼩花,但是又不好意思直接表⽩,那就让你家⼈找媒婆帮你提亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给⼩花,⽽我们找到的媒婆姓王,所以我们叫它王婆,它对应我们常使⽤的bash。