1. Linux系统常用命令概述
作为一名Linux系统管理员,我每天都要与各种命令打交道。Linux命令就像是我们与系统对话的语言,掌握它们意味着你能更高效地完成工作。今天我想分享一些我在日常工作中最常用的命令,这些命令涵盖了文件操作、系统管理、网络配置等多个方面。
Linux命令行的强大之处在于它的组合性和灵活性。通过管道(|)和重定向(>、>>)等操作符,我们可以将简单的命令组合起来完成复杂的任务。这也是为什么即使有图形界面,很多资深管理员仍然偏爱命令行操作的原因。
提示:在开始学习具体命令前,建议先了解Linux文件系统的基本结构。Linux中一切皆文件,包括硬件设备、进程信息等都是以文件形式存在的。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 文件与目录操作命令
2.1 基础文件操作
ls命令可能是你使用最频繁的命令之一。它用于列出目录内容,但很多人只用了最基本的功能:
bash复制ls -l # 长格式显示,包含权限、所有者、大小等信息
ls -a # 显示所有文件,包括隐藏文件(以.开头的文件)
ls -lh # 以人类可读的格式显示文件大小(KB,MB等)
cp和mv命令用于文件和目录的复制与移动。这里有个实用技巧:
bash复制cp -r source_dir target_dir # 递归复制目录
mv oldname newname # 重命名文件
rm命令要特别小心使用,特别是rm -rf组合,它会强制递归删除文件且不提示。我曾经不小心删除了整个项目目录,从那以后我都会先使用ls确认要删除的内容,再用rm。
2.2 文件内容查看与搜索
查看文件内容有多种方式,各有适用场景:
bash复制cat filename # 显示整个文件内容
less filename # 分页查看,支持搜索(/keyword)和翻页
head -n 10 file # 显示文件前10行
tail -n 20 file # 显示文件最后20行
tail -f logfile # 实时监控日志文件变化
grep是强大的文本搜索工具,我几乎每天都会用到:
bash复制grep "error" logfile # 在文件中搜索"error"关键词
grep -r "function" /project # 递归搜索目录中所有文件
grep -v "debug" output # 反向搜索,显示不包含"debug"的行
3. 系统管理与进程控制
3.1 系统信息查询
了解系统状态是管理的基础,这些命令能帮你快速获取系统信息:
bash复制uname -a # 显示系统内核信息
df -h # 显示磁盘使用情况(人类可读格式)
free -m # 显示内存使用情况(MB为单位)
top # 动态显示进程和系统资源使用情况
uptime # 显示系统运行时间和负载
ps命令用于查看进程状态,结合grep可以快速找到特定进程:
bash复制ps aux | grep nginx # 查找nginx相关进程
ps -ef --forest # 以树状结构显示进程关系
3.2 进程管理
当程序无响应或需要重启服务时,这些命令非常有用:
bash复制kill -9 PID # 强制终止指定PID的进程
pkill processname # 按进程名终止
killall procname # 终止所有同名进程
我经常使用nohup让程序在后台运行,即使退出终端也不会中断:
bash复制nohup command & # 后台运行命令,输出重定向到nohup.out
4. 网络相关命令
4.1 网络配置与诊断
网络问题是系统管理员经常遇到的挑战,这些命令能帮你快速定位问题:
bash复制ifconfig # 查看网络接口信息(较老系统)
ip addr # 查看IP地址(新系统推荐)
netstat -tulnp # 查看监听的端口和对应程序
ss -tulnp # netstat的现代替代品
ping和traceroute是诊断网络连通性的基础工具:
bash复制ping example.com # 测试到目标主机的连通性
traceroute example.com # 显示数据包经过的路由路径
4.2 文件传输与远程连接
scp命令是我在服务器间传输文件的首选工具:
bash复制scp file.txt user@remote:/path/ # 本地复制到远程
scp user@remote:/path/file.txt . # 远程复制到本地
scp -r dir user@remote:/path/ # 递归复制目录
ssh是远程管理Linux服务器的标准方式:
bash复制ssh user@hostname # 基本连接
ssh -p 2222 user@hostname # 指定非标准端口
ssh -i key.pem user@host # 使用密钥认证
5. 权限与用户管理
5.1 文件权限管理
Linux的权限系统是其安全基础,chmod和chown是最相关的命令:
bash复制chmod 755 script.sh # 设置权限为rwxr-xr-x
chmod +x file # 添加可执行权限
chown user:group file # 改变文件所有者和组
理解权限数字表示法很重要:
- 4 = 读(r)
- 2 = 写(w)
- 1 = 执行(x)
三个数字分别代表所有者、组和其他用户的权限总和。
5.2 用户与组管理
管理用户账户是系统管理员的基本职责:
bash复制useradd newuser # 创建新用户
