熟悉Linux的文件和目录管理
二、实验环境
CentOS 6.5系统。
三、实验内容
1. 文件和目录的创建、编辑、复制、移动、删除
2. 文件内容的过滤、排序、去重
3. 文件和目录的查找、压缩、解压、打包、解包、分割和重组
4. 文件名通配符的使用,shell的输入输出重定向和管道
四、实验步骤:
1. 了解Linux目录组织结构
(1) 进入根目录
命令:_cd /_
(2) 查看根目录内容
命令:_ls_
(3) 进入并浏览根目录中的各子目录,了解这些目录主要存放哪方面内容
2. 创建实验文件
(1) 回到主目录
命令:_cd ~_
(2) 执行以下命令:(注意:仔细检查每个字符,包括空格!)
$ touch{report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3}
(3) 查看当前目录中文件名以report或memo或graph开头的文件
命令:_ls {report,memo,graph}*_
3. 整理新建的文件(把新文件分门别类地整理到相应目录中去)
(1) 在主目录中建立5个目录:
a_reports、september、october、november、december
命令:_mkdir{a_reports,September,October,November,December}_
(2) 进入目录a_reports
命令:_cd a_reports_
(3) 在当前目录中建立3个子目录:1、2、3
命令:_mkdir {1,2,3}_
(4) 回到父目录
命令:_cd .._
(5) 列出所有文件名以“decxbx”结尾的文件(x可以是单个任意字符)
命令:_ls *dec?b?_
(6) 把文件graph_dec_b1移动到目录december中
命令:_mv graph_dec_b1 december_
(7) 把所有其余文件名以“decxbx”结尾的文件(x可以是单个任意字符)移动到目录december中
命令:_mv *dec?b? december_
(8) 把所有文件名以“sepxbx”结尾的文件(x可以是单个任意字符)移到目录september中
命令:_mv *sep?b? september_
(8) 把所有文件名以“octxbx”结尾的文件(x可以是单个任意字符)移到目录october中
命令:_mv *oct?b? october_
(10) 把所有文件名以“novxbx”结尾的文件(x可以是单个任意字符)移到目录november中
命令:_mv *nov?b? november_
(11) 进入a_reports目录,查看a_reports目录的内容
命令组合:_cd a_reports;ls_
(12) 把主目录中所有文件名以“_a1”结尾的文件移动到子目录1中
命令:_mv *_a1 a_reports/1_
(13) 进入子目录1中,并查看所有文件名包含“sep”的文件
命令组合:_cd 1;ls *sep*_
(14) 删除当前目录中文件名包含“sep”的文件,并查看当前目录内容进行验证
命令组合:_rm –d *sep*;ls_
(15) 查看当前目录
命令:_ls_
(16) 使用绝对路径名查看主目录中文件名包含“a2”的文件列表
命令:_ls /home/ronaldqinbiao/shangji2/*a2*_
(17) 使用绝对路径名将主目录中文件名包含“a2”的文件移到主目录下的
a_reports目录的2子目录中
命令:_mv /home/ronaldqinbiao/shangji2/*a2*a_reports/2_
(18) 使用相对路径名查看主目录中文件名包含“a3”的文件列表
命令:_ls ../../*a3*_
(19) 使用相对路径名将主目录中文件名包含“a3”的文件移到主目录下的
a_reports目录的3子目录中
命令:_mv ../../*a3* ../3_
(20) 返回主目录,并查看主目录内容
命令组合:_cd ~;ls_
主目录中剩下的新文件其文件名是否都是以“cx”结尾(x可以是单个任意字符)?_是_
(21) 创建目录archive,该目录将用于重要文件的存档
命令:_mkdir archive_
(22) 利用通配符把文件名以“c1”和“c2”结尾的文件复制到目录archive中
命令:_cp *{c1,c2} archive_
(23) 把所有文件名以“report_dec”开头的文件复制到目录archive中
命令:_cp report_dec* archive_
(24) 查看并删除主目录下剩余的文件名以“cx”的文件(x可以是单个任意字符)
查看命令:_ls *c?_
删除命令:_rm –d *c?_
(25) 查看主目录的及各子目录,检查文件是否放在合理位置,重要文件是否被分到
了archive目录中。
4. 文件内容处理
(1) 用vi编辑器创建文件mobile-phone.list,内容如下:
Iphone5s,apple,2013,1GB,4.0inch,1136*640,1560mAh,4400
Galaxy S5,samsung,2014,2GB,5.1inch,1920*1080,2800mAh,4999
Honor 6,Huawei,2014,3GB,5.0inch,1920*1080,3100mAh,1999
M4,xiaomi,2014,3GB,5.0inch,1920*1080,3080mAh,1999
Mx 4,meizu,2014,2GB,5.36inch,1920*1152,3100mAh,1799
HTC One M8,htc,2014,2GB,5.0inch,1920*1080,2600mAh,3680
Galaxy Note 3,samsung,2013,3GB,5.7inch,1920*1080,3200mAh,3200
Mate 7,Huawei,2014,2GB,6.0inch,1920*1080,4100mAh,2999
Honor3X,Huawei,2013,2GB,5.5inch,1280*720,3000mAh,1450
A8,Lenovo,2014,2GB,5.0inch,1280*720,2500mAh,798
(2) 找出huawei于2014年发布的手机的信息
命令:_grep Huawei,2014 mobile-phone.list_
(3) 按照手机电池容量进行排序(由高到低排)
命令:_sort –t ‘,’ –rnk 6 mobile-phone.list_
(4) 列出所有不同的屏幕分辨率(不要重复)
命令:_cut –d ‘,’ –f 6 mobile-phone.list | sort -u_
5. 查找、压缩、解压缩、打包、解包、分割、重组
(1) 在/usr目录下查找文件大小大于20M的文件并将找到的文件复制到主目录
命令:_cp –r bin ~_
(2) 回到主目录
命令:_cd ~_
(3) 将这些大于20M的文件打包并压缩成bigfiles.tar.bz2
命令:_Find /usr –size +20M –exec cp {} ~ \;
tar –cjvfbigfiles.tar.bz2 bin_
(4) 删除被打包压缩的原始文件
命令:_rm –drf bin_
(5) 将文件bigfiles.tar.bz2分割成10M一个的若干文件:bigfiles.tar.bz2.01,bigfiles.tar.bz2.02,......
命令:_split –b 10m bigfiles.tar.bz2 –dbigfiles.tar.bz2._
(6) 将分割后的文件重新组合成bigfiles_bak.tar.bz2
命令:_cat bigfiles.tar.bz2.*>bigfiles_bak.tar.bz2_
(7) 通过md5散列值验证重新组合后的bigfiles_bak.tar.bz2和原始文件bigfiles.tar.bz2相同
命令:_md5sum bigfiles.tar.bz2;md5sumbigfiles_bak.tar.bz2_
(8) 删除bigfiles.tar.bz2文件
命令:_rm –dfbigfiles.tar.bz2_
(9) 解压缩解包bigfiles_bak.tar.bz2文件
命令:_tar –xjvf bigfiles_bak.tar.bz2_