一、Linux上文件管理命令
1.文件管理类命令
(1)mkdir:创建目录
-p:自动按需创建目录
-v:显示详细过程
(2)rmdir(remove empty directory):删除空目录
-p:删除某目录后,如果其父目录为空,则一并删除之
-v:显示详细过程
2.文件查看类命令
(1)分屏查看命令:
more:more FILE 翻屏到文件尾部后自动退出
less:less FILE
head:head [OPTIONS] FILE
tail:tail [OPTIONS] FILE
stat:查询文件的详细信息
3.文件管理工具:
(1)cp:copy 源文件 目标文件
单源复制: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 用于实现归档
(2)mv命令:mv [OPTION]. . . [-T] SOURCE DEST
mv [OPTION]. . . SOURCE. . . DIRECTORY
mv [OPTION]. . . -t DIRECTORY SOURCE. . .
常用选项: -i:交互式复制,覆盖之前提醒用户确认
-f:强制复制
(3)rm命令:remove [OPTION]. . .FILE. . .
常用选项: -i:交互式复制,覆盖之前提醒用户确认
-f:强制复制
-r,-R:递归复制
二、bash的工作特性
命令行展开:
~:自动展开为用户的家目录,或指定的用户的家目录
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径。例如:/tmp/{a,b}相当于/tmp/a /tmp/b
命令执行状态返回值:
即命令执行的状态结果:bash通过状态返回值来输出此结果(成功:0;失败:1-255),
命令执行完成后,其状态返回值保存于bash的特殊变量$?中,
命令正常执行时,有的还会有命令返回值,
根据命令及其功能不同,结果各不相同
引用命令的执行结果:$(COMMAND)或`COMMAND`
三、使用命令行展开功能完成
(1)mkdir -v /tmp{a,b}_{c,d}
(2)mkdir -pv /tmp/mylinux{bin,dev,lib64,proc,sbin,sys,boot/grub,etc{rc,d/init.d,sysconfig/network-scrips},lib/modules}
四、文件的元数据和修改文件时间戳
1.文件的两类数据
元数据:文件名、大小、类型、权限、属主属组、文件的时间戳(非文件的组成部分)...
数据:文件里的内容(文件的组成部分)
2.修改文件时间戳:touch 命令
touch [OPTION]. . . FILE. ..
-c:指定的文件路径不存在时不予创建
-a:仅修改access times
-m:仅修改modify times
五、定义命令别名和引用另一个命令的执行结果
1.定义命令别名
# alias NAME=`COMMAND`(仅对当前shell进程有效)
2.引用命令执行结果
强引用:' '
弱引用:" "
命令引用:` `
六、练习
(6)显示/var目录下所有以1开头,以一个小写字母结尾且中间至少出现一个数字(可以有其他字符)的文件或目录
ls -d /var/1?[[ : lower : ]]
(7)显示/etc目录下,以任意一个数字开头且以非数字结尾的文件或目录
ls -d /etc/[0-9]*[^0-9]
(8)显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录
ls -d /etc/[^a-z][a-z]*
(9)在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09:32-22
ls -d /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
(10)复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
cp -r /etc/p*[^0-9] /tmp/mytest1
(11)复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
cp -r /etc/*.d/tmp/mytest2
(12)复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
cp -r /etc/{l,m,n}*.conf/tmp/mytest3
转载于:https://blog.51cto.com/13985873/2288069