-
Linux上文件系统管理类命令都有哪些,其常用的使用方法及其相关示例演示
(1).cp文件复制命令
单源复制:cp [OPTION]... [-T] SOURCE DEST 多源复制:cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... 常用选项: -i:交互式复制,即覆盖之前提醒用户确认; -f:强制覆盖目标文件; -r, -R:递归复制目录; -d:复制符号链接文件本身,而非其指向的源文件; -a:-dR --preserve=all, archive,用于实现归档; --preserv= mode:权限 ownership:属主和属组 timestamps: 时间戳 context:安全标签 xattr:扩展属性 links:符号链接 all:上述所有属性 示例:将test1底下的文件复制到test2,目录下 [root@localhost tmp]# cp test1/* test2 [root@localhost tmp]# ls -ll test2 total 0 -rw-r--r--. 1 root root 0 Aug 19 10:44 a -rw-r--r--. 1 root root 0 Aug 19 10:44 b -rw-r--r--. 1 root root 0 Aug 19 10:44 c
(2).mv文件移动命令
mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE.. 常用选项: -i:交互式; -f:force 示例:将test1目录及目录下文件移到到test2目录下 [root@localhost tmp]# mv test1 test2 [root@localhost tmp]# cd test2 [root@localhost test2]# ls test1
(3).rm删除命令
rm [OPTION]... FILE... 常用选项: -i:interactive 交互 -f:force 强制 -r: recursive 递归 示例 删除目录:rm -rf /PATH/TO/DIR 危险操作:rm -rf /* [root@localhost tmp]# rm -rf /test2
2.bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示
(1) 命令执行的状态结果:
bash通过状态返回值来输出此结果:
成功:0
失败:1-255
命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;
命令正常执行时,有的还会有命令返回值:
根据命令及其功能不同,结果各不相同;
示例 [root@localhost tmp]# ls -l /etc/passwd -rw-r--r--. 1 root root 1792 Aug 9 16:54 /etc/passwd [root@localhost tmp]# echo $? 0 [root@localhost tmp]# ld -l /etc/passwd ld: cannot find -l/etc/passwd [root@localhost tmp]# echo $? 1
(2)命令行展开
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;
示例:/tmp/{a,b} 相当于 /tmp/a /tmp/b
[root@localhost /]# mkdir /tmp/{a,b}
3.请使用命令行展开功能来完成以下练习:
(1)创建目录下的:a_c,a_d,b_c,b_d
[root@localhost test]# mkdir {a,b}_{c,d} [root@localhost test]# ls a_c a_d b_c b_d [root@localhost test]#
(2)创建/tmp/mylinux目录下的:
[root@localhost /]# 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}} [root@localhost /]# tree /tmp/mylinux/ /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 24 directories, 0 files
4. 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件元数据包括:文件名,大小,块,IO块,设备,Inode,硬链接,软连接,权限,Uid,Gid,环境,时间戳
查看文件的元数据信息:
[root@localhost test]# ls -l total 16 drwxr-xr-x. 2 root root 4096 Aug 19 11:05 a_c
stat命令: stat - display file or file system status stat FILE... [root@localhost test]# stat a_c File: `a_c' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: fd00h/64768d Inode: 924347 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-08-19 11:05:45.752278216 +0800 Modify: 2016-08-19 11:05:45.752278216 +0800 Change: 2016-08-19 11:05:45.752278216 +0800
修改文件的时间戳
touch命令: touch - change file timestamps touch [OPTION]... FILE... -c: 指定的文件路径不存在时不予创建; -a: 仅修改access time; -m:仅修改modify time; -t STAMP [[CC]YY]MMDDhhmm[.ss]
示例
[root@localhost test]# touch -at 0812171200.21 aa [root@localhost test]# stat aa File: `aa' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768dInode: 924329 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2008-12-17 12:00:21.000000000 +0800 Modify: 2016-08-19 15:24:27.822367731 +0800 Change: 2016-08-19 15:25:26.270379965 +0800
5. 如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
命令别名: 获取所有可用别名的定义: ~]# alias 定义别名: ~]# alias NAME='COMMAND' 注意:仅对当前shell进程有效 撤销别名: ~]# unalias NAME 永久生效: 用户个人:仅对当前用户有效; ~/.bash_profile 全局:/etc/bashrc
命令引用:`` root@localhost test]# echo `date` Fri Aug 19 15:30:05 CST 2016
6. 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件和目录
[root@localhost var]# ls -a /var |grep "^l[[:digit:]]\+[[:lower:]]$"
7. 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件和目录
[root@localhost etc]# ls -a /etc |grep "^[0-9].*[^0-9]$"
8. 显示/etc/目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件和目录。
[root@localhost etc]# ls /etc |grep "^[^[:alpha:]][[:alpha:]].*"
9. 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名刑如:tfile-2016-05-27-09-32-22.
root@localhost etc]# touch /tmp/tfile-`date +%F-%H-%M-%S` [root@localhost etc]# ls /tmp/ tfile-2016-08-19-16-11-01
10. 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest目录中
[root@localhost /]# cp -r /etc/p*[^0-9] /tmp/mytest
11. 复制/etc目录下所有以.d结尾的文件或目录至/tmp/test2目录中
[root@localhost test2]# cp -r /etc/*.d /tmp/test2
12. 复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
[root@localhost test2]# cp -r /etc/[1,m,n]*.conf /tmp/mytest3
原创文章,作者:a295053193,如若转载,请注明出处:http://www.178linux.com/37544
评论列表(1条)
写的很好,排版还可以在漂亮一点,加油,3大题2小题跟老师的题目不一样