1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
Linux上文件管理类命令常用的有:pwd、ls、cd、cp、touch、mv、rm、rmdir
1)pwd:显示当前工作目录
2)ls:列出指定目录下的内容
常用的选项有:
-a:列出目录中的所有文件,包括隐藏文件
-A:显示除.和..之外的所有文件
-l,相当于–long,显示文件的详细属性信息,包括权限、所有者、属组、大小、创建日期、文件是否是链接等
-h:相当于–human-readable,,配合-l使用,对文件大小单位换算,换算后结果可能非准确值
-d:配合-l使用,查看目录自身属性而非其内部的文件列表
-r:reverse,逆序显示:
-R:recursive,递归显示
3)cd:切换当前目录
cd:切换回家目录
cd ~:切换回自己的家目录
cd ~USERNAME:切换至指定用户的家目录
cd -:在上一次所在目录与当前目录直接来回切换
4)cp:复制文件
常用语法:
单源复制:cp [OPTION]… [-T] SOURCE DEST
多源复制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
其中,在单源复制时,如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;如果DEST存在:(1)0DEST是非目录文件:则覆盖目标文件;(2)DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;对于多源复制来说,如果DEST不存在,则显示错误; 如果DEST存在:(1)DEST是非目录文件,则显示错误;(2)如果DEST是目录文件,则分别复制每个文件至目标目录中,并保持原名;
常用选项:
-i:交互式复制,即覆盖之前提前用户确认;
-f:强制覆盖已存在的目标文件###不知道我理解的对不对 但是我试验的时候就是成功不了,最后在小伙伴的帮助下终于理解了cp -f的用法。-f是cp的默认参数,为为了限制root的那么大的权限,才在root下定义别名cp =cp -f
-r, -R:递归复制目录,复制目录及目录中的内容到目标文件,注意:不能使用目录复制文件
-d:复制符号链接文件本身,而非其指向的源文件;
此时显示/tmp/rc1.d指向的是错误文件
-a:-dR –preserve=all, archive,用于实现归档;
1 | 5)touch:创建新的空文件或者修改文件的访问时间和修改时间为当前时间 |
常用选项:
-c:知道的文件路径不存在的时候不予创建新文件
touch使用-c选项后没有在/下创建文件zxn
-a:仅修改access time
-m:仅修改modify time
-t STAMP :指定要改为哪一刻时间,而这里修改的是mtime
6)mv:在同目录下叫重命名,不在同目录下叫移动文件
常用选项:用法同cp
-i:交互式
-f:强制
7)rm:删除文件
常用选项:同cp
-i:交互
-f:强制:
-r:递归
8)rmdir:删除目录,用法跟rm相同。
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
(1)命令执行成功与否,可通过命令的执行状态结果返回值来确定。
(2)命令行展开:
~:展开为用户的家目录
{}:将花括号内的文件路径展开
3、请使用命令行展开功能来完成以下练习:
(1)创建/tmp目录下的:a_c, a_d , b_c, b_d
(2)创建/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}}
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
使用命令stat就可以看到某文件的元数据信息,如下图:
使用命令touch来修改文件的时间戳
touch -a:仅仅修改access time
touch -m:仅修改modify time
touch STAMP:指定要改为哪一刻时间
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
使用命令alias来定义别名。
引用命令的执行结果使用:$(COMMAND)或COMMAND
6、显示/var目录下所有以1开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录
ls -d /var/1*[0-9]*[a-z]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls -d /etc/[[:digit:]]*[^[:digit:]]
8、显示/etc目录下,以非字母开头,后面跟了一个字母已经其他任意长度任意字符的文件或目录。
ls -d /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目录下创建一tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-08-19-22-12-22.
touch /tmp/tfile-date +%Y-%m-%d-%H-%M-%S
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
mkdir /tmp/mytest1 && cp -r /etc/p*[^[:digit:]] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
mkdir /tmp/mytest2 && cp -r /etc/*.d /tmp/mytest2
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
mkdir /tmp/mytest3 && cp -r /etc/[l,m,n]*.conf /tmp/mytest3
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/101920
评论列表(1条)
赞,这些命令比较基础,这些命令也会在日常工作中用到,方便后续查看。