Linux文件管理与bash特性
Lux上的文件管理命令
目录管理命令
mkdirmake directories
mkdir [OPTION]… DIRECTORY…
-p: 自动按需创建父目录;
-v: verbose,显示详细过程;
-m MODE直接给定权限;
注意路径基名方为命令的作用对象;基名之前的路径必须得存在;
rmdirremove empty directories
rmdir [OPTION]… DIRECTORY…
-p删除某目录后,如果其父目录为空,则一并删除之;
-v: 显示过程;
文件管理命令
cp命令copy
源文件;目标文件;
单源复制cp [OPTION]… [-T] SOURCE DEST
多源复制cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
单源复制cp [OPTION]… [-T] SOURCE DEST
如果DEST不存在则事先创建此文件,并复制源文件的数据流至DEST中;
如果DEST存在
如果DEST是非目录文件则覆盖目标文件;
如果DEST是目录文件则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;
多源复制cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在错误;
如果DEST存在
如果DEST是非目录文件错误;
如果DEST是目录文件分别复制每个文件至目标目录中,并保持原名;
常用选项
-i交互式复制,即覆盖之前提醒用户确认;
-f强制覆盖目标文件;
-r, -R递归复制目录;
-d复制符号链接文件本身,而非其指向的源文件;
-a-dR –preserve=all, archive,用于实现归档;
–preserv=
mode权限
ownership属主和属组
timestamps: 时间戳
context安全标签
xattr扩展属性
lks符号链接
all上述所有属性
mv命令move
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE..
常用选项
-i交互式;
-fforce
rm命令remove
rm [OPTION]… FILE…
常用选项
-iteractive
-fforce
-r: recursive
bash的特性
命令的执行状态结果
命令执行的状态结果
bash通过状态返回值来输出此结果
成功0
失败1-255
命令行展开
~自动展开为用户的家目录,或指定的用户的家目录;
{}可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;
创建/tmp目录下的a_c, a_d, b_c, b_d
touch {a,b}_{c,d}
创建/tmp/mylux目录下的
mkdir -pv /tmp/mylux/{b,boot/grub,dev,etc/{rc.d/it.d,sysconfig/work- scripts},lib/modules,lib64,proc,sb,sys,tmp,usr/local/{b,sb},var/{lock,log,run}}
文件元数据
文件元数据主要包括权限,大小,ode,属主,属组,aess time, modify time, change time,etc…
文件的元数据可以用stat命令查看。
touch命令可以修改时间戳
touch [OPTION]… FILE…
-c: 指定的文件路径不存在时不予创建;
-a: 仅修改aess time;
-m仅修改modify time;
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
命令别名&引用命令的执行结果
可以使用alias name=value形式定义命令别名。
引用命令的执行结果
$(COMMAND)
或`COMMAND`
练习
显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ls -ld /var/l[0-9][a-z]
显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls -ld /etc/[0-9][^[:digit:]]
显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ls -ld /etc/[^[:alpha:]][a-z]
在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如tfile-2016-05-27-09-32-22。
touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
cp -r /etc/p[^0-9] /tmp/mytest1/
复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
cp -r /etc/.d /tmp/mytest2/
复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
cp -r /etc/[lmn].conf /tmp/mytest3/
网络推广
- 5g网络有多快:5g网络网速有多快
- dota2无法连接至steam网络 为什么无法连接dota2网络
- 无线网络信号接收器 无线网络信号接收器怎么用
- 网络延时是什么意思 网络延时是什么原因
- 无线网络不可用:无线网络不可用是什么原因
- 网络广告销售技巧 网络广告销售技巧有哪些
- 智能手机网络设置 智能手机网络设置在哪里
- 为什么找不到无线网络 为什么找不到无线网络信
- 网络这么赚钱:网络怎么能赚到钱
- 为什么无线网络连接不上 为什么无线网连不起来
- 网络上的人际交往 网络上人际交往的优势
- 支付宝网络系统异常 支付宝显示网络异常什么时
- 营销软件:营销软件有哪些
- 无法访问您要使用的功能所在的网络位置
- 网络安全基本知识 网络安全基本知识有哪些
- 什么网络电话最好用 什么网络电话最好用最便宜