美文网首页
2018-07-01

2018-07-01

作者: 啊鑫007 | 来源:发表于2018-07-02 22:52 被阅读0次

    Linux的文件管理和Bash的基础特性

    一:Linux的文件管理类命令

    (一)目录管理命令:

    1、ls:用于显示指定工作目录下的内容。

    语法:

    ls [OPTION] ... [FILE] ...

    选项:

    -a    显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)

    -l    除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

    -r    将文件以相反次序显示(原定依英文字母次序)

    -t    将文件依建立时间之先后次序列出

    -A    同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)

    -F    在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"

    -R    若目录下有文件,则以下之文件亦皆依序列出

    实例:

    列出根目录(/)下的所有目录

    2、cd:用于切换当前工作目录至要切换的目标目录。

    语法:

    cd [dirName]

    实例:

    切换至etc目录

    3、pwd:打印当前工作目录的名称。

    语法:

    pwd [OPTION] ...

    实例:

    打印当前工作目录

    4、mkdir:创建空目录。

    语法:

    mkdir [OPTION] ...DIRECTORY...

    选项:

    -p    确保目录名称存在,不存在的就建一个。

    -v    显示详细过程

    -m    直接给定权限

    实例:

    在家目录下创建空目录

    5、rmdir:删除目录。

    语法:

    rmdir [OPTION] ...DIRECTORY...

    选项:

    -p    删除目录后,如果父目录为空,则一并删除。

    -v    显示详细过程

    实例:

    删除空目录

    6、tree:用于以树状图列出目录的内容。

    语法:

    tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]

    选项:

    -a    显示所有文件和目录。

    -A    使用ASNI绘图字符显示树状图而非以ASCII字符组合。

    -C    在文件和目录清单加上色彩,便于区分各种类型。

    -d    显示目录名称而非内容。

    -D    列出文件或目录的更改时间。

    -f    在每个文件或目录之前,显示完整的相对路径名称。

    -F    在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。

    -g    列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。

    -i    不以阶梯状列出文件或目录名称。

    -I<范本样式>    不显示符合范本样式的文件或目录名称。

    -l    如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。

    -n    不在文件和目录清单加上色彩。

    -N    直接列出文件和目录名称,包括控制字符。

    -p    列出权限标示。

    -P<范本样式>    只显示符合范本样式的文件或目录名称。

    -q    用"?"号取代控制字符,列出文件和目录名称。

    -s    列出文件或目录大小。

    -t    用文件和目录的更改时间排序。

    -u    列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。

    -x    将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

    实例:

    查看目录树

    (二)文件管理命令:

    1、touch:用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

    语法:

    touch [OPTION] ... [FILE] ...

    选项:

    a    改变文件的访问时间。

    m    改变文件的改动时间。

    c    假如目的文件不存在,不会建立新的文件

    t    设定文件的时间记录,格式与 date 指令相同。

    实例:

    创建普通文件

    2、stat:用于显示inode内容。

    语法:

    stat [OPTION] ... [FILE] ...

    实例:

    查看目录inode内容

    3、file:用于辨识文件类型。

    语法:

    file -C [ -m magicfiles ]

    选项:

    -b  列出辨识结果时,不显示文件名称。

    -c  详细显示指令执行过程,便于排错或分析程序执行的情形。

    -f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。

    -L  直接显示符号连接所指向的文件的类别。

    -m<魔法数字文件>  指定魔法数字文件。

    -v  显示版本信息。

    -z  尝试去解读压缩文件的内容。

    实例:

    显示文件类型

    4、rm:用于删除文件或者目录。

    语法:

    rm [OPTION] ... [FILE] ...

    选项:

    -i    交互模式删除文件,删除文件前给提示。

    -f    强制删除,忽略不存在的文件,不提示确认。

    -r    递归删除目录及其内容。

    实例:

    删除a.txt文件

    5、cp:复制文件。

    语法:

    cp [OPTION] ... [-T]  SOURCE  DEST

    cp [OPTION] ...  SOURCE  DIRECTORY

    cp [OPTION] ... -t  DIRECTORY  SOURCE  

    选项:

    -a    此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。

    -d    复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。

    -f    覆盖已经存在的目标文件而不给出提示。

    -i    与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。

    -p    除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。

    -r    若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

    -l    不复制文件,只是生成链接文件。

    实例:


    复制文件并改名

    6、mv:用来为文件或目录改名、或将文件或目录移入其它位置。

    语法:

    mv [OPTION] ... [-T]  SOURCE  DEST

    mv [OPTION] ...  SOURCE  DIRECTORY

    mv [OPTION] ... -t DIRECTORY  SOURCE

    选项:

    -i    若指定目录已有同名文件,则先询问是否覆盖旧文件

    -f    在mv操作要覆盖某已有的目标文件时不给任何指示

    实例:

    将原文件覆盖

    二:Bash的基础特性

    1:bash的基础特性之命令行展开

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

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

    实例:

    /tmp/{a,b}    就相当于  /tmp/a    /tmp/b

    2:bash的基础特性之命令的执行状态结果

    bash通过状态返回值来输出此结果

    成功:0

    失败:1~255

    命令执行完成后,其状态返回值保存于bash的特殊变量$?中,可以用echo $?来查看最近一条命令的状态。

    3:bash的基础特性之引用

    强引用:  '    '(不完成变量的替换)

    弱引用:  "   "(完成变量的替换)

    命令引用:  `   `(反引号)

    实例:

    强引用和弱引用

    4:bash基础特性之快捷键

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

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

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

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

    Ctrl+l:清屏,相当于clear

    5:bash的基础特性之文件名通配(整体文件名匹配,而非部分)

    匹配模式:元字符

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

                            pa*, *pa*, *pa, *p*a*

                            pa, paa, passwd

                    ?:匹配任意单个字符

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

                            pa, paa, passwd

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

    有几种特殊格式:

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

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

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

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

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

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

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

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

    pa[0-9][0-9], 2[0-9][0-9]

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

    [^[:upper:]]

    [^0-9]

    [^[:alnum:]]

    三:使用命令行展开完成下列练习

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

    2:创建/tmp/mylinux目录下的

    创建多级目录

    1:  mkdir -v {a,b}_{c,d}

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

    2:  mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/{local/{bin,sbin}},var/{lock,log,run}}

    相关文章

      网友评论

          本文标题:2018-07-01

          本文链接:https://www.haomeiwen.com/subject/cbvhuftx.html