在Linux的世界里,尤其是以稳定著称的CentOS系统中,命令行是与系统交互的核心,无论是管理服务器、部署应用还是排查故障,熟练掌握常用命令都是每一位运维人员和开发者的必备技能,本文将为您梳理一份实用的CentOS命令清单,助您更高效地驾驭您的系统。

基础文件与目录操作
这是日常使用中最频繁的部分,涉及对文件和目录的增删改查。
ls:列出目录内容。ls -l:以长格式显示,包含详细信息如权限、所有者、大小等。ls -a:显示所有文件,包括隐藏文件(以点开头的文件)。
cd:切换当前目录。cd /home:进入/home目录。cd ..:返回上一级目录。cd ~或直接cd:快速回到当前用户的家目录。
pwd:显示当前所在目录的完整路径。mkdir:创建新目录。mkdir new_folder:创建名为new_folder的目录。mkdir -p a/b/c:递归创建多级目录。
cp:复制文件或目录。cp file1 file2:将file1复制为file2。cp -r dir1 dir2:递归复制整个目录。
mv:移动或重命名文件/目录。mv old_name new_name:重命名。mv file /tmp/:将文件移动到/tmp目录下。
rm:删除文件或目录。rm file:删除文件。rm -r directory:递归删除目录及其内容。(此命令需极其谨慎,删除后不易恢复)rm -f:强制删除,不提示。
cat:查看文件内容,适合小文件。more/less:分页查看文件内容。less功能更强大,支持上下滚动和搜索。head/tail:查看文件开头或结尾部分。tail -f logfile:实时追踪日志文件的更新,对监控日志非常有用。
系统信息与性能监控
了解系统状态是进行管理和优化的前提。
uname -a:查看系统内核版本、主机名等详细信息。uptime:显示系统运行时间、当前用户数及系统平均负载。free -h:以人类易读的方式(GB, MB)显示内存使用情况。df -h:查看磁盘空间使用情况。du -sh <directory>:查看指定目录的总磁盘占用大小。top/htop:动态实时查看进程状态和系统资源占用。htop是top的增强版,界面更友好。ps:查看进程快照。ps aux:查看系统中所有用户的详细进程信息。
netstat/ss:查看网络连接、路由表、接口统计等。ss命令比netstat更快速、高效。ss -tuln:查看所有监听中的TCP和UDP端口。
用户与权限管理
Linux是一个多用户系统,权限管理至关重要。

sudo:以超级管理员权限执行命令,普通用户在执行系统级命令时,需要在命令前加上sudo。useradd/userdel:添加/删除用户。useradd -m newuser:创建用户并同时创建家目录。
passwd:修改用户密码。chmod:修改文件或目录的权限。chmod 755 script.sh:将script.sh设置为所有者可读可写可执行,同组和其他用户可读可执行。chmod u+x file:给文件的所有者增加执行权限。
chown:改变文件的所有者和所属组。chown user:group file:将file的所有者改为user,所属组改为group。
软件包管理(YUM/DNF)
CentOS使用YUM或其下一代工具DNF来管理软件包。
yum search <keyword>:搜索软件包。yum install <package_name>:安装指定软件包。yum update:更新所有已安装的软件包。yum update <package_name>:更新指定软件包。yum remove <package_name>:卸载软件包(保留配置文件)。yum erase <package_name>:卸载软件包(同时删除配置文件)。
网络配置与诊断
服务器离不开网络,相关命令是排查网络问题的利器。
ping <host>:测试与目标主机的网络连通性。curl/wget:从网络上下载文件。wget http://example.com/file:下载文件。curl -O http://example.com/file:同样用于下载。
ifconfig/ip addr:查看和配置网络接口。ip命令是新一代工具,功能更强大。ssh <user>@<host>:通过SSH协议安全地远程登录到另一台服务器。
文本处理与搜索
在命令行下高效处理文本是Linux的一大优势。

grep:强大的文本搜索工具。grep "error" logfile:在logfile中搜索包含"error"的行。ps aux | grep nginx:结合管道,在进程列表中查找nginx。
find:在指定目录下查找文件。find /home -name "*.txt":在/home目录下查找所有.txt结尾的文件。
awk:一种强大的文本分析工具,适用于对文本文件进行按列处理和数据提取。sed:流编辑器,用于对文本进行过滤和转换。
系统服务管理(Systemd)
现代CentOS版本使用systemd作为初始化系统。
systemctl start <service_name>:启动一项服务。systemctl stop <service_name>:停止一项服务。systemctl restart <service_name>:重启一项服务。systemctl status <service_name>:查看服务状态。systemctl enable <service_name>:设置服务开机自启。systemctl disable <service_name>:禁止服务开机自启。
掌握这些命令,就如同掌握了打开Linux CentOS系统大门的钥匙,但请记住,命令本身是固定的,而实际应用场景千变万化,真正的熟练源于实践,在不断的操作与排错中,您会逐渐理解这些命令的精髓,并形成自己的使用习惯和思路,建议在测试环境中多加练习,逐步构建起您的系统管理能力。

