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

Linux上的常用文件管理命令

mkdir

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

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

常用方法:

  • -p:用来创建一个连续的空目录;

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

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

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

示例:


rmdir

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

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

常用方法:

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

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

示例:


tree

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

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

常用方法:

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

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

示例:

Linux文件管理命令与bash的工作特性_第1张图片


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:上述的所有属性

示例:

Linux文件管理命令与bash的工作特性_第2张图片


mv

mv:move,移动文件或目录

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

常用方法:

  • -i:交互式移动

  • -f:force,强制性移动

示例:

Linux文件管理命令与bash的工作特性_第3张图片


rm

rm:remove,删除文件或目录

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

常用选项:

  • -i:交互式;

  • -f:force,强制删除;

  • -r:recursivev,递归删除目录

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

示例:

Linux文件管理命令与bash的工作特性_第4张图片


Bash的工作特性

Bash的基础特性

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

~]# echo $PATH**

如果给定的大头字符串能唯一标识某命令程序文件,则直接不全;
如果不能唯一表示某个命令程序文件,敲中两次tab,会给出列表进行选择;
路径补全:
在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件;如果能唯一标 识,一次tab键补全;不然击中两次tab,给出列表选择;


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

两个常见符号:~, { }

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

  • { }:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;
    例:/tmp/{a,b}等价于/tmp/a /tmp/b


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

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

成功:0
失败:1-255

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

示例

Linux文件管理命令与bash的工作特性_第5张图片

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


Bash基础特性之引用

强引用:‘ ‘
弱引用:“ ”
命令引用:``


Bash基础特性之快捷键

  • Ctrl+a:跳转至命令行行首
  • Ctrl+e:跳转至命令行行尾
  • Ctrl+u:删除行首至光标所在处之间的所有字符
  • Ctrl+k:删除光标所在处至尾的所有字符
  • Ctrl+l:清屏,等价于clear命令

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

globbing:文件名通配(整体文件名匹配,而非部分)
匹配模式:元字符

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

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

示例:

  • ?:匹配任意单个字符

例:Pa?, ??pa, p?a, p?a?

示例:

  • [ ]:匹配指定范围内的任意单个字符
    几种特殊的格式:
    [a-z], [A-Z], [0-9], [a-z0-9]
    1.[[:upper:]]:所有大写字母
    2.[[:lower:]]:所有小写字母
    3.[[:alpha:]]:所有字母
    4.[[:digit:]]:所有数字
    5.[[:alnum:]]:所有的字母和数字
    6.[[:space:]]:所有空白字符
    7.[[:punct:]]:所有标点符号
    8.[^]:匹配指定氛围外的任意单个字符**

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

示例:


文件的元数据信息

文件的两类数据

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

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


元数据信息

  • File:文件或目录的路径
  • Size:文件的大小
  • Access:文件类型,属主,属组和其他用户的权限
  • Uid:文件的属主ID
  • Gid:文件的属组ID
    …….

Stat命令:

Stat:display file or file system status

语法格式:stat FILE ….

示例:

Linux文件管理命令与bash的工作特性_第6张图片


时间戳信息

  • 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}

Linux文件管理命令与bash的工作特性_第7张图片

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


    Linux文件管理命令与bash的工作特性_第8张图片

    Linux文件管理命令与bash的工作特性_第9张图片

文件名通配

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

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

Linux文件管理命令与bash的工作特性_第10张图片

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

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

Linux文件管理命令与bash的工作特性_第11张图片

  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)


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

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

Linux文件管理命令与bash的工作特性_第12张图片

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

完成命令:mkdir /tmp/mytest2
cp -rv /etc/*.d /tmp/mytest2

Linux文件管理命令与bash的工作特性_第13张图片

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

完成命令:mkdir /tmp/mytest3
cp -rv /etc/{l,m,n}*.conf /tmp/mytest3

Linux文件管理命令与bash的工作特性_第14张图片

你可能感兴趣的:(Linux文件管理命令与bash的工作特性)