Linux作为广泛使用的操作系统,其强大的命令行工具是系统管理和日常操作的核心,掌握常用命令不仅能提高工作效率,还能更深入地理解系统运行机制,以下从文件管理、系统监控、用户权限、网络配置、软件管理及进程控制六个方面详细介绍Linux管理常用命令。

文件管理命令
文件管理是Linux操作的基础,涉及文件和目录的创建、删除、移动、复制及权限修改等操作。ls命令是最基本的列表命令,ls -l可显示详细权限信息(如-rw-r--r--),ls -a会隐藏文件(如.和..)。cd用于切换目录,cd ..返回上级目录,cd ~进入用户主目录。mkdir创建目录,mkdir -p可递归创建多级目录;rmdir仅删除空目录,rm -r则递归删除非空目录,文件复制使用cp,cp -r用于目录复制;mv可同时实现文件移动和重命名。touch用于创建空文件或更新文件时间戳,查看文件内容时,cat适合小文件,less支持分页浏览大文件,head -n 10和tail -n 10分别查看文件前10行和后10行,tail -f可实时监控文件更新,权限修改通过chmod实现,如chmod 755 file设置所有者读写执行、组和其他用户读执行;chown修改文件所有者,如chown user:group file。
系统监控命令
系统监控命令帮助管理员实时掌握系统状态。top动态显示进程资源占用,按P按CPU排序、M按内存排序,top -i可忽略闲置进程。htop是top的增强版,支持彩色显示和交互式操作,内存信息通过free -h查看,-h以人类可读格式显示(如GB),磁盘使用情况用df -h查看各分区容量,du -sh *统计当前目录下各文件及子目录大小,系统负载方面,uptime显示平均负载(1分钟、5分钟、15分钟),vmstat报告进程、内存、I/O等统计信息,日志监控使用journalctl,如journalctl -u nginx.service查看nginx服务日志,journalctl -f实时跟踪日志。
用户和权限管理命令
Linux是多用户系统,用户和权限管理至关重要。useradd创建用户,如useradd -m -s /bin/bash username(-m创建家目录,-s指定默认shell);userdel -r username删除用户及其家目录,用户密码通过passwd username设置,组管理使用groupadd groupname创建组,gpasswd -a username groupname将用户加入组,权限控制的核心是sudo,通过编辑/etc/sudoers文件(使用visudo命令)配置用户权限,如username ALL=(ALL) NOPASSWD: /usr/bin/apt,文件权限除了数字模式(如775),还可使用符号模式,如chmod u+x file为所有者添加执行权限。
网络配置命令
网络配置命令用于排查网络问题和配置网络服务。ifconfig或ip addr查看网络接口信息,ip addr add 192.168.1.100/24 dev eth0为eth0添加IP地址。ping测试网络连通性,ping -c 4 baidu.com发送4个数据包。netstat -tuln查看监听端口及协议,ss -tuln是netstat的替代工具,性能更优,网络路由配置使用route -n查看路由表,ip route add default via 192.168.1.1添加默认网关,DNS解析通过nslookup或dig命令测试,如nslookup www.google.com,防火墙管理在CentOS中使用firewall-cmd --add-service=http --permanent开放HTTP服务,在Ubuntu中使用ufw allow 80。

软件包管理命令
不同Linux发行版使用不同的软件包管理工具,Debian/Ubuntu系统使用apt,apt update更新软件源列表,apt upgrade升级已安装软件,apt install package_name安装软件,apt remove package_name卸载软件,CentOS/RHEL系统使用yum或dnf,yum update更新系统,yum install package_name安装软件,yum remove package_name卸载软件,源码编译安装时,需使用tar -zxvf package.tar.gz解压,./configure配置,make编译,make install安装,软件源配置文件在Ubuntu中为/etc/apt/sources.list,在CentOS中为/etc/yum.repos.d/下的.repo文件。
进程管理命令
进程管理确保系统稳定运行。ps aux查看所有进程详细信息,ps -ef显示进程树结构。kill终止进程,kill -9强制终止,killall按进程名终止,后台运行命令使用&符号,如command &,jobs查看后台任务,fg %1将任务1调至前台。nohup command &可使命令在退出终端后继续运行,输出默认保存在nohup.out,进程优先级通过nice调整,如nice -n 10 command以低优先级运行,renice调整已运行进程的优先级,系统服务管理在Systemd系统中使用systemctl start nginx.service启动服务,systemctl enable nginx.service设置开机自启,systemctl status nginx.service查看服务状态。
以下为常用命令速查表:
| 功能分类 | 常用命令 | 功能说明 |
|---|---|---|
| 文件列表 | ls -la | 显示隐藏文件及详细权限 |
| 目录切换 | cd /path/to/dir | 切换到指定目录 |
| 创建目录 | mkdir -p newdir | 递归创建多级目录 |
| 删除文件 | rm -rf file | 强制递归删除文件或目录 |
| 文件复制 | cp -r sourcedir targetdir | 复制目录及内容 |
| 查看文件内容 | cat file.txt / less file.txt | 显示文件内容(less支持分页) |
| 权限修改 | chmod 644 file | 设置文件权限为rw-r--r-- |
| 查看内存 | free -h | 以人类可读格式显示内存使用情况 |
| 查看磁盘空间 | df -h | 显示各分区磁盘使用量 |
| 进程监控 | top / htop | 动态显示进程资源占用 |
| 用户创建 | useradd -m username | 创建用户并创建家目录 |
| 安装软件 | apt install package / yum install package | 根据发行版安装软件包 |
| 网络测试 | ping -c 4 host | 发送4个ICMP包测试网络连通性 |
相关问答FAQs
Q1: 如何查找系统中包含特定关键词的文件?
A1: 可使用find命令结合grep实现,在/var/log目录下查找包含“error”的文件:find /var/log -type f -exec grep -l "error" {} \;,其中-type f表示查找文件,-exec grep -l "error"对每个文件执行grep搜索并输出包含关键词的文件名,也可使用grep -r "error" /var/log直接递归搜索目录内容。

Q2: 如何查看当前系统运行的端口及对应进程?
A2: 使用netstat或ss命令。netstat -tulnp显示所有监听端口及进程ID(PID),ss -tulnp是更高效的替代方案,若需根据端口过滤,可结合grep,如netstat -tulnp | grep :80查看80端口使用情况,通过PID可进一步使用ps -ef | grep PID查看进程详细信息。
