Linux 命令体系非常庞大,为了便于理解和记忆,通常可以按功能方向进行分类。
一、 文件与目录操作
这是最基础的日常操作,用于在系统中导航和管理文件。
ls:列出目录内容。常用ls -l显示详细信息,ls -a显示隐藏文件。cd:切换工作目录。cd ~回到主目录,cd ..返回上级目录。pwd:显示当前所在的绝对路径。mkdir:创建新目录。mkdir -p a/b/c可递归创建多级目录。touch:创建一个空文件,或更新已有文件的时间戳。cp:复制文件或目录。复制目录需加-r参数,如cp -r src_dir dst_dir。mv:移动文件或重命名文件。rm:删除文件或目录。rm -r dir递归删除目录,rm -rf dir强制删除(慎用)。
二、 文件查看与文本处理
用于查看配置文件、分析日志和处理文本数据。
cat:一次性查看文件全部内容,适合短文件。less/more:分页查看长文件,按q退出。head/tail:查看文件的头部或尾部。tail -f file.log可实时追踪日志更新,是排查问题的核心命令。grep:强大的文本搜索工具。grep "error" log.txt查找包含 “error” 的行,-r参数可递归搜索目录。find:根据名称、大小等条件在系统中查找文件,如find / -name "file.txt"。- 文本三剑客 (
sed,awk):进阶文本处理工具。sed用于文本替换,awk用于按列提取和分析数据。
三、 系统状态与进程管理
用于监控系统健康度、排查性能瓶颈和管理后台任务。
top/htop:实时动态查看 CPU、内存和进程占用情况。free -h:以人类可读格式(如 MB, GB)查看内存使用情况。df -h:查看各磁盘分区的空间使用率,防止磁盘写满。ps aux:查看系统中所有进程的详细信息。kill:终止进程。kill PID正常终止,kill -9 PID强制杀死顽固进程。systemctl:管理系统服务。如systemctl status nginx查看状态,systemctl restart nginx重启服务。
四、 网络管理与排查
用于测试网络连通性、排查网络故障和远程管理。
ping:测试与目标主机的网络连通性。ip addr:查看本机 IP 地址等网络接口信息(现代替代ifconfig)。ss -tulnp/netstat -tulnp:查看当前系统的端口监听和连接状态,排查端口冲突。curl/wget:命令行下载文件或测试 API 接口。ssh:安全远程登录服务器。
五、 权限与用户管理
用于控制系统访问安全和文件归属。
chmod:修改文件或目录的读、写、执行权限。如chmod 755 file或chmod +x script.sh。chown:修改文件或目录的所有者和所属组。sudo:以管理员(root)身份执行命令。su:切换当前用户身份。
六、 压缩解压与软件包管理
用于文件打包和系统软件安装。
tar:打包与解包。tar -czvf archive.tar.gz dir压缩,tar -xzvf archive.tar.gz解压。zip/unzip:处理.zip格式的压缩包。- 包管理器:根据发行版不同,使用
apt(Ubuntu/Debian) 或yum/dnf(CentOS/RHEL) 来安装、更新和卸载软件。
实用小技巧
man [命令]:遇到不认识的命令,随时用man查看官方手册,是最好的老师。history:查看你之前执行过的命令历史,配合!n可快速重复执行。|(管道符):将前一个命令的输出作为后一个命令的输入,例如ps aux | grep nginx,是组合命令实现自动化任务的关键。