作为一名Linux运维工程师,日常工作中会频繁使用各种命令来管理系统、排查问题和维护服务器。以下是一些常用的命令及其用途,学会后,还可以用其编写shell脚本,工作效率将大大提升。

文件和目录操作

  1. ls: 列出目录内容。

    • 用法:ls [选项] [目录]
    • 常用选项:-l(详细信息)、-a(显示隐藏文件)、-h(人类可读的文件大小)。
  2. cd: 切换目录。

    • 用法:cd [目录路径]
    • 例如:cd /var/log进入/var/log目录。
  3. pwd: 显示当前工作目录的路径。

    • 用法:pwd
  4. cp: 复制文件或目录。

    • 用法:cp [选项] 源文件 目标文件
    • 常用选项:-r(递归复制目录)。
  5. mv: 移动或重命名文件或目录。

    • 用法:mv 源文件 目标文件
  6. rm: 删除文件或目录。

    • 用法:rm [选项] 文件
    • 常用选项:-r(递归删除目录)、-f(强制删除)。
  7. mkdir: 创建目录。

    • 用法:mkdir [选项] 目录名
    • 常用选项:-p(递归创建目录)。
  8. touch: 创建空文件或更新文件时间戳。

    • 用法:touch 文件名
  9. find: 查找文件或目录。

    • 用法:find [路径] [选项]
    • 例如:find /var/log -name "*.log"查找/var/log目录下所有.log文件。
  10. grep: 在文件中搜索文本。

    • 用法:grep [选项] "模式" 文件
    • 常用选项:-i(忽略大小写)、-r(递归搜索目录)。
  11. cat: 查看文件内容。

    • 用法:cat 文件名
  12. more/less: 分页查看文件内容。

    • 用法:more 文件名或less 文件名
  13. head/tail: 查看文件的开头或结尾部分。

    • 用法:head 文件名或tail 文件名
    • 常用选项:-n(显示行数),例如tail -n 100 文件名查看最后100行。
  14. tar: 打包和解压文件。

    • 用法:tar [选项] 文件
    • 常用选项:-c(创建压缩包)、-x(解压)、-z(使用gzip压缩)、-v(显示过程)。

系统信息查看

  1. uname: 显示系统信息。

    • 用法:uname [选项]
    • 常用选项:-a(显示所有信息)。
  2. df: 查看磁盘空间使用情况。

    • 用法:df [选项]
    • 常用选项:-h(人类可读的格式)。
  3. du: 查看目录或文件的磁盘使用情况。

    • 用法:du [选项] [目录]
    • 常用选项:-h(人类可读的格式)、-s(汇总显示)。
  4. free: 查看内存使用情况。

    • 用法:free [选项]
    • 常用选项:-h(人类可读的格式)。
  5. top/htop: 实时查看系统资源使用情况(CPU、内存等)。

    • 用法:top或htop
  6. ps: 查看进程状态。

    • 用法:ps [选项]
    • 常用选项:-aux(显示所有进程)。
  7. uptime: 查看系统运行时间和负载。

    • 用法:uptime

网络相关

  1. ifconfig/ip: 查看和配置网络接口。

    • 用法:ifconfig或ip addr show
  2. ping: 测试网络连通性。

    • 用法:ping [选项] 目标地址例如:ping google.com
  3. netstat: 查看网络连接、路由表、接口统计信息。

    • 用法:netstat [选项]
    • 常用选项:-tuln(查看监听端口)。
  4. ss: 查看网络连接信息(netstat的替代工具)。

    • 用法:ss [选项]
    • 常用选项:-tuln(查看监听端口)。
  5. curl/wget: 下载文件或测试网络请求。

    • 用法:curl [选项] URL或wget [选项] URL
  6. nslookup/dig: 查询DNS信息。

    • 用法:nslookup 域名或dig 域名
  7. traceroute: 跟踪数据包的路由路径。

    • 用法:traceroute 目标地址

用户和权限管理

  1. useradd/userdel: 添加或删除用户。

    • 用法:useradd 用户名或userdel 用户名
  2. passwd: 修改用户密码。

    • 用法:passwd [用户名]
  3. chmod: 修改文件或目录的权限。

    • 用法:chmod [权限] 文件
    • 例如:chmod 755 文件名
  4. chown: 修改文件或目录的所有者。

    • 用法:chown [用户]:[组] 文件
    • 例如:chown root:root 文件名
  5. sudo: 以超级用户权限执行命令。

    • 用法:sudo 命令

系统管理

  1. systemctl: 管理系统服务。

    • 用法:systemctl [选项] 服务名
    • 常用选项:start、stop、restart、status、enable、disable。
  2. journalctl: 查看系统日志。

    • 用法:journalctl [选项]
    • 常用选项:-f(实时查看日志)、-u(查看指定服务的日志)。
  3. crontab: 管理定时任务。

    • 用法:crontab -e(编辑定时任务)、crontab -l(列出定时任务)。
  4. shutdown/reboot: 关机或重启系统。

    • 用法:shutdown [选项]或reboot

软件包管理

  1. apt/yum/dnf: 包管理工具(取决于发行版)。

    • 用法:apt install 包名或yum install 包名
    • 常用选项:install、remove、update、upgrade。
  2. dpkg/rpm: 管理.deb或.rpm包。

    • 用法:dpkg -i 包名.deb或rpm -ivh 包名.rpm

文本处理

  1. awk: 强大的文本处理工具。

    • 用法:awk '模式 {动作}' 文件例如:awk '{print $1}' 文件打印文件的第一列。
  2. sed: 流编辑器,用于文本替换、删除等操作。

    • 用法:sed 's/旧文本/新文本/' 文件
  3. cut: 按列截取文本。

    • 用法:cut -d 分隔符 -f 列号 文件
    • 例如:cut -d ',' -f 1 文件按逗号分隔并提取第一列。

远程连接

  1. ssh: 远程登录到其他服务器。

    • 用法:ssh 用户名@主机地址
  2. scp: 通过SSH复制文件。

    • 用法:scp 源文件 目标地址
    • 例如:scp file.txt user@remote:/path/to/destination

性能监控

  1. vmstat: 查看系统性能(CPU、内存、I/O等)。

    • 用法:vmstat [选项] [间隔时间] [次数]
    • 例如:vmstat 1 5每隔1秒显示一次,共显示5次。
  2. iostat: 查看磁盘I/O性能。

    • 用法:iostat [选项] [间隔时间] [次数]
  3. sar: 系统活动报告工具,用于监控系统性能。

    • 用法:sar [选项] [间隔时间] [次数]

其他常用命令

  1. history: 查看命令历史记录。

    • 用法:history
  2. alias: 创建命令别名。

    • 用法:alias 别名='命令'
    • 例如:alias ll='ls -l'
  3. which: 查找命令的路径。

    • 用法:which 命令
  4. ln: 创建硬链接或软链接。

    • 用法:ln -s 源文件 目标文件(创建软链接)。

这些命令是Linux运维工程师日常工作中最常用的工具,熟练掌握它们可以大大提高工作效率。

本文转自:https://mp.weixin.qq.com/s/lk6UdjTQ7vzwOs7pZIOESA