菜鸟科技网

CentOS常用命令有哪些?

基础命令

这些是日常使用 Linux 最频繁的命令。

CentOS常用命令有哪些?-图1
(图片来源网络,侵删)

文件和目录操作

命令 功能 示例
ls 列出目录内容 ls -l (长格式显示)
ls -a (显示所有文件,包括隐藏文件)
ls -h (以人类可读方式显示大小,如 K, M, G)
cd 切换目录 cd /var/log (切换到 /var/log 目录)
cd .. (返回上一级目录)
cd ~ (返回当前用户的家目录)
pwd 显示当前工作目录的完整路径 pwd
mkdir 创建新目录 mkdir my_folder (创建名为 my_folder 的目录)
mkdir -p /tmp/test/a/b (递归创建多级目录)
touch 创建一个空文件或更新文件时间戳 touch new_file.txt
cp 复制文件或目录 cp source.txt dest.txt (复制文件)
cp -r source_dir/ dest_dir/ (递归复制目录)
mv 移动/重命名文件或目录 mv old_name.txt new_name.txt (重命名)
mv /tmp/file.txt /home/user/ (移动文件)
rm 删除文件或目录 rm file.txt (删除文件)
rm -r directory/ (递归删除目录)
rm -f file.txt (强制删除,不提示)
cat 查看文件内容(全部显示) cat /etc/hosts
more / less 分页查看文件内容 less /var/log/messages (按 q 退出)
head 查看文件开头部分 head -n 20 /etc/passwd (查看前20行)
tail 查看文件结尾部分 tail -n 20 /var/log/messages (查看最后20行)
tail -f /var/log/nginx/access.log (实时跟踪文件更新)
find 在目录树中搜索文件 find / -name "myfile.txt" (在整个系统中按文件名搜索)
find /home -user "john" (查找属于用户 john 的文件)
grep 在文件中搜索文本 grep "error" /var/log/messages (在日志文件中搜索包含 "error" 的行)
grep -r "nginx" /etc/ (在 /etc 目录下递归搜索)
which 查找命令的可执行文件路径 which ls

处理

命令 功能 示例
echo 输出文本到终端或文件 echo "Hello World"
echo "Hello" >> file.txt (追加到文件)
> 重定向输出,覆盖文件 echo "Hello" > file.txt (覆盖写入)
>> 重定向输出,追加到文件 echo "World" >> file.txt (追加写入)
wc 统计文件的行数、单词数、字节数 wc -l /etc/passwd (统计行数)
sort 进行排序 sort /etc/passwd (按行排序)
uniq 去除文件中连续的重复行 sort file.txt | uniq (先排序再去重)
chmod 修改文件/目录的权限 chmod 755 script.sh (设置所有者可读可写可执行,组和其他用户可读可执行)
chmod u+x script.sh (给所有者添加执行权限)
chown 修改文件/目录的所有者 chown user:group file.txt (同时修改所有者和所属组)

系统信息与管理

系统信息

命令 功能 示例
uname 显示系统信息 uname -a (显示所有信息,包括内核版本、主机名等)
top 实时显示系统进程和资源占用情况 top (按 q 退出)
htop top 的增强版,更直观 (需要安装) htop
ps 显示当前运行的进程 ps aux (显示所有进程的详细信息)
ps -ef (另一种格式显示所有进程)
kill / killall 终止进程 kill -9 1234 (强制杀死PID为1234的进程)
killall nginx (杀死所有名为nginx的进程)
df 显示磁盘空间使用情况 df -h (以人类可读方式显示)
du 估计文件/目录的磁盘使用量 du -sh /var/log (显示 /var/log 目录的总大小)
free 显示内存使用情况 free -h (以人类可读方式显示)
date 显示或设置系统日期和时间 date
date "+%Y-%m-%d %H:%M:%S"

用户和权限管理

命令 功能 示例
whoami 显示当前用户名 whoami
useradd / userdel 添加/删除用户 sudo useradd testuser (添加用户)
sudo userdel testuser (删除用户)
sudo userdel -r testuser (删除用户及其家目录)
passwd 修改用户密码 passwd (修改当前用户密码)
sudo passwd testuser (修改其他用户密码)
su / sudo 切换用户身份 su - testuser (切换到 testuser 用户,并加载其环境变量)
sudo command (以管理员身份执行命令)
id 显示用户的UID、GID和所属组 id testuser
groupadd / groupdel 添加/删除组 sudo groupadd developers
sudo groupdel developers

软件包管理

CentOS 主要使用 yumdnf (CentOS 7/8/9 推荐使用) 作为包管理器。

DNF (推荐)

命令 功能 示例
dnf install 安装软件包 sudo dnf install nginx
dnf remove 卸载软件包 sudo dnf remove nginx
dnf update 更新所有已安装的软件包 sudo dnf update
dnf search 搜索软件仓库中的软件包 dnf search "vim"
dnf list installed 列出所有已安装的软件包 dnf list installed
dnf history 查看软件包操作历史 dnf history list

YUM (旧版 CentOS 6)

命令 功能 示例
yum install 安装软件包 sudo yum install httpd
yum remove 卸载软件包 sudo yum remove httpd
yum update 更新所有已安装的软件包 sudo yum update
yum search 搜索软件包 yum search "tree"

网络配置

命令 功能 示例
ip / ifconfig 查看和配置网络接口 (CentOS 7+ 推荐使用 ip) ip addr show (显示所有网络接口信息)
ifconfig (旧版命令)
ping 测试网络连通性 ping google.com
ss / netstat 查看网络连接、端口监听状态 (CentOS 7+ 推荐使用 ss) ss -tulnp (显示所有 TCP/UDP 端口及进程ID)
netstat -tuln (旧版命令)
curl / wget 从网络下载文件 curl -I http://example.com (获取HTTP头信息)
wget http://example.com/file.zip (下载文件)
ssh 安全地远程登录到另一台主机 ssh user@192.168.1.100
scp 安全地在两台主机之间复制文件 scp /path/to/local/file.txt user@remote:/path/to/remote/
firewall-cmd 管理防火墙规则 (CentOS 7+) sudo firewall-cmd --list-all (查看所有规则)
sudo firewall-cmd --add-service=http --permanent (永久允许HTTP服务)
sudo firewall-cmd --reload (重新加载防火墙)

进程与服务管理

systemctl (现代 Linux 服务管理器)

这是管理系统服务(如 Nginx, Apache, MySQL)的主要工具。

命令 功能 示例
systemctl start 启动一个服务 sudo systemctl start nginx
systemctl stop 停止一个服务 sudo systemctl stop nginx
systemctl restart 重启一个服务 sudo systemctl restart nginx
systemctl reload 重新加载服务配置 sudo systemctl reload nginx
systemctl enable 设置服务开机自启 sudo systemctl enable nginx
systemctl disable 禁止服务开机自启 sudo systemctl disable nginx
systemctl status 查看服务状态 systemctl status nginx
systemctl list-units 列出所有已加载的单元 systemctl list-units --type=service
journalctl 查看系统日志 (特别是服务的日志) journalctl -u nginx (查看 nginx 服务的日志)
journalctl -f (实时跟踪日志)

文本编辑器

在 Linux 服务器上,通常使用命令行编辑器。

编辑器 特点 基本使用
vi / vim 功能强大,学习曲线陡峭,但几乎所有系统都自带 vim filename.txt
模式:
- 普通模式 (默认): i 进入插入模式, 进入命令模式, Esc 返回普通模式。
- 插入模式: 输入文本。
- 命令模式: w (保存), q (退出), wq (保存并退出), q! (强制退出不保存)。
nano 简单易用,对新手友好 nano filename.txt
底部有快捷键提示,如 Ctrl+O 保存, Ctrl+X 退出。

压缩与解压

命令 格式 示例
tar .tar, .tar.gz, .tar.bz2 tar -czvf archive.tar.gz /path/to/dir/ (打包并压缩)
tar -xzvf archive.tar.gz (解压并解包)
zip / unzip .zip zip -r archive.zip /path/to/dir/ (创建 zip 压缩文件)
unzip archive.zip (解压 zip 文件)

快捷键

快捷键 功能
Ctrl + C 终止当前正在运行的命令
Ctrl + Z 暂停当前命令,将其放入后台
Ctrl + D 输入文件结束符,相当于 exit 退出当前 shell
Ctrl + L 清屏
Ctrl + R 在历史命令中搜索
Ctrl + A 将光标移动到行首
Ctrl + E 将光标移动到行尾
Ctrl + U 删除从光标到行首的所有内容
Ctrl + K 删除从光标到行尾的所有内容

常用技巧

  1. 使用 Tab 键自动补全: 输入命令或文件名的前几个字母,然后按 Tab 键,系统会自动补全。
  2. 命令历史: 使用 history 命令查看之前执行过的命令,使用 !数字 可以执行历史记录中对应编号的命令,!100
  3. 管道 : 将一个命令的输出作为另一个命令的输入。ps aux | grep nginx 用来查找 nginx 进程。
  4. 使用 man 手册页: 几乎所有命令都有详细的帮助手册。man ls 会显示 ls 命令的完整用法说明,按 q 退出。

这份命令大全涵盖了 CentOS 日常运维的大部分场景,建议您从基础命令开始,多加练习,逐步掌握更高级的技巧。

CentOS常用命令有哪些?-图2
(图片来源网络,侵删)
CentOS常用命令有哪些?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇