为什么要掌握Linux常用命令
Linux系统在服务器、开发环境以及嵌入式设备中占据重要地位。无论是运维工程师、后端开发者,还是数据科学家,日常工作中都离不开与命令行交互。图形界面虽然直观,但在远程管理、批量处理、资源占用等方面,命令行具有不可替代的优势。掌握常用命令,意味着能够更精准地控制系统、快速定位问题,并提升操作效率。本文基于实际使用场景,整理了一批高频命令,并给出具体示例和注意事项,力求准确且实用。
文件与目录操作
查看与切换目录
pwd 用于显示当前工作目录的绝对路径。刚接触终端时,经常需要确认自己所在位置。
pwd
/home/user/project
ls 是列出目录内容的命令,常用参数包括 -l(长格式显示权限、大小、时间)、-a(显示隐藏文件)、-h(人类可读的大小单位)。组合使用:
ls -lah
该命令会显示包括隐藏文件在内的详细信息,文件大小以K、M等单位呈现,便于快速了解目录概况。
cd 用于切换目录。常见的用法有:
cd /etc切换到绝对路径cd ..返回上一级目录cd ~回到当前用户的主目录cd -回到上一次所在的目录
创建、复制、移动与删除
mkdir 创建目录,加 -p 参数可以递归创建多级目录:
mkdir -p /tmp/test/subdir
cp 复制文件或目录。复制目录时需要加 -r(递归):
cp file.txt /backup/
cp -r folder /backup/
mv 既可用于移动文件,也可用于重命名:
mv oldname.txt newname.txt
mv file.txt /tmp/
rm 删除文件或目录。删除目录需加 -r,强制删除加 -f。务必谨慎使用,因为删除后很难恢复:
rm -rf /tmp/testdir
建议在删除前先使用 ls 确认路径,避免误操作。
文本查看与处理
查看文件内容
cat 适合查看小文件,一次输出全部内容:
cat /etc/hostname
对于大文件,less 更合适,支持分页浏览和上下翻页,按 q 退出:
less /var/log/syslog
head 和 tail 分别查看文件开头和结尾。常用 tail -f 实时跟踪日志文件的新增内容:
tail -f /var/log/nginx/access.log
搜索与过滤
grep 是强大的文本搜索工具,支持正则表达式。例如在日志中查找包含“error”的行:
grep "error" /var/log/messages
常用参数:-i 忽略大小写,-n 显示行号,-r 递归搜索目录。结合管道符 | 可以与其他命令配合:
ps aux | grep nginx
这条命令会列出所有进程中包含“nginx”的条目,是排查进程是否运行的常用手法。
系统信息与资源监控
uname -a 查看内核版本和系统架构信息。了解系统基础信息有助于判断软件兼容性。
df -h 查看磁盘分区使用情况,-h 以人类可读的方式显示:
df -h
free -h 查看内存和交换分区的使用情况:
free -h
top 动态显示系统进程、CPU和内存占用,按 q 退出。更友好的替代是 htop(需自行安装),但 top 在大多数系统上默认可用。
ps 查看进程快照。常用组合 ps aux 显示所有用户的所有进程,并附带CPU和内存占用百分比。
权限与用户管理
chmod 修改文件权限。权限分为读(r=4)、写(w=2)、执行(x=1),数字表示法如 755 表示所有者可读写执行,组和其他用户可读执行:
chmod 755 script.sh
chown 修改文件所有者和所属组:
chown user:group file.txt
useradd 和 passwd 用于创建用户和设置密码。日常管理中,普通用户执行特权命令时需借助 sudo,例如:
sudo apt update
注意:sudo 的权限范围由 /etc/sudoers 文件控制,修改该文件必须使用 visudo 命令,避免语法错误导致系统无法正常授权。
网络相关命令
ping 测试主机连通性,使用 -c 指定发送次数:
ping -c 4 baidu.com
curl 和 wget 用于下载文件或测试接口。例如获取网页内容:
curl http://example.com
wget http://example.com/file.zip
ss 或 netstat 查看网络连接和端口监听状态。现代系统推荐 ss:
ss -tlnp
该命令列出所有TCP监听端口及对应的进程,排查端口冲突时非常有用。
ifconfig 或 ip addr 查看网络接口和IP地址。当前推荐使用 ip 命令:
ip addr show
压缩与解压
处理 .tar.gz 文件是服务器运维的常见任务。创建压缩包:
tar -czvf archive.tar.gz /path/to/dir
解压:
tar -xzvf archive.tar.gz
参数说明:-c 创建,-x 解压,-z 通过gzip处理,-v 显示过程,-f 指定文件名。若处理 .zip 文件,使用 unzip 命令:
unzip file.zip -d /target/dir
查找文件
find 按条件查找文件。例如查找当前目录下所有 .log 文件:
find . -name "*.log"
按大小查找(大于100MB):
find /var -size +100M
locate 基于数据库快速查找,但需要先执行 updatedb 更新数据库,且可能不会实时反映新文件。推荐优先使用 find,虽然稍慢但结果准确。
命令帮助与历史
每个命令都有帮助文档。使用 man 命令名 查看详细手册,例如:
man ls
快速查看参数用法可使用 命令 --help:
grep --help
终端中按上箭头可以浏览历史命令。执行 history 可列出全部历史记录,并可通过 !编号 快速重新执行某条命令。例如:
history
!123
以上命令覆盖了日常运维和开发中的高频场景。建议在虚拟机或容器中多加练习,熟悉参数组合和输出格式。理解命令背后的原理比死记硬背更重要,遇到不确定的选项时,先查阅 man 文档,避免误操作。