一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示
Linux文件管理类命令有cp、mv、rm
1、cp命令:copy files and directories
使用方法:
-
单源复制
cp [OPTION]… [-T] SOURCE DEST
1)如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中
2)如果DEST存在,DEST是非目录文件,则覆盖目标文件;如果DEST是目录文件,则现在DEST目录下创建一个与源文件同名的文件,并复制其数据流。 -
多源复制
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在,提示错误
如果DEST是目录文件,分别复制每个文件至目录中去,并保持原名
常用选项及示例:
-i:交付式复制,即覆盖之前提醒用户确认。
[root@localhost ~]# cp -i /etc/issue /tmp/issue cp:是否覆盖"/tmp/issue"? y [root@localhost ~]# ls -l /tmp
-f:强制覆盖目标文件
-r, -R:递归复制目录
-d,复制符号链接文件本身,而非其指向的源文件
[root@localhost ~]# ls -l /etc/system-release lrwxrwxrwx. 1 root root 14 11月 8 09:07 system-release -> centos-release [root@localhost ~]# cp /etc/system-release /tmp [root@localhost ~]# ls -l /tmp/system-release -rw-r--r-- 1 root root 38 12月 11 02:04 system-release1-----实际复制了源文件 [root@localhost ~]# cp -d /etc/system-release /tmp/ cp:是否覆盖"/tmp/system-release"? y [root@localhost ~]# ls -l /tmp [root@localhost ~]# ls -l /etc/system-releasel rwxrwxrwx 1 root root 14 12月 11 02:05 system-release -> centos-release-----复制符号链接文件 -a,-dR,--preserve=all, archive,用于实现归档
2、mv命令:move (rename) files
使用方法:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用选项:
-i:交互式mv
-f:do not prompt before overwriting
3、rm命令:remove files or directories
使用方法:
rm [OPTION]… FILE…
常用选项:
-i:交互式rm
-f:强制性删除并不提醒
-r,–recursive:删除目录
注意:所有不用的文件建议不要删除,而是移动至某个专用目录(模拟回收站)
二、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示
-
命令执行状态返回值
命令执行完成之后,其状态返回值保存于bash的特殊变量$?。通过输入enco $?,就知道命令执行后的状态。
成功显示为0,失败显示为1~255
示例:
[root@localhost ~]# cat /etc/issue\S Kernel \r on an \m [root@localhost ~]# echo $? [root@localhost ~]# catt /etc/issue -bash: catt: 未找到命令 [root@localhost ~]# echo $? 127 [root@localhost ~]# cat /etc/issue123 cat: /etc/issue123: 没有那个文件或目录 [root@localhost ~]# echo $? 1
-
命令行展开:需要了解的是~和{}用法
1)~:自动展开为用户的家目录,或指定的用户的家目录
示例:
[root@localhost tmp]# cd /home [root@localhost ~]# cd ~Yu [root@localhost Yu]# pwd/home/Yu-----------------直接可达家目录
2){}:可承载一个以逗号分割的路径列表,并能够将其展开为多个路径
示例:
创建目录 /var/x,/var/y [root@localhost ~]# mkdir /var/{x,y} [root@localhost ~]# ls -d /var/x /var/y /var/x /var/y
三、请使用命令行展开功能来完成以下练习:
(1)创建/tmp目录下的:a_c,a_d,b_c,b_d
[Yu@localhost ~]$ cd /tmp [Yu@localhost tmp]$ mkdir -v {a,c}_{b,d} mkdir: 已创建目录 "a_b" mkdir: 已创建目录 "a_d" mkdir: 已创建目录 "c_b" mkdir: 已创建目录 "c_d"
(2)创建/tmp/mylinux目录下的:
[root@localhost ~]# mkdir -pv /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
四、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息
1)任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据。
元数据包括文件大小类型、文件权限、属主属组、文件数据块的分布信息(inode…)以及相关时间戳等。查看文件元数据信息,可用stat命令:
stat – display file or file system status
示例:
[root@localhost ~]# stat /etc/issueFile: ‘/etc/issue’ Size: 23 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 201327467 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-12-12 06:56:41.892009669 +0800 Modify: 2015-12-09 17:59:15.000000000 +0800 Change: 2016-11-08 09:07:16.867977395 +0800 Birth: -
2)修改文件的时间戳信息,可用touch命令
touch- change file timestamps
使用方法:
touch [OPTION]... FILE... OPTION: -c:指定的文件路径不存在时不予创建,只更改change time-a:仅修改access time,同时连change time也跟随修改 -m:仅修改modify time,同时连change time也跟随修改 -t:使用[[CC]YY]MMDDhhmm[.ss]指定时间,代替现在的时间
五、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
1)定义一个命令的别名
示例:
[root@localhost ~]# alias cls='clear' [root@localhost ~]# alias alias cls='clear' alias cp='cp -i' ... Remark:仅对当前shell进程有效
2)命令中引用另一个命令的执行结果的方法
$(COMMAND)或`COMMAND`(注意此是反引号)
示例:
[root@localhost ~]# ls -l $(cat /etc/shells)-rwxr-xr-x. 1 root root 960376 Nov 20 2015 /bin/bash lrwxrwxrwx. 1 root root 4 Nov 8 09:15 /bin/csh -> tcsh lrwxrwxrwx. 1 root root 4 Nov 8 09:07 /bin/sh -> bash -rwxr-xr-x. 1 root root 404480 Nov 20 2015 /bin/tcsh -rwxr-xr-x. 1 root root 7168 Nov 20 2015 /sbin/nologin -rwxr-xr-x. 1 root root 960376 Nov 20 2015 /usr/bin/bash lrwxrwxrwx. 1 root root 4 Nov 8 09:07 /usr/bin/sh -> bash -rwxr-xr-x. 1 root root 7168 Nov 20 2015 /usr/sbin/nologin
六、显示/var目录下所有以1开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录
[root@localhost ~]# touch /var/1ui9b [root@localhost ~]# ls -l /var/1*[0-9]*[a-z] -rw-r--r-- 1 root root 0 Dec 12 23:20 /var/1ui9b
七、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录
[root@localhost ~]# touch /etc/3ious [root@localhost ~]# ls -l /etc/[0-9]*[^0-9] -rw-r--r-- 1 root root 0 Dec 12 23:42 /etc/3ious
八、显示/etc目录下,以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录。
[root@localhost ~]# ls -l /etc/[^a-z][a-z]* -rw-r--r-- 1 root root 0 Dec 12 23:42 /etc/3ious
九、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
[root@localhost ~]# touch /tmp/tfile-$(date +%F-%H-%M-%S) [root@localhost ~]# ls -l /tmp/ -rw-r--r-- 1 root root 0 Dec 13 00:56 tfile-2016-12-13-00-56-49
十、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
[root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1
十一、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
[root@localhost ~]# cp -r /etc/*.d /tmp/mytest2
十二、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中
[root@localhost ~]# cp -r /etc/[lmn]*.conf /tmp/mytest3
原创文章,作者:N25_Pierce,如若转载,请注明出处:http://www.178linux.com/63684
评论列表(1条)
赞,总结的还是不错的,能注意下第二部分内容中的小1和第五部分中的小2会更好~继续加油~