8870188 发表于 2018-8-22 12:57:34

shell简单总结

  1
  ll -t 按mtime显示(由新到旧)
  ll -t
  drwxr-xr-x 2 root root 4096 05-13 19:41 aa
  -rw-r–r– 1 root root28 05-13 19:07 a
  -rw-r–r– 1 root root39 05-13 17:41 md5
  drwxr-xr-x 2 root root 4096 05-13 15:35 script
  -rw-r–r– 1 root root18 05-12 19:54 test1
  -rw-r–r– 1 root root21 05-12 19:54 test
  -rw-r–r– 1 root root 1693 05-11 05:37 a.tar.gz
  -a:全部显示(包括.xxx)
  . .. a .a aa a.tar.gz md5 script test test1
  -A:全部显示(但不显示. ..)
  a .a aa a.tar.gz md5 script test test1
  -c:根据ctime正序排列
  ls: a aa a.tar.gz md5 script test test1
  ls -c: aa a md5 script test1 test a.tar.gz
  -d:只显示目录信息,而不显示目录内文件信息(适合ll -d)
  ls -d script/ ===》script/
  ls script/ ===》1.sh
  -r:反向排序
  -u:根据上一次读取排序
  ls ===》a aa md5 script test test1
  cat md5 –》ls -u ===》md5 a aa script test test1
  -X:按拓展名排序-1(yi):列显示 -i:显示inode号
  2
  md5sum -c md5 校验md5中记录的文件的校验和 -c:校验
  3
  ls | wc -l统计有多少文件、目录 -l:统计行数
  ls | wc -l ===》7
  -c:统计文件内容的字节数
  cat test ===》111111
  111112
  111113
  wc -c test ===》21 test
  -w:统计文件内容的单词数;也可以统计目录内的文件数
  wc -w test ===》3 test
  ls | wc -w ===》7
  4
  tar vtf a.tar.gz 查看包的内部构成
  v:详情(权限,所属,时间,大小)
  t:显示包结构 f:跟文件
  c:建立z:gzip包需要 -x:解压至原路径
  -j:bzip2包需要 -p:保持原属性 -C:指定解压目录
  tar vtf a.tar.gz ===》-rw-r–r– root/root    170 2010-05-08 00:41:30 200
  -rw-r–r– root/root    82 2010-05-05 03:19:48 md5
  -rwxr-xr-x root/root    136 2010-05-04 16:46:07 shell1.sh
  drwxr-xr-x root/root   0 2010-04-30 09:14:38 tmp/
  drwxr-xr-x root/root   0 2010-04-30 09:13:32 tmp/test/
  tar tf a.tar.gz ===》200
  md5
  shell1.sh
  tmp/
  tmp/test/
  5
  unrar x 解压rar包,并且可以指定目录 (unrar x aa.rar /tmp)
  e:解压到当前目录 l:列出包内容信息p:打印到标准输出设备(不明白)
  t:测试解压,但不解压 v:列出包内容的详细信息(?没看出和l有什么区别?)
  6
  cp -a 等同于-dpR
  -b:覆盖时备份(cp -b a b==》b有a和a~)
  cp -b a aa ===》ls aa ===》 a a~
  -v:显示执行过程
  cp -v a aa ===》“a” -> “aa/a”
  -i:覆盖前询问 -u:只会覆盖mtime旧的文件或是原来没有的
  /bin/cp:直接覆盖(/bin/cp -i)
  7
  ps aux
  a:当前用户下的进程以及进程运行的终端 -a:当前终端当前用户的进程
  e:列出程序时,显示每个程序所使用的环境变量
  u:以用户为主格式显示当前用户进程(?第一列是用户名?)
  x:显示所有进程,不以终端区分
  ps ef
  8
  find find 【路径】 【条件】 【后接命令】
  find . -mtime +60 查找最近60天内没有被修改的文件
  find . -mtime -2 查找最近2天内修改的文件
  find . -name '*.txt' -print0|xargs -0 rm -f 找出匹配并删除
  【条件】: -cmin 2:两分钟前文件状态有改变的 -ctime 2:两天
  -amin 2:两分钟前访问的文件-atime 2:两天
  -mmin 2:两分钟前内容改变的-mtime 2:两天
  -size +|- n 【b、c、w、k、M、G】 按大小(find . -size -1k查小于1k的)
  -perm -ugo:按权限查-uid\gid n:按uid、gid查
  -user wp:按用户查   -group jf:按组查
  -maxdepth|mindepth n:按目录深度查找
  -type 【bcdpfls】:按类型查【特殊块、特殊字符、目录、管道、常规文件、链接、套接字】
  【后接命令】-exec:-exec commind {}\;
  find . -name 1* -exec rm -vf {} \; ===》已删除“./1.txt”
  9
  rz、sz【上传、下载】
  -y:不提示,直接覆盖
  10
  rm
  -r:删除目录 -f:不提示,直接删除,而且如果对象不存在也不会报错
  -v:提示命令成功的结果(如果没成功,不会有显示)
  rm -rf a/ 删除目录
  rm -fv a ===》已删除“a”
  11
  mv
  -f:不提示,直接覆盖 -i:提示覆盖与否(/bin/mv -i)
  -u:仅当目的文件比较'旧'或者丢失的时候移动
  12
  lftp
  lftp链接ftp
  get:下载文件(不支持正则) wget:下载文件(支持正则)
  mirror:下载目录mirror -R:上传目录
  put:上传文件   mput:批量上传(支持正则)
  13
  rsync
  rsync … SRC … HOST:DEST
  【option】:-v:详细输出模式   -q:简单输出模式
  -a:归档模式传输,保留文件属性(等于-rlptgoD)
  -r:递归模式处理子目录-l:保留软连接
  -p:保留文件权限-o:保留文件所属用户
  -g:保留所属组   -D:保留设备文件信息
  -t:保留时间信息-x:不可跨文件系统传输
  # ll
  -rw-r–r– 1 root root 1693 05-11 05:37 a.tar.gz
  # rsync -gov a.tar.gz
  $ ll
  -rw-r–r– 1 root root 1693 05-14 00:12 a.tar.gz
  14
  stat 查看文件、目录属性
  File: “a”

  >  Device: 303h/771d    Inode: 1633628   Links: 2
  Access: (0755/drwxr-xr-x) Uid: (0/root)Gid: (0/root)
  Access: 2010-05-14 00:26:32.000000000 +0800
  Modify: 2010-05-14 00:25:58.000000000 +0800
  Change: 2010-05-14 00:25:58.000000000 +0800
  Links: 硬链接数
  -f:显示文件的头部信息和文件系统的信息
  stat -f test
  15
  zip zip 【参数】 【打包后的文件名】 【打包的目录路径】
  【参数】: -F 尝试修复损坏的压缩文件 -m 将文件压缩之后,删除源文件
  -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
  -q 安静模式,不显示过程-r 递归处理目录
  -t 日期,把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy
  -P:对压缩包加密
  zip -t 11052010 test.zip test
  16
  unzip unzip 【参数】 【压缩包】 【解压后的文件名】
  -l:显示压缩包内文件信息 unzip -l test.zip
  Archive: test.zip
  Length   DateTimeName
  ——–—-—-—-
  0 05-13-10 20:08test
  ——–          ——-
  0          1 file
  -f:覆盖(更新)现有文件 -v:执行是时显示详细的信息
  -t:检测压缩包是否可用-n:压缩时不要覆盖原有的文件
  -q:安静,不显示任何信息 -X:解压后保留所属
  -p:密码(用zip中定义的)
  17
  输入输出重定向
  :输入输出,直接覆盖原有内容 >>:追加,追加到文件尾部
  echo bb < cc > test 先将cc内容覆盖test再把bb输入到test
  18
  df 显示分区使用
  -a:显示所有设备使用情况 -h:人性化显示
  -i:查看inode使用情况-T:显示有使用的挂载目录的使用
  du 显示目录使用
  du -b /home 以字节为单位显示 /home 文件夹下各个子文件夹的大小
  du -ks home 以千字节 KB 为单位显示/home 文件夹的总大小
  19
  终端的控制
  Ctrl + l 清除屏幕内容
  Ctrl + u 清除光标之前的内容
  Ctrl + k 清除光标之后的内容
  Ctrl + h 类似于退格键
  Ctrl + r 在历史命令中查找 (这个非常好用,输入关键字就调出以前的命令了)
  Ctrl + c 终止命令
  Ctrl + d 退出shell
  Ctrl + z 将当前在前台执行的任务转入后台运行..
  20
  netstat
  功能说明:显示网络状态。
  常用参数
  -a 显示所有端口
  -n 直接显示ip而不是域名
  -p 显示正在使用端口的程序名
  -s 显示网络统计信息
  -t或–tcp显示TCP传输协议的连线状况。
  -u或–udp显示UDP传输协议的连线状况。
  21
  sort sort … …
  -u 排序后认为重复的行,去除掉,等同于uniq
  -o 输出文件 将排序输出写到输出文件中而不是标准输出,如果输出文件是输入文件之一,
  sort先将该文件的内容写入一个临时文件,然后再排序和写输出结果。
  -d 按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。
  -f 将小写字母与大写字母同等对待。-
  I 忽略非打印字符。-
  M 作为月份比较:“JAN”/asfd/123/
  echo ${a##*/}—>keepalived.conf

页: [1]
查看完整版本: shell简单总结