 
			
			Linux Shell 基础命令速查表(非完整版)
观前须知
此文章将以表格的形式呈现,若需要更为直观的 Linux 命令,请直接查看 Linux 教程 | 菜鸟教程 (runoob.com)
表格注释: 💡 = 提示,❗ = 注意(需要安装的软件包)
终端与用户
| 名称 | 用法 / 选项(简略) | 注释 | 
|---|---|---|
| 用户名 | whoami | 显示当前登录的用户 | 
| 正在登录的用户 | 1. who2. w | 1. 查看当前正在登录的用户 2. 详细查看当前登录的用户 | 
| 上次登录 | last | 查看上次当前用户的详细信息 | 
| 主机名 | 1. hostname2. hostname -s | 1. 显示完整的主机名 2. 显示简单的主机名 | 
| 关于主机 | 1. hostnamectl2. hostnamectl set-hostname <hostname> | 1. 显示当前主机信息 2. 设置主机名 ❗:普通用户下需提权 | 
| 提升权限(管理员权限) | sudo <command> | 以管理员身份执行命令 ❗:在该用户为管理员的前提下才可用 | 
| 切换其它用户 | 1. su <用户名>2. su3. sudo su4. sudo su - | 1. 切换指定用户 2. 切换至 root 用户 3. 当不知道 root 用户密码的情况下,使用管理员权限切换至 root 用户 4. 使用管理员权限切换至 root 用户并切换 Shell 环境 💡:若需查看当前使用的 Shell 环境, 执行: echo $SHELL | 
| 输出内容 | 1. echo Hello world2. echo "Hello world"3. echo -n "Hello world"4. echo -e "Hello\nworld" | 1. 直接输出 Hello world 2. 与上一条一致,但看起来更直观 3. 输出不换行 4. 输出时解释反转义符(如: \n表示换行) | 
| 命令变量 | 1. alias2. 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. history2. history n3. history -c4. history -d n | 1. 查看最近的历史记录 2. 显示最近 n 条记录 3. 清除所有记录 4. 删除第 n 条记录 | 
| 快速执行命令 | 1. !!2. !n3. !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. cd3. cd - | 1. 指定一个目录 2. 切换至主目录(家目录) 3. 回到之前访问过的目录 | 
| 查看路径下的内容 | 1. ls2. ls <DIR1> [DIR2] ...3. ls -l/ll4. ls -h5. ls -a6. ls -R7. ls -d8. ls -Z9. 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. -r3. -p4. -v5. -a | 1. 将文件复制到目标路径 2. 递归复制(复制目录) 3. 复制时再复制权限 4. 显示复制过程 5. 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。 | 
| 删除文件目录 | 1. rm <file1> [file2]...2. -r/-R3. -f4. -rf  | 1. 删除单个或多个目录或文件,可能需确认 2. 递归删除**(包括目录) 3. 强制性删除,跳过确认 4. 强制性递归删除该目录或文件(❗ 谨慎操作)** | 
| 移动 / 重命名文件目录 | 1. mv file1 /doc2. 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> | more2. <command> | less3. more <file>4. less <file> | 1. more仅支持向下翻页,不支持向上翻页2. less都支持向上向下翻页 | 
| 统计字数、行数、单词数 | 1. wc <file1> [file2]...2. -l3. -m4. -w | 1. 统计所有 2. 统计行数 3. 统计字数 4. 统计词数 | 
| 比较两个文件的不同 | diff <file1> <file2> | 比较 file1与file2的不同 | 
| 行筛选工具 | 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. uname2.  uname -a3. uname -m4. uname -n5. neofetch6. screenfetch | 1. 使用的内核 2. 显示所有系统信息 3. 使用的物理架构 4. 主机名称 5. 查看主机信息 (需安装 neofetch软件包)6. 查看主机信息 (需安装 screenfetch软件包) | 
| 日期时间格式 / 时区 | 1. date2. date +<format>3. timedatectl | 1. 显示现在的日期时间 2. 自定义显示日期时间格式(如: %F,%T)3. 查看当前的日期时间、时区等详细信息 | 
| 系统管理 | 1. systemctl2. systemctl [is-active / is-enabled] <SERVICE>3. systemctl [start / stop / enable / disable / restart / reload / status] <SERVICE> | 1. 用于查看系统下的所有设备、挂载、服务、接口等信息 2. 分别查看服务是否运行?是否开机自启? 3. 分别管理服务的启动、关闭、允许开机自启、禁用开机自启、重启、重新加载配置、查看状态服务 | 
| 显示启动状态 | uptime | 简要显示电脑的启动状态、登录用户数等 | 
| 任务管理器 | 1. top2. htop | 1. 管理所有正在运行的进程 2. 需要额外安装 htop软件包 | 
| 查看指定目录所占空间 | 1. du2. du -sh <文件/目录> | 1. 在当前目录下递归查看所有文件及目录的大小 2. 在指定目录或文件下查看大小 | 
| 查看磁盘分区情况 | df -h | 查看所有磁盘分区的大小、占用情况、挂载点等 | 
| 磁盘分区 | fdiskpartedcfdisk | 磁盘分区工具 | 
| 查看磁盘信息 | 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. nmcli2. nmtui | 1. 命令行下查看所有网络配置 2. 图形化界面管理网络配置 ❗:需要安装 network-manager软件包 | 
| 测试网络连通 | 1. ping <IP / Hostname>2. ping -c 4 <IP / Hostname> | 1. 测试指定 IP 地址或域名是否连通 2. 发送 4 个数据包以测试连通性 | 
| 测试远程网络 | 1. curl ifconfig.io2. curl ifconfig.io/all3. curl ifconfig.io/all.json -o all.json | 1. 从 ifconfig.io网站上获取 IP 地址2. 从 ifconfig.io网站中获取所有信息3. 从 ifconfig.io网站中下载并保存 JSON 格式的信息 | 
| 显示网络状态 | 1. netstat -an2. netstat -at3. netstat -au4. netstat -apu5. netstat -i6. netstat -r7. 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-tools、iproute2软件包 | 
| 查看物理网卡 IP 地址 | ip addr | 此命令可直接简写为 ip a❗:需安装 iproute2软件包 | 
| 查看物理网卡配置 | 1. ifconfig2. ifconfig <网卡名> | 1. 显示所有网卡配置 2. 显示指定网卡配置 ❗:需安装 net-tools软件包 | 
| 文件下载工具 | wget <file_url> | 从某个 url 中下载文件到当前工作路径 | 
| SSH 连接 | ssh username@<hostname / ip地址> [-p <22 / 指定端口号>] | 使用 SSH 方式连接远程主机, 22为 SSH 默认端口 | 
| SSH 密钥 | 1. ssh-keygen2. 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:~/doc3. 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 进行许可。
        评论
    
    
        
            
    
    
        
        
    
