一:在Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例。
在Linux中,文件管理类命令主要有cp,mv,rm三个
其中cp命令的使用格式如下:
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
第一种:cp SRC DEST:主要表示从原文件进行复制到目标文件。
而这时,分为两种情况。
一:目标文件不存在:此时,会先创建一个目标文件,然后把源文件的内容复制到目标文件中,如下所示:
二:目标文件存在时:此时,又会分为两种情况:
第一种:目标文件是文件,则会让用户进行确认,如果确认。则会把源文件里的内容覆盖掉目标文件的内容。如下图
第二种:目标文件是个目录:则会把源文件拷贝到目标目录中。如图所示:
第二种:cp [OPTION]… SOURCE… DIRECTORY:
同时拷贝多个源文件,最后到一个目录文件。
此时分为两种情况:
一:目标目录不存在:则会失败。如下图
二:如果目标目录存在:则会把源文件都拷贝到目标目录中。如下图:
第三种:cp [OPTION]… -t DIRECTORY SOURCE…
加上-t参数之后,则可以把目标目录放在前面,源文件放在后面。
注意:放在前面的只能是目录。
cp的常用选项:
-a:完全备份,归档拷贝 -r和-preserv=all。
-i:交互式命令。
-f:强制执行命令,不需要用户提示是否。
-p:表示–preserv=属主属组,时间戳,权限
-r,R:递归拷贝。
–no-dereference:不追踪符号链接。
-t:复制时,把源放在后面,把目标目录放再前面。
-v:每次执行的命令都反馈告诉用户。
mv命令:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
其主要的用法,和cp没有本质上的区别。
只是,mv中没有-r这个选项。移动目录时,会把目录下的所有文件都做相应移动。同时,若是目标文件或者目录存在时,则询问用户是否覆盖。
-i:交互式。
-f:强制执行。
rm命令:主要用于删除。
常用的选项:
-f:强制执行
-r:递归删除
-i:和用户交互
-v:显示过程
通常情况下:一般使用rm -rf file 对文件或者命令进行删除。同时可以使用-v进行显示其过程,如下图:
二:bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容。
用户执行命令之后,返回的状态只有两种:分别就是成功和失败。
我们可以用echo来查看返回的状态码。
如果是成功,则是返回0
如果是失败,则是返回1-255
成功如下图:
失败如下图:
命令行展开模式有3种:
(1)~:展开为用户的主目录。
(2)~USERNAME:展开为username的主目录
(3){}:可以承载一个以逗号分隔的列表,并且将其展开为多个路径。其中{}内是相加属性,{}外是相乘属性
三:创建以下目录:
(1)/tmp目录下的:a_c,a_d,b_c,b_d:如下图所示
(2)/创建/tmp/mylinux目录下的
四:文件的元数据信息分别表示什么含义,有哪些,如何查看?如何修改文件的时间戳信息
stat:获取文件元数据的命令。
文件元数据分别有:大小,块,IO块,类型,设备,Inode,硬链接,权限,属主UID,属组GID
最近访问时间:最近查看这个文件的时间
最近修改时间:最近改变这个文件内容的时间
最近改变时间:最近改变这个文件的属性的时间
touch:修改文件的时间戳信息。
-c:如果文件不存在,也不会创建新文件
-a:改变访问时间
-m:改变修改时间
-a和-m需要配合-t timestamp 使用,时间戳的格式是年月日小时分钟.秒,例如201606061616.30表示2016年6月6日16点16分30秒
五:定义一个命令的别名,在一个命令中引用另一个命令的执行结果。 alias:定义命令别名.
alais command=“value”:通过这种方法,可以定义一个命令别名。此时,这个别名只是在当前shell中生效。
若是想要对所有用户生效,则需要修改:/etc/bashrc文件
若是想对特定的用户生效,则需要修改特定用户家目录下的~/.bashrc文件。
修改文件之后,如果想立即生效,则需要source /path/to/file
unalias:别名取消。
-a:取消所有的命令别名。
unalias COMMAND:撤销某个命令别名。
若是命令别名是本身命令的扩展,比如cp=“cp -i”。若是想使用本身的命令,则需要\cp:\表示转义字符
六:显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ll -d /var/l*[0-9]*[[:lower:]]
7:显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ll -d /etc/[[:digit:]]*[^[:digit:]]
8:显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ll -d /etc/[^[:alpha:]][[:alpha:]]*
9:在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
10:复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
cp -r /etc/p*[^[:digit:]] /tmpmytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
cp -r /etc/*,d /tmp/mytest2
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
cp -r /etc/[m,n,l]*.config /tmp/mytest3
原创文章,作者:N21—明明,如若转载,请注明出处:http://www.178linux.com/23941
评论列表(1条)
写的很好,排版还可以在改进一下,就不要把黑屏截上来了。加油