Linux 服务器常用命令及工具(CentOS)
本文最后更新于2025年03月24日;如遇到问题,请及时留言告知。
以下为本人结合 Linux 服务器(CentOS\Debian)长期维护经验积累的常用指令或三方命令工具,如有补充或修改建议可以在评论区留言。
一、文件和目录管理
ls:列出当前目录的内容
ls /目录名称 #列出指定目录下的子文件
ls -l /指定目录 #详细列出指定目录下的文件
cd:更改当前工作目录:
cd ~ #切换到用户的家目录
cd /目录名 #切换到指定的目录下
cd ../ #切换到上一级目录
pwd:显示当前目录的完整路径
cp:复制文件或目录:
# 将文件 file1.txt 复制到目录 /tmp
cp file1.txt /tmp
# 复制时保留所有元信息(权限、所有者、时间戳、符号链接等)
cp -a source target
例:
cp -a /var/www/html /backup/
mv:移动或重命名文件和目录:
# 将 file.txt 重命名为 newfile.txt
mv file.txt newfile.txt
rm:删除文件或目录:
rm file.txt #删除文件 file.txt
rm -rf mydirectory/ #删除目录及其内容
touch:创建新文件或更新文件的时间戳:
# 创建一个新文件 newfile.txt
touch newfile.txt
mkdir:创建新目录:
# 创建一个新目录 mydirectory。
mkdir mydirectory
二、文件查看和编辑
cat:查看文件内容:
# 示例 1:查看file.txt的内容:
cat file.txt
# 示例 2:查看操作系统版本号:
cat /etc/redhat-release
# 示例 3:查看CPU信息:
cat /proc/cpuinfo
less:分页查看大型文件:
# 使用 less 分页查看文件 largefile.log:
less largefile.log
more:分页查看文件:
# 分页查看长文件file.txt:
more file.txt
head/tail: 查看文件的前/后10行:
# 示例 1:查看file.txt的前/后10行:
head file.txt
tail file.txt
# 示例 2:显示文件的前/后20行:
head -n 20 file.txt
tail -n 20 file.txt
如果需要实时监视日志文件的变化,可以使用 tail -f 命令,它会持续显示新添加到文件末尾的内容。
find:用于在文件系统中搜索文件和目录:
# 示例 1:在当前目录及子目录中查找名为file.txt的文件:
find . -name file.txt
# 示例 2:查找当前目录及其子目录中在最近7天内修改的文件:
find . -type f -mtime -7
vi 或 vim:文本编辑器:
# 使用 Vim 编辑文件 file.txt:
vi file.txt
常用操作:
- 按 I 或者 Insert 进入编辑模式;
- 按 ESC 键退出编辑模式,进入命令模式;
- 在命令模式输入
:wq或者大写字母 ZZ 保存并退出; - 在命令模式输入
:q退出,如果文件已修改输入:q!强制退出而不保存更改。
nano:简单的文本编辑器:
# 使用 Nano 编辑文件 file.txt:
nano file.txt
三、系统信息和监控
uname:显示系统信息:
uname -a
hostname:显示主机名:
hostname
uptime:显示系统运行时间和负载:
uptime
df:显示磁盘空间使用情况:
# 列出所有文件系统的磁盘空间使用情况,并显示文件系统类型
df -Th
# 只显示磁盘使用情况的基本信息,不包括文件系统类型
df -h
du:显示当前目录的磁盘使用情况:
# 显示目录 /var 的磁盘使用情况:
du -sh /var
top:实时查看系统性能和进程信息:
top
htop:交互式进程查看器。[非内部命令] 官网:https://htop.dev/
htop
查看内存占用
#用于显示系统的内存信息,包括物理内存(RAM)和交换空间的使用情况。
cat /proc/meminfo
# 用于以人类可读的方式显示系统的内存使用情况
free -h
# 用于列出系统上所有进程的详细信息,并按内存使用量(RSS,Resident Set Size)进行排序
ps aux --sort -rss
# 一个交互式的实时系统监视工具,用于查看系统的进程和系统性能(按Q键退出)
top
# 用于显示有关虚拟内存统计信息的详细信息
vmstat -s
mount:用于挂载文件系统或设备 一般用法:
mount [选项] <设备或文件系统> <挂载点>
示例用法:
1. 挂载设备:
# 挂载 /dev/sdb1 分区到 /mnt/data 目录
mount /dev/sdb1 /mnt/data
2. 挂载网络文件系统(NFS):
# 挂载远程NFS共享到本地目录
mount -t nfs 192.168.1.100:/path/to/share /mnt/nfs
3.挂载ISO文件:
# 挂载名为 example.iso 的ISO文件到 /mnt/iso 目录
mount -o loop example.iso /mnt/iso
4.查看已挂载的文件系统:
# 使用 mount 命令,不带参数,可以查看当前系统上已挂载的文件系统
mount
5.卸载文件系统:
# 使用 umount 命令可以卸载已挂载的文件系统
umount /mnt/data
四、用户和权限管理
who:显示当前登录用户:
who
useradd:创建新用户:
# 创建新用户 newuser
sudo useradd newuser
passwd:更改用户密码:
# 更改用户 newuser 的密码
sudo passwd newuser
userdel:删除用户:
# 删除用户 olduser
sudo userdel olduser
chmod:修改文件或目录权限:
# 更改file.txt的权限,使所有用户都可以读写
chmod 666 file.txt
chown:修改文件或目录所有者:
# 更改file.txt的所有者到用户名 user
chown user file.txt
sudo:以超级用户权限执行命令:
# 以超级用户权限执行命令。
sudo command-to-run
修改 root 用户名
五、网络工具
ifconfig:显示和配置网络接口信息:
ifconfig
ping:测试主机之间的连接:
# Ping 主机 example.com
ping example.com
nslookup 或 dig:查询DNS信息:
# 查询主机名 example.com 的IP地址
nslookup example.com
netstat:显示网络信息:
# 显示网络统计信息
netstat -tuln
# 查看端口占用
netstat -tlunp
ss:显示套接字统计信息:
ss -tuln
防火墙控制
# 启用防火墙
sudo systemctl start firewalld
# 关闭防火墙
sudo systemctl stop firewalld
# 重启防火墙
sudo systemctl restart firewalld
wget: 用于下载文件的命令行工具:
# 示例 1:下载单个文件:
wget http://example.com/file.png
# 示例 2:从文件列表下载多个文件:
wget -i filelist.txt
curl: 用于发送HTTP请求并获取服务器响应的命令行工具:
# 示例 1:下载单个文件:
curl -O https://example.com/file.zip
# 示例 2:将文件保存为指定的文件名:
curl -o my-file.zip https://example.com/file.zip
# 示例 3:显示HTTP响应头信息
curl -I https://example.com
# 示例 4:发送POST请求
curl -X POST -d "param1=value1¶m2=value2" https://example.com/api
#示例 5:上传文件
curl -F "file=@my-file.txt" https://example.com/upload
六、软件包管理
yum:用于安装、更新和删除软件包(CentOS 7及之前版本)
# 安装名为package_name的软件包
sudo yum install package_name
dnf:用于安装、更新和删除软件包(CentOS 8及更高版本)
# 更新已安装的软件包
sudo dnf update
rpm:管理RPM软件包:
# 查询已安装的软件包
rpm -qa
# 查询已安装软件包的安装目录
rpm -ql 软件名
七、系统日志查看
journalctl:查看系统日志:
journalctl
tail:查看文件末尾的日志:
# 查看文件 /var/log/syslog 的最后10行
tail -n 10 /var/log/syslog
grep:在文件中搜索特定内容:
# 在 file.txt 中搜索含有"example"的行
grep "example" file.txt
八、进程管理
ps:显示当前进程:
# 显示当前正在运行的进程
ps aux
查看指定PID的详细信息
ps -p PID -o pid,ppid,cmd
例如,如果要查看PID为8560的进程的详细信息,可以运行以下命令:ps -p 8560 -o pid,ppid,cmd
kill:终止进程:
#终止某个进程
kill PID
#强制终止某个进程( 谨慎使用,可能会导致数据损坏或系统不稳定)
kill -9 PID
pgrep 和 pkill:根据进程名查找和终止进程::pgrep process-name
iotop:查看硬盘读写情况 [非内部命令] 安装并使用“iotop”工具,列出CentOS系统上正在进行磁盘读写的进程:
# 安装 iotop
sudo yum install iotop
# 运行 iotop
sudo iotop
九、硬件信息
lscpu //显示CPU信息。
lshw //显示硬件信息。
lsblk //显示块设备信息。
十、系统维护和监控
crontab:管理定时任务:
# 编辑用户的定时任务:
crontab -e
at:执行一次性定时任务:
# 在一次性定时任务中执行命令:
at now + 1 hour
watch:周期性运行命令并实时显示输出:
# 每2秒执行一次命令 command-to-run 并实时显示输出:
watch -n 2 command-to-run
十一、常用应用操作命令
Node 相关
Node.js(通常称为 Node)是一个开源的、跨平台的JavaScript运行环境,允许开发人员使用JavaScript语言编写服务器端应用程序。
ps -ef|grep node//查看运行中的 node 项目
npm install npm@9.6.7 -g//npm 降级或安装指定版本
PM2 相关
PM2(Process Manager 2)是一个用于管理Node.js应用程序的进程管理器。PM2(Process Manager 2)是一个用于管理Node.js应用程序的进程管理器。
查看进程
pm2 list
监控
pm2 monit
停止
pm2 stop 0 //停止PM2列表中进程为0的进程
pm2 stop all //停止PM2列表中所有的进程
删除进程
pm2 delete 0 //删除PM2列表中进程为0的进程
pm2 delete all //删除PM2列表中所有的进程
Docker 相关
Docker 是一个开源的容器化平台,用于开发、部署和运行应用程序。
进程操作
docker info //查看 docker 信息
docker --help //查看 docker 帮助
systemctl start docker //启动 docker
systemctl stop docker //停止 docker
systemctl restart docker //重启 docker
systemctl status docker //查看 docke r状态
容器操作
运行容器:
docker run [选项] IMAGE [命令] [ARG...]
常用选项:
-d:后台运行容器--name:为容器指定一个名称-p:端口映射,格式为 <主机端口>:<容器端口>-v:挂载卷,格式为 <主机目录>:<容器目录>-e:设置环境变量
停止容器:
docker stop 容器ID/容器名
启动容器:
docker start 容器ID/容器名
删除一个容器:
docker rm 容器名/容器ID
查看容器列表
docker ps [选项] //列出容器
常用选项:
docker ps -a
-a:显示所有容器,包括未运行的。
执行容器中的命令:
docker exec -it 容器名/容器ID /bin/bash
docker exec -it 容器名/容器ID /bin/sh
10
除非特别声明,博文均为原创,转载请注明出处!
版权声明:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 进行许可。

微信
支付宝