Linux文件管理命令与bash的工作特性

Shell程序在接受到用户执行命令的请求时,在分析完成之后,最左侧的字符串会被当作命令;
命令查找机制:查找内部命令时,根据PATH环境变量中设定的目录,从左至右逐个搜索目录下的文件名;

Linux上的常用文件管理命令

mkdir          

        mkdir:make directories,此命令用来创建一个空目录

        语法格式:mkdir [OPTION] … DIRECTORY…

常用方法:

-p:自动按需要来创建一个父目录;

-v:verbose,用来显示创建的详细过程;

-m:MODE,用来分配目录的权限;(极少会用到)

*:路径的基名方为命令的作用对象;基名之前的路径必须存在。

示例:

捕获

rmdir

       rmdir:remove empty directories,此命令用来删除一个空目录;

       语法格式:rmdir  [OPTION] … DIRECTORY …

常用方法:

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

-v:用来显示删除操作的详细过程;

示例:

捕获2

tree

      tree:以倒置的树状结构来显示其目录结构

      语法格式:tree  [options] … [directory] …

常用方法:

tree:显示目录的全部层级结构

tree  -L:指定要显示的目录层级

示例:

 捕获3

cp

    cp:复制文件或目录;

   语法格式:

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

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

                    cp  [option]…-t DIRECTORY  SOURCE…

说明:

     单源复制:

如果目标不存在:则事先创建此文件,并复制源文件的数据流到目标文件中;

如果目标存在:假如目标是非目录文件,则覆盖目标文件;

假如目标是目录文件,则先在目标目录下创建一个与源文件同名的文件,并复制其数据流;

常用选项:

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

-f:强制复制目标文件;

-r,-R:递归复制目录;

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

-a:-dR  –preserve=all,archive,用于实现归档;

元数据表:

–preserve=

mode:权限

ownership:属主和属组

timestamps:时间戳

context:安全标签

xattr:扩展属性

links:符号链接

all:上述的所有属性

示例:

捕获4

mv

mv:move,移动文件或目录

语法格式:mv  [OPTION]…[-T]  SOURCE DEST

          mv  [OPTION]…SOURCE…DIRECTORY

          mv  [OPTION]…-t  DIRECTORY  SOURCE

常用方法:

-i:交互式移动

-f:force,强制性移动

示例:

捕获5

 rm

rm:remove,删除文件或目录

语法格式:rm  [OPTION]…FILE…

常用选项:

-i:交互式;

-f:force,强制删除;

-r:recursivev,递归删除目录

*:建议所有不用的文件不要直接删除,而是移动到某个专用的目录下;(模拟回收站)

示例:

捕获6Bash的工作特性

Bash的基础特性

命令补全:

     Shell程序在接受到用户执行命令的请求时,在分析完成之后,最左侧的字符串会被当作命令;

    命令查找机制:查找内部命令时,根据PATH环境变量中设定的目录,从左至右逐个搜索目录下的文                                    件名;   ~]# echo $PATH

    如果给定的大头字符串能唯一标识某命令程序文件,则直接不全;

    如果不能唯一表示某个命令程序文件,敲中两次tab,会给出列表进行选择;

路径补全:

    在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件;如果能唯一标            识,一次tab键补全;不然击中两次tab,给出列表选择;

Bash的基础特性之命令行展开

符号:~,{ }

~:自动展开为用户的家目录,或指定的用户的家目录;

{ }:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

  •     例:/tmp/{a,b}等价于/tmp/a  /tmp/b

Bash的基础特性之命令的执行状态结果

命令执行的状态结果:

     Bash通过状态的返回值来输出此结果:

            成功:0

            失败:1-255

      命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

捕获7

      命令正常执行时,有的还会有命令返回值;根据命令及其功能的不同,结果各不相同;

Bash基础特性之引用

      强引用:‘ ‘

      弱引用:“ ”

      命令引用:`  `

Bash基础特性之快捷键

      Ctrl+a:跳转至命令行行首

      Ctrl+e:跳转至命令行行尾

      Ctrl+u:删除行首至光标所在处之间的所有字符

      Ctrl+k:删除光标所在处至尾的所有字符

      Ctrl+l:清屏,等价于clear命令

Bash的基础特性之文件名通配

      globbing:文件名通配(整体文件名匹配,而非部分)

匹配模式:元字符

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

   例:pa*, *pa*, *pa, *p*a*

示例:

捕获8

?:匹配任意单个字符

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

示例:

捕获9

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

几种特殊格式:

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

[[:upper:]]:所有大写字母

[[:lower:]]:所有小写字母

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

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

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

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

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

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

[^[:upper:]]  [^0-9]  [^[:alnum:]]

示例:

捕获10

文件的元数据信息

文件的两类数据

     元数据:metadata,文件的属性数据

      数据:data,文件的实际数据

元数据信息

File:文件或目录的路径

Size:文件的大小

Access:文件类型,属主,属组和其他用户的权限

Uid:文件的属主ID

Gid:文件的属组ID

…….

Stat命令:

Stat:display file or file system status

语法格式:stat  FILE ….

示例:

捕获12

时间戳信息

        access time :文件最近一次的访问时间

        modify time :文件最近一次的修改时间

        change time :文件属性最近一次改动的时间

touch命令

      touch:change file timestamps

      语法格式:touch  [OPTION]…FILE…

常用方法:

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

-a:仅修改access time

-m:仅修改modify time

-t:stamp  [[CC]YY]MMDDhhmm[.ss]

定义命令的别名

alias命令

       alias:此命令用来定义一个命令的别名,可以给命令取一个新的名字。

       语法格式:alias  NAME = ‘COMMAND’

  *:此命令只对当前的shell进程有效

有定义别名就有撤销别名:unalias  NAME

练习示例

命令行展开功能

1.创建/tmp目录下的:a_c,  a_d,  b_c,  b_d

   完成命令:mkdir  -v  {a, b}_{c, d}

捕获11

2.创建/tmp/mylinux目录下的树结构

13

14

文件名通配

  1. 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可有其他字符)的文件或目录。

          完成命令:ls  /var/l*[a-z]

捕获15

  1. 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录

          完成命令:ls /etc/[0-9]*[^0-9]

1

  1. 显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录。

         完成命令:ls  /etc/[^[:alpha:]][a-z]*

  1. 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

         完成命令:mkdir -v /tmp/tfile-$(date +%Y-%m-%d-%H-%M-$S)

捕获17

  1. 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录下。

         完成命令:cp  -rv  /etc/p*[^0-9]  /tmp/mytest1

 捕获18

  1. 复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中

          完成命令:mkdir  /tmp/mytest2 

                              cp  -rv  /etc/*.d  /tmp/mytest2

捕获19

  1. 复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中

          完成命令:mkdir  /tmp/mytest3

                    cp  -rv  /etc/{l,m,n}*.conf  /tmp/mytest3

捕获20

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92088

(0)
ConanConan
上一篇 2018-03-11
下一篇 2018-03-11

相关推荐

  • Linux文件查找之find命令

    前言:        Linux文件种类繁多,难免在维护Linux中会忘记文件的路径。所有在维护Linux中学好查找命令是非常必要的。     Linux查找命令有很多,比如 whereis,type,which,locate,find(重点)。  &nbsp…

    Linux干货 2015-06-15
  • 阿里巴巴开源项目nginx_concat_module企业部署实例

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1580194        公司的前端开发工程师今天找我,让我给他搞下淘宝的一个开源项目 nginx_concat_m…

    Linux干货 2016-08-15
  • python高阶函数与装饰器

    ##**高阶函数**– 函数是python中的一等公民– 函数也是对象,可调用对象– 函数可以作为普通变量、参数、返回值等等– 数学概念y = g(f(x))– 高阶函数满足以下至少一个条件:1.接收一个或多个函数作为参数 2.输出一个函数 ##**举例(计数器)**def counter(base…

    Linux干货 2017-10-23
  • Linux文件系统简介

    文件系统是Linux的十分基础的知识,同时也是学习Linux必不可少的知识。本文将简单的介绍一下Linux的文件系统,主要包括FHS文件层级结构、Linux的文件类型及对应的颜色标识、man帮助手册页以及命令编辑特性的快捷键的介绍。这仅仅是属于自己的一个总结,以后会对深入学习Linux有一定的帮助吧。 如有不对之处还请帮忙指出。 FHS文件层级结构 FHS(…

    Linux干货 2016-10-19
  • 网络的冰山一角

        这周我们学习了网络管理,每一天进度特别快,上课认真听了,但是感觉也只能听懂一半。所以我决定把网络管理作为这周博客写一写,这样相当于又复习了一边,能加深印象。 一、用户应用程序对网络的影响     1、批处理应用程序:无需直接人工交互,宽带很重要,但是并非关键性因素。 &n…

    2017-09-04
  • N26—第二周博客作业

    一、Linux常用管理命令     1、cp命令:复制         cp 源文件 目标文件 [root@localhost ~]# cp /etc/fstab /tmp cp: overwrite&nbsp…

    Linux干货 2017-01-06

评论列表(1条)

  • 马哥教育
    马哥教育 2018-03-20 20:46

    mkdir -p 参数P代表parents,表示递归创建目录。
    其他没有问题