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

相关推荐

  • N_28包管理器(rpm)及前端管理工具(yum)

    1、简述rpm与yum命令的常见选项,并举例 rpm–>RPM package manager 是一种用于redhat发行版的打包及安装管理工具,现在成为linux领域包管理器的行业标准,包名以.rpm为后缀。 用法: rpm [options] PACKAGE_FILE 常用选项: -i:安装rmp包 -v:显示安装过程 -vv:更加详细…

    Linux干货 2018-01-01
  • LINUX基础知识

    计算机的组成及其功能。 现代计算机体系将计算机分为控制器、运算器、存储器、输入设备和输出设备5个部分 *控制器:控制器是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,并根据具体要求进行控制、调度程序、数据、地址,协调计 算机各个部分工作,协调计算机各部分工作及内存、IO设备等的访问 *运算器:运算器是对数据进行各种算数运算和逻辑运算也就是对数据…

    Linux干货 2018-02-25
  • 步入LINUX

    初次融入LINUX的环境。。。

    Linux干货 2018-03-26
  • Linux命令帮助文档的使用及简单命令使用-2016-7-25

    Linux命令帮助文档的使用   相关命令 whatis    COMMAND –help    man and info 本地帮助文档/usr/share/doc   在使用系统内建的帮助文档之前,我们需要了解需要命令帮助是否是内部命令和外部命令…

    Linux干货 2016-08-04
  • Linux Cluster之Keepalived + Nginx的实现

      一、实验环境 http server1与http server2组成web集群,由nginx服务器实现负载均衡代理,使用keepalived保证nginx服务的高可用。通过虚拟IP192.168.154.177对外提供web服务。 实验目的: 1)当Nginx server1上的nginx服务异常时,由nginx server2提供反带服务。 …

    2016-11-02
  • Linux 第三天: (07月26日) 练习和作业

    Linux 第三天: (07月26日) 练习和作业           字符终端登录时, 显示当前登录终端号, 主机名和当前时间   vi /etc/issue   Kernel \r on an \mon terminal \lhostname is \ntime is \t &nbsp…

    Linux干货 2016-08-08

评论列表(1条)

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

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