Linux 常用命令速查手册
欢迎使用本速查手册!本文档旨在为你提供最常用、最核心的 Linux 命令参考,帮助你快速上手和提升日常操作效率。无论你是初学者还是需要快速回顾的开发者,这里都能找到你需要的内容。
提示
- 在终端中输入
man <命令>可以查看该命令的详细手册页。 - 使用
--help或-h参数(如ls --help)通常可以获取简要的帮助信息。 - 按
Tab键可以自动补全文件名和命令。
文件与目录操作
ls - 列出目录内容
列出当前目录下的文件和子目录。
bash
# 基本用法
ls
# 显示隐藏文件(以 . 开头的文件)
ls -a
# 以长格式显示(包含权限、所有者、大小、修改时间等)
ls -l
# 组合使用:显示所有文件的详细信息
ls -al
# 按修改时间排序(最新在前)
ls -ltcd - 切换目录
改变当前工作目录。
bash
# 进入指定目录
cd /path/to/directory
# 返回用户主目录
cd ~
# 或简写
cd
# 返回上级目录
cd ..
# 返回之前所在的目录
cd -pwd - 显示当前工作目录
打印当前所在目录的绝对路径。
bash
pwdmkdir - 创建目录
创建新的目录。
bash
# 创建一个新目录
mkdir my_directory
# 递归创建多级目录(如果父目录不存在则一并创建)
mkdir -p parent/child/grandchildtouch - 创建空文件或更新文件时间戳
bash
# 创建一个或多个空文件
touch newfile.txt anotherfile.log
# 如果文件已存在,则更新其访问和修改时间为当前时间
touch existing_file.txtcp - 复制文件或目录
复制文件或目录。
bash
# 复制文件
cp source.txt destination.txt
# 复制目录(需要 -r 选项进行递归复制)
cp -r source_directory/ target_directory/
# 复制时保留原文件的属性(权限、时间戳等)
cp -rp source_directory/ target_directory/mv - 移动或重命名文件/目录
移动文件或目录,也可用于重命名。
bash
# 重命名文件
mv oldname.txt newname.txt
# 移动文件到另一个目录
mv file.txt /path/to/destination/
# 移动目录
mv old_directory/ /new/location/rm - 删除文件或目录
删除文件或目录。使用此命令需格外小心!
bash
# 删除文件
rm unwanted_file.txt
# 递归删除目录及其内容(非常危险,请确认路径正确)
rm -r unwanted_directory/
# 强制删除,不提示确认(极其危险,慎用)
rm -rf unwanted_directory/
# 删除前提示确认(推荐安全做法)
rm -ri unwanted_directory/警告
rm -rf / 是一个毁灭性的命令,会尝试删除整个根目录下的所有文件,可能导致系统崩溃和数据完全丢失。切勿执行!
find - 搜索文件
在指定目录下搜索文件。
bash
# 在当前目录及子目录中查找名为 "filename.txt" 的文件
find . -name "filename.txt"
# 查找所有以 .log 结尾的文件
find /var/log -name "*.log"
# 查找过去7天内修改过的 .txt 文件
find . -name "*.txt" -mtime -7
# 查找大小超过 100MB 的文件
find /home -size +100M文件查看与编辑
cat - 连接并显示文件内容
一次性显示文件全部内容。
bash
# 显示文件内容
cat file.txt
# 同时显示多个文件内容
cat file1.txt file2.txt
# 将一个文件的内容追加到另一个文件末尾
cat additional.txt >> main.txtless - 分页查看文件内容
更灵活地查看大文件,支持上下滚动、搜索。
bash
# 分页查看文件
less large_file.log
# 在 less 中:
# - 按空格键向下翻页
# - 按 b 键向上翻页
# - 按 / 键后输入文本可进行向下搜索
# - 按 ? 键后输入文本可进行向上搜索
# - 按 q 键退出head 和 tail - 查看文件开头和结尾
bash
# 显示文件的前10行(默认)
head file.txt
# 显示前20行
head -n 20 file.txt
# 显示文件的最后10行(默认)
tail file.txt
# 显示最后20行
tail -n 20 file.txt
# 实时监控文件新增内容(常用于查看日志)
tail -f /var/log/sysloggrep - 文本搜索
在文件中搜索包含指定模式的行。
bash
# 在文件中搜索包含 "error" 的行
grep "error" log.txt
# 忽略大小写搜索
grep -i "error" log.txt
# 显示匹配行的行号
grep -n "warning" log.txt
# 递归搜索目录下所有文件
grep -r "function_name" /path/to/code/
# 反向匹配:显示不包含 "success" 的行
grep -v "success" log.txt系统信息与管理
ps - 显示进程状态
查看当前运行的进程。
bash
# 显示当前用户的进程
ps
# 显示所有进程的详细信息(常用组合)
ps aux
# 以树状结构显示进程
ps axjftop / htop - 实时显示系统资源和进程
动态查看系统负载、CPU、内存使用情况及进程信息。
bash
# 启动 top
top
# 启动 htop (功能更强大,界面更友好,可能需要安装)
htopdf - 显示磁盘空间使用情况
bash
# 以人类可读的格式(KB, MB, GB)显示磁盘使用情况
df -hdu - 显示目录或文件的磁盘使用情况
bash
# 显示当前目录下各子目录的大小
du -sh *
# 显示指定目录的总大小
du -sh /path/to/directoryfree - 显示内存使用情况
bash
# 以人类可读的格式显示内存和交换空间使用情况
free -hdmesg - 查看内核日志
dmesg 用于查看内核环形缓冲区的消息,常用于排查系统级问题。
bash
# 查看所有内核消息
dmesg
# 查看 OOM(Out of Memory)杀手记录
# 当系统内存不足时,内核会杀死一些进程以释放内存,此命令用于检查是否发生过此类事件
dmesg | grep -i oom
# 如果输出为空,表示系统没有发生过 OOM 事件
# 如果有输出,则显示被 OOM killer 杀死的进程信息使用场景
当你的容器或应用异常退出时,可以用 dmesg | grep -i oom 检查是否因内存不足被系统强制杀死。这在排查 Docker 容器意外退出问题时尤其有用。
网络相关
ping - 测试网络连通性
bash
# 测试与 google.com 的连通性
ping google.com
# 发送5个包后停止
ping -c 5 google.comcurl - 传输数据
发送 HTTP 请求,下载文件等。
bash
# 获取网页内容并输出到终端
curl http://example.com
# 下载文件并保存为指定名称
curl -o filename.html http://example.com/page.html
# 发送 POST 请求
curl -X POST -d "param1=value1¶m2=value2" http://api.example.com/submitwget - 非交互式下载文件
bash
# 下载文件到当前目录
wget http://example.com/file.zip
# 下载并指定保存的文件名
wget -O myfile.zip http://example.com/download.php?file=123权限与用户
chmod - 更改文件权限
bash
# 给文件所有者添加执行权限
chmod u+x script.sh
# 设置文件权限为 rwxr-xr-x (755)
chmod 755 script.sh
# 递归设置目录及内部所有文件的权限
chmod -R 755 my_directory/chown - 更改文件所有者和所属组
bash
# 更改文件所有者
chown username file.txt
# 更改文件所有者和所属组
chown username:groupname file.txt
# 递归更改目录所有权
chown -R username:groupname /path/to/directory/归档与压缩
tar - 打包和解包
常与 gzip 或 bzip2 结合使用。
bash
# 创建 .tar.gz 压缩包
tar -czvf archive.tar.gz /path/to/files/
# 解压 .tar.gz 文件
tar -xzvf archive.tar.gz
# 解压到指定目录
tar -xzvf archive.tar.gz -C /target/directory/
# 查看压缩包内容(不解压)
tar -tzvf archive.tar.gzgzip / gunzip - 压缩/解压
bash
# 压缩文件(生成 .gz 文件,原文件被删除)
gzip file.txt
# 解压 .gz 文件
gunzip file.txt.gz
# 或
gzip -d file.txt.gz实用技巧
管道 | 和重定向 >, >>
将一个命令的输出作为另一个命令的输入,或将输出保存到文件。
bash
# 将 ps 的输出通过管道传给 grep 进行过滤
ps aux | grep nginx
# 将命令输出重定向到文件(覆盖)
echo "Hello World" > output.txt
# 将命令输出追加到文件末尾
echo "Another line" >> output.txt
# 将错误输出重定向到文件
command_that_might_fail 2> error.log
# 将标准输出和错误输出都重定向到同一个文件
command > output.log 2>&1history - 查看命令历史
bash
# 显示最近执行过的命令列表
history
# 执行历史记录中的第 N 条命令
!N
# 执行最近一次以 'ls' 开头的命令
!!lsDocker 相关
docker inspect - 查看容器详细信息
获取容器的详细配置和状态信息。
bash
# 查看容器的完整信息(JSON 格式)
docker inspect <容器名或ID>
# 查看容器的健康状态
docker inspect <容器名> --format='{{.State.Health}}'
# 输出示例:{healthy 0 [0xc0003f0140 0xc0003f0190 ...]}
# healthy 表示健康,unhealthy 表示不健康
# 只获取健康状态字符串
docker inspect <容器名> --format='{{.State.Health.Status}}'
# 输出:healthy / unhealthy / starting
# 查看容器的 IP 地址
docker inspect <容器名> --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
# 查看容器的端口映射
docker inspect <容器名> --format='{{json .NetworkSettings.Ports}}'使用场景
当容器配置了健康检查(HEALTHCHECK)时,可以使用此命令快速查看容器的健康状态,帮助排查服务异常问题。
服务器列出所有 Node LTS(稳定)版本
bash
curl -s https://nodejs.org/dist/index.json | jq -r '
.[] |
select(.lts != false) |
"\(.version) (LTS: \(.lts), released: \(.date))"
'🔧 下载并安装 v24.11.1 的操作步骤
1️⃣ 进入你的 Jenkins 工具目录
bash
cd /opt/compose/conf/jenkins2️⃣ 下载 v24.11.1(Linux 64位)
bash
wget https://nodejs.org/dist/v24.11.1/node-v24.11.1-linux-x64.tar.xz3️⃣ 解压并重命名
bash
tar -xf node-v24.11.1-linux-x64.tar.xz
mv node-v24.11.1-linux-x64 node-v24.11.14️⃣ 验证安装
bash
/opt/compose/conf/jenkins/node-v24.11.1/bin/node -v
# 输出:v24.11.1
/opt/compose/conf/jenkins/node-v24.11.1/bin/npm -v
# 输出:如 10.9.0+5️⃣ (可选)在 Jenkinsfile 中使用
groovy
env.PATH = "/opt/compose/conf/jenkins/node-v24.11.1/bin:${env.PATH}"
sh 'node -v' // 应显示 v24.11.1
sh 'corepack enable'
sh 'corepack prepare pnpm@latest --activate'编辑文件 vi 与 nano 区别
bash
nano ~/.bashrc