CentOS 是一种广泛使用的 Linux 发行版,特别在服务器环境中。本文将详细介绍 CentOS 中常见的命令,以便帮助用户在操作系统中有效地进行各种操作。下面介绍一下文件和目录操作、用户和权限管理、系统信息查看、软件包管理以及网络配置等方面的命令。
一、文件和目录操作命令
1、ls - 列出目录内容
bash
ls
ls -l
ls -a
ls -lh
ls列出当前目录中的文件和子目录。ls -l以长格式显示文件详细信息。ls -a显示所有文件,包括隐藏文件。ls -lh以人类可读的格式显示文件大小。
2、cd - 切换目录
bash
cd /path/to/directory
cd ..
cd ~
cd /path/to/directory切换到指定目录。cd ..切换到上一级目录。cd ~切换到当前用户的主目录。
3、pwd - 显示当前目录
bash
pwd
pwd打印当前工作目录的路径。
4、mkdir - 创建目录
bash
mkdir new_directory
mkdir -p /path/to/new_directory
mkdir new_directory创建一个名为new_directory的新目录。mkdir -p /path/to/new_directory递归创建目录,包括必要的父目录。
5、rmdir 和 rm -r - 删除目录
bash
rmdir directory_name
rm -r directory_name
rmdir directory_name删除一个空目录。rm -r directory_name递归删除目录及其内容。
6、cp - 复制文件和目录
bash
cp file1 file2
cp -r dir1 dir2
cp file1 file2复制file1为file2。cp -r dir1 dir2递归复制目录dir1到dir2。
7、mv - 移动或重命名文件和目录
bash
mv old_name new_name
mv file /path/to/destination/
mv old_name new_name重命名文件或目录。mv file /path/to/destination/移动文件到指定目录。
8、rm - 删除文件
bash
rm file_name
rm -f file_name
rm -rf directory_name
rm file_name删除指定文件。rm -f file_name强制删除文件,不提示。rm -rf directory_name强制递归删除目录及其内容。
9、touch - 创建空文件或更新文件的时间戳
bash
touch newfile
touch newfile创建一个名为newfile的空文件。
二、用户和权限管理命令
1、useradd 和 userdel - 添加和删除用户
bash
useradd newuser
userdel newuser
userdel -r newuser
useradd newuser添加一个名为newuser的新用户。userdel newuser删除用户。userdel -r newuser删除用户及其主目录。
2、usermod - 修改用户账户
bash
usermod -aG groupname username
usermod -L username
usermod -U username
usermod -aG groupname username将用户添加到指定组。usermod -L username锁定用户账户。usermod -U username解锁用户账户。
3、passwd - 更改用户密码
bash
passwd username
passwd username设置或更改指定用户的密码。
4、chown - 更改文件所有者
bash
chown newowner file
chown newowner:newgroup file
chown -R newowner directory
chown newowner file更改文件的所有者。chown newowner:newgroup file更改文件的所有者和组。chown -R newowner directory递归更改目录及其内容的所有者。
5、chmod - 更改文件权限
bash
chmod 755 file
chmod u+x file
chmod -R 755 directory
chmod 755 file设置文件权限为755。chmod u+x file添加文件的用户执行权限。chmod -R 755 directory递归更改目录及其内容的权限。
6、chgrp - 更改文件组
bash
chgrp newgroup file
chgrp -R newgroup directory
chgrp newgroup file更改文件的组。chgrp -R newgroup directory递归更改目录及其内容的组。
三、系统信息查看命令
1、uname - 显示系统信息
bash
uname -a
uname -r
uname -m
uname -a显示所有系统信息。uname -r显示操作系统内核版本。uname -m显示系统架构。
2、df - 查看磁盘使用情况
bash
df
df -h
df -T
df显示文件系统的磁盘空间使用情况。df -h以人类可读的格式显示磁盘空间使用情况。df -T显示文件系统类型。
3、du - 查看目录空间使用情况
bash
du
du -h
du -sh
du显示目录和文件的磁盘使用情况。du -h以人类可读的格式显示使用情况。du -sh显示目录的总使用情况。
4、top 和 htop - 实时显示系统任务
bash
top
htop
top实时显示系统任务和资源使用情况。htop是top的增强版,具有更友好的用户界面(需要安装)。
5、free - 查看内存使用情况
bash
free
free -h
free显示内存使用情况。free -h以人类可读的格式显示内存使用情况。
6、ps - 显示当前进程
bash
ps
ps aux
ps -ef
ps显示当前用户的进程。ps aux显示所有用户的进程。ps -ef显示详细进程信息。
7、uptime - 查看系统运行时间
bash
uptime
uptime显示系统的运行时间和平均负载。
8、dmesg - 查看内核消息
bash
dmesg
dmesg | less
dmesg显示内核消息。dmesg | less分页查看内核消息。
四、软件包管理命令
CentOS 使用 yum 和 dnf(CentOS 8 及以后)进行软件包管理。
1、yum 和 dnf - 安装、更新和删除软件包
bash
yum install package_name
yum update package_name
yum remove package_name
dnf install package_name
dnf update package_name
dnf remove package_name
yum install package_name安装软件包。yum update package_name更新软件包。yum remove package_name删除软件包。dnf install package_name安装软件包(适用于 CentOS 8 及以后)。dnf update package_name更新软件包。dnf remove package_name删除软件包。
2、yum 和 dnf - 清理缓存
bash
yum clean all
dnf clean all
yum clean all清理yum缓存。dnf clean all清理dnf缓存。
3、yum 和 dnf - 列出已安装的软件包
bash
yum list installed
dnf list installed
yum list installed列出已安装的软件包。dnf list installed列出已安装的软件包。
五、网络配置命令
1、ifconfig 和 ip - 配置网络接口
bash
ifconfig
ifconfig eth0
ip addr
ip addr show eth0
ifconfig显示网络接口信息。ifconfig eth0显示eth0接口的详细信息。ip addr显示网络接口和地址信息。ip addr show eth0显示eth0接口的详细信息。
2、ping - 测试网络连通性
bash
ping google.com
ping -c 4 google.com
ping google.com测试到google.com的连通性。ping -c 4 google.com发送 4 个 ICMP 包来测试连通性。
3、netstat - 显示网络连接
bash
netstat
netstat -tuln
netstat -an
netstat显示网络连接、路由表、接口统计等。netstat -tuln显示所有监听的端口。netstat -an显示所有连接和端口。
4、ss - 查看套接字统计
bash
ss
ss -tuln
ss -an
ss显示套接字统计信息。ss -tuln显示所有监听的端口。ss -an显示所有连接和端口。
5、iptables - 配置防火墙规则
bash
iptables -L
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP
iptables -L列出防火墙规则。iptables -A INPUT -p tcp --dport 22 -j ACCEPT允许 TCP 端口 22 的输入连接。iptables -A INPUT -j DROP丢弃所有输入连接。
6、firewalld - 管理防火墙(CentOS 7 及以后)
bash
systemctl start firewalld
systemctl stop firewalld
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
systemctl start firewalld启动防火墙服务。systemctl stop firewalld停止防火墙服务。firewall-cmd --permanent --add-port=80/tcp永久打开 80 端口的 TCP 流量。firewall-cmd --reload重新加载防火墙配置。
六、服务和系统控制命令
1、systemctl - 控制系统服务
bash
systemctl start service_name
systemctl stop service_name
systemctl restart service_name
systemctl enable service_name
systemctl disable service_name
systemctl status service_name
systemctl start service_name启动服务。systemctl stop service_name停止服务。systemctl restart service_name重启服务。systemctl enable service_name开机时自动启动服务。systemctl disable service_name禁止开机时自动启动服务。systemctl status service_name查看服务状态。
2、journalctl - 查看系统日志
bash
journalctl
journalctl -u service_name
journalctl -f
journalctl显示所有日志。journalctl -u service_name显示特定服务的日志。journalctl -f实时跟踪日志。
3、reboot 和 shutdown - 重启和关机
bash
reboot
shutdown -h now
shutdown -r now
reboot重启系统。shutdown -h now立即关机。shutdown -r now立即重启。
CentOS 提供了丰富的命令行工具,用于管理文件和目录、用户和权限、系统信息、软件包和网络配置等。掌握这些命令对于有效管理和操作 CentOS 系统至关重要。这里仅介绍了一部分常用命令,用户可以根据需求进一步学习和探索更高级的命令和选项。
