一、查看帮助

  • man [命令/配置文件] 获得命令/配置文件的帮助信息
  • help [命令]/命令 —help 获得shell内置命令的帮助信息
  • type [命令] 获得该命令的类型

    二、文件目录

  • pwd 获取当前目录/文件的绝对路径

  • cd 切换目录/文件路径
  • su 切换用户
  • ls 列举当前目录的所有内容
    • ls [选项] 目录/文件
      • -a 列举出全部的文件/目录(包含隐藏的)
      • -l 列举出全部的文件/目录,包含文件的属性与权限等数据
  • mkdir 创建目录
    • mkdir [选项] 目录
      • -p 若嵌套创建路径时,父目录没有,会自动创建父目录
  • rmdir 删除目录
    • rmdir [选项] 目录
      • -p 若要删除的目录非空,会自动删除子文件再删除该目录
  • touch 创建文件
  • cp 复制目录/文件
    • cp [选项] [原目录/文件]路径1 [目标目录/文件]路径2
      • -r 若要复制的目录包含子文件,可以使用-r递归复制
    • \cp 强制覆盖
  • alias 查看命令起别名
  • rm 删除目录/文件
    • rm [选项] 目录/文件
      • -r 递归删除
      • -f 强制删除
      • -v 显示指令执行的详细过程
  • mv 移动目录/文件
    • mv 原目录/文件名 目标目录/文件名 重命名
    • mv 原目录/文件名路径 目标目录/文件名路径 移动文件
  • cat 查看文件内容
    • cat [选项] 文件
      • -n 显示行号,包括空行
  • more 文件内容分屏查看 | 操作 | 说明 | | —- | —- | | 空格键 | 向下翻页 | | enter | 向下翻一行 | | q | 退出查看 | | Ctrl + F | 向下滚屏 | | Ctrl + B | 返回上一屏 | | = | 输出当前行的行号 | | :f | 输出文件名和当前行的行号 |

  • less 分屏显示文件内容 | 操作 | 说明 | | —- | —- | | 空白键 | 向下翻页 | | pagedown | 向下翻页 | | pageup | 向上翻页 | | /n /N | 向下查找/上 | | ?n/N | 向上查找/下 | | q | 退出less |

  • echo 输出内容到控制台

    • echo [选项] 内容
      • -e 支持反斜杠控制的字符转换
      • \ 输出\本身
      • \n 换行
      • \t 制表符
  • 输出重定向和>>追加

    • ls -l > 文件 列表的内容写入到文件中(覆盖写)
    • ls -al >> 文件 列表的内容追加到文件的末尾
    • cat 文件1 > 文件2 将文件1的内容覆盖到文件2
    • echo “内容” >> 文件 输出内容到文件
  • head 显示文件开头部分内容(默认前10行)
    • head -n 数字 文件 查看文件开头的xxx行
  • tail 输出文件末尾内容
    • tail -n 数字 文件 查看文件末尾的xxxx行
    • tail -f 文件 实时追踪该文档的所有更新
  • ln 软链接
    • ln [-s] 原目录/文件 软链接名 创建软链接
    • rm -rf 软连接名 删除软链接
  • history 查看历史命令

    • history -c 清空历史命令

      三、时间日期

  • date

    • 日期
    • date 显示当前时间
    • date + %Y 显示年份
    • date + %m 显示月份
    • date + %d 显示哪一天
    • date “+%Y-%m-%d %H:%M:%S” 显示年月日时分秒
    • date -d ‘1 days ago’ 显示前一天时间
    • date -d ‘-1 days ago’ 显示后一天时间
    • date -s “年-月-日 时:分:秒” 设置系统当前时间
    • ntpdate 同步正常时间
  • cal
    • 日历
    • cal 获取月份日历
    • cal -3 获取3个月的日历
    • cal -m 将周一放在第一天
    • cal 年份 这一年的日历
    • cal -y 当前系统时间的年份的日历

      四、用户管理

  • useradd
    • useradd 用户名 添加新用户
    • useradd -g 组名 用户名 将用户添加组
    • useradd -d 路径 用户名 修改用户的主目录
    • id 用户名 检查该用户是否存在
    • cat /etc/passwd 查看系统用户
    • userdel -r 用户名 删除用户(删除用户主目录)
  • passwd
    • passwd 用户名 用户设置密码
  • su
    • su 用户名 切换用户
    • whoami 查看当前用户
  • sudo

    • sudo 命令 提升用户权限
    • vim /etc/sudoers 修改用户权限
      1. ## Allow root to run any commands anywhere
      2. root ALL=(ALL) ALL
      3. 用户名 ALL=(ALL) ALL
      4. 用户名 ALL=(ALL) NOPASSWD:ALL
  • groupadd

    • groupadd 组名 添加用户组
    • groupdel 组名 删除用户组
    • cat /etc/group 查看用户组
    • usermod -g 组名 用户名 将用户添加组
    • groupmod -n 新组名 给当前用户所在组更新组名
    • wheel 管理组
  • 文件权限
    • 查看文件属性 ll ```json d r w x r - x r - x. 2 root root 6 4月 29 09:15 模板 0 1 2 3 4 5 6 7 8 9 硬链接 用户 用户组 大小

0:d开头代表目录,-开头代表文件 1-3:读-写-执行(用户权限) 4-6:读-写-执行(用户组权限) 7-9:读-写-执行(其他用户权限) ```

  • 变更权限
    • chmod {u/g/o/a} {+/-/=}{r/w/x} 文件/目录(u:用户 g:用户所在组 o:其他用户 all:所有用户)
    • chmod [mode=421] 文件/目录(r=4 w=2 x=1)
    • chmod -R 777 文件/目录 将该文件/目录赋予最大权限(用户,用户组,其他用户)
    • chown
      • chown 【选项】 【最终用户】 【文件/目录】 改变文件/目录的所有者
        • -R 递归·
      • chgrp 【最终用户组】【文件/目录】 改变文件/目录的所属组

        五、搜索查找

  • find
    • find 【搜索范围】【选项】【文件/目录】 查找文件/目录
      • -name 指定文件名查找
      • -user 查找属于指定用户的所有文件
      • -size 按照指定的文件大小查找文件
  • locate
    • updatedb 使用locate前需要进行更新数据库
    • locate 【文件/目录】 搜索文件/文件夹
  • which
    • which ls【命令】 查找命令
    • whereis 【命令】 查找命令位置
  • grep

    • grep 选项 查找内容 原文件
      • -n 显示匹配及行号
    • 命令 | grep 选项 查找内容 原文件

      六、压缩解压

  • gzip&gunzip

    • gzip 文件 压缩文件(只能压缩文件,不能压缩目录)
    • gunzip 文件.gz 解压缩文件
  • zip&unzip
    • zip 选项 xxx.zip 压缩的内容 压缩文件
      • -r 压缩目录
    • unzip 选项 xxx.zip 解压缩文件
      • -d<目录> 指定解压后文件的存放目录
  • tar

    • tar -zcvf/-zxvf XXX.tar.gz 打包内容
      • -c 产生.tar打包文件
      • -v 显示详细信息
      • -f 指定压缩后的文件名
      • -z 打包同时压缩
      • -x 解压.tar文件
      • -C 解压到指定目录

        七、磁盘管理

  • du

    • du 选项 查看文件和目录占用的磁盘空间
      • -h 以GBytes,MBtytes,KBytes显示
      • -a 既可以查看目录,也可以查看文件
      • -c 显示所有的文件和子目录大小,还显示总和
      • -s 只显示总和
      • —max-depth=n 指定统计子目录的深度层(n)
  • df
    • df 选项 查看磁盘空间的使用情况
      • -h 以GBytes,MBtytes,KBytes显示
    • free -h
  • lsblk
    • lsblk 选项 查看设备挂载情况
      • -f 查看详细的设备挂载情况,显示文件系统信息
  • mount
    • mount 【-t vfstype】【-o options】device dir 挂载设备
      • -t vfstype 指定文件系统类型
      • -o options 描述设备或档案的挂在方式
        • loop 把一个文件当成硬盘分区挂接上系统
        • ro 采用只读方式挂载设备
  • umount
    • umount 设备文件名/挂载点 卸载设备
  • fdisk
    • fdisk -l 查看磁盘分区详情
    • fdisk 硬盘设备名 对新增的硬盘进行分区操作
  • iotop 查看磁盘IO读写情况
    • iotop -o 直接查看输出比较高的磁盘读写程序

      八、进程管理

  1. ps
    1. ps 选项 | grep XXX 查看系统中所有进程
    2. ps -选项 | grep XXX 查看子父进程之间的关系
      1. a 列出带有终端的所有用户的进程
      2. x 列出当前用户的所有进程,包括没有终端的进程
      3. u 面向用户友好的显示风格
      4. -e 列出所有进程
      5. -u 列出某个用户关联的所有进程
      6. -f 显示完整格式的进程列表
        1. px aux显示信息详解
          1. USER:该进程是由哪个用户产生的
          2. PID:进程的ID号
          3. %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
          4. %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
          5. VSZ:该进程占用虚拟内存的大小,单位 KB;
          6. RSS:该进程占用实际物理内存的大小,单位 KB;
          7. TTY:该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端,
          8. tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。
          9. STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示
          10. START:该进程的启动时间
          11. TIME:该进程占用 CPU 的运算时间,注意不是系统时间
          12. COMMAND:产生此进程的命令名
        2. ps -ef 显示信息说明
          1. UID:用户 ID
          2. PID:进程 ID
          3. PPID:父进程 ID
          4. C:CPU 用于计算执行优先级的因子。数值越大,表明进程是CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
          5. STIME:进程启动的时间
          6. TTY:完整的终端名称
          7. TIME:CPU 时间
          8. CMD:启动进程所用的命令和参数
  2. kill
    1. kill 选项 进程号 通过进程号终止进程
      1. -9 表示强迫进程立即停止
    2. killall 进程名称 通过进程名称杀死进程,也支持通配符。
  3. pstree
    1. pstree [选项] 查看进程树
      1. -p 显示进程的PID
      2. -u 显示进程的所属用户
  4. top
    1. top [选项] 实时监控系统进程状态
      1. -d 秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令
      2. -i 使top不显示任何闲置或者僵死进程。
      3. -p 通过指定监控进程ID来仅仅监控某个进程的状态。
      4. 使用
        1. P以CPU使用率排序,默认就是此项
        2. M以内存的使用率排序
        3. N以PID排序
        4. q退出top
  5. netstat

    1. netstat 选项 | grep 进程号 查看该进程网络信息
    2. netstat 选项 | grep 端口号 查看网络端口号占用情况
      1. -a显示所有正在监听(listen)和未监听的套接字(socket)
      2. -n拒绝显示别名,能显示数字的全部转化成数字
      3. -l仅列出在监听的服务状态
      4. -p表示显示哪个进程在调用

        九、定时任务

  6. crontab

    1. systemctl restart crond 重新启动crond服务
    2. crontab [选项] 定时任务设置
      1. -e编辑crontab定时任务
      2. -l 查询crontab任务
      3. -r删除当前用户所有的crontab任务

        十、软件管理

  7. RPM

    1. RPM是RedHat软件包管理工具。
    2. Apache-1.3.23-11.i386.rpm
      1. apache 软件名称
      2. 1.3.23-11 软件的版本号,主版本和此版本
      3. i386 是软件所运行的硬件平台,Intel32位处理器的统称
      4. rpm 文件扩展名,代表RPM包
    3. rpm -qa
      1. rpm -qa | grep 包名 查询所安装的所有rpm软件包
    4. rpm -e
      1. rpm -e RPM 软件包
      2. 2rpm -e —nodeps 软件包
        1. -e 卸载软件包
        2. —nodeps 卸载软件时,不检查依赖
    5. rpm -ivh RPM包全名
      1. -i 安装
      2. -v 显示详细信息
      3. -h 进度条
      4. —nodeps 安装前不检查依赖
  8. YUM
    1. YUM是软件包管理器,能够从指定的服务器自动下载RPM包并且安装。
    2. yum [选项] [参数] 包名
      1. -y 对所有提问都回答yes
      2. install 安装rpm软件包
      3. update 更新rpm软件包
      4. check-update 检查是否有可用的更新rpm软件包
      5. remove 删除指定的rpm软件包
      6. list 显示软件包信息
      7. clean 清理yum过期的缓存
      8. deplist 显示yum软件包的所有依赖关系

        十一、克隆虚拟机