30个核心Linux命令速查手册

Linux命令是系统管理与运维的核心工具。根据参考资料,本文将从文件操作、系统监控、网络管理、用户权限、文本处理、软件管理、磁盘管理、进程管理等多个维度,选取并详细说明约30个最核心的命令及其高级用法。掌握这些核心命令足以应对绝大部分工作场景,并可通过命令组合实现复杂功能。

一、 文件与目录操作

这类命令用于日常文件和目录的管理,是基础中的基础。

命令 核心作用 常用选项与用法举例
ls 列出目录内容 -l(长格式)、-a(显示隐藏文件)、-h(人性化文件大小)、-t(按时间排序)。例:ls -lh /var/log/
cd 切换工作目录 cd /home 切换到绝对路径;cd .. 返回上级目录;cd ~cd 返回家目录。
pwd 打印当前工作目录 直接执行 pwd 即可显示完整路径。
cp 复制文件或目录 -r(递归复制目录)、-i(覆盖前询问)、-v(显示详细过程)。例:cp -r source_dir dest_dir/
mv 移动或重命名文件/目录 mv old_name new_name(重命名);mv file /path/to/dir/(移动)。
rm 删除文件或目录 高危命令-r(递归删除)、-f(强制删除,无提示)。强烈建议组合使用前先用 ls 确认目标。例:rm -rf dir_to_delete/
mkdir 创建目录 -p(递归创建多层目录)。例:mkdir -p project/{src,doc,bin}
find 查找文件 功能强大,可依据名称、类型、大小、时间等查找。例:find /home -name "*.log" -size +10M -exec rm {} \;
chmod 修改文件权限 chmod 755 script.sh(数字模式);chmod u+x,g-w,o=r file(符号模式)。
chown 修改文件所有者 chown user:group file-R(递归修改)。例:chown -R www-data:www-data /var/www/

二、 文本查看与处理

文本处理是Linux的强项,适用于日志分析、配置管理等。

命令 核心作用 常用选项与用法举例
cat 连接并打印文件内容 查看整个小文件。例:cat /etc/hosts-n 显示行号。
echo 输出一行文本或变量值 基础用法:echo "Hello World"。高级应用:-e 启用转义符(如`
换行),-n 不输出末尾换行符。变量扩展:echo $PATH。重定向写入文件:echo "new line" >> file.txt` 。
more / less 分页查看文件内容 less 更强大,支持前后翻页、搜索。例:less /var/log/syslog,按/搜索关键词。
head / tail 查看文件开头/末尾部分 head -n 20 file.log(查看前20行)。tail -f /var/log/app.log(实时追踪日志尾部,对监控应用日志至关重要)。
grep 文本搜索过滤 核心过滤工具。-i(忽略大小写)、-r(递归搜索目录)、-n(显示行号)、-v(反向匹配)。例:grep -rin "error" /var/log/
sed 流编辑器,用于文本转换 用于替换、删除、选取。例:sed 's/foo/bar/g' input.txt(将全局foo替换为bar)。
awk 强大的文本分析工具 按列处理数据。例:awk -F: '{print $1,$6}' /etc/passwd(以冒号分割,打印用户名和家目录)。
vim / vi 强大的命令行文本编辑器 强大的命令行文本编辑器。基本流程:vi file -> 按i进入编辑模式 -> 编辑 -> 按Esc退出编辑 -> 输入:wq保存退出。
diff 比较两个文件的差异 diff file1 file2-u 输出统一格式,更易读。常用于补丁制作。

三、 系统信息与进程管理

了解系统状态和控制进程是运维和调试的关键。

命令 核心作用 常用选项与用法举例
ps 显示当前进程快照 ps auxps -ef(显示所有进程详细信息),常与 grep 联用:`ps aux
top / htop 实时动态显示进程状态 top(默认启动)。htop(交互性更强,支持鼠标操作)。
kill / killall 向进程发送信号 kill -9 PID(强制终止进程)。killall process_name(通过进程名终止)。
pkill 根据模式终止进程 pkill -f "pattern" 终止匹配模式的进程。
free 显示内存使用情况 free -h(以人类可读的单位GB/MB显示内存总量和空闲量)。
df 报告文件系统磁盘空间使用 df -hT(显示磁盘空间使用情况、文件系统类型)。
du 估算文件和目录的磁盘使用量 du -sh /home/*(以人类可读格式汇总显示/home下各目录大小)。
uname 打印系统信息 uname -a(显示所有系统信息,包括内核版本、主机名等)。
uptime 显示系统运行时间及平均负载 直接执行 uptime,结果包含当前时间、运行时长、用户数、1/5/15分钟内的平均负载。

四、 网络诊断与下载

进行网络配置、排错和数据抓取。

命令 核心作用 常用选项与用法举例
ping 测试网络连通性 ping -c 4 baidu.com(发送4个ICMP包后停止)。
netstat / ss 显示网络连接、路由表等 netstat -tulnp 或更现代的 ss -tulnp(查看监听的TCP/UDP端口及对应进程)。
curl 强大的网络数据传输工具 curl -I https://www.example.com(获取响应头)。curl -o file.zip http://example.com/download.zip(下载文件并重命名)。
wget 命令行下载工具 支持HTTP/HTTPS/FTP,支持断点续传、限速、后台下载。 1. 基础下载wget http://example.com/file.tar.gz 。 2. 断点续传wget -c url 。 3. 后台下载wget -b url 。 4. 限速下载wget --limit-rate=200k url 。 5. 镜像网站wget -m -k -p url
traceroute 追踪数据包到达目标主机的路径 traceroute google.com
ifconfig / ip 配置和显示网络接口 ifconfig eth0(查看接口信息,较老)。ip addr showip命令更强大,是现代推荐工具)。

五、 包管理与系统服务

管理软件包和控制后台服务。

命令 核心作用 常用选项与用法举例
apt-get / apt Debian/Ubuntu 包管理工具 apt update(更新包列表);apt install nginx(安装软件);apt upgrade(升级所有包)。
yum / dnf RHEL/CentOS/Fedora 包管理工具 yum install httpd(安装软件);yum update(更新系统)。
systemctl 控制系统服务(systemd) systemctl start nginx(启动服务);systemctl enable nginx(设置开机自启);systemctl status nginx(查看服务状态)。
service 管理系统服务(SysVinit) service nginx start(在旧版系统中使用)。

六、 高级诊断与信息查看

用于深入系统诊断和获取详细信息。

命令 核心作用 常用选项与用法举例
lsof 列出系统打开的文件列表 功能极为强大,可用于诊断文件被谁占用、进程打开了哪些文件。 1. 查看进程打开的文件lsof -p <PID> 。 2. 查看文件被哪个进程占用lsof /path/to/file 。 3. 查看端口占用lsof -i :80(查看占用80端口的进程)。 4. 查看用户打开的文件lsof -u username
strace 跟踪进程的系统调用和信号 用于调试程序和性能分析。例:strace -p <PID>strace ls
journalctl 查询和显示systemd日志 journalctl -u nginx.service(查看nginx服务日志);journalctl -f(实时追踪日志)。

核心命令组合与应用示例

实际工作中,命令往往组合使用以解决复杂问题。

  1. 场景一:查找并清理大日志文件

    假设需要清理 /var/log 目录下超过100M的 .log 文件。

    bash 复制代码
    # 首先查找确认
    find /var/log -name "*.log" -size +100M -exec ls -lh {} \;
    # 确认无误后删除
    find /var/log -name "*.log" -size +100M -exec rm {} \;

    此命令组合了 findlsrm,利用 find-exec 参数进行批处理。

  2. 场景二:监控特定进程的实时日志

    假设Nginx进程PID为1234,希望实时监控其打开的文件变化。

    bash 复制代码
    # 使用 lsof 监控进程文件句柄变化
    watch -n 1 'lsof -p 1234 | head -20'

    同时,在另一个终端用 tail -f 追踪错误日志:

    bash 复制代码
    tail -f /var/log/nginx/error.log
  3. 场景三:批量下载并处理文件

    使用 wget 从列表文件 urls.txt 中批量下载,并用 awk 提取信息。

    bash 复制代码
    # 批量下载
    wget -i urls.txt -P ./downloads/ --limit-rate=500k
    # 假设下载的是CSV,提取第一列
    awk -F',' '{print $1}' downloads/*.csv > summary.txt

掌握这些命令及其组合,并理解其底层原理(如 lsof 通过读取 /proc 文件系统信息来工作),能极大提升运维效率和问题诊断能力。学习时建议从基础文件操作开始,逐步深入到进程、网络和系统诊断,并通过编写Shell脚本将命令固化、自动化,这才是提升300%效率的关键。


参考来源

相关推荐
fsj2009yx2 小时前
如何把无公网的求生之路2服务器借助VPS转发注册到steam master列表中
linux·wireguard·求生之路2
慵懒的猫mi2 小时前
deepin UOS AI 助手接入飞书(Feishu)配置指南
linux·人工智能·ai·gpt-3·飞书·文心一言·deepin
Jiozg2 小时前
ES安装到linux(ubuntu)
linux·ubuntu·elasticsearch
面对疾风叭!哈撒给2 小时前
Linux之docker-compose使用(redis、nginx、tdengine、java应用)
linux·redis·docker
zzzsde2 小时前
【Linux】进程(6):程序地址空间
linux·运维·服务器
慵懒的猫mi2 小时前
deepin UOS AI 助手接入钉钉(DingTalk)配置指南
linux·数据库·人工智能·ai·钉钉·deepin
returnthem2 小时前
Ubuntu 22.04 + XFCE4 + 非 Snap 版 Firefox + VNC/noVNC 部署全步骤
linux·ubuntu·firefox
顶点多余2 小时前
Linux中基础IO知识全解
linux·服务器·算法
等风来不如迎风去2 小时前
【linux】tar [选项] 归档文件名 要打包的文件/目录..
linux·运维·elasticsearch