Linux侠客

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

2018-03-23  本文已影响0人  ELF_Conan

Linux上的常用文件管理命令

mkdir

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

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

常用方法:

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

示例:


rmdir

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

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

常用方法:

示例:


tree

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

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

常用方法:

示例:


cp

cp:复制文件或目录;

语法格式:
单源复制:cp [option]…[T]…SOURCE DEST
多源复制:cp [option]…SOURCE…DIRECTORY
cp [option]…-t DIRECTORY SOURCE…

说明:单源复制模式下

常用选项:

元数据表:

--preserve=

示例:


mv

mv:move,移动文件或目录

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

常用方法:

示例:


rm

rm:remove,删除文件或目录

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

常用选项:

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

示例:


Bash的工作特性

Bash的基础特性

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

~]# echo $PATH**

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


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

两个常见符号:~, { }


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

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

成功:0
失败:1-255

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

示例


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

Bash基础特性之引用

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


Bash基础特性之快捷键


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

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

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

示例:

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

示例:

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

示例:


文件的元数据信息

文件的两类数据


元数据信息


Stat命令:

Stat:display file or file system status

语法格式:stat FILE ….

示例:


时间戳信息


touch命令

touch:change file timestamps

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

常用方法:


定义命令的别名

alias命令

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

语法格式:alias NAME = ‘COMMAND

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

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


练习示例

命令行展开功能

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

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


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




文件名通配

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

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


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

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


  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


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

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


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

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


上一篇 下一篇

猜你喜欢

热点阅读