1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。 3、请使用命令行展开功能来完成以下练习: (1)、创建/tmp目录下的:a_c, a_d, b_c, b_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 4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。 5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果? 6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。 7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。 8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。 9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。 10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。 11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。 12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
1、linux常用、基础文件管理命令
ls 查看目录文件
常用选项有:
-a:显示所有档案及目录; -A:显示除影藏文件“.”和“..”以外的所有文件列表; -C:多列显示输出结果。这是默认选项; -l:与“-C”选项功能相反,所有输出信息用单列格式输出; -F:在每个输出项后追加文件的类型标识符, -i:显示文件索引节点号(inode)。 -k:以KB(千字节)为单位显示文件大小; -l:以长格式显示目录下的内容列表。 -s:显示文件和目录的大小,以区块为单位; -R:递归处理
复制命令 cp
cp [option]..[-T] sou_file des_file 复制文件到文件 cp [option]..sou_file dir_file 复制文件到目录 cp [option].. -t dir_file sou_file 复制文件到目录
常用option -i 提示是否覆盖 -R -r 递归复制目录及目录中的文件、子目录 -v 显示复制过程 -f 强制复制 -a 归档 备份,相当于-dR --presverv=all,保留文件所有属性
mv 移动文件
mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE...
常用option -i 提示是否覆盖 -f 强制覆盖
rm 删除工具,默认只能删除文件、
rm [option].. file_name 常用options有: -i 提示是否要删除 -f 强制删除 -r 递归删除目录及目录下的文件、子目录
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash的工作特性之命令执行状态返回值存储在$?中,使用echo $?显示,其中0表示成功执行成功,1-255的数字则表示执行失败
如:
[root@localhost ~]# cd /mnt [root@localhost mnt]# echo $? 0 --->0表示cd /mnt 执行成功 [root@localhost mnt]# ls -a . .. hgfs [root@localhost mnt]# echo $? 0 --->0表示ls -a 执行成功 [root@localhost mnt]# la 12312421321 -bash: la: command not found [root@localhost mnt]# echo $? 127 --->127表示执行失败 [root@localhost mnt]#
命令行展开
~: 展开为用户的主目录 ~USERNAME:展开为指定用户的主目录 {}:可承载一个以逗号分隔的列表,并将其展开为多个路径 /tmp/{a,b} = /tmp/a, /tmp/b /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi
3. 请使用命令行展开功能来完成以下练习:
创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@localhost mnt]# mkdir {a,b}_{c,d} [root@localhost mnt]# ls a_c a_d b_c b_d hgfs [root@localhost mnt]#
创建/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
root@localhost mnt]# mkdir -p mylinux/{bin,boot/{grup},dev,etc/{rc.d/{init.d},sysconfig/{network-scripts}},lib/{module s},lib64,proc,sbin,sys,tmp,usr/{lcoal/{bin,sbin}},var/{lock,lgo,run}}[root@localhost mnt]# cd mylinux/ [root@localhost mylinux]# ls -R .: bin boot dev etc lib lib64 proc sbin sys tmp usr var ./bin: ./boot: {grup} ./boot/{grup}: ./dev: ./etc: rc.d sysconfig ./etc/rc.d: {init.d} ./etc/rc.d/{init.d}: ./etc/sysconfig: {network-scripts} ./etc/sysconfig/{network-scripts}: ./lib: {modules} ./lib/{modules}: ./lib64: ./proc: ./sbin: ./sys: ./tmp: ./usr: {lcoal ./usr/{lcoal: bin} sbin} ./usr/{lcoal/bin}: ./usr/{lcoal/sbin}: ./var: lgo lock run ./var/lgo: ./var/lock: ./var/run:
4. 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
stat 查看时间戳
[root@localhost mnt]# stat mylinux/ File: `mylinux/' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 802h/2050d Inode: 274810 Links: 14 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-06-20 20:35:14.315886505 +0800 Modify: 2016-06-20 20:35:01.926885104 +0800 Change: 2016-06-20 20:35:01.926885104 +0800 [root@localhost mnt]#
touch 修改文件的时间戳
[root@localhost mnt]# stat /etc/fstab File: `/etc/fstab' Size: 875 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 403417 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-06-19 12:27:03.116999300 +0800 Modify: 2016-06-19 12:26:54.081999285 +0800 Change: 2016-06-19 12:26:54.083999234 +0800 [root@localhost mnt]# touch /etc/fstab [root@localhost mnt]# stat /etc/fstab File: `/etc/fstab' Size: 875 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 403417 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-06-20 20:42:54.669885008 +0800 Modify: 2016-06-20 20:42:54.669885008 +0800 Change: 2016-06-20 20:42:54.669885008 +0800 [root@localhost mnt]#
五、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
别名
[root@localhost mnt]# alias la='ls -a' [root@localhost mnt]# la . .. mylinux [root@localhost mnt]# alias cdetc='cd /etc/sysconfig/' [root@localhost mnt]# cdetc [root@localhost sysconfig]#
引用另一个命令的执行结果:通过管道 或 变量
[root@localhost www]# ls htpasswrod vhosts [root@localhost www]# cat htpasswrod status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040 123456 abc [root@localhost www]# cat htpasswrod | grep "status" status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040 [root@localhost www]#
[root@localhost www]# test=$( cat /www/htpasswrod) [root@localhost www]# cat /www/htpasswrod status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040 123456 abc [root@localhost www]# echo $test status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040 123456 abc [root@localhost www]#
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
[root@localhost www]# ls /var account crash db games lib local log named opt run tmp yp cache cvs empty gdm llk100a lock mail nis preserve spool www [root@localhost www]# ls -d /var/l*[0-9]*[[:lower:]] /var/llk100a [root@localhost www]# ls -d /var/l*[0-9]*[[:lower:]]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
[root@localhost /]# ls /etc/[0-9]*[^0-9] /etc/0kj /etc/1kj /etc/1abc: /etc/234k: [root@localhost /]#
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
[root@localhost /]# ls /etc/[^a-z][a-z]* /etc/0kj /etc/1kj /etc/1abc:
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile–2016–05–27–09–32–22。
[root@localhost /]# touch /tmp/tfile$(date +%Y-%m-%d-%H-%M-%S) [root@localhost /]# ls /tmp/tfile* /tmp/tfile2016-06-20-21-41-46 [root@localhost /]#
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
cp -vrf /etc/p* /tmp/mytest1/
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
cp -vrf /etc/*.d /tmp/mytest2/
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
cp -vrf /etc/[l,m,n]*.conf /tmp/mytest3
原创文章,作者:Net20-deamon,如若转载,请注明出处:http://www.178linux.com/19058
评论列表(1条)
写的很好,案例也很详细,但是在元字符运用或者读题的时候没有把握好,在仔细读读题,加油