CentOS常用命令

简介

‌**CentOS(Community Enterprise Operating System)是一种基于Red Hat Enterprise Linux(RHEL)源代码的免费开源操作系统,旨在提供稳定、可靠的企业级Linux环境。**‌ CentOS由社区驱动,与RHEL在功能上高度兼容,但用户可以免费使用而无需支付任何费用‌。

历史背景和开发团队

CentOS自2004年3月以来一直是由社区驱动的开源项目,其目标是与RHEL保持功能上的兼容性。通过社区的官方邮件列表、论坛和聊天室提供技术支持‌。

主要特点和优势

1‌.稳定性与可靠性‌:CentOS严格遵循RHEL的源代码,经过严格的测试以保证其稳定性,适用于长期运行的服务环境,如Web服务器、数据库服务器、邮件服务器等‌3。

2‌.开源免费‌:用户可以免费下载、使用和修改CentOS,无需支付任何费用‌。

3‌.长期支持‌:每个版本的CentOS都得到长达十年的支持,通过安全更新方式进行维护,确保了软件更新和安全补丁的持续供应‌。

4‌.丰富的软件包‌:使用Yum(或较新版本的DNF)作为包管理器,通过官方仓库或第三方仓库提供了大量的软件包,便于安装、升级和管理各种应用程序‌。

5.强大的社区支持‌:拥有活跃的用户社区和开发者社区,用户可以在社区论坛、邮件列表或社交媒体平台上寻求帮助、交流经验‌。

常用命令

一、系统信息查询与管理

1.hostnamectl:显示主机名、操作系统版本、内核版本、架构等信息

2.uname:显示系统内核与硬件信息

3.lsb_release:显示LSB相关信息

4.date:显示或设置系统日期和时间

5.timedatectl:管理系统时间和时区

6.timedatectl status:查看当前系统时间和时区

7.yum(或dnf)管理软件包及其依赖

yum check-update  # 检查可用更新
yum update  # 更新所有已安装软件包
yum upgrade  # 升级软件包到最新版本(可能改变依赖关系)

二、 用户与组管理

1.useradd:创建用户

useradd -m john  # 创建新用户john并为其创建主目录

2.passwd:设置或更改用户密码

passwd john  # 设置或更改john的密码

3.usermod:修改用户属性

usermod -aG wheel john  # 将john添加到wheel组(赋予sudo权限)
usermod -s /bin/bash john  # 更改john的默认Shell

4.groupadd:创建新用户组

groupadd developers  # 创建名为developers的用户组

5.gpasswd:管理用户组成员

gpasswd -a john developers  # 将john加入developers组
gpasswd -d john developers  # 从developers组中移除john

三、文件与目录操作

1. ls:列出目录内容

ls -l 文件详细信息
ls -al 隐藏文件也会显示包含文件详细信息

2. mkdir:创建目录

mkdir projects   #创建目录
mkdir -p a/b    #创建多级目录

3.touch:创建空白文件或更新文件时间戳

touch a.txt #创建空白文件
touch existinga.txt #更新已有文件时间戳

4.cp:复制文件或目录

cp file1.txt file2.txt    #复制文件
cp -r dir1 dir2 #复制目录(递归)

5.mv:移动或重命名文件或目录

mv file1.txt file2.txt #移动文件
mv dir1 dir2 #移动目录

6.rm:删除文件或目录

rm file.txt #删除文件
rm -rf dir #强制删除目录(递归并忽略错误)

四、文件权限与所有权

1.ls -l:查看文件列表时,第一列即表示文件权限

2.stat file.txt:查看文件的详细权限、所有者、组和其他元数据

3.chmod:更改文件或目录的权限

chmod 644 file.txt  # 设置文件权限为rw-r--r--
chmod u+x script.sh  # 添加用户执行权限
chmod g-w,o-x file.txt  # 移除组写权限和其它用户执行权限

4.chown:更改文件或目录的所有者

chown john file.txt  # 将文件所有者改为john
chown -R john:developers dir  # 改变目录及其内容的所有者和组

五、文件搜索与目录查看

1.find:根据名称、类型、时间等属性查找文件

find / -name a.txt #在根目录下查找a.txt文件的位置
find . -type f -mtime -7 #当前目录下查找近7天内修改过的文件

2.cat:连续显示文件内容

cat file.txt

3.less:分页查看文件内容,支持上下滚动、搜索等

less large_file.txt

4.head、tail:查看文件开头或结尾部分内容

head -n 10 file.txt  # 显示文件前10行
tail -n 5 file.txt  # 显示文件最后5行
tail -f log.txt  # 动态查看日志文件新增内容

六、网络管理

1. ip:显示或管理网络接口、路由等

ip addr show  # 显示网络接口及IP地址信息
ip route show  # 显示路由表

2.netstat:显示网络连接、路由、接口统计等信息

netstat -tulnp  # 显示所有TCP/UDP监听端口和连接
netstat -rn  # 显示路由表

3.ping:测试网络连通性

ping www.baidu.com

七、系统服务管理

1.systemctl:管理系统服务、守护进程、系统状态等

systemctl start httpd  # 启动httpd服务(httpd指具体的服务名)
systemctl stop httpd  # 停止httpd服务
systemctl restart httpd  # 重启httpd服务

2. systemctl status:查看服务状态

systemctl status httpd

3. systemctl enable/disable:设置服务开机自启动

systemctl enable sshd  # 设置sshd服务开机启动
systemctl disable cron  # 禁止cron服务开机启动

八、进程管理

1.ps:报告当前进程中进程的状态

ps aux  # 显示所有用户的进程
ps -ef  # 显示完整格式的进程列表

2.kill:向进程发送信号

kill 1234  # 发送SIGTERM(默认)信号给PID为1234的进程
kill -9 1234  # 发送SIGKILL信号强制结束进程

3.killall:根据进程名杀死进程

killall firefox  # 杀死所有名为firefox的进程

4.pkill:根据进程名发送信号

pkill -9 firefox  # 发送SIGKILL信号给所有名为firefox的进程

九、日志查看

1.journalctl:查看系统日志(查看systemd日志系统)

journalctl -xe  # 显示最近的日志条目
journalctl -u nginx.service  # 查看特定服务的日志

2.tail、less等命令直接查看日志文件

tail -f /var/log/nginx/access.log  # 动态查看Nginx访问日志
less /var/log/auth.log  # 分页查看认证日志

十、压缩与解压缩

1.gzip:压缩文件

gzip file.txt  # 压缩为file.txt.gz

2.gunzip:解压缩gzip格式文件

gunzip file.txt.gz  # 解压缩为file.txt

3.tar:打包、压缩、解压缩文件或目录

tar -czvf archive.tar.gz dir1 dir2  # 打包并压缩为gzip格式
tar -xzvf archive.tar.gz  # 解压缩gzip格式的tar包

十一、文本处理

1.grep:在文件中搜索匹配的文件行

grep 'pattern' file.txt  # 在file.txt中搜索包含pattern的行
grep -irn 'error' /var/log/*  # 递归搜索目录,忽略大小写,显示行号

2.sed:流编辑器,对文本行进行查找、替换、删除等操作

sed 's/pattern/replacement/g' file.txt  # 替换file.txt中所有pattern为replacement
sed '/^$/d' file.txt  # 删除file.txt中空行

3.awk:强大的文本分析工具,按指定规则处理文本数据

awk '{print $1}' file.txt  # 输出file.txt中每行的第一个字段
awk '/pattern/{print $0}' file.txt  # 输出file.txt中包含pattern的整行

十二、软件包管理

1.yum(或dnf):管理软件包及其依赖

yum info package_name  # 查看软件包信息
yum provides command_name  # 查找提供指定命令的软件包
yum reinstall package_name  # 重新安装软件包
yum remove package_name  # 卸载软件包

2.rpm:低层级的软件包管理工具,用于安装、查询、验证RPM包

rpm -q package_name  # 查询已安装的软件包
rpm -qi package_name  # 查询软件包详细信息
rpm -Va  # 验证所有已安装软件包的完整性

十三、脚本编程

1.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!"  # 交互式输入

十四、文件系统管理

1.df:显示磁盘空间使用情况

df -h  # 以人类可读格式显示磁盘使用情况
df -T  # 显示文件系统类型

2.du:估算文件或目录所占磁盘空间

du -sh *  # 显示当前目录下所有文件及目录大小汇总
du -h --max-depth=1  # 显示当前目录下一级子目录及文件大小

3.mount:挂载文件系统

mount /dev/sdb1 /mnt/data  # 挂载设备sdb1到/mnt/data

4.umount:卸载已挂载的文件系统

umount /mnt/data  # 卸载/mnt/data

十五、系统监控

1.top:实时显示系统资源(CPU、内存、负载等)使用情况

top  # 运行top命令,按'h'获取帮助,'q'退出

2.htop(需先安装):增强版top命令,提供彩色界面、搜索、树状视图等功能

htop  # 运行htop命令

3.vmstat:报告虚拟内存统计信息

vmstat 1  # 每秒刷新一次,显示内存、CPU、磁盘等信息

4.iostat:监视系统输入/输出设备负载

iostat -dx 1  # 显示磁盘统计信息,包括设备、读写速率等

以上就是一些常见的CentOS使用命令。在实际使用中,如果忘记命令也可以使用

man <command> 

获取命令详细帮助文档。

相关推荐
m0_748234082 小时前
构建流媒体直播服务器:nginx与nginx-rtmp-module实战指南
运维·服务器·nginx
Lang_xi_2 小时前
Bash Shell的操作环境
linux·开发语言·bash
关关钧3 小时前
【Linux】sed编辑器
linux·运维·编辑器
哦豁灬3 小时前
linux查看硬件信息
linux·运维·服务器
m0_748252603 小时前
在Linux系统上使用nmcli命令配置各种网络(有线、无线、vlan、vxlan、路由、网桥等)
linux·服务器·网络
raysync8883 小时前
如何保留企业传输系统操作习惯来实现企业无缝FTP替代升级
运维·服务器·网络
小白的登仙路4 小时前
进程间通讯
linux·c语言·进程间通讯
R-sz4 小时前
ubuntu切换到root用户
linux·运维·ubuntu
拾荒的小海螺4 小时前
Docker:安装 XXL-JOB 分布式调度任务的技术指南
运维·docker·容器
OopspoO5 小时前
Linux 磁盘与文件系统操作
linux·运维·服务器