1. 系统信息查询与管理
查看系统基本信息
-
hostnamectl :显示主机名、操作系统版本、内核版本、架构等信息。
hostnamectl
-
uname :显示系统内核与硬件信息。
uname -a # 显示全部信息
-
lsb_release :显示LSB(Linux Standard Base)相关信息。
lsb_release -a
系统时间与时区设置
-
date :显示或设置系统日期和时间。
date # 显示当前日期和时间 date -s "2024-0½-17 15:30:00" # 设置特定日期和时间
-
timedatectl :管理系统时间和时区。
timedatectl status # 查看当前系统时间和时区 timedatectl set-timezone America/New_York # 设置时区
系统更新与升级
-
yum (或dnf ):管理软件包及其依赖。
yum check-update # 检查可用更新 yum update # 更新所有已安装软件包 yum upgrade # 升级软件包到最新版本(可能改变依赖关系)
2. 用户与组管理
用户管理
-
useradd :创建新用户。
useradd -m john # 创建新用户john并为其创建主目录
-
passwd :设置或更改用户密码。
passwd john # 设置或更改john的密码
-
usermod :修改用户属性。
usermod -aG wheel john # 将john添加到wheel组(赋予sudo权限) usermod -s /bin/bash john # 更改john的默认Shell
组管理
-
groupadd :创建新用户组。
groupadd developers # 创建名为developers的用户组
-
gpasswd :管理用户组成员。
gpasswd -a john developers # 将john加入developers组 gpasswd -d john developers # 从developers组中移除john
3. 文件与目录操作
文件与目录浏览
-
ls :列出目录内容。
ls -l # 详细列表模式 ls -al # 包括隐藏文件的详细列表模式
文件与目录创建、移动、复制、删除
-
mkdir :创建目录。
mkdir projects # 创建名为projects的目录 mkdir -p projects/subdir # 创建多级目录
-
touch :创建空白文件或更新文件时间戳。
touch newfile.txt # 创建新文件 touch existingfile.txt # 更新已有文件时间戳
-
cp :复制文件或目录。
cp file1.txt file2.txt # 复制文件 cp -r dir1 dir2 # 复制目录(递归)
-
mv :移动或重命名文件或目录。
mv file1.txt file2.txt # 重命名文件 mv dir1 dir2 # 移动目录
-
rm :删除文件或目录。
rm file.txt # 删除文件 rm -rf dir # 强制删除目录(递归并忽略错误)
4. 文件权限与所有权
查看文件权限
-
ls -l:查看详细列表时,第一列即表示文件权限。
-
stat :查看文件的详细权限、所有者、组和其他元数据。
stat file.txt
更改文件权限
-
chmod :更改文件或目录的权限。
chmod 644 file.txt # 设置文件权限为rw-r--r-- chmod u+x script.sh # 添加用户执行权限 chmod g-w,o-x file.txt # 移除组写权限和其它用户执行权限
更改文件所有权
-
chown :更改文件或目录的所有者。
chown john file.txt # 将文件所有者改为john chown -R john:developers dir # 改变目录及其内容的所有者和组
5. 文件搜索与内容查看
文件搜索
-
find :根据名称、类型、时间等属性查找文件。
find / -name "*.txt" # 在根目录下查找所有.txt文件 find . -type f -mtime -7 # 当前目录下查找近7天内修改过的文件
内容查看
-
cat :连续显示文件内容。
cat file.txt
-
less :分页查看文件内容,支持上下滚动、搜索等。
less large_file.txt
-
head 、tail :查看文件开头或结尾部分内容。
head -n 10 file.txt # 显示文件前10行 tail -n 5 file.txt # 显示文件最后5行 tail -f log.txt # 动态查看日志文件新增内容
6. 网络管理
网络接口状态查看
-
ip :显示或管理网络接口、路由等。
ip addr show # 显示网络接口及IP地址信息 ip route show # 显示路由表
网络连接与监听端口
-
netstat :显示网络连接、路由、接口统计等信息。
netstat -tulnp # 显示所有TCP/UDP监听端口和连接 netstat -rn # 显示路由表
网络诊断
-
ping :测试网络连通性。
ping www.example.com
-
traceroute (或tracert ):追踪数据包路由。
traceroute example.com
7. 系统服务管理
服务操作
-
systemctl :管理系统服务、守护进程、系统状态等。
systemctl start httpd # 启动httpd服务 systemctl stop httpd # 停止httpd服务 systemctl restart httpd # 重启httpd服务
服务状态查询与设置
-
systemctl status :查看服务状态。
systemctl status httpd
-
systemctl enable/disable :设置服务开机自启动。
systemctl enable sshd # 设置sshd服务开机启动 systemctl disable cron # 禁止cron服务开机启动
8. 进程管理
查看进程
-
ps :报告当前系统中进程的状态。
ps aux # 显示所有用户的进程 ps -ef # 显示完整格式的进程列表
管理进程
-
kill:向进程发送信号。
kill 1234 # 发送SIGTERM(默认)信号给PID为1234的进程 kill -9 1234 # 发送SIGKILL信号强制结束进程
-
killall:根据进程名杀死进程。
killall firefox # 杀死所有名为firefox的进程
-
pkill:根据进程名发送信号。
pkill -9 firefox # 发送SIGKILL信号给所有名为firefox的进程
9. 日志查看
系统日志
-
journalctl :查看系统日志(使用Systemd日志系统)。
journalctl -xe # 显示最近的日志条目 journalctl -u nginx.service # 查看特定服务的日志
应用日志
-
tail 、less 等命令直接查看日志文件。
tail -f /var/log/nginx/access.log # 动态查看Nginx访问日志 less /var/log/auth.log # 分页查看认证日志
10. 压缩与解压缩
gzip、gunzip
-
gzip :压缩文件。
gzip file.txt # 压缩为file.txt.gz
-
gunzip :解压缩gzip格式文件。
gunzip file.txt.gz # 解压缩为file.txt
tar
-
tar :打包、压缩、解压缩文件或目录。
tar -czvf archive.tar.gz dir1 dir2 # 打包并压缩为gzip格式 tar -xzvf archive.tar.gz # 解压缩gzip格式的tar包
11. 文本处理
grep
-
grep :在文件中搜索匹配的文本行。
grep 'pattern' file.txt # 在file.txt中搜索包含pattern的行 grep -irn 'error' /var/log/* # 递归搜索目录,忽略大小写,显示行号
sed
-
sed :流编辑器,对文本行进行查找、替换、删除等操作。
sed 's/pattern/replacement/g' file.txt # 替换file.txt中所有pattern为replacement sed '/^$/d' file.txt # 删除file.txt中空行
awk
-
awk :强大的文本分析工具,按指定规则处理文本数据。
awk '{print $1}' file.txt # 输出file.txt中每行的第一个字段 awk '/pattern/{print $0}' file.txt # 输出file.txt中包含pattern的整行
12. 软件包管理
yum/dnf
-
yum (或dnf ):管理软件包及其依赖。
yum info package_name # 查看软件包信息 yum provides command_name # 查找提供指定命令的软件包 yum reinstall package_name # 重新安装软件包 yum remove package_name # 卸载软件包
rpm
-
rpm :低层级的软件包管理工具,用于安装、查询、验证RPM包。
rpm -q package_name # 查询已安装的软件包 rpm -qi package_name # 查询软件包详细信息 rpm -Va # 验证所有已安装软件包的完整性
13. 脚本编程
bash
-
bash :编写和执行shell脚本。
#!/bin/bash echo "Hello, World!" # 输出Hello, World! for i in {1..5}; do echo $i; done # 循环输出1到5 read -p "Enter your name: " name; echo "Hello, $name!" # 交互式输入
14. 文件系统管理
df
-
df :显示磁盘空间使用情况。
df -h # 以人类可读格式显示磁盘使用情况 df -T # 显示文件系统类型
du
-
du :估算文件和目录所占磁盘空间
du -sh * # 显示当前目录下所有文件及目录大小汇总 du -h --max-depth=1 # 显示当前目录下一级子目录及文件大小
mount/umount
-
mount :挂载文件系统。
mount /dev/sdb1 /mnt/data # 挂载设备sdb1到/mnt/data
-
umount :卸载已挂载的文件系统。
umount /mnt/data # 卸载/mnt/data
15. 系统监控
top
-
top :实时显示系统资源(CPU、内存、负载等)使用情况。
top # 运行top命令,按'h'获取帮助,'q'退出
htop
-
htop (需先安装):增强版top命令,提供彩色界面、搜索、树状视图等功能。
htop # 运行htop命令
vmstat
-
vmstat :报告虚拟内存统计信息。
vmstat 1 # 每秒刷新一次,显示内存、CPU、磁盘等信息
iostat
-
iostat :监视系统输入/输出设备负载。
iostat -dx 1 # 显示磁盘统计信息,包括设备、读写速率等
以上就是一些常见的CentOS使用命令。在实际使用中,如果忘记命令也可以使用
man <command>
获取命令详细帮助文档。