Linux常用命令大全(非常全面):开发者必备技能指南
一、文件与目录操作:基础中的基础
文件与目录操作是Linux系统的核心功能,掌握这些命令能极大提升工作效率。
1. 文件查看与编辑
cat命令用于快速查看文件内容,但处理大文件时建议使用less或more进行分页显示。例如:
cat /etc/passwd # 查看用户信息文件less large_log.txt # 分页查看大文件
head和tail命令则分别用于查看文件开头和结尾部分,特别适合日志分析:
head -n 20 access.log # 查看日志前20行tail -f error.log # 实时追踪日志新增内容
2. 目录管理
ls命令的-l参数可显示详细权限信息,-a参数显示隐藏文件:
ls -la /etc # 显示/etc目录下所有文件详细信息
mkdir创建目录时,-p参数可自动创建父目录:
mkdir -p project/src/main # 递归创建多级目录
rm命令需谨慎使用,-r参数递归删除目录,-f强制删除不提示:
rm -rf old_project/ # 强制删除目录及其内容
3. 文件操作
cp命令的-r参数用于复制目录,-i参数在覆盖前提示确认:
cp -i config.ini backup/ # 交互式复制文件
mv命令既可重命名文件,也可移动文件:
mv old_name.txt new_name.txt # 重命名文件mv file.txt /tmp/ # 移动文件到/tmp目录
二、系统信息与管理:掌控服务器状态
系统监控和管理是运维工作的重中之重,这些命令能帮助开发者全面了解系统状态。
1. 进程管理
ps命令的-ef参数显示完整进程列表,aux参数显示更详细信息:
ps -ef | grep nginx # 查找nginx相关进程
top命令实时显示系统资源占用,按q退出,Shift+P按CPU排序:
top # 动态查看系统进程状态
kill命令终止进程时,-9参数强制终止:
kill -9 1234 # 强制终止PID为1234的进程
2. 磁盘管理
df命令的-h参数以人类可读格式显示磁盘空间:
df -h # 查看各分区使用情况
du命令统计目录大小,-s参数显示总和:
du -sh /var/log # 查看/var/log目录总大小
fdisk命令进行磁盘分区(需root权限):
sudo fdisk /dev/sda # 对sda磁盘进行分区操作
3. 内存管理
free命令的-m参数以MB为单位显示内存:
free -m # 查看系统内存使用情况
vmstat命令监控系统性能,包括内存、CPU、IO等:
vmstat 1 5 # 每秒刷新一次,共显示5次
三、网络相关命令:连接与调试
网络配置和调试是服务器管理的关键环节,这些命令能帮助开发者快速定位问题。
1. 网络配置
ifconfig命令查看网络接口信息(部分系统需安装net-tools):
ifconfig eth0 # 查看eth0网卡信息
ip命令是更现代的网络配置工具:
ip addr show # 显示所有网络接口信息ip route # 查看路由表
2. 网络测试
ping命令测试网络连通性,-c参数指定发送包数:
ping -c 4 google.com # 向google发送4个ICMP包
traceroute命令追踪数据包路径:
traceroute google.com # 显示到google的路由路径
3. 网络工具
netstat命令查看网络连接,-tuln参数显示所有监听端口:
netstat -tuln # 查看系统监听端口
ss命令是netstat的替代品,性能更好:
ss -tulnp # 显示监听端口及对应进程
curl和wget是常用的下载工具:
curl -O https://example.com/file.zip # 下载文件wget --limit-rate=100k https://example.com/large.iso # 限速下载
四、权限与用户管理:安全的基础
权限管理是Linux系统安全的核心,这些命令能帮助开发者正确配置系统权限。
1. 权限管理
chmod命令修改文件权限,数字表示法更直观:
chmod 755 script.sh # 设置所有者可读写执行,组和其他可读执行
chown命令修改文件所有者:
chown user:group file.txt # 修改file.txt的所有者和组
2. 用户管理
useradd命令创建用户,-m参数创建家目录:
sudo useradd -m newuser # 创建新用户并创建家目录
passwd命令设置用户密码:
sudo passwd newuser # 为newuser设置密码
sudo命令以超级用户权限执行命令:
sudo apt update # 以root权限更新软件包
五、实用技巧与进阶命令:提升效率
掌握这些高级技巧能让开发者的工作事半功倍。
1. 管道与重定向
管道|将一个命令的输出作为另一个命令的输入:
cat access.log | grep "404" | wc -l # 统计404错误数量
重定向>覆盖写入文件,>>追加写入文件:
echo "New content" > file.txt # 覆盖写入echo "Appended content" >> file.txt # 追加写入
2. 查找与替换
find命令查找文件,-name参数按名称查找:
find /home -name "*.log" # 在/home目录下查找所有.log文件
grep命令在文件中搜索文本,-r参数递归搜索:
grep -r "error" /var/log/ # 在/var/log目录下递归搜索"error"
sed命令进行文本替换,-i参数直接修改文件:
sed -i 's/old/new/g' file.txt # 将file.txt中所有old替换为new
3. 压缩与解压
tar命令打包和解包文件,-z参数处理gzip压缩,-j参数处理bzip2压缩:
tar -czvf archive.tar.gz dir/ # 打包并gzip压缩tar -xzvf archive.tar.gz # 解压gzip压缩包
zip和unzip命令处理zip格式:
zip -r archive.zip dir/ # 打包为zip格式unzip archive.zip # 解压zip文件
六、总结与建议
本文系统整理了Linux系统中最常用的命令,涵盖了文件操作、系统管理、网络工具、权限控制等多个方面。对于初学者,建议从基础命令开始,逐步掌握高级用法;对于有经验的开发者,可以重点学习管道、重定向等高效技巧。
实用建议:
- 养成使用
man命令查看手册的习惯,如man ls查看ls命令的详细用法 - 对于常用命令组合,可以创建别名(alias)简化操作
- 重要操作前建议先使用
--dry-run参数模拟执行(如果支持) - 定期备份重要配置文件,如
/etc/passwd、/etc/group等
掌握这些Linux常用命令,将极大提升开发者的工作效率和系统管理能力。建议读者将这些命令整理成个人备忘录,并在实际工作中不断练习和应用。