Linux命令

 1、登陆和开关机

 halt
  poweroff
  init 0
  重启
  reboot
  init 6
  shutdown 
  shutdown -r 重启
  shutodwn -h 关机
  shutdown -c 取消计划关机 
  shutdown +0 马上关机
  +1 一分钟后关机
  -X X分钟后关机
  20:00 今天20:00关机
  whoami 显示当前的登录用户名
  who am i 显示当前的登录用户名 终端名 登录时间
  who 显示当前所有的登录用户名 终端名 登录时间
  w 显示当前所有的登录用户名 终端名 登录时间 登录的来源 当前在做什么

2.切换用户与当前工作目录

su – 用户名 切换用户,并切换至用户家目录
  su 用户名 非登陆切换用户
  cd 相对或者绝对路径 进入目录
  -P 如果目标目录是个软链接目录,则直接进入其源始目录
  .. 进入上一级目录
  cd 进入家目录
  cd ~或直接 cd 进入家目录
  cd – 进入上一次的工作目录 
  pwd 获取当前目录路径

3.基本常用命令

date 获取系统时间
  date -s “2018-1-20 13:50:11” 设置系统时间
  hwclock 或 clock 获取原子时间
  -s 将硬时间写入软时间。
  -w 将软时间写入硬时间。
  cal 获取日历
  history 获取命令的历史记录
  hostname 获取主机名
  中断命令
  ctrl+C 强制中断
  ctrl+d 正常中断

4.帮助命令文档查询

type 用来判断命令的类型
  enable 管理显示内部命令
  enable command 禁用内部命令
  enable -n command 激活已禁用的内部命令
  help 内部命令
  外部命令 –help
  查看指定命令的帮助信息
  whereis command 查看命令的路径(外部命令)和 帮助文档的路径
  which command 查看命令路径
  man 检索命令帮助文档


5.文件查询

ls 列出目录的内容
  ls 列出目录的内容
  -a 列出所有文件(包含隐藏文件)
  -A 列出所有文件(包含隐藏文件但不包含.和..)
  -l 长列出(即显示属性信息)
  -R 递归  
  -ld 查看指定目录的属性 
  -1 竖显示 
  stat 文件名
  查看一个文件的详细属性,包括三个时间戳。 
  file 文件路径 判断文件的类型
  -b 只显示辨识结果,不显示文件名
  -f 文件路径 根据文件内容,将其中的文件分别辨识 
  cat 文件名 查看文件内容
  vim 文件名 查看并编辑文件

6,新建文件, 移动、复制、删除文件

  touch newfile 创建空文件
  touch oldfile 更新文件的三个时间戳
  touch -a oldfile 更新文件的atime和ctime
  touch -m oldfile 更新文件的mtime和ctime
  touch -t 201802122021.59 fstab
  touch -c newfile 若文件存在则更新时间戳,若不存在不创建
  mkdir
  -p 一次性创建多级目录,无论父级目录是否存在。
  -v 创建时显示信息
  -m mode 创建时直接指定权限
  rmdir 删除空目
  cp src dst 被复制文件路径 新文件或被覆盖文件路径
  -i 覆盖时提示
  -r 递归,可复制目录
  –preserv=mode 权限不变
  –preserv=owner 权限及所属关系不变
  –preserv=timestamp 时间不变
  –preserv=all 以上全变
  -p 等于 –preserv=mode,owner,timestamp 复制时保留权限,时间不变
  -d 复制软链接
  -v 显示复制过程
  -a 以上全部
  -f 当dst已存在,但当前用户对其没有w权限,导致无法直接覆盖,如果当前用户对所在目录有wx权限,即可创建和删除文件,那么,加上-f后,会先删除文件,再创建新文件,最后再填充内容与src一致。
  mv src dst
  若dst不存在,则改名。
  -i 若dst已存在,则询问是否覆盖
  -f 抵消掉-i的作用,直接覆盖,不询问
  rm 删除
  rm 文件名
  -i 询问是否删除
  -f 抵消掉-i的作用,直接删除,不询问
  -r 递归,删除目录
  ls |xargs rm -rf 当删除的文件数量过多,超过了所支持的参数数量上限时,可配合管道及xargs来删除。
  –no-preserve-root

7.文本处理命令

  tr

[set2 将set1转换成set2,set1的位数多于set2时,多出的位数全转成 set2的最后一位,如tr abcd ef 即a转成e,bcd均转成f

  -d [set1] 删除set1的字符

  -c [set1] [set2 除了set1以外的剩下其他字符都转换set2(换行符也会被转)

  -cd [set1] 删除除set1以外的字符

  -s [set1] 将连续重复的字符转为一个

  cut -d分隔符(只能是单个字符) -f取哪一列 文件名

  -output-delimiter=分隔符 表示输出的分隔符。默认为原文件分隔符

  -fn,m 或 -fn-m

  -cn,m 或 -cn,m -cn

  sort

  -t分隔符

  -k以分隔符的第几列排序

  -n以数字方式排序

  -r倒序排列

  -u去除重复项

  -f忽略大小写

  uniq 去重

  uniq 去除连续的重复行,仅保留一行

  -u 去除连续的重复行,不保留

  -d 仅显示重复的行,去除不重复的行

  -c 显示的结果前显示重复的次数

8.正则表达式grep 和 sed

  grep

  –color=auto 关键字高亮显示

  -v 反选

  -n 显示行号

  -c 显示匹配行的数量

  -i 忽略大小写

  -q 静默

  -A n 显示关键字及其下n行

  -B n 显示关键字及其上n行

  -C n 显示关键字及其上下n行

  -e:实现多个选项间的逻辑or关系

  -w:匹配整个单词

  -E 或 egrep 使用扩展正则

  -F 或 fgrep 不使用正则

  sed

  -i 更改原文件

  -i.bak 在更改前将原文件备份为.bak

  -n 不打印

  -e 多模式

  -f sed.txt 指定scripts的文件

  -r 指定扩展正则

  p打印

  d删除

  a在指定行后增加

  i在指定行前增加

  c替换指定行

  w将模式空间的行写入指定文件

  r将文件中的内容读入模式空间

  =: 为模式空间中的行打印行号

  !:模式空间中匹配行取反处理