菜鸟科技网

CentOS命令有哪些常用及实用技巧?

基础文件和目录操作

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

CentOS命令有哪些常用及实用技巧?-图1
(图片来源网络,侵删)
命令 全称 描述 示例
ls list 列出目录内容 ls -l (长格式), ls -a (显示隐藏文件), ls -h (人性化显示大小)
cd change directory 切换工作目录 cd /var/log (切换到目录), cd .. (返回上级目录), cd ~ (返回家目录)
pwd print working directory 显示当前所在路径 pwd
mkdir make directory 创建新目录 mkdir my_folder (创建一个), mkdir -p parent/child (创建多级目录)
touch touch 创建空文件或更新文件时间戳 touch new_file.txt
cp copy 复制文件或目录 cp file1.txt file2.txt (复制文件), cp -r dir1/ dir2/ (递归复制目录)
mv move 移动/重命名文件或目录 mv old_name.txt new_name.txt (重命名), mv file.txt /tmp/ (移动文件)
rm remove 删除文件或目录 rm file.txt (删除文件), rm -r dir/ (递归删除目录), rm -f file.txt (强制删除)
cat concatenate 查看文件内容(全部) cat /etc/hosts
less less 分页查看文件内容(推荐) less /var/log/messages (按 q 退出)
head head 查看文件开头几行 head -n 20 /etc/passwd (查看前20行)
tail tail 查看文件结尾几行 tail -n 20 /var/log/secure (查看最后20行), tail -f /var/log/messages (实时跟踪)
nano nano 一个简单的命令行文本编辑器 nano my_config.conf

系统信息与管理

用于查看和管理系统状态。

命令 描述 示例
uname 显示系统信息 uname -a (显示所有信息)
top 实时显示进程和系统资源占用 top (按 q 退出, M 按内存排序, P 按CPU排序)
htop top 的增强版(更直观) htop (需要先安装: yum install htop)
df disk free 查看磁盘空间使用情况
du disk usage 查看目录或文件占用的空间
free 查看内存使用情况 free -h (人性化显示)
ps process status 查看当前运行的进程
kill 终止进程 kill 1234 (正常终止), kill -9 1234 (强制终止)
reboot 重启系统 sudo reboot
shutdown 关闭系统 sudo shutdown -h now (立即关机), sudo shutdown -r +10 (10分钟后重启)
date 显示和设置系统时间 date, date "+%Y-%m-%d %H:%M:%S"

用户和权限管理

Linux 的核心是权限管理。

命令 描述 示例
sudo superuser do 以其他用户(通常是root)的身份执行命令
su switch user 切换用户
useradd / adduser 创建新用户 sudo useradd testuser (创建), sudo passwd testuser (设置密码)
userdel 删除用户 sudo userdel testuser (删除用户但保留家目录), sudo userdel -r testuser (彻底删除)
passwd 修改用户密码 passwd (修改当前用户), sudo passwd testuser (修改其他用户)
chmod change mode 修改文件或目录的权限
chown change owner 修改文件或目录的所有者
chgrp change group 修改文件或目录的所属组

权限解释 (rwx):

  • r (read): 读取权限 (4)
  • w (write): 写入权限 (2)
  • x (execute): 执行权限 (1)
  • 数字法: rwx = 4+2+1 = 7, r-x = 4+0+1 = 5, = 0
  • 用户类型:
    • u (user): 文件所有者
    • g (group): 文件所属组
    • o (others): 其他用户
    • a (all): 所有用户

软件包管理

对于 CentOS 7 及更早版本:

CentOS命令有哪些常用及实用技巧?-图2
(图片来源网络,侵删)
命令 (yum) 描述 示例
yum search <keyword> 搜索软件包 yum search nginx
yum install <package> 安装软件包 sudo yum install -y nginx
yum remove <package> 卸载软件包 sudo yum remove nginx
yum update 更新所有已安装的软件包 sudo yum update
yum history list 查看操作历史 yum history list
yum history undo <ID> 撤销某次操作 yum history undo 3

对于 CentOS 8 及更高版本 (推荐使用 dnf):

dnfyum 的下一代替代品,命令语法基本相同,功能更强大。

命令 (dnf) 描述 示例
dnf search <keyword> 搜索软件包 dnf search nginx
dnf install <package> 安装软件包 sudo dnf install -y nginx
dnf remove <package> 卸载软件包 sudo dnf remove nginx
dnf update 更新所有已安装的软件包 sudo dnf update
dnf history list 查看操作历史 dnf history list
dnf history undo <ID> 撤销某次操作 dnf history undo 3

网络配置与诊断

排查网络问题的必备命令。

命令 描述 示例
ip addr / ifconfig 查看网络接口和IP地址 ip addr show (查看所有), ip addr show eth0 (查看指定网卡)
ping 测试网络连通性 ping google.com
ss / netstat 查看网络连接、端口监听状态 ss -tuln (查看所有监听的TCP/UDP端口), netstat -tuln
curl / wget 从网络下载文件或发起HTTP请求 curl -I http://example.com (查看HTTP头), wget http://example.com/file.zip
ssh 安全远程登录 ssh username@192.168.1.100
scp 安全远程复制文件 scp file.txt user@remote:/path/to/destination
traceroute 追踪数据包到目标主机的路径 traceroute google.com
route / ip route 查看和操作路由表 ip route show

文本处理 (三剑客)

Linux 文本处理的利器。

CentOS命令有哪些常用及实用技巧?-图3
(图片来源网络,侵删)

grep (Global Regular Expression Print)

  • 作用: 在文本中搜索匹配的行。
  • 常用选项:
    • -i: 忽略大小写。
    • -v: 反向选择(即打印不匹配的行)。
    • -n: 显示行号。
    • -c: 只打印匹配的行数。
  • 示例:
    grep "error" /var/log/messages      # 在日志中搜索包含 "error" 的行
    grep -i "warning" /var/log/secure   # 忽略大小写搜索 "warning"
    grep -v "^#" /etc/hosts             # 显示 /etc/hosts 文件中所有非注释行

sed (Stream Editor)

  • 作用: 对文本进行流编辑(查找、替换、删除、插入等)。
  • 常用选项:
    • -i: 直接修改文件内容(慎用!)。
    • -e: 多点编辑。
  • 示例:
    sed 's/old_text/new_text/g' file.txt         # 替换文件中的所有 "old_text" 为 "new_text" (不修改原文件)
    sed -i 's/localhost/myserver/g' /etc/hosts  # 直接修改 /etc/hosts 文件
    sed '1d' file.txt                            # 删除文件的第一行
    sed '/^#/d' file.txt                         # 删除所有以 # 开头的行

awk (Aho, Weinberger, and Kernighan)

  • 作用: 强大的文本分析工具,按列处理文本。

  • 工作原理: awk '条件 {执行动作}'

  • 内置变量:

    • $0: 整行。
    • $1, $2, ...: 第1列, 第2列, ...
    • NF: 当前行的字段数(列数)。
    • NR: 当前行的行号。
  • 示例:

    # 打印 /etc/passwd 文件的第1列和第6列(用户名和家目录)
    awk -F: '{print $1, $6}' /etc/passwd
    # 打印包含 "nologin" 的用户名
    awk -F: '$7 == "/sbin/nologin" {print $1}' /etc/passwd
    # 打印文件的总行数
    awk 'END {print NR}' file.txt

系统服务管理 (systemd)

在 CentOS 7+ 中,systemctl 是管理服务的核心命令。

命令 描述 示例
systemctl start <service> 启动服务 sudo systemctl start nginx
systemctl stop <service> 停止服务 sudo systemctl stop nginx
systemctl restart <service> 重启服务 sudo systemctl restart nginx
systemctl reload <service> 重新加载配置文件(不中断服务) sudo systemctl reload nginx
systemctl enable <service> 设置服务开机自启 sudo systemctl enable nginx
systemctl disable <service> 禁止服务开机自启 sudo systemctl disable nginx
systemctl status <service> 查看服务状态 systemctl status nginx
systemctl list-units --type=service 列出所有服务 systemctl list-units --type=service --all
journalctl -u <service> 查看服务的日志 journalctl -u nginx

压缩与解压

命令 格式 描述 示例
tar .tar / .tar.gz / .tar.bz2 / .tar.xz 打包/解包工具 tar -czvf archive.tar.gz /path/to/dir (打包并压缩), tar -xzvf archive.tar.gz (解压并解包)
zip / unzip .zip Windows/Linux 通用格式 zip -r archive.zip /path/to/dir (压缩), unzip archive.zip (解压)
gzip / gunzip .gz 单文件压缩/解压 gzip file.txt (压缩成 file.txt.gz), gunzip file.txt.gz (解压)

进程管理

命令 描述 示例
jobs 查看当前终端的后台任务 jobs
bg 将一个前台任务放到后台 bg %1 (将任务1放到后台)
fg 将一个后台任务调到前台 fg %1 (将任务1调到前台)
nohup 忽挂断信号,让命令在退出终端后继续运行 nohup ping google.com > ping.log 2>&1 &

帮助与手册

遇到不知道的命令,善用帮助文档。

命令 描述 示例
man 显示命令的详细手册页 man ls (按 q 退出)
--help 显示命令的基本用法和选项 ls --help
info 显示更详细的 Info 格式文档 info coreutils

重要提示

  • sudo 权限: 执行需要管理员权限的命令时,通常需要在命令前加上 sudo,并输入当前用户的密码。
  • Tab 自动补全: 在输入命令或文件名时,按 Tab 键可以自动补全,提高效率。
  • 命令历史: 按 和 键可以浏览之前执行过的命令。
  • 谨慎操作: 使用 rm -rf, chmod -R 777, > file.txt 等具有破坏性的命令时,请务必小心,确认路径和操作对象是否正确。

希望这份详细的 CentOS 命令指南对您有帮助!

分享:
扫描分享到社交APP
上一篇
下一篇