在linux下创立bash文件,Linux文件管理及bash特性

一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示

mkdir,rmdir,pwd,cd,cp,touch,mv

1.mkdir:创建目录

3c8ce6380daa33c267ccb0e2e66a02de.png

-p:递归创建多个目录

3c8ce6380daa33c267ccb0e2e66a02de.png

2.rmdir:删除空目录

3c8ce6380daa33c267ccb0e2e66a02de.png

3.pwd:显示当前工作目录

3c8ce6380daa33c267ccb0e2e66a02de.png

4.cd:切换当前目录

3c8ce6380daa33c267ccb0e2e66a02de.png

5.cp:复制文件

单源复制:cp [OPTION]…[T] SOURCE DEST        dest(目标文件)

如果目标文件不存在,则事先创建此文件,并复制源文件的数据流至目标文件中

3c8ce6380daa33c267ccb0e2e66a02de.png

如果目标文件存在

如果目标文件是非目录文件:则覆盖目标文件

如果目标文件是目录文件:则先在目标文件下创建一个与源文件同名的文件,并复制其数据流

多源复制: cp [OPTION]… SOURCE… DRIECTORY

如果目标文件不存在:错误

3c8ce6380daa33c267ccb0e2e66a02de.png

如果目标文件存在:

如果目标文件是非目录文件:错误

如果目标文件是目录文件:分别复制每个文件至目标目录中,并保持原名

3c8ce6380daa33c267ccb0e2e66a02de.png

-i:交互模式

3c8ce6380daa33c267ccb0e2e66a02de.png

-r: 递归复制目录

1)目标路径不存在,创建空目录,并把源目录内容递归复制

3c8ce6380daa33c267ccb0e2e66a02de.png

2)如果目标目录存在,把源目录复制过去,包括目录自身,在目标路径下创建一个源目录同名的目录并把源目录文件复制过去

3c8ce6380daa33c267ccb0e2e66a02de.png

6.touch:修改文件时间戳,创建空文件

3c8ce6380daa33c267ccb0e2e66a02de.png

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

3c8ce6380daa33c267ccb0e2e66a02de.png

-a :仅修改access time

-m:仅修改modify time

7.mv:在同目录下为重命名,不在同目录下为移动文件,用法同cp

二、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示

1.状态返回值

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

成功:0

失败:1-255

通过echo $? 获取最近命令的状结果

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

2.命令行展开

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

3c8ce6380daa33c267ccb0e2e66a02de.png

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

3c8ce6380daa33c267ccb0e2e66a02de.png

三、请使用命令行展开功能来完成以下练习

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

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

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

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

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

四、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息

1.用stat可以查看元数据信息

3c8ce6380daa33c267ccb0e2e66a02de.png

2.用touch命令可以修改时间戳

touch -a:仅修改access time

touch -m:仅修改modify time

touch -t:修改modify time到指定时间

五、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

1.可以使用alias定义命令别名,但只在当前shell进程中有效

3c8ce6380daa33c267ccb0e2e66a02de.png

2.$(COMMAND)

3c8ce6380daa33c267ccb0e2e66a02de.png

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

3c8ce6380daa33c267ccb0e2e66a02de.png

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

3c8ce6380daa33c267ccb0e2e66a02de.png

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

3c8ce6380daa33c267ccb0e2e66a02de.png

九、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

3c8ce6380daa33c267ccb0e2e66a02de.png

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

3c8ce6380daa33c267ccb0e2e66a02de.png

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

3c8ce6380daa33c267ccb0e2e66a02de.png

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

3c8ce6380daa33c267ccb0e2e66a02de.png

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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值