1、Linux上的文件管理类命令都有哪些其常用的使用方法及其相关示例演示。
cp(copy) 复制,mv(move)移动或者更名,mkdir(创建目录,-p可以同时创建父目录),rm(删除目录,-r 可以递归操作,rmdir(删除空目录)删除文件或者目录,建议建立一个临时回收站,否则误删或者短时间内还需要的文件),touch,file,stat, 文件名的通配符“,?,[],[^]” * 操作文件数据流的命令:more,less,cat,tac,tr
~]#cp sourcefile destination ~]#mv sourcefile changenamefile ~]#mkdir /tmp/1/2/5 ;同时创建多级目录 ~]#rm -r /tmp/1/ ; 可以删除嵌套的多级目录
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
命令执行状态的返回值和命令执行返回本身是不一样的,前者可以通过echo $?获取上一条命令执行状态的返回值,如果为0,这成功执行,非0,执行失败(1-255);后者是,命令执行的结果值。
~]# ll $(which abc);abc是没有的命令,结果$? 为0 ~]# labc $(which bash); labc 是没有的命令,结果$? 127 执行失败
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
~]# rmdir /tmp/{a,b}_{c,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}}}
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 clock_my.c ; 一个测试文件 File: `clock_my.c' (文件名)` Size: 1919(文件数据大小(1919字节)) Blocks: 8(有 IO Block: 4096 regular fileDevice: 80bh/2059d Inode: 544225 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) 权限 Access: 2016-09-20 18:07:15.556559765 +0800 ;最近一次访问时间 Modify: 2016-09-16 22:48:52.446615299 +0800;最近一次数据时间 Change: 2016-09-16 22:48:52.490616967 +0800;最近一次修改元数据时间
touch命令可以修改文件时间戳,
touch命令:改变文件的时间戳(timestamps) -c:指定路径不存在文件时,不创建 -a: 仅修改access时间 -m:仅修改modify time -t:指定改变的时间[[CC][YY]MMDDhhmm[.ss]
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
尽在当前shell有效的话:
~]# alias mytime='date +%H:%M:%S' ``或者$()都可以,但建议用后者更安全,eg:~]# ll $(which ifconfig)
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
~]# ll -d /var/l*[0-9]*[a-z] 或者 ~]# ll /var/l*[[:digit:]]*[[:lower:]]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
~]# ll -d /etc/[0-9]*[^0-9]
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 -rf /etc/p*[^0-9] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
~]# cp -rf /etc/*.d /tmp/mytest2
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
~]# cp -rf /etc/[lmn]*.conf /tmp/mytest3
原创文章,作者:不忘初衷,如若转载,请注明出处:http://www.178linux.com/64678