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管理目录和文件命令

     管理目录命令: pwd:显示当前目录 Cd:   改变当前目录 ls:    查看目录下的内容 rmdir: 删除目录 管理文件命令: cat: 查看文件内容 cp: 复制文件内容 grep:在文件中查找某字符 touch:创建文件 rm&nbsp…

    2016-03-05
  • ☞磁盘管理{分区表备份与恢复;修复fstab记录错误;制作swap分区;磁盘配额演示;}

    磁盘管理{ 分区表备份与恢复;错误fstab修复;swap分区;磁盘配额;}

    Linux干货 2016-09-04
  • 制作自动化安装的启动U盘

    制作自动化安装的启动U盘 准备: CentOS 6.8 系统、CentOS-6.8-x86_64-bin-DVD1.iso光盘、U盘、centos-6-x86_64(kickstart文件) mkdir /mnt/myiso  创建目录,创建安装树 查看光盘的挂载点 cp -r /media/CentOS_6.8_Final/isolinux/ &…

    2017-04-05
  • 学习宣言

    好好学习,天天向上。

    Linux干货 2016-10-24
  • 19 vim编辑器

    19 vim编辑器 一、杂项知识整理 1、vi +6 FILE:打开并且光标在第六行。     vi +/pattern 打开文件后,光标处于第一个被pattern匹配到的行的行首     vim + FILE 直接打开file,光标在最后一行   &nbsp…

    Linux干货 2016-08-10
  • 第二周的作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 命令:ls NAME:用于列出目录的内容; SYNOPSIS:ls [OPTION]… [FILE]… FILE: 如果FILE是个文件的话,则显示文件名; 如果FILE是个目录的话,则列出目录的内容; OPTION: -l:显示长格式的信息,一共包含了7个…

    Linux干货 2016-11-23

评论列表(1条)

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

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