N26-第二周作业-邢岩(1)

 马哥门徒-N26-邢岩


  度过了一个愉快的春节,又到了上班的时候了!我的Linux基础学习也进行到了疯狂记命令的阶段,痛并快乐着!N26-第二周作业-邢岩(1)那就让我来说一下Linux上的文件管理类命令都有哪些吧。


  Linux的文件相关命令还是蛮多的,我不妨简单的总结一下,归结为6类常用的命令:

1、目录切换类命令

  pwd命令:显示工作目录  print name of current/working directory

    使用格式:pwd [OPTION]…

    常见用法:

      -P:显示真实路径(即非快捷链接的地址)

1.jpg

  cd命令:切换工作路径  Change the shell working directory

    使用格式:cd [/PATH/TO/SMEDIR]

    常见用法:

     cd: 切换回家目录

     cd ~ : 切换回自己的家目录

     cd ~USERNAME:切换至指定用户的家目录

     cd -: 在上一个所在目录与当前目录之间来回切换

      cd .: 当前工作目录

      cd ..: 上一级的工作目录

2.jpg3.jpg4.jpg

  ls命令:列出指定目录下的内容  list directory contents

    使用格式: ls [OPTION]… [FILE]…

    常见用法:

      -a: 显示所有文件,包括隐藏文件

      -A:显示除.和..之外的所有文件

      -l:–long,长格式列表,即显示文件的详细属性信息

      -h,–human-readable:对文件容量进行单位换算,换算后的结构可能会非精确值,如k,m,g

      -d:查看目录自身而非其内部的文件列表

      -r:reverse, 逆序显示

      -R:recursive,递归显示

5.jpg6.jpg7.jpg8.jpg

2、文件字符通配glogbbing命令:

  *:匹配任意长度的任意字符

     pa*表示所有以pa开头的文件

     pa, paa, passwd

     *pa* 表示文件名中包含pa

     *pa 表示pa 在尾部

     *p*a* 表示包含p a

  ?: 匹配任意单个字符

     pa?

     ??pa, p?a, p?a?

  []: 匹配指定范围内的任意单个字符,有几种特殊格式:

     [a-z], [A-Z], [0-9], [a-z0-9]

     [[:upper:]]: 表示所有的大写字母

     [[:lower:]]: 表示所有的小写字母

     [[:alpha:]]: 所有字母

     [[:digit:]]: 所有数字

     [[:alnum:]]: 所有的字母和数字

     [[:space:]]: 所有的空白字符

     [[:punct:]]: 所有的标点符号

           pa[0-9][0-9] 表示pa 后跟两个数字

     [^]: 匹配指定范围外的任意单个字符

     [^[:uper:]]: 指定大写字符以外的所有字符

     [^0-9]:指定数字以外的所有字符

     [^[:alnum:]]:指定字母和数字以外的所有字符

9.jpg10.jpg11.jpg

3、文本文件编辑命令

  cat:文本文件查看器正序 concatenate files and print on the standard output

    使用格式: cat [OPTION…] [FILE]…

     常见用法:

      -n: 给显示的文本行编号

      -b: 显示行号,不包括空行

       -E:显示行结束符$

      -A:显示出“不可见”的符号,如空格、Tab键等

  tac:文本文件查看器逆序 concatenate and print files in reverse

12.jpg14.jpg13.jpg15.jpg

  tar:用于对文件打包、压缩或解压 

    使用格式: tar [OPTION…] [FILE]…

    常见用法:

    打包并压缩文件:tar -czvf NAME.tar.gz FILESNAME

     解压并展开压缩包:tar -xzvf NAME.tar.gz

    -c:创建压缩文件

    -x:解开压缩文件

    -t:查看压缩包内有哪些文件

    -v:显示压缩或解压的过程

    -C:指定解压到的目录   

   注意:因为这个命令我亲手毁掉了一个CentOS系统,执行这个命令时要慎重,/etc 文件不能随便压缩

16.jpg

  tr:转换文本文件中的字符  translate or delete characters

   使用格式:tr [OPTION]… SET1 [SET2]

   常见用法:常用于大小写转换

     tr SET1 SET2 < /path/from/somefile

     tr -d SET1 < /path/from/somefile

    tr -s [a-z] [A-Z]  注意:根据我个人经验,此处的[ 和 ]要用全角的才可以,半角的不行!

17.jpg   

  wc:用于统计指定文本的行数、字数、字节数  print newline, word, and byte counts for each file

    使用格式:

      wc [OPTION]… [FILE]…

      wc [OPTION]… –files0-from=F

    常见用法:

    -l: 只显示行数

    -w: 只显示单词数

    -c: 只显示字节数

18.jpg

  diff:用于比较两个文本文件的差异  compare files line by line

    使用格式: diff [OPTION]… FILES

    常见用法:

    -b: 忽略空格引起的差异

     -B: 忽略空行引起的差异

    -q: 仅报告是否存在差异

   

  tee:   tee – read from standard input and write to standard output and files

       

    使用格式: tee [OPTION]… [FILE]…

    常见用法: COMMAND | tee /path/to/somefile

19.jpg

4、文件查看、查询、搜索命令:

 

  stat:显示文件系统信息  display file or file system status

    使用格式: stat [OPTION]… FILE…

    常见用法:

    时间戳:

    access time:2017-02-04 15:30:21.454611619 +0800

    modify time:2017-02-04 15:29:57.681410179 +0800

    change time:2017-02-04 15:29:57.681410179 +0800

20.jpg

  touch:用于创建空白文件或者更改文件的时间戳  change file timestamps

    使用格式: touch [OPTION]… FILE…

    常见用法:

      -c:指定的文件路径不存在时不予创建

     -a:仅修改access time

     -m:仅修改modify time

     -t STAMP:

     [[CC]YY]MMDDhhmm[.ss]

21.jpg

  grep:用于对文本进行搜索 print lines matching a pattern

    使用格式:grep [OPTIONS] PATTERN [FILE…]

    常见用法;

    -c:仅显示找到的次数

    -i:忽略大小写

    -n:显示行号

22.jpg

  find:用于查找文件  search for files in a directory hierarchy

   使用格式:find [path…] [expression]

   常见用法:

    -name:匹配名称

    -user:匹配属主

    -group:匹配属组

23.jpg

  alias:定义或显示别名

  tree:文件显示成树的格式 list contents of directories in a tree-like format

    使用格式:tree [options] [directory]

    常见用法:

      -L level:指定要显示的层级   

24.jpg

  cut:用于通过列来提取文本字符 

   使用格式:cut [OPTION]… [FILE]…

    常见用法:

    -d:指定分隔符

    -f:指定显示的列数

25.jpg

  od:用于查看特殊格式的文件  dump files in octal and other formats

    使用格式:  od [OPTION]… [FILE]…

    常见用法:

     -ta:默认字符

    -tc:ASCII字符

     -to:八进制

     -td:十进制

     -tx:十六进制

     -tf:浮点数

26.jpg

  more和less:分屏查看命令 

  head:查看文件的前n行

   使用格式:head [options] FILE

    常见用法:

     -n #(#代表一个数字)

    -#

  tail:查看文件的后n行

    使用格式:tail [options] FILE

    常见用法:

     -n #(#代表一个数字)

    -#

     -f: 显示文件尾部内容结束后不退出,跟随显示新增的行

  file:查看文件内容类型

    使用格式:file [ortions] FILE

27.jpg

  which:显示命令的完整路径 shows the full path of (shell) commands

    使用格式:which [options] programname […]

    常见用法:

      –skip-alias: 忽略别名

28.jpg

  whereis:locate the binary, source, and manual page files for a command

   使用格式:whereis [options] name…

   常见用法:

     -b: 仅搜索二进制程序路径

     -m: 仅搜索使用手册文件路径

29.jpg

5、文件目录管理命令:

  mkdir:创建目录 make directories

   使用格式: mkdir [OPTION]… DIRECTORY…

   常见用法:

    -p:可以自动按需创建不存在的目录

     -v:verbose, 显示详细过程

     -m MODE:直接给定权限

30.jpg31.jpg

  rmdir:remove empty directories 仅用于删除空目录

    使用格式:rmdir [OPTION]… DIRECTORY…

    常见用法:

     -p:删除某目录后,如果其父目录为空,则一并删除之

     -v:显示过程

32.jpg

  cp:复制文件或目录 copy files or directories

     使用格式:单源复制: cp [OPTION]… [-T] SOURCE DEST 

            多源复制:cp [OPTION]… SOURCE… DIRECTORY

                  cp [OPTION]… -t DIRECTORY SOURCE…

       单源复制:cp [OPTION]… [-T] SOURCE DEST

         如果DEST不存在:则事先创建此文件,并复制源文件的数据流

         如果DEST存在:

           如果DEST是非目录文件:则会覆盖目标文件

           如果DEST是目录文件:则现在DEST目录下创建一个与源文件同名的文件,并复制其数据流

    

      多源复制:cp [OPTION]… SOURCE… DIRECTORY

            cp [OPTION]… -t DIRECTORY SOURCE…

         如果DEST不存在:错误

         如果DEST存在:

           如果DEST是非目录文件:错误

           如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名

    

    常见用法:

    -i:交互式复制,即覆盖之前提醒用户确认

     -f:force 强制覆盖目标文件

    -r:recursive 递归复制目录,即复制目录及目录中的内容

    -d:复制符号符号链接文件本身,而非其指向的源文件

    -a:-dR –preserve=all, archive, 用于实现归档;可以理解为做备份

    –preserve=

       mode:权限

       ownership: 属主和属组

       timestamps: 时间戳

       context:安全标签

       xattr:扩展属性

       links:符号链接

       all:上述所有属性

33.jpg

  rm:删除文件或目录 remove files or directories

   使用格式:rm [OPTION]… FILE…

    常见用法:

     -i:interactive

     -f: force

     -r: recursive  

        删除目录:rm -rf /PATH/TO/DIR

        注意:rm -rf /  或 rm -rf /* 这是自杀

34.jpg

  mv:移动文件或改名 

    使用格式:

      mv [OPTION]… [-T] SOURCE DEST

      mv [OPTION]… SOURCE… DIRECTORY

      mv [OPTION]… -t DIRECTORY SOURCE…

    常见用法:

    -i:交互式

    -f:force

35.jpg

6、用户与组、权限管理命令:

  useradd:创建用户 创建一个新用户或更新默认新用户信息 

   使用格式: useradd [options] USER

   常见用法:

      -u, –uidUID:指定UID

     -g,–gid GROUP: 指定基本组ID,此组要事先存在

     -G,–groups GROUP1,[GROUP2,…]

     -c,–comment COMMENT: 指明注释信息

     -d, –home HOME_DIR: 以指定路径为用户的家目录,通过复制/etc/skel此目录并重命名实现的;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;

     -s, –shellSHELL:指定用户的默认shell,可用的所有shell列表为存储在/etc/shells 文件

     -r,–system: 创建系统用户

     -m, –create-home

     -M, –no-create-home

      useradd -D : 显示创建用户的默认配置

36.jpg37.jpg40.jpg

  passwd: 修改用户的密码 update user's authentication tokens

   使用格式:passwd  [-k]  [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]

   常见用法:

        -l,-u:锁定和解锁用户

        -d: 清除用户密码

        -e DATE:过期期限,为日期

        -i DAYS:非活动期限

        -n DAYS:密码的最短使用期限

        -x DAYS:密码的最长使用期限

        -w DAYS: 警告期限

        –stdin:

        echo "PASSWORD" | passwd –stdin USERNAME

38.jpg

  userdel:删除用户和相关文件

   使用格式:userdel [options] USER

    常见用法:

     -r: 删除用户时一并删除其家目录,默认不删除

  usermod:用于修改用户的属性 

   常见用法:

      -u,–uid UID: 修改用的ID为此处的指定的新ID

     -g,–gid GROUP: 修改用户所属的基本组

     -G,–group GROUP1[,GROUP2,…]: 修改用户所属的附加组,原来的附加组会被覆盖;

     -a,–append: 与-G 一同使用,用于为用户添加新的附加组

     -c,–comment COMMENT: 修改注释信息

     -d, –home HOME_DIR: 修改用户的家目录;用户原有的文件不会被转移至新位置

     -m,–move_home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录

     -l, –login NEW_LOGIN:修改用户名

     -s, –shell SHELL:修改SHELL

    

     -L,–lock:锁定用户密码:即在用户原来的密码字符串值之前添加一个"!"

     -U,–unlock:解锁用户的密码:去掉"!"

42.jpg

  groupadd:创建组

    常见用法:

     -g GID: 指定GID,默认是上一个组的GID+1;

     -r : 创建系统组

  groupmod:修改组属性

    使用格式:group [选项] GROUP

    常见用法:

      -g GID:修改GID

      -n new_name: 修改组名

  groupdel:删除组


  su: 切换用户 switch user

    常见用法:

      登录式切换:会通过重新读取目标用户的配置文件来重新初始化

     su – USERNAME

     su -l USERNAME

     非登录式切换:不会读取目标用户的配置文件进行初始化

     su USERNAME

    

     注意:管理员可以无密码切换至其他任何用户

    

     -c 'COMMAND' : 仅以指定用户的身份运行此处指定的命令

43.jpg

 

 who:show who is logged on

44.jpg

  whoami: print effective userid

41.jpg

  newgrp:临时切换指定的组为基本组

    使用格式:newgrp [-] [group]

    常见用法:

     -:会模拟用户重新登录以实现重新初始化其工作环境

  chage:更改用户密码过期信息

   

  id:显示用户的真是和有效ID信息 print real and effective user and group IDs

    使用格式:id [OPTION]… [USER]

    常见用法:

     -u:仅显示有效的UID

    -g:仅显示用户的基本组ID

    -G:显示用户所属的所有组的ID

    -n:显示名称而非ID

45.jpg46.jpg

  install: 复制文件或创建空目录 copy files and set attributes

    使用格式: 

      install [OPTION]… [-T] SOURCE DEST  单源复制

      install [OPTION]… SOURCE… DIRECTORY 多源复制

      install [OPTION]… -t DIRECTORY SOURCE… 多源复制

      install [OPTION]… -d DIRECTORY… 创建目录

    常见用法:

      -m,–mode=MODE: 设定目标文件权限,默认为755

      -o,–owner=OWNER:设定目标文件的属主

      -g,–group=GROUP: 设定目标文件的属组

48.jpg 49.jpg

 mktemp:创建临时文件或临时目录

  常见用法:

    -d:创建临时目录

50.jpg51.jpg52.jpg

  umask:文件的权限反向掩码,遮罩码

    文件: 666-umask

    目录: 777-umask

47.jpg


  这么多的命令,都是基础。用马哥的话:“这些都是用大腿想出来的”。我还在用我的大脑在记忆,离大腿,还隔着一个上身的距离。Come on,Baby!N26-第二周作业-邢岩(1)据说bash是2B青年用的,至于我,还是默默的记下来吧。

  

  由于字数限制,今天的分享还有续集哦,快点击链接查看吧: N26-第二周作业-邢岩(2)



原创文章,作者:jeque,如若转载,请注明出处:http://www.178linux.com/67764

(0)
jequejeque
上一篇 2017-02-10
下一篇 2017-02-10

相关推荐

  • 第十四周作业

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; ]# iptables -P INPUT DROP #INPUT默认策略为DROP ]# iptables -P OUTPUT DROP…

    Linux干货 2017-04-12
  • 马哥教育网络班21期-第十周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)  a,post:加电自检,通电搜索并检查物理设备的状态  b,bootsequeence(BIOS):选择启动顺序  c,bootloader(MBR):加载主引导程序 bootloader,硬盘分区表到内存  d,加载内核kernel &nb…

    Linux干货 2016-10-24
  • 冒泡算法,源码安装http,yum浅谈

    生成10个随机数,采用冒泡算法进行升序或降序排序 #!/bin/bash #author:maoxiong QQ:111111111 #verson:1.0  date:2016-08  #illustrate: declare -a array #create 10 randomnum for num in {0..9} do &nbs…

    Linux干货 2016-08-26
  • 程序包管理

    什么是程序包管理器?     顾名思义,就是将编译好的应用程序的各组成文件打包成一个或多个程序包文件,从而更方便地实现程序包的安装、升级、卸载还有查询等管理操作。 那么一个程序包又由哪些部分组成呢? 程序包的组成清单:   文件清单(每个程序包都单独实现):       安装或卸载时运行的脚本,有如下四类:     preinstall : 安装过程开始之前…

    Linux干货 2016-12-16
  • Tomcat 全系列发现严重安全漏洞

    据 Tomcat 安全组确认,Tomcat 全系列产品均被发现严重安全漏洞:CVE-2014-0227 请求夹带漏洞。 级别:严重 受影响版本: Apache Tomcat 8.0.0-RC1 to 8.0.8 Apache Tomcat 7.0.0 to 7.0.54 Apache Tomcat 6.0.0 to 6.0.41 描述:可以通过构造一个截断请…

    Linux干货 2015-02-11
  • Linux进程和计划任务

                                                      &nbsp…

    系统运维 2016-09-21

评论列表(1条)

  • 马哥教育
    马哥教育 2017-02-26 15:25

    加油,进入一项新领域一开始总是伴随着痛苦和不适,只要认定的方向,不断坚持,这里将是你新舒适区,加油。