设为首页 收藏本站
查看: 791|回复: 0

[经验分享] Linux学习:Linux基础命令集(2)

[复制链接]

尚未签到

发表于 2018-5-22 08:54:16 | 显示全部楼层 |阅读模式
  本次记录以下命令如mkdir, rmdir, tree, dirname,basename, cat, tac, more, less, tail, head, touch, file, cp, mv, rm, wc, cut, sort, uniq的使用格式、常用选项及它们有哪些使用实例等。
       
  •      目录管理相关命令
  1. mkdir 创建新目录命令
  创建新目录命令格式:mkdir [OPTION]... /PATH/TO/SOMEWHERE
  OPTION:
  -p 递归创建目标目录包含上层目录
  [root@www ~]# mkdir -p /test/test1
  -v 显示创建过程
  [root@www ~]# mkdir -pv /lab/lab1
  mkdir: created directory `/lab'
  mkdir: created directory `/lab/lab1'
  2. rmdir删除目录命令
  目录需要一层一层地删除才行,而且被删除的目录里面必定不能存在其他的目录或文件,即注意指定目录必须为空。
  删除目录命令格式:rmdir [OPTION]... /PATH/TO/SOMEWHERE
  OPTION:
  -p 递归删除目标目录包含上层目录
  [root@www ~]# rmdir -p /test/test1
  3. tree树状目录显示命令
  以树形方式显示目录结构。
  树状目录显示命令格式:tree [OPTION]...[DIR]
  OPTION:
  -d 显示当前目录名称而非内容
  [root@www ~]# tree -d
  .
  `-- Desktop
  1 directory
  -L level 显示第几个层级目录名和文件
  [root@www var]# tree –L 1
  .
  |-- account
  |-- cache
  |-- crash
  |-- cvs
  |-- db
  |-- empty
  |-- games
  |-- gdm
  |-- lib
  |-- local
  |-- lock
  |-- log
  |-- mail -> spool/mail
  |-- nis
  |-- opt
  |-- preserve
  |-- racoon
  |-- run
  |-- spool
  |-- tmp
  `-- yp
  21 directories, 0 files
  4. dirname截取给定路径的目录部分命令
  从给定的包含绝对路径的文件名中去除文件名(非目录部分),然后返回剩下的路径(目录部分)。
  截取给定路径的目录部分命令格式:dirname FILENAME
  [root@www ~]# dirname /etc/fstab
  /etc
  5. basename用于显示目录或文件的基本名称命令
  用于去掉文件名的目录和后缀。
  用于显示目录或文件的基本名称命令格式:basename FILENAME
  [root@www ~]# basename /etc/fstab
  fstab
       
  •      文本文件查看相关命令
  6. cat正向查看文件内容命令
  此命令只能查看文件内容为普通文本的文件。
  正向查看文件内容命令格式:cat [OPTION]...[FILE]... OPTION:
  -n 显示行号,连同空白行
  [root@www ~]# cat –n /etc/issue
  1 CentOS release 6.6 (Final)
  2 Kernel \r on an \m
  3
  -b 显示行号,仅针对非空白行
  [root@www ~]# cat –b /etc/issue
  1 CentOS release 6.6 (Final)
  2 Kernel \r on an \m
  -A 列出所有内容(包含特殊字符)如断行符$、^I等
  [root@www ~]# cat –A /etc/issue
  CentOS release 6.6 (Final)$
  Kernel \r on an \m$
  $
  7. tac反向查看文件内容命令
  此命令也只能查看文件内容为普通文本的文件。
  [root@www ~]# tac /etc/issue
  Kernel \r on an \m
  CentOS release 6.6 (Final)
  8. more翻屏查看命令
  此命令翻到尾部无法再向前翻。
  翻屏查看命令格式:more [OPTION]...[FILE]...
  OPTION:
  -d 显示翻页有操作提示信息
  [root@www ~]# more -d /etc/man.config
  MANPATH /usr/man
  MANPATH /usr/share/man
  MANPATH /usr/local/man
  MANPATH /usr/local/share/man
  --More--(32%)[Press space to continue, 'q' to quit.]
  常用按键:
  空格键:代表向下翻一页
  Enter:代表向下滚动一行
  b:代表往回翻页
  q:代表立刻离开more
  9. less翻屏查看命令
  翻屏查看命令格式:less [OPTION]...[FILE]...
  OPTION:
  -e当文件显示结束后,自动离开
  -m显示类似more命令的百分比
  [root@www ~]# less -m /etc/man.config
  MANPATH /usr/man
  MANPATH /usr/share/man
  MANPATH /usr/local/man
  MANPATH /usr/local/share/man
  /etc/man.config 32%
  -N  显示每行的行号
  [root@www ~]# less -N /etc/man.config
  1 #
  2 # Generated automatically from man.conf.in by the
  3 # configure script.
  4 #
  5 # man.conf from man-1.6f
  6 #
  常用按键:
  空格键:代表向下翻一页
  Enter:代表向下滚动一行
  b:代表往回翻页
  q:代表立刻离开more
  [pagedown]: 向下翻动一页
  [pageup]: 向上翻动一页
  文本搜索:
  /KEYWORD: 正向搜索
  ?KEYWORD: 反向搜索
  n: 与命令方向相同的下一个
  N:与命令方向相反的前一个
  10. head数据选取命令
  此命令是取出文件内容前面几行条目。默认只显示10行。
  数据选取命令格式:head [OPTION]...[FILE]...
  OPTION:
  -n # 数字,代表显示几行的意思
  [root@www ~]# head -n 3 /etc/man.config
  #
  # Generated automatically from man.conf.in by the
  # configure script.
  11. tail数据选取命令
  此命令是取出文件内容后面几行条目。默认只显示10行。
  数据选取命令格式:tail [OPTION]...[FILE]...
  OPTION:
  -n # 数字,代表显示几行的意思
  [root@www ~]# tail -n 3 /etc/man.config
  # Otherwise the database will be updated.
  #
  #MAKEWHATISDBUPDATES n
  -f 跟踪新追加信息,而不用退出
  [root@www abc]# echo how old are you? >> tt
  [root@www abc]# tail -f tt
  pwd=Print Working Directory
  mkdir=
  cat=Concatenat
  dddddde
  how old are you?
  12. touch时间戳管理或创建新文件命令
  更新时间戳至当前时间。每个文件都有三个时间戳:
  atime: 文件最近一次被访问的时间;
  mtime: 文件最近一次被“修改”的时间;
  ctime:文件最近一次被“改变”的时间;
  文件数据有文件元数据(属性数据)和数据之分。当文件状态更改了,如文件名变更、改变权限等后,则ctime时间会变,而atime和mtime时间不变。
  当对文件内容数据进行编辑时,则mtime时间变动,接着ctime也变动
  当对文件进行访问时,则atime时间变动,同样ctime也变动
  当文件的属性发生变化时,则ctime时间变动,但atime及mtime未必变动
  时间戳管理或创建新文件命令格式:touch [OPTION]... FILE...
  OPTION:
  -a 只更新atime
  File: `tt'
  Access: 2015-08-26 13:31:05.638901911 +0800
  Modify: 2015-08-26 13:30:51.537900897 +0800
  Change: 2015-08-26 13:30:51.537900897 +0800
  [root@www ~]# touch -a tt
  Access: 2015-08-28 07:50:11.000800946 +0800
  Modify: 2015-08-26 13:30:51.537900897 +0800
  Change: 2015-08-28 07:50:11.000800946 +0800
  -m 只更新mtime
  File: `tt'
  Access: 2015-08-28 07:50:11.000800946 +0800
  Modify: 2015-08-26 13:30:51.537900897 +0800
  Change: 2015-08-28 07:50:11.000800946 +0800
  [root@www ~]# touch -m tt
  Access: 2015-08-28 07:50:11.000800946 +0800
  Modify: 2015-08-28 08:49:51.725799067 +0800
  Change: 2015-08-28 08:49:51.725799067 +0800
  -c 不创建空文件
  一般来说,如果FILE不存在,则默认会创建一个空文件。
  13. file查看文件类型命令
  如果想知道某个文件的基本数据,如ASCII或者data文件,或者是binary等。
  [root@www ~]# file install.log
  install.log: UTF-8 Unicode text
       
  •      文件管理相关命令
  15. cp复制命令
  用于复制文件或目录操作。
  复制命令格式:
  cp [OPTION]... [-T] SOURCE DEST
  cp [OPTION]... SOURCE... DIRECTORY
  OPTION:
  -r 递归复制
  -v 显示运行过程
  [root@www ~]# cp -rv /345 /tmp
  `/345' -> `/tmp/345'
  `/345/123' -> `/tmp/345/123'
  `/345/678' -> `/tmp/345/678'
  `/345/678/789' -> `/tmp/345/678/789'
  `/345/678/789/tt' -> `/tmp/345/678/789/tt'
  -p 连同文件的属性一起复制
  [root@www ~]# cp -pv install.log /tmp/345
  [root@www ~]# ll install.log;ll /tmp/345/install.log
  -rw-r--r--. 1 root root 63202 Aug 4 15:54 install.log
  -rw-r--r--. 1 root root 63202 Aug 4 15:54 /tmp/345/install.log
  -f 强制覆盖,但如果有-i参数时,此参数无效
  [root@www ~]# \cp -f tt /abc
  [root@www ~]# ll tt /abc/tt
  -rwxr-xr-x. 1 Allen Allen 108 Aug 28 11:16 /abc/tt
  -rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 tt
  -a 递归复制,并且保留文件的时间、权限、属主等属性
  [root@www ~]#\cp -av tt /abc/tt
  [root@www ~]# ll tt /abc/tt
  -rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 /abc/tt
  -rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 tt
  -s 复制成符号链接文件(symbolic link),即“快捷方式”
  [root@www abc]# cp -sv tt slink-tt
  `tt' -> `slink-tt'
  [root@www abc]# ll
  total 4
  lrwxrwxrwx. 1 root root 2 Aug 28 13:27 slink-tt -> tt
  -rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 tt
  -d 复制连接文件的属性而非连接文件本身
  [root@www abc]# cp -dv slink-tt alink-tt
  `slink-tt' -> `alink-tt'
  [root@www abc]# ll
  total 4
  lrwxrwxrwx. 1 root root 2 Aug 28 13:41 alink-tt -> tt
  lrwxrwxrwx. 1 root root 2 Aug 28 13:27 slink-tt -> tt
  -rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 tt
  -rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 tt
  15. rm移除文件或目录命令
  移除文件或目录命令格式:rm [OPTION]...[FILE]...
  OPTION:
  -f 强制执行
  [root@www 789]# rm -f tt
  -r 递归删除指定目录与文件
  [root@www ~]# rm -rf /345
  16. mv移动文件与目录或更名命令
  移除文件与目录或更名命令格式:
  mv [OPTION]...[FILE]...
  mv [OPTION]... SOURCE... DIRECTORY
  OPTION:
  -f 强制执行
  [root@www abc]# mv –f tt /lab
  [root@www abc]# ll /lab/tt
  -rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 /lab/tt
  更改文件名
  [root@www lab]# mv tt 1t
  [root@www lab]# ll 1t
  -rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 1t
  移动多个文件
  [root@www tmp]# mv fstab.out functions /lab
  17. wc文件内容统计命令
  统计给定文件的字节数、字数、行数,并将统计结果显示输出。如果没有给出文件名,则从标准输入读取。
  文件内容统计命令格式:wc [OPTION]... FILE...
  OPTION:
  -l 统计行数
  -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
  -m 统计字符数。这个标志不能与-c标志一起使用
  -c 统计字节数
  [root@www lab]# cat tt
  i am ok
  abc
  [root@www lab]# wc tt
  2 4 12 tt'              2是行数,4是单词数,12是字节数
  [root@www lab]# wc -l tt
  2 tt'
  [root@www lab]# wc -w tt
  4 tt
  [root@www lab]# wc -c tt
  12 tt
  [root@www lab]# wc -m tt
  12 tt
  18. cut选取文件内容命令
  从一个文本文件或者文本流中提取文本列。选取信息通常是针对“行”来进行分析的,并不是整篇信息分析。
  从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定文件名,它将读取标准输入。
  选取文件内容命令格式:cut [OPTION]... FILE...
  OPTION:
  -d 指定分隔符,默认为制表符
  -f 指定显示哪个区域
  范围-n表示从第1~n个字段,范围n-表示从n个字段到行尾,n-m表示从第n~m个字段。
  [root@www lab]# echo $PATH
  /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
  [root@www lab]# echo $PATH | cut –d: -f4,5
  /sbin:/bin
  [root@www lab]# who
  root tty2 2015-08-17 10:10
  root pts/0 2015-08-29 11:08 (172.16.10.100)
  root pts/1 2015-08-29 14:06 (172.16.10.100)
  [root@www lab]# who | cut –d’‘ –f6
  tty2
  pts/0
  pts/1
  -c 以字符为单位进行分隔
  范围-n表示从第1~n个字符,范围n-表示从n个字符到最后字符,n-m表示从第n~m个字符。
  [root@www lab]# cat labtest.txt
  111 222 333 444 555 666
  111 222 333 444 555 666
  aaa bbb ccc ddd eee fff
  aaa bbb ccc ddd eee fff
  -----------------------
  [root@www lab]# cat labtest.txt |cut -c3,23
  16
  16
  af
  af
  --
  -s 仅打印包含分隔符的行,如果没有此选项,则打印不包含分隔符的行
  [root@www lab]# cat labtest.txt |cut –s –d’‘ –f6-10
  666
  666
  fff
  fff
  19. sort文件内容排序命令
  对指定文件中的行排序,并将结果标准输出。如果有多个文件,那么它会将这些文件连接起来,并当作一个文件进行排序。
  文件内容排序命令格式:sort [OPTION]... FILE...
  OPTION:
  -r 按逆序排序
  [root@www lab]# cat labtest.txt
  111 222 333 444 555 666
  111 222 333 444 555 666
  aaa bbb ccc ddd eee fff
  aaa bbb ccc ddd eee fff
  -----------------------
  [root@www lab]# sort -r labtest.txt
  aaa bbb ccc ddd eee fff
  aaa bbb ccc ddd eee fff
  111 222 333 444 555 666
  111 222 333 444 555 666
  -----------------------
  -u 重复仅出现一次
  [root@www lab]# cat labtest.txt |sort -u
  -----------------------
  111 222 333 444 555 666
  aaa bbb ccc ddd eee fff
  -t 指定分隔符
  -k 以那个区间(field)来进行排序
  [root@www lab]# cat list.txt
  Tom Winstrom:94201:1
  Janet Dempsey:94111:20
  Alice MacLeod:94114:12
  David Mack:94114:23
  Toni Barnett:95020:8
  Jack Cooper:94072:0
  Richard MacDonald:95510:3
  [root@www lab]# cat list.txt|sort -t: -k 2
  Jack Cooper:94072:0
  Janet Dempsey:94111:20
  Alice MacLeod:94114:12
  David Mack:94114:23
  Tom Winstrom:94201:1
  Toni Barnett:95020:8
  Richard MacDonald:95510:3
  -n 表示以数值大小排序
  [root@www lab]# cat list.txt|sort -t: -k 3 -n
  Jack Cooper:94072:0
  Tom Winstrom:94201:1
  Richard MacDonald:95510:3
  Toni Barnett:95020:8
  Alice MacLeod:94114:12
  Janet Dempsey:94111:20
  David Mack:94114:23
  [root@www lab]# cat list.txt|sort -t: -k 3 -n|cut -d: -f3
  0
  1
  3
  8
  12
  20
  23
  20. uniq显示文件内容唯一行命令
  去除排序过的文件中连续的重复行,只保留一行,因此uniq经常和sort合用。
  文件内容排序命令格式:uniq [OPTION]... FILE...
  OPTION:
  -c 显示每行重复的次数
  [root@www lab]# sort labtest.txt |uniq -c
  1 -----------------------
  2 111 222 333 444 555 666
  2 aaa bbb ccc ddd eee fff
  -d 只显示重复过的行
  [root@www lab]# sort labtest.txt |uniq -d
  111 222 333 444 555 666
  aaa bbb ccc ddd eee fff
  -u 只显示没有连续重复过的行
  [root@www lab]# sort labtest.txt |uniq -u
  -----------------------

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-478927-1-1.html 上篇帖子: Linux第3天 下篇帖子: linux java 配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表