Linux 速查表
你好,我是悦创。
猛肝了一晚,终于把这个表格整理出来,还没开始校对✍️。
Linux 的命令非常多,非常丰富,下面我会列举出一些常用的 Linux 命令,并按照文件操作、系统信息、进程管理等类别进行分类。
文件操作命令
| 序号 | 命令 | 作用 | 语法 | 示例 |
|---|---|---|---|---|
| 1 | ls | 列出目录 | ls [option] [directory] | ls -l |
| 2 | cd | 更改目录 | cd [directory] | cd /home |
| 3 | pwd | 显示当前目录 | pwd | pwd |
| 4 | touch | 创建空文件 | touch file | touch example.txt |
| 5 | cat | 查看文件内容 | cat file | cat example.txt |
| 6 | more | 分页显示文件内容 | more file | more example.txt |
| 7 | head | 查看文件开头 | head file | head example.txt |
| 8 | tail | 查看文件末尾 | tail file | tail example.txt |
| 9 | cp | 复制文件或目录 | cp source destination | cp example.txt example_copy.txt |
| 10 | mv | 移动或重命名文件或目录 | mv source destination | mv /tmp/example.txt /home/ |
| 11 | rm | 删除文件或目录 | rm option file | rm -r example_folder |
| 12 | find | 查找文件 | find path -name filename | find / -name example.txt |
| 13 | wc | 统计文件中行数、字数、字符数 | wc option file | wc -l example.txt |
| 14 | diff | 比较文件差异 | diff file1 file2 | diff example1.txt example2.txt |
| 15 | file | 确定文件类型 | file file | file example.txt |
| 16 | chmod | 更改文件或目录的权限 | chmod permissions file | chmod 755 example.txt |
| 17 | chown | 更改文件或目录的所有者 | chown user:group file | chown root:root example.txt |
| 18 | df | 显示磁盘使用情况 | df [options] | df -h |
| 19 | du | 查看目录或文件的磁盘使用情况 | du [options] [directory_or_file] | du -sh /home |
| 20 | ln | 创建链接文件 | ln -s source_file link_file | ln -s /path/to/example.txt link.txt |
| 21 | grep | 文本搜索 | grep [options] pattern [file] | grep "example" example.txt |
| 22 | sed | 文本处理 | sed [option] 'command' file | sed 's/test/best/g' example.txt |
| 23 | awk | 文本处理 | awk [options] 'command' file | awk '{print $1}' example.txt |
| 24 | sort | 对文本行排序 | sort [options] file | sort -n example.txt |
| 25 | tar | 归档工具 | tar [options] filename | tar -cvf archive.tar /path/to/directory |
| 26 | gzip | 压缩或解压文件 | gzip [options] file | gzip example.txt |
| 27 | gunzip | 解压 gzip 文件 | gunzip file | gunzip example.txt.gz |
| 28 | zip | 压缩或解压文件 | zip [options] archive_name file | zip example.zip example.txt |
| 29 | unzip | 解压 zip 文件 | unzip file | unzip example.zip |
| 30 | cut | 删除文件中的某些部分 | cut [options] file | cut -d ':' -f 1 example.txt |
系统信息命令
| 序号 | 命令 | 作用 | 语法 | 示例 |
|---|---|---|---|---|
| 1 | uname | 打印系统信息 | uname [option] | uname -a |
| 2 | hostname | 显示主机名 | hostname | hostname |
| 3 | dmesg | 显示内核启动信息 | dmesg | dmesg |
| 4 | uptime | 显示系统运行时间 | uptime | uptime |
| 5 | who | 显示当前登录用户 | who | who |
| 6 | whoami | 显示当前用户名 | whoami | whoami |
| 7 | id | 显示用户身份 | id [username] | id |
| 8 | last | 显示用户登录历史 | last | last |
| 9 | w | 显示谁在线 | w | w |
| 10 | free | 显示内存使用情况 | free [options] | free -h |
| 11 | df | 显示磁盘空间使用情况 | df [options] | df -h |
| 12 | du | 显示目录空间使用情况 | du [options] [directory] | du -sh /home |
| 13 | top | 显示系统总体信息,包括任务、内存、CPU、进程等 | top | top |
| 14 | ps | 显示当前进程状态 | ps [options] | ps aux |
| 15 | vmstat | 显示虚拟内存统计 | vmstat | vmstat |
| 16 | iostat | 显示系统输入输出统计 | iostat | iostat |
| 17 | ifconfig | 显示网络接口配置 | ifconfig | ifconfig |
| 18 | ip | 显示或操作路由、网络设备、策略路由和隧道 | ip [options] | ip addr |
| 19 | netstat | 显示网络连接、路由表、接口状态 | netstat [options] | netstat -ant |
| 20 | ss | 用来查看系统的 socket | ss [options] | ss -ant |
| 21 | nslookup | 查询 DNS 服务器的记录 | nslookup [domain] | nslookup example.com |
| 22 | dig | DNS 查询工具 | dig [domain] | dig example.com |
| 23 | traceroute | 显示数据包到达主机所采取的路径 | traceroute [domain] | traceroute example.com |
| 24 | ping | 测试网络连通性 | ping [ip or domain] | ping 8.8.8.8 |
| 25 | whois | 查询域名的 WHOIS 信息 | whois [domain] | whois example.com |
| 26 | date | 显示或设置系统时间日期 | date | date |
| 27 | cal | 显示日历 | cal [month] [year] | cal |
| 28 | uptime | 查看系统运行时间、用户数、负载 | uptime | uptime |
| 29 | sar | 系统运行状态统计工具 | sar | sar |
| 30 | lscpu | 显示 CPU 信息 | lscpu | lscpu |
进程管理命令
| 序号 | 命令 | 作用 | 语法 | 示例 |
|---|---|---|---|---|
| 1 | ps | 显示当前进程状态 | ps [options] | ps aux |
| 2 | top | 实时显示进程状态 | top | top |
| 3 | htop | 实时显示进程状态(比top更丰富) | htop | htop |
| 4 | bg | 把一个挂起的命令放到背景执行 | bg [job_id] | bg 1 |
| 5 | fg | 把命令从背景转到前台执行 | fg [job_id] | fg 1 |
| 6 | kill | 杀死进程 | kill [option] pid | kill -9 1234 |
| 7 | pkill | 根据进程名杀死进程 | pkill [options] pattern | pkill -u user1 |
| 8 | nohup | 让命令在后台安全运行 | nohup command & | nohup ping google.com & |
| 9 | nice | 改变即将被执行的命令的优先级 | nice [options] command | nice -n 19 command |
| 10 | renice | 改变已运行进程的优先级 | renice [options] pid | renice -n 10 -p 1234 |
| 11 | free | 显示内存状态 | free -h | free -h |
| 12 | vmstat | 显示系统内存状态 | vmstat 1 100 | vmstat 1 100 |
| 13 | iotop | 监视I/O使用 | iotop | iotop |
| 14 | iostat | 监视系统输入输出设备和CPU的使用情况 | iostat | iostat |
| 15 | mpstat | 显示各个可用CPU的状态 | mpstat -P ALL | mpstat -P ALL |
| 16 | pidof | 查找进程的 PID | pidof process_name | pidof apache2 |
| 17 | strace | 跟踪进程的系统调用 | strace command | strace -c ls |
| 18 | dstat | 全面的系统资源统计工具 | dstat | dstat |
| 19 | glances | 跨平台的系统监控工具 | glances | glances |
| 20 | systemctl | 系统服务管理器 | systemctl [command] [service] | systemctl start apache2.service |
| 21 | service | 控制系统服务 | service [service_name] [command] | service apache2 start |
| 22 | lsof | 列出文件系统当前已打开的文件 | lsof | lsof |
| 23 | ss | 查看系统 socket 信息 | ss [options] | ss -tan |
| 24 | netstat | 显示网络连接信息 | netstat [options] | netstat -rn |
| 25 | tcpdump | 网络包分析工具 | tcpdump [options] | tcpdump -i eth0 |
| 26 | nmap | 网络探测和安全审计 | nmap [options] [host] | nmap -A -T4 192.168.1.1 |
| 27 | iftop | 显示网络接口带宽使用情况 | iftop | iftop |
| 28 | traceroute | 显示数据包到主机间的路由路径 | traceroute [host] | traceroute google.com |
| 29 | iptraf | 显示 IP 网络统计信息 | iptraf | iptraf |
| 30 | sar | 收集、报告或者存储系统活动信息 | sar [options] | sar -n DEV |
包管理命令
| 序号 | 命令 | 作用 | 语法 | 示例 |
|---|---|---|---|---|
| 1 | apt-get | Debian 系统的包管理工具 | apt-get [options] [command] [package] | apt-get install python3 |
| 2 | yum | RHEL/CentOS 系统的包管理工具 | yum [command] [package] | yum install python3 |
| 3 | dnf | Fedora 系统的包管理工具,也在 RHEL 和 CentOS 中逐渐取代 yum | dnf [command] [package] | dnf install python3 |
| 4 | zypper | openSUSE 系统的包管理工具 | zypper [command] [package] | zypper install python3 |
| 5 | pacman | Arch Linux 系统的包管理工具 | pacman [options] [package] | pacman -S python |
用户和群组管理命令
| 序号 | 命令 | 作用 | 语法 | 示例 |
|---|---|---|---|---|
| 1 | useradd | 创建新用户 | useradd [options] username | useradd -m username |
| 2 | userdel | 删除用户 | userdel [options] username | userdel -r username |
| 3 | usermod | 修改用户 | usermod [options] username | usermod -aG sudo username |
| 4 | passwd | 修改用户密码 | passwd [username] | passwd username |
| 5 | groupadd | 创建新群组 | groupadd groupname | groupadd groupname |
| 6 | groupdel | 删除群组 | groupdel groupname | groupdel groupname |
| 7 | groupmod | 修改群组 | groupmod [options] groupname | groupmod -n new_groupname old_groupname |
文件系统和磁盘管理命令
| 序号 | 命令 | 作用 | 语法 | 示例 |
|---|---|---|---|---|
| 1 | mount | 挂载文件系统 | mount [options] device directory | mount /dev/sda1 /mnt |
| 2 | umount | 卸载文件系统 | umount [options] directory | umount /mnt |
| 3 | fsck | 检查并修复文件系统 | fsck [options] device | fsck /dev/sda1 |
| 4 | fdisk | 磁盘分区工具 | fdisk [options] device | fdisk /dev/sda |
| 5 | dd | 数据复制命令,常用于磁盘操作 | dd if=source of=target | dd if=/dev/zero of=/dev/sda |
| 6 | mkfs | 格式化设备为某种文件系统 | mkfs [options] device | mkfs -t ext4 /dev/sda1 |
| 7 | lsblk | 列出所有可用块设备 | lsblk [options] | lsblk |
好的,以下是关于 Bash 脚本编程的一些基础知识:
变量和数据类型
| 序号 | 描述 | 语法 | 示例 |
|---|---|---|---|
| 1 | 定义变量 | variable_name=value | name="Open" |
| 2 | 访问变量 | $variable_name | echo $name |
| 3 | 只读变量 | readonly variable_name | readonly name |
| 4 | 删除变量 | unset variable_name | unset name |
| 5 | 字符串 | str="Hello World" | echo $str |
| 6 | 数组 | array_name[index]=value | array[0]="test" |
控制结构
| 序号 | 描述 | 语法 | 示例 |
|---|---|---|---|
| 1 | if 条件判断 | if [ condition ]; then ... fi | if [ $a == $b ]; then echo "Equal"; fi |
| 2 | if-else 条件判断 | if [ condition ]; then ... else ... fi | if [ $a == $b ]; then echo "Equal"; else echo "Not Equal"; fi |
| 3 | for 循环 | for variable in list; do ... done | for i in 1 2 3; do echo $i; done |
| 4 | while 循环 | while [ condition ]; do ... done | while [ $i -lt 10 ]; do echo $i; let i++; done |
| 5 | until 循环 | until [ condition ]; do ... done | until [ $i -ge 10 ]; do echo $i; let i++; done |
| 6 | case 语句 | case expression in pattern1) commands1;; pattern2) commands2;; esac | case $name in "John") echo "John";; "Doe") echo "Doe";; esac |
函数
| 序号 | 描述 | 语法 | 示例 |
|---|---|---|---|
| 1 | 定义函数 | function function_name { ... } | function greet { echo "Hello, $1"; } |
| 2 | 调用函数 | function_name arguments | greet "Open" |
文件操作
| 序号 | 描述 | 语法 | 示例 |
|---|---|---|---|
| 1 | 读取文件 | while read line; do ... done < file | while read line; do echo $line; done < file.txt |
| 2 | 写入文件 | echo "text" > file | echo "Hello, World" > file.txt |
| 3 | 追加文件 | echo "text" >> file | echo "Hello, again" >> file.txt |
其他命令
| 序号 | 描述 | 语法 | 示例 |
|---|---|---|---|
| 1 | 执行命令 | command | ls |
| 2 | 执行命令并捕获输出 | output=$(command) | files=$(ls) |
| 3 | 测试表达式 | [ expression ] | if [ $a == $b ]; then echo "Equal"; fi |
这只是 Bash 脚本编程的基础知识,你可能需要进一步学习更复杂的主题,如正则表达式、进程管理、信号和作业控制等。
下面是 Bash 编程的更完整的语法和示例。
变量用于存储值,使用 $ 符号来引用。
name="Bash"
echo $name使用 = 符号来给变量赋值,注意 = 符号两边不能有空格。
name="Bash"使用 $ 符号引用变量的值。
name="Bash"
echo $name使用 readonly 命令可以将变量设置为只读,不能修改。
readonly name="Bash"
name="Shell" # 将导致错误使用 unset 命令删除变量。
unset name字符串是bash的重要数据类型,可以使用单引号,双引号,或不使用引号。
str1='hello, world'
str2="hello, world"
str3=hello,worldBash支持一维数组,数组元素之间通过空格分隔。
arr=(1 2 3 4 5)if-then语句用于条件测试。
if [ $a == $b ]
then
echo "a is equal to b"
fiif-then-else 语句提供了 else 从句来处理条件为假的情况。
if [ $a == $b ]
then
echo "a is equal to b"
else
echo "a is not equal to b"
fiif-then-elif 语句可以检测多个条件。
if [ $a == $b ]
then
echo "a is equal to b"
elif [ $a -gt $b ]
then
echo "a is greater than b"
else
echo "a is less than b"
fifor 循环用于迭代。
for var in 0 1 2 3 4 5 6 7 8 9
do
echo $var
donewhile 循环用于循环执行一段任务。
counter=0
while [ $counter -lt 10 ]
do
echo $counter
((counter++))
donecase 语句用于多路选择。
case "$variable" in
abc) echo "\$variable = abc" ;;
xyz) echo "\$variable = xyz" ;;
esac函数是可重用的代码块。
demoFunction(){
echo "Hello World!"
}
demoFunction@tab
- 参数
参数是可以在函数内部使用的变量。
demoFunction(){
echo $1
}
demoFunction "Hello"以上是 Bash 的基本语法,还有更多高级的功能和复杂的用法,包括输入/输出重定向、管道、进程控制、命令行扩展等。你可以通过阅读 man bash 或在线查找更多关于 Bash 的教程和文档来深入学习。
在 Bash 中,变量是用来存储数据的地方。你可以创建自己的变量,也可以使用预定义的环境变量。Bash 变量是大小写敏感的。
创建变量:
variable_name="Hello World"使用变量:
echo $variable_name预定义变量:
echo $HOME # 输出当前用户的家目录
echo $PATH # 输出系统的 PATHif 语句在 Bash 脚本中用于条件判断。下面是 if 语句的基本形式:
if [ condition ]
then
# 执行条件为真时的命令
else
# 执行条件为假时的命令
fi示例:
num=10
if [ $num -gt 5 ]
then
echo "Number is greater than 5"
else
echo "Number is not greater than 5"
fi在 Bash 中,有两种基本的循环结构:for 循环和 while 循环。
for 循环:
for variable in list
do
# 执行每个元素的命令
done示例:
for i in 1 2 3 4 5
do
echo "Welcome $i times"
donewhile 循环:
while [ condition ]
do
# 执行条件为真时的命令
done示例:
count=1
while [ $count -le 5 ]
do
echo "Welcome $count times"
count=$(( $count + 1 ))
doneBash 中的函数是可重用的代码块。下面是创建和调用函数的基本形式:
function_name () {
# 函数体
}示例:
greet() {
echo "Hello, $1"
}
# 调用函数
greet "World"公众号:AI悦创【二维码】

AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Web、Linux」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh

更新日志
1c35a-于aed17-于2a94d-于8ff22-于f611f-于