2018-07-01

2018-07-02  本文已影响0人  啊鑫007

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

上一篇下一篇

猜你喜欢

热点阅读