1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
1)cp:
复制
用法:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
选项:
-i:交互式
-r:递归复制
-a:归档,相当于-dR--preserv-links
-p:相当于--preserv=mode,ownership,timestamp
-v:--verbose,显示详细信息
eg.
1.-a选项,归档复制
[yannic@localhost etc]$ ls -l /etc/system-release lrwxrwxrwx. 1 root root 14 Aug 14 03:24 /etc/system-release ->centos-release [yannic@localhost etc]$ cp /etc/system-release /tmp [yannic@localhost etc]$ ls -l /tmp/system-release -rw-r--r--. 1 yannic yannic 27 Aug 19 05:50 /tmp/system-release //复制原文件,而不是软连接 [yannic@localhost etc]$ rm -f /tmp/system-release [yannic@localhost etc]$ ls -l/tmp/system-release lrwxrwxrwx. 1 yannic yannic 14 Aug 14 03:24/tmp/system-release -> centos-release
2)rm
删除文件或目录
用法:rm [OPTION]... FILE...
选项:
-r 递归删除,包括目录以及目录下的文件
-f 强制执行
-i:交互式选项
3)mv
移动文件
用法:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
选项:
-i:交互式选项
-f:--force,强制执行
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
(1)命令执行状态返回值:
0- 成功
1~255:失败
(2)命令行展开:
~:展开为用户的主目录
~USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
eg.
[yannic@localhost tmp]$ mkdir -p/tmp/work2/{x,y}/a [yannic@localhost tmp]$ tree /tmp/work2 /tmp/work2 ├── x │ └── a └── y └── a
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
mkdir/tmp/{a,b}_{c,d}
(2)、创建/tmp/mylinux目录下的:
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
[yannic@localhost ~]$ mkdir -p /tmp/mylinux/{bin,boot/grub,etc/rc.d/init.d,etc/sysconfig/networkscrips,lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var,lock,log,run}
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
元数据指用来描述一个文件的特征的系统数据,诸如文件权限(属主权限,属组权限、其他用户权限)、文件拥有者以及文件数据块的分布信息(inode...)等等。
通过ls命令查看
[yannic@localhost profile.d]$ ll total 56 -rw-r--r--. 1 root root 1127 Oct 17 2013 colorls.csh
还可以通过stat命令查看更多详细信息:文件大小size,文件占用的块数,blocks,文件权限,GID和 UID。文件时间戳信息,最近一次访问时间Access,最后一次修改时间Modify,最后一次改变时间Change。
[yannic@localhost profile.d]$ stat colorls.csh File:`colorls.csh' Size:1127 Blocks: 8 IO Block:4096 regular file Device: 802h/2050d Inode:6029550 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-08-19 05:48:14.920032604 -0700 Modify: 2013-10-17 05:51:45.000000000 -0700 Change: 2016-08-14 03:22:38.972999939 -0700
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
alias:定义别名
alias NAME='VALUE',只对当前会话有效
永久生效:
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
可以通过管道实现在命令中引用另一个命令的执行结果:
eg.
[yannic@localhost ~]$ ps aux |grep ls root 1422 0.2 0.4 189328 4404 ? Sl Aug18 8:07 /usr/sbin/vmtoolsd yannic 2462 0.0 0.4 450424 4720 ? Ssl Aug18 0:02 /usr/bin/pulseaudio--start --log-target=syslog yannic 2471 0.0 0.2 95228 2620 ? S Aug18 0:00 /usr/libexec/pulse/gconf-helper yannic 2496 0.2 2.9 359016 29696 ? S Aug18 9:09 /usr/lib/vmware-tools/sbin64/vmtoolsd -n vmusr --blockFd 3 root 37630 0.0 0.1 22440 1076 ? S Aug20 0:00/usr/libexec/hald-addon-rfkill-killswitch yannic 41418 1.0 0.0 103256 840 pts/1 S+ 06:36 0:00 grep ls
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ls -ld /var/l*[0-9]*[[:lower:]]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls -ld /etc/[0-9]*[^0-9]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ls -ld /etc/[^a-z][a-z]*
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:
tfile-2016-08-06-09-32-22。
touch /tmp/tfile_$( date +'%F-%H-%M-%S')
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
cp -r /etc/p*[^0-9] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
cp -r /etc/*.d /tmp/test2
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
cp /etc/[lmn]*.conf /tmp/test3
如有错误之处,麻烦看官评论里指点一下,小女子不胜感激。