快捷键

  1. tab 补全名称
  2. ctrl + c 停止当前进程
  3. ctrl + r 查看命令历史
  4. ctrl + l 清屏,与clear命令作用相同
  5. ctrl + a 跳到命令头部
  6. ctrl + e 跳到命令尾部
  7. alt + f 向右移一个单词
  8. alt + b 向左移一个单词
  9. ctrl + u 删除光标前的命令串
  10. ctrl + k 删除光标后的命令串

alias

  1. alias ll='ls -l' #别名
  2. 一般可写在 ~/.bashrc 中,用户登录后就会生效

apt

参考

basename

  1. basename [pathname] [suffix]
  2. basename [string] [suffix]
  3. suffix为后缀,如果suffix被指定了,basename会将pathnamestring中的suffix去掉。
  4. $ basename /tmp/test/file.txt
  5. file.txt
  6. $ basename /tmp/test/file.txt .txt
  7. file
  8. dirname /tmp/test/file.txt 获取目录名字
  9. /tmp/test

cd

  1. #切换目录 ,如果不带参数则切换到用户主目录 ~
  2. cd
  3. #切换上一个工作目录
  4. cd -

date

  1. echo "现在时间:`date '+%Y-%m-%d %T'`"
  2. echo "昨天此时的时间:`date -d last-day '+%Y-%m-%d %T'`"
  3. echo "明天此时的时间:`date -d last-day '+%Y-%m-%d %T'`"
  4. echo "后天此时的时间:`date -d "+2 day" '+%Y-%m-%d %T'`"
  5. date '+%Y-%m-%d %T'
  6. date -d yesterday 查看昨天日期
  7. date'+%Y-%m-%d %H:%M:%S' #接上日期字符串,显示具体的日期,然后通过+转换为具体的格式
  8. date -s "2019-10-11 19:00:00" 修改时间
  9. clock -w
  10. date --help 查看使用说明
  11. date -d yesterday +%y 以固定格式显示

du

  1. #查看当前目录所有文件大小
  2. du -sh /etc
  3. -s: 总数
  4. -h: 更好的显示,有单位

df

  1. #查看系统中文件的使用情况
  2. df -h
  3. df -hT /dev/sda
  4. -T :查看文件系统

expect

参考

  1. #!/bin/bash
  2. expect<<-END
  3. set timeout 600
  4. spawn ssh root@192.100.3.87 "hostname -I"
  5. expect {
  6. "(yes/no)?" { send "yes\r"; exp_continue }
  7. "*assword:" { send "root123\r" }
  8. }
  9. expect eof
  10. END
  11. - 支持tab 缩进
  12. END 标记,可以是任意的字符

free

  1. free -h 查看内存使用状况

iostat

  1. https://www.cnblogs.com/ftl1012/p/iostat.html
  2. iostat属于sysstat软件包。可以直接安装:yum install sysstat
  3. $iostat #查看磁盘io
  4. Linux 3.10.0-123.el7.x86_64 (yum) 07/30/2020 _x86_64_ (1 CPU)
  5. avg-cpu: %user %nice %system %iowait %steal %idle
  6. 0.51 0.00 1.07 1.58 0.00 96.85
  7. Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
  8. scd0 0.02 0.08 0.00 48 0
  9. sda 13.93 252.06 65.42 146431 38002
  10. dm-0 0.38 1.52 0.00 884 0
  11. dm-1 10.76 213.24 61.83 123877 35921
  12. # 【每隔2秒刷新显示,且显示3次】
  13. iostat 2 3

hostname

  1. hostname test 相当于 echo test > /proc/sys/kernel/hostname 临时性更改
  2. 永久性更改:
  3. vim /etc/hostname。修改完之后需要reboot重启服务器永久生效。

history

  1. history 查看历史命令
  2. history 10 查看最近十条历史命令

lsblk

  1. lsblk 查看硬盘结构

lsof

查看打开文件数
参考

  1. lsof -i:6379 #指定端口 查看端口是否被占用
  2. lsof -p pid|wc -l # 某个进程打开文件数
  3. lsof

kill

参考

localectl

  1. #系统语系
  2. localectl
  3. #当前可用的语系
  4. locale
  5. #设置语系
  6. localectl set-locale LANG=zh_CN.UTF-8

man

  1. man ps
  2. man cat
  3. 查看帮助文档
  4. 内部命令:help + 命令(help cd
  5. 外部命令:man + 命令(man ls

ps

  1. ps -ef 查看系统中当前瞬间的进程信息快照
  2. ps aux | sort -k4nr |head -n 10 #内存排名前十
  3. ps -ef | grep myshell.sh 搜索myshell进程的信息
  4. #使用ps命令找出占用内存资源最多的20个进程(数量可以任意设置)
  5. ps aux | head -1;ps aux |grep -v PID |sort -rn -k +4 | head -20
  6. ps --help all 查看使用方法
  7. -A,-e:所有进程
  8. -f:全格式,包含命令行
  9. -H:显示树状结构,表示程序间的相互关系。
  10. a:包括其他用户在内的所有tty
  11. x:显示所有程序,不以终端机来区分。
  12. u:以用户为主的格式来显示程序状况。
  13. f:用ASCII字符显示树状结构,表达程序间的相互关系
  14. e:列出程序时,显示每个程序所使用的环境变量。
  15. c:列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
  16. #查看某一个程序线程的cpu的使用率
  17. ps H -eo pid,tid,%cpu|grep 32654

read

  1. #从标准输入读取值
  2. read
  3. #将标准输入值 存到var变量中,不写,默认变量位REPLY
  4. read var
  5. #读入多个变量
  6. read a b
  7. #提示,将值放到var变量中
  8. read -p "Enter name:" var
  9. #把单词清单读入arrayname的数组里。输入信息用空格隔开数组的每个元素。
  10. read -a arrayname
  11. #允许输入包含反斜杠
  12. read -r line
  13. #指定读取等待时间为3秒。
  14. read -t 3
  15. #从输入中读取两个字符并存入变量var,不需要按回车读取
  16. read -n 2 var
  17. #用定界符“:”结束输入行。
  18. read -d ":" var
  19. #输入值,不显示在控制台
  20. read -p "password:" -s pwd

rpm

  1. #查看是否安装了yum工具
  2. rpm -qa|grep yum
  3. # -ivh 安装 -e 卸载

stat

  1. stat test.txt 查看文件状态 如修改时间 访问时间

shutdown

  1. shutdown 系统关机
  2. -r 关机后立即重启
  3. -h 关机后不重新启动
  4. halt 关机后关闭电源
  5. reboot 重新启动

systemctl

  1. 实用systemctl -help可以看到该命令可以分成以下部分:
  2. part 1:查询或发送控制命令给systemd服务
  3. part 2:管理单元服务的命令
  4. part 3:服务文件的相关命令
  5. part 4:任务、环境、快照相关命令
  6. part 5:systemd服务的配置重载
  7. part 6:系统开机关机相关的命令
  8. 1. 列出所有可用单元
  9. # systemctl list-unit-files
  10. 2. 列出所有运行中单元
  11. # systemctl list-units
  12. 3. 列出所有失败单元
  13. # systemctl -failed
  14. 4. 检查某个单元(如 crond.service)是否启用
  15. # systemctl is-enabledcrond.service
  16. 5. 列出所有服务
  17. # systemctl list-unit-files -type=service
  18. 6. Linux中如何启动、重启、停止、重载服务以及检查服务(如 httpd.service)状态
  19. # systemctl start httpd.service
  20. # systemctl restart httpd.service
  21. # systemctl stop httpd.service
  22. # systemctl reload httpd.service
  23. # systemctl status httpd.service
  24. 注意:当我们使用systemctlstartrestartstopreload命令时,终端不会输出任何内容,只有status命令可以打印输出。
  25. 7. 如何激活服务并在开机时启用或禁用服务(即系统启动时自动启动mysql.service服务)
  26. # systemctl is-active mysql.service
  27. # systemctl enable mysql.service
  28. # systemctl disable mysql.service
  29. 8. 如何屏蔽(让它不能启动)或显示服务(如ntpdate.service
  30. # systemctl mask ntpdate.service
  31. ln -s ‘/dev/null”/etc/systemd/system/ntpdate.service
  32. # systemctl unmask ntpdate.service
  33. rm ‘/etc/systemd/system/ntpdate.service
  34. 9. 使用systemctl命令杀死服务
  35. # systemctl killcrond
  36. 10. 列出所有系统挂载点
  37. # systemctl list-unit-files –type=mount
  38. 11. 挂载、卸载、重新挂载、重载系统挂载点并检查系统中挂载点状态
  39. # systemctl start tmp.mount
  40. # systemctl stop tmp.mount
  41. # systemctl restart tmp.mount
  42. # systemctl reload tmp.mount
  43. # systemctl status tmp.mount
  44. 12. 在启动时激活、启用或禁用挂载点(系统启动时自动挂载)
  45. # systemctl is-active tmp.mount
  46. # systemctl enable tmp.mount
  47. # systemctl disable tmp.mount
  48. 13. Linux中屏蔽(让它不能启用)或可见挂载点
  49. # systemctl mask tmp.mount
  50. ln -s ‘/dev/null”/etc/systemd/system/tmp.mount
  51. # systemctl unmask tmp.mount
  52. rm ‘/etc/systemd/system/tmp.mount
  53. 14. 列出所有可用系统套接口
  54. # systemctl list-unit-files –type=socket
  55. 15. 检查某个服务的所有配置细节
  56. # systemctl showmysql
  57. 16. 获取某个服务(httpd)的依赖性列表
  58. # systemctl list-dependencies httpd.service
  59. 17. 启动救援模式
  60. # systemctl rescue
  61. 18. 进入紧急模式
  62. # systemctl emergency
  63. 19. 列出当前使用的运行等级
  64. # systemctl get-default
  65. 20. 启动运行等级5,即图形模式
  66. # systemctl isolate runlevel5.target
  67. # systemctl isolate graphical.target
  68. 21. 启动运行等级3,即多用户模式(命令行)
  69. # systemctl isolate runlevel3.target
  70. # systemctl isolate multiuser.target
  71. 22. 设置多用户模式或图形模式为默认运行等级
  72. # systemctl set-default runlevel3.target
  73. # systemctl set-default runlevel5.target
  74. 23. 重启、停止、挂起、休眠系统或使系统进入混合睡眠
  75. # systemctl reboot
  76. # systemctl halt
  77. # systemctl suspend
  78. # systemctl hibernate
  79. # systemctl hybrid-sleep
  80. 对于不知运行等级为何物的人,说明如下。
  81. Runlevel 0 : 关闭系统
  82. Runlevel 1 : 救援,维护模式
  83. Runlevel 3 : 多用户,无图形系统
  84. Runlevel 4 : 多用户,无图形系统
  85. Runlevel 5 : 多用户,图形化系统
  86. Runlevel 6 : 关闭并重启机器

type

  1. type service cd systemctl 查看这三个命令所在的目录,
  2. -p :输出命令的路径

top

  1. top 查看实时刷新的系统进程信息
  2. top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
  3. 内容解释:
  4. PID:进程的ID
  5. USER:进程所有者
  6. PR:进程的优先级别,越小越优先被执行
  7. NInice:值
  8. VIRT:进程占用的虚拟内存
  9. RES:进程占用的物理内存
  10. SHR:进程使用的共享内存
  11. S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  12. %CPU:进程占用CPU的使用率
  13. %MEM:进程使用的物理内存和总内存的百分比
  14. TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  15. COMMAND:进程启动命令名称
  16. P:按%CPU使用率排行
  17. T:按TIME+排行
  18. M:按%MEM排行
  19. top
  20. 之后按相应按键

timedatectl

  1. #查看当前时区与时间等信息
  2. timedatectl
  3. #列出时区
  4. timedatectl list-timezones
  5. #设置时区
  6. timedatectl set-timezone Asia/Shanghai
  7. #设置时间
  8. timedatectl set-time "2019-09-01 23:00"

uname

  1. uname 系统信息
  2. uname
  3. -a 所有信息
  4. -s print the kernel name
  5. -r 打印内核版本

vmstat

  1. vmstat 查看整个机器的 CPU,内存,IO的使用情况
  2. vmstat 2 5 2秒采集一次 总共采集五次
  3. 输出参数解释:
  4. (1)进程procs
  5. r:在运行队列中等待的进程数
  6. b:在等待io的进程数
  7. (2)Linux 内存监控内存memoy
  8. swpd:现时可用的交换内存(单位KB)。
  9. free:空闲的内存(单位KB)。
  10. buff: 缓冲去中的内存数(单位:KB)。
  11. cache:被用来做为高速缓存的内存数(单位:KB)。
  12. (3) Linux 内存监控swap交换页面
  13. si: 从磁盘交换到内存的交换页数量,单位:KB/秒。
  14. so: 从内存交换到磁盘的交换页数量,单位:KB/秒。
  15. (4)Linux 内存监控 io块设备:
  16. bi: 发送到块设备的块数,单位:块/秒。
  17. bo: 从块设备接收到的块数,单位:块/秒。
  18. (5)Linux 内存监控system系统:
  19. in: 每秒的中断数,包括时钟中断。
  20. cs: 每秒的环境(上下文)转换次数。
  21. (6)Linux 内存监控cpu中央处理器:
  22. cs:用户进程使用的时间 。以百分比表示。
  23. sy:系统进程使用的时间。 以百分比表示。
  24. id:中央处理器的空闲时间 。以百分比表示。

wall

  1. 通知所有用户
  2. wall `date`
  3. wall 马上关机

watch

  1. #默认1s执行一次lvs命令
  2. watch lvs
  3. watch -n 2 lvs
  4. watch -n2 lvs
  5. -n :指定秒数

which

  1. which service
  2. which pwd
  3. #which命令的原理是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
  4. #也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令,可以通过echo命令显示PATH变量的值,即是which命令查找的路径范围。

whereis

  1. whereis service
  2. whereis pwd
  3. -b:显示可执行文件

who

  1. 查看所有登录的用户
  2. [root@lms-test ~]# who
  3. root pts/0 2021-01-21 15:49 (192.100.5.115)
  4. root pts/1 2021-01-21 17:32 (192.100.5.115)
  5. #我是谁
  6. who am i
  7. whoami

yum

  1. yum remove docker 卸载
  2. yum install docker 安装
  3. yum info docker 查看docker包的仓库信息
  4. yum search docker 搜索
  5. yum repolist 列出yum
  6. yum upgrade
  7. yum list [docker] 列出一个或一组软件包
  8. yum list installed [docker]列出一个或一组软件包(已安装) rpm -qa |grep openstack