实验二、linux命令练习2

更新时间:2023-11-11 02:09:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二 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 ./file2

diff:比较两个不同文件或者不同目录下的两个同名文件[-u -c]常用 #diff –u ./file1 ./file2 “-u”是统一格式输出 Chmod:更改文件的权限 #chmod 764 ./filename

Chown: 变更文件或目录的拥有者或所属群组 #chown –v jelly ./hello.c

将hello.c的文件所有者改为jelly ,-v是显示更改信息

Grep:在指定的文件中搜索特定的内容,并将含有这些内容的行标准输出。 #grep “hel*” ./hello.c #cat ./hello.c |grep “hel*”

在将cat后的内容中搜索中含有hel*的行,使用了管道命令 (3)重定向和管道命令: ? 输入重定向

输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输入源。

wc< /etc/passwd wc<

>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

$ ls –al > dir.txt;将ls –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 –l

2.文件压缩命令

(1)gzip;gunzip

找一个文件对它进行使用gzip压缩、解压;zcat读取压缩内容;gzip压缩、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.gz和.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 –zxvf 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、硬链接与符号链接有什么区别?

本文来源:https://www.bwwdw.com/article/g60v.html

Top