(三)压缩打包相关命令
打包压缩相关命令
命令 命令含义 格式
bzip2 .bz2文件的压缩或解压程序 bzip2[选项]压缩(解压缩)的文件名
bunzip2 .bz2文件的解压缩程序 bunzip[选项].bz2压缩文件
bzip2recover 用来修复损坏的.bz2文件 bzip2recover.bz2压缩文件
gzip .gz文件的压缩程序 gzip[选项]压缩(解压缩)的文件名
gunzip 解压被gzip压缩过的程序 gunzip[选项].gz文件名
unzip 解压winzip压缩的.zip程序 unzip[选项].zip压缩文件
tar 对文件目录进行打包或解压 tar[选项][打包后文件名]文件目录列表
1.gzip [options] 压缩(解压缩)的文件名
对文件进行压缩和解压缩,而且gzip可以根据文件类型自动识别压缩或解压缩
常见参数
-c 将输出信息写到标准输出上,并保留原文件
-d 将压缩文件解压
-l 列出压缩文件的相关信息
-r 查找指定目录并并压缩或解压缩其中的所有文件
-t 测试解压缩文件是否完整
-v 对每一个压缩和解压的文件,显示文件名和压缩比
使用gzip只能对单个文件进行压缩,而不能对目录压缩,使用-r是对目录下的所有文件一一压缩,而不是将目录压缩成一个文件
2.tar [options][打包后文件名]文件目录列表
对文件目录进行打包或解包
注意:压缩与解压是两个不同的概念.压缩是指通过一定的压缩算法将一个大的文件变成一个小文件.而打包是将一些文件或目录变成一个总的文件.
tar同样也可以自动根据文件名进行打包和解包,其中文件名为用户自定义的打包后文件名,文件目录列表可以是要进行打包备份的文件列表,也可以是要解包的文件目录列表.
主要参数:
-c,--create 建立新的打包文件
-r,--append 向打包文件尾追加文件
-x,extract 从打包文件中解出文件(可以单独给定要解压的文件名,若没有指定,则解压全部文件)
-O, 将文件解压到标准输出
-u,--update 仅置换较备份文件内的文件更新的文件
-v,verbose 处理过程中输出相关信息
-f,--file 对普通文件操作(此参数为必须参数,且是最后一个参数,后面只能接打包名)
-z,--gzip 调用gzip来压缩打包文件,与-x联用时调用gzip完成解压缩
-Z,--compress 通过compress指令处理备份文件。
-j 调用bzip2来压缩打包文件
-t,--list 列出tar文件中的内容
--delete 删除tar文件中的指定文件
特别注意:在参数c/x/t中只能同时存在一个参数
tar文件只能解压到当前系统所在路径
tar命令除了用于常规的打包命令,使用更为频繁的是用选项"-z"或"-j"调用gzip或bzip2完成不同的文件解压.
linux中常见类型的文件解压命令一览表
文件后缀 解压命令
.a tar xv
.z uncompress
.gz gunzip
.tar.Z tar xvZf
tar.bz2 tar jxvf
.zip unzip
(四)比较合并文件相关命令
1.diff [options] 文件1 文件2
比较两个不同文件或不同目录下的两个同名文件功能,并生成补丁文件(差异文件)
diff比较文件1和文件2的不同之处,并按照选项的指定格式加以输出.diff的格式分为命令格式和上下格式,其中上下格式又分为旧版本上下格式和新版本
上下格式.当选项缺省时,使用混合模式.
主要参数:
-r 对目录进行递归处理
-q 只报告文件是否不同,不输出结果
-e,-ed 命令格式
-f RCS(修订控制系统)命令简单模式
-c,--context 旧版本上下格式
-u,--unified 新版本上下格式
补充:
旧版本上下文格式输出时,在显示每个有差别行的同时还显示该行的上下三行,去别的地方用"!"加以标出.
新版本上下文格式输出时,仅把两个文件的不同之处分别列出,而相同指出没有重复列出.
命令格式符输出时仅输出了不同行,其中命令符"4c"中的数字表示行数,字母的含义为a-添加,b-删除,c-更改.
创建补丁文件是diff的功能质疑,不同的选项格式可以生成与之对应的补丁文件
小知识:
输出重定向">".通常在Linux上执行一个shell命令时,会自动打开三个标准文件:标准输入文件(stdin),即通常对应终端的键盘;标准输出文件(stdout)和
标准错误输出文件(stderr),前两个文件都对应终端的屏幕.进程将从标准输入文件中得到输入数据,并且将正常输出文件输出到标准输出文件,而将错误
文件送到标准错误文件中.这就是通常所说的标准输入/输出方式.
直接使用标准输入/输出文件存在以下问题:首先,用户输入的文件只能使用一次,当下次希望使用这些数据时不得不重新输入.同样,用户不能对输出文件
做更多处理,只能等待程序结束.
为了解决上述问题,Linux为输入输出的信息传送引入了两种方式:输入/输出重定向机制和管道,其中,输入重定向是指把命令(或可执行程序)的标准输入
重定向到指定的文件中,也就是说,输入可以不来自键盘,而来自一个指定的文件中.同样,输出重定向是指将命令(或可执行程序)的标准输出或标准错误输
出重定向到指定文件中,这样,该命令的输出就可以不显示在屏幕上,而是写入到指定文件中.这样就大大增加了输入/输出的灵活性.
2.patch[options][待patch的文件][patch文件]
patch指令让用户利用设置修补文件的方式,修改,更新原始文件。倘若一次仅修改一个文件,可直接在指令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。
常用格式为:patch -pnum[patch文件]
常见参数:
-b 生成备份文件
-d 把dir设置为解释补丁文件的当前目录
-e 把输入的补丁文件看作是ed脚本
-pnum 剥离文件名中的前NUM个目录成分,如:两个patch的文件为taq/hello.cf和zzl/hello.cf,则需要将目标路径剥去第一个"/",使用p1
-t 在执行过程中不要求任何输入
-v 显示patch的版本号
如果patch失败,patch命令会把成功的patch行不上其差异,同时生成备份文件和一个.rej文件。.rej文件里是没有提交成功的patch行,需要手工打上补丁.这种情况在源码升级的时候可能会发生.
在多数情况下,patch程序可以确定补丁文件的格式,当它不能识别时,可以使用-c,-e,-n或-u选项来指定输入的补丁文件的格式.由于只有GNU patch可以创建和读取新版上下文格式的patch文件,因此,除非能够确定补丁所面向的只是那些使用GNU工具的用户,否则应该使用旧版本的上下文格式来生成补丁文件.
为了使patch程序能够正常工作,需要上下文的行数至少是2行(即至少有一处差别的文件).
(五)网络相关命令
常见网络相关命令:
netstat 显示网络链接,路由表和网络接口信息 netstat[-an]
nslookup 查看一台机器的IP地址和所对应的域名 nslookup[IP地址/域名]
finger 查询用户的信息 finger[选项][使用者][用户@主机]
ping 用于查看网络上的主机是否在工作 ping[选项]主机名/IP地址
ifconfig 查看和配置网络接口的参数 ifconfig[选项][网络接口]
ftp 利用ftp协议上传和下载文件
telnet 利用telnet协议浏览信息 telnet[选项][IP地址/域名]
ssh 利用ssh登陆对方主机 ssh[选项][IP地址]
1.ifconfig
用于查看和配置网络接口的地址和参数,包括IP地址,网络掩码,广播地址,它的使用权限是超级用户.
格式:
ifconfig有两种使用格式,分别用于查看和更改网络接口.
①ifconfig[选项][网络接口]:用于查看当前系统的网络配置情况.
②ifconfig网络接口[选项]地址:用于配置指定接口(如eth0,eth1)的IP地址,网络掩码,广播地址等.
常见参数:
-interface 指定的网络接口,如eth0和eth1
up 激活指定的网络接口卡
down 关闭指定的网络接口卡
broadcastaddress设置接口的广播地址
point to point 启用点对点方式
address 设置指定接口的IP地址
netmast address 设置接口的子网掩码
用ifconfig命令配置的网络设备参数不需重启就可生效,但在机器重启后将会失效.
2.ftp[选项][主机名/IP地址]
该命令允许用户利用ftp协议上传和下载文件
ftp相关名in个包括使用命令和内部命令,其中使用命令的格式如上所述,主要用于登录到ftp的服务器过程中使用的.内部命令是指成功登陆后进行的一系列操作.若用户缺省"主机名/IP地址",则可在转入到ftp内部命令后继续选择登陆.
常见参数:
-v 显示远程服务器的所有相应信息
-n 限制ftp的自动登陆
-d 使用调试方式
-g 取消全局文件名
ftp常见内部命令如表:
account[password] 提供登陆远程系统成功后访问系统资源所需的不冲口令
Ascii 使用ascii类型传输方式,为缺省传输方式
bin/type binary 使用二进制文件传输方式
Bye 退出ftp回话过程
cd remote-dir 进入远程主机目录
Cdup 进入远程主机目录的父目录
chmod mode file-name 将远程主机的文件file-name设置为mode
close 中断与远程主机的回话(与open对应)
delete remote-file 删除远程主机文件
debug[debug-value] 设置调试模式,显示发送至主机的每条命令
dir/ls[remote-dir][local-file]显示远程主机目录,并将结果存入本地文件local-file
disconnection 同close
get remote-file[local-file]将远程主机的文件remote-file传至本地硬盘的local-file
lcd[dir] 将本地工作目录切换至dir
mdelete[remote-file] 删除远程主机文件
mget remote-files 传输多个远程文件
mkdir dir-name 在远程主机中建一目录
mput local-file 将多个文件传输至远程主机
open host[port] 建立指定ftp服务器链接,可指定连接端口
Passive 进入被动传输方式(在这种模式下,数据连接是由客户端发起的)
put local-file[remote-file]将本地文件local-file传送至远程主机
reget remote-file[local-file]类似于get,但若local-file不存在,则从上次传输中断处续传
size file-name 显示远程主机文件大小
System 显示远程主机操作系统
其它命令
id [options] [username]
输出用户和用户组的信息,默认为当前登陆的用户
witch command
显示终端运行的command命令的完整路径,即明确指出执行的是系统中的哪个命令
本地可能存在多个同名的命令,当在Shell中调用一个命令后,系统会按照指定目录去寻找该命令,并执行第一个查找到的
参数:
-a 显示出所有查找到的命令,不仅仅是第一个
whereis command
在标准路径下搜索与工具相关的文件
apropos
当需要完成摸个特定命令又不知道命令名字时,可使用apropos进行查询,如:apropos tar会罗列出所有含有tar字样的命令
whatis
与whereis类似,只是该命令仅会搜索与关键字完全匹配的命令
who:列出系统上的用户
第一列用户名,第二列用户链接的终端、工作站或者终端模拟器(tty1:第一个控制台;pts/0:虚拟控制台),第三列表明用户登陆的日期和时间。
当使用write命令想也其它用户通信时,使用who命令可以查看该用户是否在线
若想得到用户正在使用的终端或者登陆时间,可使用who am i命令进行查看
w:列出系统上的用户
与who类似,但可列出更多信息
第一列用户,第二列用户使用的终端设备号,第三列远程用户登陆使用的系统,第四列用户登陆系统的时间,第五列用户处于闲置状态的时间,后两列信息说明每个用户的登陆回话和所运行任务占用的计算机CPU处理时间,最后一列为每个用户正在运行的命令。第一行信息包括当前的时间,计算机运行时间,登陆的用户数目和系统的平均负载
使用skill -9 pts/3可以中断第三个虚拟终端
white username [terminal]
username为要进行通信的用户登录名
用来给一个已登陆的用户发送信息。两个用户通过write发送消息的方式是一种双向通信的方式。
mesg查看当前用户是否可以接受信息
mesg n来禁止接受其它用户发送的信息,相反,mesg y来启用接受其它用户发送的信息
wall message
向所有用户发送信息
last
查看用户的登陆信息
lastlog
查看每个用户的最后登陆信息