系统信息与管理
这类命令用于查看和管理系统的基本信息。
| 命令 |
功能描述 |
示例 |
uname -a |
显示所有系统信息(内核版本、主机名等) |
uname -a |
lscpu |
显示 CPU 架构信息(CentOS 5.8+) |
lscpu |
cat /proc/cpuinfo |
显示详细的 CPU 信息(所有版本通用) |
cat /proc/cpuinfo |
free -m |
显示内存使用量(以 MB 为单位) |
free -m |
df -h |
显示磁盘空间使用情况(人类可读格式) |
df -h |
du -sh /path/to/dir |
显示指定目录的总大小 |
du -sh /home |
uptime |
显示系统运行时间及负载 |
uptime |
date |
显示和设置系统日期和时间 |
date |
cal |
显示当前月份的日历 |
cal |
last |
显示用户最近的登录记录 |
last |
w |
显示当前登录用户及其正在执行的进程 |
w |
who |
显示当前所有登录的用户 |
who |
hostname |
显示或设置系统的主机名 |
hostname |
dmesg |
显示开机时的内核信息(硬件检测日志) |
dmesg \| tail |
用户与权限管理
Linux 的核心是权限管理,以下命令至关重要。
| 命令 |
功能描述 |
示例 |
su - username |
切换到指定用户,并加载其环境变量 |
su - root (切换到root) |
sudo <command> |
以其他用户身份(通常是root)执行命令 |
sudo yum update |
passwd |
修改当前用户密码 |
passwd |
passwd username |
修改指定用户的密码(需root权限) |
passwd testuser |
useradd username |
创建一个新用户(需root权限) |
useradd alice |
userdel -r username |
删除一个用户及其主目录(需root权限) |
userdel -r bob |
usermod -l newname oldname |
修改用户名(需root权限) |
usermod -l charlie alice |
id username |
显示用户的 UID、GID 和所属组 |
id testuser |
groupadd groupname |
创建一个新组(需root权限) |
groupadd developers |
chown user:group /path/to/file |
更改文件或目录的所有者和所属组 |
chown apache:apache /var/www/html |
chmod 755 /path/to/dir |
更改文件或目录的权限(读/写/执行) |
chmod 644 filename.txt (所有者读写,其他只读) |
文件与目录操作
这是日常使用最频繁的命令。
| 命令 |
功能描述 |
示例 |
ls -l |
以列表形式显示文件和目录的详细信息 |
ls -l /etc |
ls -a |
显示所有文件,包括隐藏文件(以开头) |
ls -la |
pwd |
显示当前工作目录的完整路径 |
pwd |
cd /path/to/dir |
切换到指定目录 |
cd /var/log |
cd .. |
切换到上一级目录 |
cd .. |
cd ~ |
切换到当前用户的主目录 |
cd ~ |
mkdir new_dir |
创建一个新目录 |
mkdir backup |
mkdir -p /path/to/dir |
递归创建目录(包括不存在的父目录) |
mkdir -p /tmp/a/b/c |
rm filename |
删除文件 |
rm temp.log |
rm -r directory |
递归删除目录及其内容(危险!) |
rm -r old_dir |
rm -f filename |
强制删除文件,不提示确认 |
rm -f *.tmp |
cp source_file dest_file |
复制文件 |
cp config.conf config.conf.bak |
cp -r source_dir dest_dir |
递归复制目录 |
cp -r /home/user1 /backup/ |
mv old_name new_name |
移动文件/目录或重命名 |
mv file1.txt file2.txt (重命名) |
mv /path/to/file /new/location/ |
移动文件到新位置 |
mv *.log /var/log/archive/ |
touch newfile.txt |
创建一个空文件,或更新文件时间戳 |
touch access.log |
cat filename |
查看文件的全部内容(适合小文件) |
cat /etc/hosts |
less filename |
分页查看文件内容(推荐,可上下翻页、搜索) |
less /var/log/messages |
head -n 10 filename |
查看文件的前 10 行 |
head -n 20 /etc/passwd |
tail -n 10 filename |
查看文件的最后 10 行 |
tail -f /var/log/secure (实时跟踪日志) |
grep "keyword" filename |
在文件中搜索包含关键字的行 |
grep "error" /var/log/messages |
wc -l filename |
统计文件的行数 |
wc -l /etc/passwd |
find /path -name "filename" |
在指定路径下按文件名查找 |
find /home -name "*.pdf" |
which command |
查找命令的可执行文件路径 |
which ls |
软件包管理 (YUM)
CentOS 5 使用 yum 作为其主要的软件包管理工具,依赖一个或多个软件源。
| 命令 |
功能描述 |
示例 |
yum list installed |
列出所有已安装的软件包 |
yum list installed |
yum list available |
列出所有可用的软件包 |
yum list available |
yum search keyword |
搜索包含关键字的软件包 |
yum search mysql |
yum install package_name |
安装一个或多个软件包 |
yum install httpd |
yum update |
更新所有已安装的软件包 |
yum update |
yum update package_name |
更新指定的软件包 |
yum update httpd |
yum remove package_name |
卸载一个软件包 |
yum remove httpd |
yum clean all |
清理 YUM 缓存(释放空间) |
yum clean all |
yum info package_name |
显示指定软件包的详细信息 |
yum info httpd |
yum groupinstall "Group Name" |
安装一个软件包组 |
yum groupinstall "Web Server" |
yum groupremove "Group Name" |
卸载一个软件包组 |
yum groupremove "Web Server" |
网络配置与管理
用于诊断和配置网络。
| 命令 |
功能描述 |
示例 |
ifconfig |
显示或配置网络接口信息(需安装 net-tools) |
ifconfig eth0 |
ip addr show |
显示网络接口的 IP 地址信息(现代工具) |
ip addr show |
ping hostname_or_ip |
测试与另一台主机的网络连通性 |
ping google.com |
netstat -tuln |
显示所有监听的 TCP/UDP 端口 |
netstat -tuln |
ss -tuln |
显示网络套接字信息(netstat 的现代替代品) |
ss -tuln |
lsof -i :80 |
查看占用指定端口的进程 |
lsof -i :22 |
wget http://... |
从命令行下载文件 |
wget http://example.com/file.zip |
curl http://... |
发送 HTTP/HTTPS 请求或下载文件 |
curl -I http://example.com (查看头信息) |
ssh user@hostname |
通过 SSH 安全登录到远程主机 |
ssh root@192.168.1.100 |
scp file.txt user@host:/path/ |
通过 SSH 安全复制文件 |
scp backup.sql root@192.168.1.100:/backup/ |
route -n |
显示 IP 路由表 |
route -n |
cat /etc/resolv.conf |
查看系统配置的 DNS 服务器 |
cat /etc/resolv.conf |
进程与服务管理
CentOS 5 使用传统的 SysVinit 和 service 命令来管理服务。
| 命令 |
功能描述 |
示例 |
ps aux |
显示当前系统中所有运行的进程 |
ps aux \| grep httpd |
top |
动态显示系统中运行的进程和资源占用 |
top (按 q 退出) |
kill PID |
终止指定 PID 的进程 |
kill 1234 |
kill -9 PID |
强制杀死指定 PID 的进程(不推荐,除非必要) |
kill -9 1234 |
service httpd start |
启动一个服务 |
service httpd start |
service httpd stop |
停止一个服务 |
service httpd stop |
service httpd restart |
重启一个服务 |
service httpd restart |
service httpd status |
查看一个服务的状态 |
service httpd status |
chkconfig --list |
列出所有服务及其开机自启状态 |
chkconfig --list |
chkconfig httpd on |
设置服务在开机时自动启动 |
chkconfig httpd on |
chkconfig httpd off |
禁止服务在开机时自动启动 |
chkconfig httpd off |
ntsysv |
一个基于文本的界面,用于管理开机自启服务 |
ntsysv |
系统维护与日志
| 命令 |
功能描述 |
示例 |
tar -czvf archive.tar.gz /path/to/dir |
创建一个 .tar.gz 格式的压缩包 |
tar -czvf backup.tar.gz /home/user |
tar -xzvf archive.tar.gz |
解压 .tar.gz 文件 |
tar -xzvf backup.tar.gz -C /tmp/ |
gzip filename |
压缩文件(原文件消失) |
gzip access.log |
gunzip filename.gz |
解压 .gz 文件 |
gunzip access.log.gz |
journalctl |
查看 systemd 日志(CentOS 5 不支持,请用 less/tail) |
- |
less /var/log/messages |
查看系统主日志文件 |
less /var/log/messages |
less /var/log/secure |
查看安全认证日志(登录、SSH等) |
less /var/log/secure |
less /var/log/cron |
查看计划任务日志 |
less /var/log/cron |
less /var/log/dmesg |
查看内核启动日志 |
less /var/log/dmesg |
crontab -e |
编辑当前用户的计划任务 |
crontab -e |
crontab -l |
列出当前用户的计划任务 |
crontab -l |
关键注意事项
- 停止支持:再次强调,不要将 CentOS 5 用于任何需要安全性的生产环境,它的软件仓库(如
base, updates)已经关闭,无法安装安全补丁。
- 软件源:如果你必须使用 CentOS 5,你需要寻找并配置第三方的软件源(如
vault.centos.org 中的旧版本归档,或一些社区维护的源),但这同样不安全。
- 命令差异:一些在现代 Linux 发行版中常见的命令(如
ip, ss, journalctl)在 CentOS 5 中可能不存在或功能不同。ifconfig 和 netstat 是当时的主流工具。
- 安全加固:如果必须在隔离环境中使用,请确保配置好防火墙(
iptables),并遵循最小权限原则,关闭所有不必要的服务和端口。