linux bash命令会执行哪些文件名,Linux上文件管理命令、元素据及时间戳、bash的工作特性回显和命令展开、定义别名,命令引用。...

文件管理命令:

mkdir 创建空目录

语法:

mkdir [选项]…目录…

选项:

-P:逐层创建目录。

-v:显示过程。

-m:直接给定权限。

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

示例

创建/tmp/x1/a/a1和/tmp/x1/b

3c8ce6380daa33c267ccb0e2e66a02de.png

rmdir 移除空目录

语法

rmdir [选项]…目录…

选项:

-p:删除子级后,向继续父目录逐层删除。

-v:显示过程

示例

删除/tmp/x1/a/a1和/tmp/x1/b

3c8ce6380daa33c267ccb0e2e66a02de.png

cp命令:copy

是将源文件(suorce)复制到目标文件(dastination/DEST)

复制文件可以分为两种:

单源文件复制:

如果 目录DEST不存在,则会先创建文件,并赋值源文件下的数据流到DEST中;

如果DEST存在:

如果DEST是目录文件并且包含数据文件,则会覆盖目标文件;

如果DEST是目录文件,则现在DEST目标下创建一个与源文件同名的文件,并将源文件的数据流复制DEST的目录文件内。

多源复制:

如果DEST不存在便会提示错误。

如果DEST是目录文件,则现在的DEST目标下创建一个与源文件同名的文件,并将源文件的数据流复制到DEST目录文件内。

语法:

单源复制:

cp [选项]…[T] SOURCE DEST

多源复制:

cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

常用选项:

-i:交互式复制,即覆盖之前提醒用户确认;

-f:强制覆盖目标文件;

-r -R:递归复制目录;将目录下的文件一并复制过去

-d: 复制符号链接本身,而非其指向的源文件。

-a: -dR –preserve=all,archive,用其实现归档;

-p:保留保留源文件所有者的属性

mode:权限

ownership:属主属组

timestamps:时间戳

context:安全标签

xattr:扩展属性

links:符号链接

all:上述所有属性

示例:

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

多源复制需要目标目录存在,所以首先建立/tmp/mytest1目录

执行命令 cp /etc/p*[^0-9] /tmp/mytest1

3c8ce6380daa33c267ccb0e2e66a02de.png

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

多源复制需要目标目录存在,所以首先建立/tmp/mytest2目录

执行命令 cp -a /etc/*.d /tmp/mytest2

3c8ce6380daa33c267ccb0e2e66a02de.png

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

多源复制需要目标目录存在,所以首先建立/tmp/mytest3目录

3c8ce6380daa33c267ccb0e2e66a02de.png

mv命令:move

源文件复制到指定的目录下,文件名不变。如果目标文件不是目录文件则会变更目标文件名,并覆盖以存在的同名文件。

如果是在同目录下作重命名。多个源复制到目标文件时保存源文件名不变。

语法:

mv [OPTION]…SUORCE DEST

mv [OPTION]…SUORCE…DEST

mv [OPTION]…target-directory=DIRECTORY SOURCE…

选项:

-i:交互式移动,覆盖前提示。

-f:覆盖前永不提示。

-b:档文件存在时,覆盖前为其创建一个备份。

-S:为备份文件指定后缀,而不是用默认的后缀。

-u:当源文件与目标文件重复且目标文件比较新或目标文件不存在时,才执行移动操作。

–target-directory=DIRECTORY:移动全部“源文件”参数到“目录”中。

示例:

1、移动sys符号链接文件到/tmp/kernel并备份

3c8ce6380daa33c267ccb0e2e66a02de.png

rm命令:

移除每个指定的文件,默认情况下,他不能移除目录。但当使用-r或者-R选项时,在指定目录下的整个指定的目录树都会被移除。

语法:

rm [OPTIONS]…FILE…

常用选项:

-i:提示是否移除每个文件。如果是则删除,否行则跳过。

-f:不提示直接删除

-r:递归的移除目录中的每一个文件

示例:

1、删除之前的演示目录/tmp/kernel

3c8ce6380daa33c267ccb0e2e66a02de.png

元数据

所有文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,元数据是指这个文件的的特征信息,包含访问权限、文件的拥有者和文件数据的块分布信息等。

时间戳metadata: :

access time:最近访问 [简称a time]:2017-11-27 21:46:04.519521528 +0800

modify time:最近更改 [简称m time]:2017-11-27 21:46:04.519521528 +0800

change time:最近改动 [简称c time]:2017-11-27 21:46:04.519521528 +0800

stat 命令

显示文件或文件系统的状态。

格式:

stat FILE…

touch 命令

触摸改变文件的时间戳

选项:

-c:指定的文件路径不存在时不予创建。

-a:仅修改 acces time

-m:仅修改 modify time

-t:STAMP [[CC]YY]MMDDhhmm[.ss]

bash的基础特性之一:查看命令的执行状态结果。

bash命令执行时都会将末次执行的命令状态都将保存与bash的特殊变量$?中,可以使用echo $?进行查看执行命令结果。

查看命令装来确认命令是否执行成功,返回值为0时标示成功。

根据命令的功能呢不同返回值为1-255之间的任意数则是标示命令执行失败。

格式:

$?

示例:

1、查看ls的执行状态返回值

3c8ce6380daa33c267ccb0e2e66a02de.png

2、查看符号链接文件的第一行,查看错误返回值。

3c8ce6380daa33c267ccb0e2e66a02de.png

3、ls /var 将结果输出给 /dev/null 查看返回值

3c8ce6380daa33c267ccb0e2e66a02de.png

4、创建一个tfile开头后是当前是日期和时间的文件,文件名为:tfile-2016-05-27-09-32-22

3c8ce6380daa33c267ccb0e2e66a02de.png

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

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

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

示例 1

创建/tmo目录下的a_b、a_d、b_c、b_d

mkdir -pv /tmp/{a,b}_{c,d}

3c8ce6380daa33c267ccb0e2e66a02de.png

alias命令:

语法:

定义别名:alias 别名=命令

撤销别名: unalias 别名

示例:

给ifconfig 设置别名为ifc,。

3c8ce6380daa33c267ccb0e2e66a02de.png

使用命令引用另一个命令的结果创建文件。

创建/tmp/mylinux目录下的:

mkdir -p /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}}

3c8ce6380daa33c267ccb0e2e66a02de.png

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

在/var下新建了3个文件目录分别是:lock99a、 look8a、like55a、

执行命令 ls /var/l*[0-9]*[a-z]

3c8ce6380daa33c267ccb0e2e66a02de.png

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

在/var下新建了3个文件目录分别是:9998a、8888a、66a.

执行命令 ls -d /etc/[0-9]*[a-z]

3c8ce6380daa33c267ccb0e2e66a02de.png

8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

在/etc下创建9a998

执行命令 ls -d /etc/[0-9][A-Z,a-z]*

3c8ce6380daa33c267ccb0e2e66a02de.png

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

多源复制需要目标目录存在,所以首先建立/tmp/mytest1目录

执行命令 cp /etc/p*[^0-9] /tmp/mytest1

3c8ce6380daa33c267ccb0e2e66a02de.png

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

多源复制需要目标目录存在,所以首先建立/tmp/mytest2目录

执行命令 cp -a /etc/*.d /tmp/mytest2

3c8ce6380daa33c267ccb0e2e66a02de.png

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

多源复制需要目标目录存在,所以首先建立/tmp/mytest3目录

3c8ce6380daa33c267ccb0e2e66a02de.png

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89806

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值