Linux常用命令精讲:开发者必备技能指南

Linux常用命令大全(非常全面):开发者必备技能指南

一、文件与目录操作:基础中的基础

文件与目录操作是Linux系统的核心功能,掌握这些命令能极大提升工作效率。

1. 文件查看与编辑

cat命令用于快速查看文件内容,但处理大文件时建议使用lessmore进行分页显示。例如:

  1. cat /etc/passwd # 查看用户信息文件
  2. less large_log.txt # 分页查看大文件

headtail命令则分别用于查看文件开头和结尾部分,特别适合日志分析:

  1. head -n 20 access.log # 查看日志前20行
  2. tail -f error.log # 实时追踪日志新增内容

2. 目录管理

ls命令的-l参数可显示详细权限信息,-a参数显示隐藏文件:

  1. ls -la /etc # 显示/etc目录下所有文件详细信息

mkdir创建目录时,-p参数可自动创建父目录:

  1. mkdir -p project/src/main # 递归创建多级目录

rm命令需谨慎使用,-r参数递归删除目录,-f强制删除不提示:

  1. rm -rf old_project/ # 强制删除目录及其内容

3. 文件操作

cp命令的-r参数用于复制目录,-i参数在覆盖前提示确认:

  1. cp -i config.ini backup/ # 交互式复制文件

mv命令既可重命名文件,也可移动文件:

  1. mv old_name.txt new_name.txt # 重命名文件
  2. mv file.txt /tmp/ # 移动文件到/tmp目录

二、系统信息与管理:掌控服务器状态

系统监控和管理是运维工作的重中之重,这些命令能帮助开发者全面了解系统状态。

1. 进程管理

ps命令的-ef参数显示完整进程列表,aux参数显示更详细信息:

  1. ps -ef | grep nginx # 查找nginx相关进程

top命令实时显示系统资源占用,按q退出,Shift+P按CPU排序:

  1. top # 动态查看系统进程状态

kill命令终止进程时,-9参数强制终止:

  1. kill -9 1234 # 强制终止PID为1234的进程

2. 磁盘管理

df命令的-h参数以人类可读格式显示磁盘空间:

  1. df -h # 查看各分区使用情况

du命令统计目录大小,-s参数显示总和:

  1. du -sh /var/log # 查看/var/log目录总大小

fdisk命令进行磁盘分区(需root权限):

  1. sudo fdisk /dev/sda # 对sda磁盘进行分区操作

3. 内存管理

free命令的-m参数以MB为单位显示内存:

  1. free -m # 查看系统内存使用情况

vmstat命令监控系统性能,包括内存、CPU、IO等:

  1. vmstat 1 5 # 每秒刷新一次,共显示5次

三、网络相关命令:连接与调试

网络配置和调试是服务器管理的关键环节,这些命令能帮助开发者快速定位问题。

1. 网络配置

ifconfig命令查看网络接口信息(部分系统需安装net-tools):

  1. ifconfig eth0 # 查看eth0网卡信息

ip命令是更现代的网络配置工具:

  1. ip addr show # 显示所有网络接口信息
  2. ip route # 查看路由表

2. 网络测试

ping命令测试网络连通性,-c参数指定发送包数:

  1. ping -c 4 google.com # 向google发送4个ICMP包

traceroute命令追踪数据包路径:

  1. traceroute google.com # 显示到google的路由路径

3. 网络工具

netstat命令查看网络连接,-tuln参数显示所有监听端口:

  1. netstat -tuln # 查看系统监听端口

ss命令是netstat的替代品,性能更好:

  1. ss -tulnp # 显示监听端口及对应进程

curlwget是常用的下载工具:

  1. curl -O https://example.com/file.zip # 下载文件
  2. wget --limit-rate=100k https://example.com/large.iso # 限速下载

四、权限与用户管理:安全的基础

权限管理是Linux系统安全的核心,这些命令能帮助开发者正确配置系统权限。

1. 权限管理

chmod命令修改文件权限,数字表示法更直观:

  1. chmod 755 script.sh # 设置所有者可读写执行,组和其他可读执行

chown命令修改文件所有者:

  1. chown user:group file.txt # 修改file.txt的所有者和组

2. 用户管理

useradd命令创建用户,-m参数创建家目录:

  1. sudo useradd -m newuser # 创建新用户并创建家目录

passwd命令设置用户密码:

  1. sudo passwd newuser # 为newuser设置密码

sudo命令以超级用户权限执行命令:

  1. sudo apt update # 以root权限更新软件包

五、实用技巧与进阶命令:提升效率

掌握这些高级技巧能让开发者的工作事半功倍。

1. 管道与重定向

管道|将一个命令的输出作为另一个命令的输入:

  1. cat access.log | grep "404" | wc -l # 统计404错误数量

重定向>覆盖写入文件,>>追加写入文件:

  1. echo "New content" > file.txt # 覆盖写入
  2. echo "Appended content" >> file.txt # 追加写入

2. 查找与替换

find命令查找文件,-name参数按名称查找:

  1. find /home -name "*.log" # 在/home目录下查找所有.log文件

grep命令在文件中搜索文本,-r参数递归搜索:

  1. grep -r "error" /var/log/ # 在/var/log目录下递归搜索"error"

sed命令进行文本替换,-i参数直接修改文件:

  1. sed -i 's/old/new/g' file.txt # 将file.txt中所有old替换为new

3. 压缩与解压

tar命令打包和解包文件,-z参数处理gzip压缩,-j参数处理bzip2压缩:

  1. tar -czvf archive.tar.gz dir/ # 打包并gzip压缩
  2. tar -xzvf archive.tar.gz # 解压gzip压缩包

zipunzip命令处理zip格式:

  1. zip -r archive.zip dir/ # 打包为zip格式
  2. unzip archive.zip # 解压zip文件

六、总结与建议

本文系统整理了Linux系统中最常用的命令,涵盖了文件操作、系统管理、网络工具、权限控制等多个方面。对于初学者,建议从基础命令开始,逐步掌握高级用法;对于有经验的开发者,可以重点学习管道、重定向等高效技巧。

实用建议

  1. 养成使用man命令查看手册的习惯,如man ls查看ls命令的详细用法
  2. 对于常用命令组合,可以创建别名(alias)简化操作
  3. 重要操作前建议先使用--dry-run参数模拟执行(如果支持)
  4. 定期备份重要配置文件,如/etc/passwd/etc/group

掌握这些Linux常用命令,将极大提升开发者的工作效率和系统管理能力。建议读者将这些命令整理成个人备忘录,并在实际工作中不断练习和应用。