Linux Shell 基础命令速查表(非完整版)

Linux Shell 基础命令速查表(非完整版)

CatIsNotFound 定期更新

观前须知

此文章将以表格的形式呈现,若需要更为直观的 Linux 命令,请直接查看 Linux 教程 | 菜鸟教程 (runoob.com)

表格注释: 💡 = 提示,❗ = 注意(需要安装的软件包)

终端与用户

名称 用法 / 选项(简略) 注释
用户名 whoami 显示当前登录的用户
正在登录的用户 1. who
2. w
1. 查看当前正在登录的用户
2. 详细查看当前登录的用户
上次登录 last 查看上次当前用户的详细信息
主机名 1. hostname
2. hostname -s
1. 显示完整的主机名
2. 显示简单的主机名
关于主机 1. hostnamectl
2. hostnamectl set-hostname <hostname>
1. 显示当前主机信息
2. 设置主机名
❗:普通用户下需提权
提升权限(管理员权限 sudo <command> 管理员身份执行命令
❗:在该用户为管理员的前提下才可用
切换其它用户 1. su <用户名>
2. su
3. sudo su
4. sudo su -
1. 切换指定用户
2. 切换至 root 用户
3. 当不知道 root 用户密码的情况下,使用管理员权限切换至 root 用户
4. 使用管理员权限切换至 root 用户并切换 Shell 环境
💡:若需查看当前使用的 Shell 环境,
执行:echo $SHELL
输出内容 1. echo Hello world
2. echo "Hello world"
3. echo -n "Hello world"
4. echo -e "Hello\nworld"
1. 直接输出 Hello world
2. 与上一条一致,但看起来更直观
3. 输出不换行
4. 输出时解释反转义符(如:\n 表示换行)
命令变量 1. alias
2. alias n='command'
3. unalias n
1. 显示所有已被定义的变量
2. 定义一个新变量 n,以代替某个指令
3. 删除新变量 n
指令搜索 which <command> 搜索指定指令所在的路径
指令搜索 whereis <keyword> 搜索二进制文件、帮助文件等
帮助手册 1. man <command>
2. man -k <keyword>
3. man -K <keyword>
1. 查看关于<command>的帮助
2. 搜索帮助
3. 全局搜索帮助
指令历史记录 1. history
2. history n
3. history -c
4. history -d n
1. 查看最近的历史记录
2. 显示最近 n 条记录
3. 清除所有记录
4. 删除第 n 条记录
快速执行命令 1. !!
2. !n
3. !keyword
1. 执行上一条指令
2. 执行第 n 条指令
3. 执行上一条包含 keyword 的指令
💡:使用Ctrl+R 可直接进行指令回溯
更改用户密码 1. passwd <user_name>
2. passwd
1. 修改指定用户密码
2. 修改当前用户密码
启动桌面环境 startx 启动 X.org 桌面环境(GNOME 桌面环境)
清屏 clear 快捷键:Ctrl+L
注销用户 logout 快捷键:Ctrl+D
注销或退出终端 exit ❗:在装有桌面环境的主机下执行,只会关闭终端窗口;使用远程连接时,则会直接断开连接

目录与文件管理

名称 用法 / 选项(简略) 注释
查看当前路径 pwd 查看当前的工作路径
切换工作路径 1. cd <DIR>
2. cd
3. cd -
1. 指定一个目录
2. 切换至主目录(家目录)
3. 回到之前访问过的目录
查看路径下的内容 1. ls
2. ls <DIR1> [DIR2] ...
3. ls -l / ll
4. ls -h
5. ls -a
6. ls -R
7. ls -d
8. ls -Z
9. ls -1
1. 查看当前路径下的内容
2. 查看指定单个或多个路径下的内容
3. 以详细列表形式显示文件内容
4. 显示能看得懂的文件大小
5. 显示所有内容(包含隐藏目录或文件
6. 完整显示目录下的所有文件(递归查看
7. 将目录像其它文件一样列出,而不是列出它们的内容
8. 显示对应的 SELinux 标签
9. 显示一行一个文件或目录
新建目录 1. mkdir <dir1> [dir2]...
2. -p
1. 新建单个或多个空目录
2. 递归新建单个或多个空目录
删除空目录 1. rmdir <dir1> [dir2]...
2. -p
1. 删除指定的空目录
2. 删除父目录及内部的所有空目录
新建文件 touch <file1> [file2]... 新建一个或多个空白的文件
复制文件目录 1. cp <file1> <file2/dir>
2. -r
3. -p
4. -v
5. -a
1. 将文件复制到目标路径
2. 递归复制(复制目录)
3. 复制时再复制权限
4. 显示复制过程
5. 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。
删除文件目录 1. rm <file1> [file2]...
2. -r / -R
3. -f
4. -rf
1. 删除单个或多个目录或文件,可能需确认
2. 递归删除(包括目录)
3. 强制性删除,跳过确认
4. 强制性递归删除该目录或文件(❗ 谨慎操作)
移动 / 重命名文件目录 1. mv file1 /doc
2. mv a.file b.txt
1. 将当前目录下的 file1 文件移动到 /doc 目录下
2. 将当前目录下的 a.file 文件重命名为 b.txt
文件类型 file <file1> [file2]... 查看单个或多个文件类型
文件属性 stat <file1> [file2] 查看单个或多个文件的详细属性
链接(快捷方式) 1. ln <file> <link>
2. ln -s <file> <link>
1. 创建一个链接
❗:删除源文件后仍可用但不能在目录上创建
2. 创建一个链接
❗:删除源文件后不可用
以树目录显示内容 tree <dir> ❗:其它 Linux 发行版需下载安装 tree 软件包即可

文件操作编辑

名称 用法 / 选项(简略) 注释
显示/编辑文件内容 1. cat <file1> [file2]...
2. cat -n <file>
2. cat > <file>
3. cat >> <file>
1. 显示完整的文件内容
2. 带行号显示文件里的内容
3. 以行编辑模式下编辑文件并将其覆盖写入到文件中
4. 以行编辑模式下编辑文件并将其追加写入到文件中
显示头部文件内容 1. head <file1> [file2]...
2. head -n x <file1> [file2]...
1. 默认查看前 10 行
2. 查看前 x 行
显示尾部文件内容 1. tail <file1> [file2]...
2. tail -n x <file1> [file2]...
3. tail -f <file1> [file2]...
1. 默认查看尾 10 行
2. 查看尾 x 行
3. 监视文件的内容(常用于查看日志)
翻页信息 1. <command> | more
2. <command> | less
3. more <file>
4. less <file>
1. more 仅支持向下翻页,不支持向上翻页
2. less 都支持向上向下翻页
统计字数、行数、单词数 1. wc <file1> [file2]...
2. -l
3. -m
4. -w
1. 统计所有
2. 统计行数
3. 统计字数
4. 统计词数
比较两个文件的不同 diff <file1> <file2> 比较 file1file2 的不同
行筛选工具 1. <command> | grep <String>
2. grep <keyword> <file1> [file2]
1. 通过此方法可直接筛选所包含的行并输出
2. 在单个或多个文件中查找行内包含的关键字并输出
将输出结果写入文件 1. <command> > <file>
2. <command> >> <file>
1. 将命令的执行结果覆盖写入至文件中
2. 将命令的执行结果追加写入至文件中
以行编辑模式下编辑文件 1. tee <file>
2. tee -a <file>
1. 将写入的内容覆盖保存到文件中
2. 将写入的内容追加保存到文件中
💡:使用行编辑模式下可直接在行内编辑并回车,编辑完成后,按 Ctrl+C 结束编辑并保存
vim 文本编辑器 / nano 文本编辑器 1. vi [file] / vim [file]
2. nano [file]
1. 使用 vi / vim 文本编辑器打开或新建文件
其中,vim 编辑器为 vi 的加强版
❗:部分 Linux 发行版默认未安装 vim 软件包

2. 使用 nano 文本编辑器打开或新建文件
tar 压缩包 1. tar -xvf <file.tar> [-C <dir>]
2. tar -xzvf <file.tar.gz/file.tgz> [-C <dir>]
3. tar -cvf <file.tar> <压缩目标>
4. tar -czvf <file.tar.gz>/<file.tgz>
1. 解压 tar 包
· -C:指定解压目录
· -x:解压压缩包
· -v:显示压缩或解压进度
· -f:指定存档文件
2. 解压 tar.gz / tgz 包
· -z:使用 gzip 格式
3. 压缩目录或文件为 tar 包
· -c:创建压缩包
4. 压缩目录或文件为 tar.gz / tgz 包
zip 压缩包 1. zip <file.zip> -r <dir/file> [-P <压缩密码> -<0-9>]
2. unzip <file.zip> [-d <dir> ]
1. 压缩目录或文件为 zip 包
· -r:递归打包(常用于打包目录下的所有文件)
· -P:设置压缩密码
· -<0-9>: 表示压缩质量级别,默认值为 6。级别越高,压缩质量越好;级别越低,压缩速度越快
2. 解压 zip 包到当前目录
· -d:指定解压目录

系统与硬件管理

名称 用法 / 选项(简略) 注释
主机信息 hostnamectl 查看当前主机的所有信息
显示系统信息 1. uname
2. uname -a
3. uname -m
4. uname -n
5. neofetch
6. screenfetch
1. 使用的内核
2. 显示所有系统信息
3. 使用的物理架构
4. 主机名称
5. 查看主机信息
(需安装 neofetch 软件包)
6. 查看主机信息
(需安装 screenfetch 软件包)
日期时间格式 / 时区 1. date
2. date +<format>
3. timedatectl
1. 显示现在的日期时间
2. 自定义显示日期时间格式(如:%F,%T
3. 查看当前的日期时间、时区等详细信息
系统管理 1. systemctl
2. systemctl [is-active / is-enabled] <SERVICE>
3. systemctl [start / stop / enable / disable / restart / reload / status] <SERVICE>
1. 用于查看系统下的所有设备、挂载、服务、接口等信息
2. 分别查看服务是否运行?是否开机自启?
3. 分别管理服务的启动、关闭、允许开机自启、禁用开机自启、重启、重新加载配置、查看状态服务
显示启动状态 uptime 简要显示电脑的启动状态、登录用户数等
任务管理器 1. top
2. htop
1. 管理所有正在运行的进程
2. 需要额外安装 htop 软件包
查看指定目录所占空间 1. du
2. du -sh <文件/目录>
1. 在当前目录下递归查看所有文件及目录的大小
2. 在指定目录或文件下查看大小
查看磁盘分区情况 df -h 查看所有磁盘分区的大小、占用情况、挂载点等
磁盘分区 fdisk
parted
cfdisk
磁盘分区工具
查看磁盘信息 lsblk 显示所有块设备的大小及挂载点
查看 CPU 信息 lscpu 显示 CPU 的详细信息
查看电池 lspower 显示电池电量及当前使用电池状态
内存使用情况 free -h 查看当前的内存使用情况
关机 poweroff / shutdown now 关闭电源
重启 reboot 按下 Ctrl+Alt+Delete 也可重启
电源管理 halt [-p / -f / --reboot]
1. halt:挂起电源
2. -p:关机
3. --reboot:重启
4. -f:强制性操作(❗ 谨慎操作)
运行选项 init <X> 其中的 <X> 表示运行级别,具体如下:
- 0 :关机
- 1:进入紧急模式
- 2:多用户模式
- 3:带网络的多用户模式
- 4:未定义 没什么用
- 5:图形界面
- 6:重启

网络与传输

名称 用法 / 选项(简略) 注释
网络配置 1. nmcli
2. nmtui
1. 命令行下查看所有网络配置
2. 图形化界面管理网络配置
❗:需要安装 network-manager 软件包
测试网络连通 1. ping <IP / Hostname>
2. ping -c 4 <IP / Hostname>
1. 测试指定 IP 地址或域名是否连通
2. 发送 4 个数据包以测试连通性
测试远程网络 1. curl ifconfig.io
2. curl ifconfig.io/all
3. curl ifconfig.io/all.json -o all.json
1. 从 ifconfig.io 网站上获取 IP 地址
2. 从 ifconfig.io 网站中获取所有信息
3. 从 ifconfig.io 网站中下载并保存 JSON 格式的信息
显示网络状态 1. netstat -an

2. netstat -at
3. netstat -au
4. netstat -apu
5. netstat -i
6. netstat -r
7. netstat -ap | grep [SERVICE]
8. netstat -anlp | grep [PORT_NUMBER]
1. 查看当前系统网络状态的所有连接信息
2. 查看所有 TCP 端口信息
3. 查看 UDP 连接信息
4. 查看 UDP 连接端口号使用信息
5. 查看网卡状态信息
6. 查看网络路由表状态信息
7. 搜索某个服务所对应的连接信息
8. 查看运行在指定端口的进程
❗:若无法执行,需安装 net-tools 软件包
IP 路由表 route / ip route 查看 IP 路由表
❗:需安装 net-toolsiproute2 软件包
查看物理网卡 IP 地址 ip addr 此命令可直接简写为 ip a
❗:需安装 iproute2 软件包
查看物理网卡配置 1. ifconfig
2. ifconfig <网卡名>

1. 显示所有网卡配置
2. 显示指定网卡配置
❗:需安装 net-tools 软件包
文件下载工具 wget <file_url> 从某个 url 中下载文件到当前工作路径
SSH 连接 ssh username@<hostname / ip地址> [-p <22 / 指定端口号>] 使用 SSH 方式连接远程主机,
22 为 SSH 默认端口
SSH 密钥 1. ssh-keygen
2. ssh-keygen -t [dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa]
1. 生成一个新的密钥
2. 指定生成某个类型的密钥(常用 RSA 密钥)
传输文件工具 1. scp [<用户名>@<主机名/IP地址>:]<需传输的文件目录> <用户名>@<主机名/IP地址>:<目标目录>
2. scp user@hostA:~/a.txt user@hostB:~/doc
3. scp test.txt user@hostA:/doc
1. 将其中一台主机中的文件或目录传输到另一台主机的目录中
2. 将主机hostA下的主目录里的 a.txt 文件传输到主机 hostB 下的 ~/doc 目录中
3. 将自己主机下的当前目录里的 test.txt 文件传输到主机 hostA 下的/doc 目录中
  • 标题: Linux Shell 基础命令速查表(非完整版)
  • 作者: CatIsNotFound
  • 创建于 : 2024-04-25 13:25:08
  • 更新于 : 2024-07-31 14:46:48
  • 链接: https://catisnotfound.github.io/2024/04/Linux-Shell-命令速查表/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
Linux Shell 基础命令速查表(非完整版)