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 系统至关重要。这里仅介绍了一部分常用命令,用户可以根据需求进一步学习和探索更高级的命令和选项。