实验二 Linux常用管理命令(2)一、 实验内容掌握Linux下常用的文件及目录的操作命令;掌握文件打包及压缩命令;学 会使用帮助信息二、 实验目的及要求1. 了解Linux下的Shell常用命令;2. 掌握文件及目录操作命令;3. 掌握文件打包、压缩命令;4. 掌握联机帮助命令的使用方法三、 实验环境及条件软件:PC机操作系统linux四、 实验设计及实施指导1.文件及目录操作命令(1) 练习常用shell命令Date、bc、echo、last、history等Date:用来显示或设定系统的日期与时间Bc:打开计算器,退出时,使用“ quit”Last::查找/var/log/wtmp文件,并且显示在此文件创建后的所有登陆用 户可以指定数字或者时间来显示用户的登录情况History:在命令上敲打的内容的历史记录(2) 练习文件及目录常用的管理命令ls find cat grep comm diff cp rm mv wc;mkdir rmdir chmod chown ln pwd cd 提示:在Linux下用wc进行计数返回文件的行数、字数、字节数等wc -m filename:显示一个文件的字符数wc -l filename:显示一个文件的行数wc -L filename:显示一个文件中的最长行的长度wc -w filename:显示一个文件的字数comm:比较两个已排过序的文件[-1 ; -2; -3]#comm -1 ./file1 ./file2diff :比较两个不同文件或者不同目录下的两个同名文件[-u -c]常用#diff -u ./file1 ./file2“-u”是统一格式输出Chmod:更改文件的权限#chmod 764 ./filenameChown:变更文件或目录的拥有者或所属群组#chown -v jelly ./hello.c将hello.c的文件所有者改为jelly , -v是显示更改信息Grep:在指定的文件中搜索特定的内容,并将含有这些内容的行标准输出。
grep "hel*” ./hello.c#cat ./hello.c |grep "hel*”在将cat后的内容中搜索中含有hel*的行,使用了管道命令(3)重定向和管道命令:■输入重定向输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中 输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输 入源wc< /etc/passwdwc<this text forms the content>this text forms the content2s>this text forms the contents>!■ 输出重定向输出重定向是指把命令(或可执行程序)的标准输出或标准错误输出重新定 向到指定文件中这样,该命令的输出就不显示在屏幕上,而是写入到指定文件 中 ls >directory.out$ ls >>directory.out利用重定向将命令组合在一起,可实现系统单个命令不能提供的新功能.例:统计/usr/bin目录下的文件个数:$ls /usr/bin>/tmp/dir$wc - w dir.txt ;将姑-al命令结果输出到dir.txt文件;$ cat data1.txt >>data2.txt。
将data1.txt 内容附加到data2.txt 文 件之后;$ ls | grep conf搜索并显示ls命令运行结果中含有“conf”字符串 的行;建立mydir目录,并复制一些文件及子目录$ yes | rm - r mydir 用yes命令重复输出“y”字符的特性,将结 果传给rm命令,如此即可避免重复输入“ y”■ 管道将一个程序或命令的输出作为另一个程序或命令的输入,有两种方法,一种 是通过一个临时文件将两个命令或程序结合在一起;另一种是Linux所提供的管 道功能这种方法比前一种方法更好ls /usr/bin|wc -w管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个 命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的 输入,以此类推显示在屏幕上的是管道行中最后一个命令的输出(如果命令行 中未使用输出重定向)cat sample.txt|grep “High”|wc - l2.文件压缩命令(1) gzip; gunzip找一个文件对它进行使用gzip压缩、解压;zcat读取压缩内容;gzipE缩、 gunzip解压,分等级压缩,并比较大小。
压缩指令:这条指令会自动生成为hello.c.zip,且源文件消失#gzip - v ./hello.c-v选项是显示文件名和压缩比zcat ./hello.c.gz以上是读取压缩内容gunzip - v ./hello.c.gz以上是解压指令,解压后会自动生成为hello.c且源文件消失gzip - d ./hello.c.gz解压也可以使用上面这条命令2) bzip2;bunzip2bzip2找一个文件对它进行使用bzip2压缩、解压;bzcat读取压缩内容;bzip2压 缩、bunzip2解压,分等级压缩,并比较大小压缩指令:这条指令会自动生成为hello.c.zip,且源文件消失#bzip2 - v ./hello.c-v选项是显示文件名和压缩比bcat ./hello.c.bz2以上命令是读取压缩内容 bunzip2 - v ./hello.c.bz2以上是解压指令,解压后会自动生成为hello.c且源文件消失 bzip2 -d ./hello.c.bz2解压也可以使用上面这条命令比较 gzip 和 bzip2:gzip的压缩比是79.5%,bzip2是78.5%,是以hello.c为例实验了几个例子,都 是gzip的压缩比大于bzip2。
3) tar找一个文件对它进行使用tar打包和解包;压缩和解压缩(gzip格式和bzip2格式)针对这个文件建立压缩包(.tar.gzK^.tar.bz2),并解压解包tar - czvf hello.c.tar ./hello.c (hello.tar 是打包后的文件名 “./hello.c"才是被打包的文件,源文件还存在)#gzip - v hello.c.tar用gzip压缩hello.c.tar后,文件会变成hello.c.tar.gz,压缩比是负的(-1.7% )bzip2 - v hello.c.tar用gzip压缩hello.c.tar后,文件会变成hello.c.tar.bz2,压缩比是负的(-53.9%)tar Nxvf hello.c.tar用以上命令后,源文件不存在,自动生成hello.c,解包时选项中不能含有“-c”3) zip;unzip找一个文件对它进行使用zip压缩或者解压;使用zip压缩;unzip解压缩zip mnt.zip mnt以上是压缩命令unzip mnt.z以上是解压命令3.连接文件命令(1) ln [选项]目标[链接名]$ ln - s lunch /home/xu用户为当前目录下的文件lunch创建了一个符号 链接/home/xu(2) ln [选项]目标目录#ln - s lunch /home执行以上命令后会在home目录下建立一个新的连接文件名为lunch.但是不 能执行硬连接。
硬连接的连接名不能是目录五、思考问题1、硬链接与符号链接有什么区别?。