1、在你的工作目录下同时建立五个子目录,d1、d2和d3、d4、d5;在d1目录下同时建立的d11、d12目录,指定d11和d12目录的权限为文件的主人具有全部的权限、同组人可读可写,其他人只能执行。
–m选项用来设置目录的权限。对目录的读写执行权限分别为4、2、1,它们的和表达了对该目录的权限。
-m的格式为mkdir –m [参数] [目录名],这里的参数由三位如上所说的数字组成,分别代表目录所有者的权限、组中其他人对目录的权限和系统中其他人对目录的权限。常用的组合如下表所示:
参数 | 含义 |
600 | 只有所有者有读和写的权限 |
644 | 所有者有读和写的权限,组用户只有读的权限 |
666 | 每个人都有读和写的权限 |
700 | 只有所有者有读和写以及执行的权限 |
777 | 每个人都有读和写以及执行的权限 |
mkdir d1 d2 d3 d4 d5
mkdir -m 761 d1/{d11,d12}
2、在d1目录下建立有内容的文件dfile1、dfile2、dfile3.更改dfile3为隐含文件。建立dfile1的符号链接文件为ldfile1,硬链接文件为hdfile1,显示d1目录下文件的索引节点号。
cd d1
cat >dfile1
this is dfile1
cat >dfile2
this is dfile2
cat >dfile3
this is dfile3
mv dfile3 .dfile3
ln -s dfile1 ldfile1
ln dfile1 hdfile1
ls -il
3、把d1目录下的文件和子目录,复制到d2目录下,(d1是d2的子目录,且复制后链接可用);把隐含文件复制到d3目录;
cp功能描述:将文件或目录复制到另一文件或目录中。如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
语法:cp [选项] [源文件或目录] [目的文件或目录] cp [选项] 源文件组 目标目录 cp命令可以复制多个文件,将要拷贝的多个文件的由空格分隔,所形成的列表称为源文件组。
选项 | 作用 |
-b | 将要覆盖的文件做备分 |
-i | 覆盖前查询,提示是否覆盖已存在的目标文件 |
-f | 强制复制文件,若目标文件无法打开则将其移除并重试 |
-p | 保留源文件或目录的属性,如日期 |
-R | 拷贝所有文件及目录 |
–a | 文件数据复制,并且对每一个现有目标文件的属性进行备份 |
-H | 跟踪源文件中的命令行符号链接 |
–l | 硬链接文件,而不复制文件本身 |
–L | 总是跟随源文件中的符号链接 |
–n | 不要覆盖已存在的文件 |
-d | 复制时保留链接。 |
–P | 不跟随源文件中的符号链接 |
–s | 只创建符号链接而不复制文件 |
–t | 将所有参数指定的源文件/目录复制到目标目录下 |
–T | 将目标目录视为普通文件 |
–u | 只在源文件比目标文件新或目标文件不存在时才进行复制 |
–v | 显示详细的进行步骤 |
–x | 不跨越文件系统进行操作 |
如果目标目录存在,就复制到目录下,如果目标目录不存在,就是生成一个文件。
cp -dR d1 d2
cd d1
cp .dfile3 d3
ls -al
4、复制d2目录下d1子目录的dfile1文件,复制后的文件名为dfile2,原dfile2作备份。
复制并覆盖已有文件
$ cp –i a1 a2 复制文件a1为a2,如果文件a2存在,则询问是否覆盖a2
$ cp –b a1 a2 复制文件a1为a2,若a2存在,则将a2覆盖并做备份
cd d2
cd d1
cp -b dfile1 dfile2
ls -l
5、更改第二题的硬链接文件名为 ydfile1。
cd d1
mv -i hdfile1 ydfile1
6、用tar和zip命令压缩原d1目录,文件名自定,比较压缩后文件的大小
压缩(打包)文件或目录并命名,如果是目录的压缩,包括子目录,递归压缩。
把目录 打包,有时打包后比打包前大。
参数-cf只是打包,主要是把目录或文件打包,压缩比例很小,甚至压缩后文件变大。
tar -cf d1.tar d1
ls -Rl d1
zip -r d1.zip ./d1
7、用gzip命令压缩d2目录。
gzip功能描述: gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,用Lempel- Ziv coding (LZ77)技术压缩文件,压缩后文件格式为. gz ,只压缩不打包。 gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。
语法:gzip [选项] [文件]
选项 | 作用 |
-1 | 是数字1,表示快速压缩 |
-9 | 9代表最佳状况压缩 |
-r | 递归式地查找指定目录并压缩其中的所有文件或者是解压缩 |
–c | 压缩结果写入标准输入,源文件保持不变 |
–v | 对每一个压缩和解压的文件,显示文件名和压缩比 |
–d | 解压缩指定文件 |
–t | 测试压缩文件的完整性 |
-l | 对每个压缩文件,显示压缩文件的大小、未压缩文件的大小、压缩比、未压缩文件的名字等详细信息。 |
gzip -r d2
8、在d4目录解压缩第6题tar的压缩文件;在d5目录解压缩第6题zip的压缩文件。
使用sudo tar -xzvf d1.tar -C /d4解压缩时,会出现报错
最后发现这个压缩包没有用gzip格式压缩,所以不用加z参数,不是所有的解压包都得用-xzvf
sudo tar -vxf d1.tar -C d4
功能描述:Zip是一个压缩和归档工具,压缩文件时使用zip命令。会创建一个带.zip扩展名的zip文件。
语法: zip[选项]压缩文件名 需要压缩的文件
选项 | 作用 |
-f | 以新文件取代现有文件 |
-u | 只更新改变过的文件和新文件 |
-d | 从 zip 文件移出一个文件 |
-m | 将特定文件移入 zip 文件中,并且删除特定文件 |
-r | 递归压缩子目录下的所有文件,包括子目录 |
-j | 只储存文件的名称,不含目录 |
-1 | 最快压缩,压缩率最差 |
-9 | 表示最慢速度的压缩(最佳化的压缩),预设值为 -6 |
-q | 安静模式,不会显示相关讯息和提示 |
-v | 显示版本资讯或详细讯息 |
unzip功能描述:解压缩zip文件。
语法:unzip [选项]压缩文件名
选项 | 作用 |
–x | "文件列表" 解压文件,但不包含文件列表中指定的文件。 |
–t | 测试压缩文件有无损坏,并不解压。 |
–v | 查看压缩文件的详细信息,具体包括压缩文件中包含的文件大小、文件名和压缩比等,并不解压。 |
-n | 解压时不覆盖已经存在的文件。 |
–o | 解压时覆盖已经存在的文件,并且不要求用户确认。 |
-d | 目录名把压缩文件解压到指定目录下。 |
cd d5
pwd
/home/kancy/d5
unzip -n d1.zip -d/home/kancy/d5
cd d5
ls -l
9、自己出题,练习使用zip的参数-d,-m,-x。
#zip –d d1.zip d1/d1.txt 删除压缩文件d1.zip中的文件d1/d1.txt
#zip –m d1.zip text0 向压缩文件d1.zip中添加text0文件
#zip -r bb2.zip bb -x bb/a2 压缩bb目录及子目录,但不包括bb下的a2文件
10、自己出题,练习使用命令gzip加参数-r和不加-r的区别。
$gzip -r Documents 压缩Documents下的所有文件为.gz 文件,压缩目录,我们看到也是单个文件压缩,不打包。
压缩目录加参数-r,实际是压缩当前目录下的文件,同时压缩子目录下的文件。
11、给/etc/passwd 文件备份,文件名为/etc/passwd1。
sudo cp -b passwd passwd1