压缩备份
bzip2
功能说明:.bz2和.bz文件的压缩程序。实际上bunzip2是bzip2的硬链接,因此不论是压缩或解压缩,都可通过bzip2指令完成。
语法:bzip2 [-options][文件…]
-d 解压缩文件。
-z 压缩文件。
-f 生成文件覆盖同名文件
-k 保留原始文件(默认只保留生成的文件)。
-t 测试.bz2压缩文件的完整性。
bunzip2
功能说明:.bz2和.bz文件的解压缩程序。
语法:bunzip2 [-fk][文件]
gzip
功能说明:.gz文件的压缩程序。实际上gunzip是gzip的硬链接,因此不论是压缩或解压缩,都可通过gzip指令完成。
语法:gzip [-options][文件…]
gzip [-r options][目录]
-d 解压缩文件。
-f 压缩文件。
-r 递归处理。
-t 测试.gz压缩文件的完整性。
gunzip
功能说明:.gz文件的解压缩程序。
语法:gunzip [-ft][文件…]
gunzip [-frt][目录]
zip
功能说明:.zip文件的压缩程序。
语法:zip [-options][压缩文件][文件/目录…][-i 文件…] [-x 文件…]
参数:
-d 从压缩文件内删除指定的文件。
-u 替换比压缩文件内副本文件新的文件,如果不在压缩文件内,将被加入到压缩文件中。
-f 替换比压缩文件内副本文件新的文件,如果不在压缩文件内,将不会被加入到压缩文件中。
-m 将文件压缩并加入指定的压缩文件后,删除原始文件。
-r 递归处理。
-S 包含系统和隐藏文件。
-y 压缩符号链接,而非该链接所指向的文件。
-i 指定要处理的文件。
-x 指定不需要处理的文件。
unzip
功能说明:.zip文件的解压缩程序。
语法:unzip [-options][压缩文件][文件][-x 文件][-d 目录]
参数:
-f 只解压缩已经存在而且压缩文件中的副本文件比现有文件新的文件。
-u 解压缩所有文件。
-t 检查压缩文件是否正确。
-n 解压缩时不覆盖现有文件。
-o 解压缩时覆盖现有文件。
-x 指定不需要处理的压缩文件中的文件。
-d 指定文件解压缩后所要存储的目录。
zipinfo
功能说明:列出.zip压缩文件信息。
语法:zipinfo [-options][压缩文件][文件][-x 文件]
参数:
-1 只列出文件名称。
-2 可搭配"-h","-t"参数使用。
-h 列出首行信息,包括压缩文件名,实际大小(bytes)和显示出来的文件数目。
-t 列出显示出来的文件数目,压缩前后的文件大小及压缩率。
-s 用"ls -l"的效果列出压缩文件的内容。
-m 和"-s"类似,并且会列出每个文件的压缩率。
-l 和"-s"类似,并且会列出原始文件的大小。
-x 指定不需要处理的压缩文件中的文件。
tar
功能说明:用来建立,还原.tar备份文件的程序。
语法:tar [-options][-f 备份文件][--delete][--remove-files][文件或目录…]
-k 还原备份文件时,不覆盖同名文件。
-j 通过bzip2指令处理备份文件(.bz2)。
-z 通过gzip指令处理备份文件(.gz)。
--remove-files 文件加入备份文件后,就将其删除。
以下参数必须用并且只能用一个:
-A 添加.tar文件到-f指定的备份文件。
-c 建立备份文件。
-r 添加文件到-f指定的备份文件。
-t 列出-f指定的备份文件的内容。
-u 只添加比备份文件中副本文件新的文件。
-x 从备份文件中还原指定的文件,如果不指定文件,就还原所有文件。
--delete 从备份文件中删除指定的文件。
文件处理
file
功能说明:显示文件类型。
语法:file [文件…]
chgrp
功能说明:变更文件或目录的所属群组。
语法:chgrp [-hR][群组名称或群组id][文件或目录…]
chgrp [-hR][--reference=参考文件或目录][文件或目录…]
参数:
-R 递归处理。
-h 处理的是符号链接而不是原文件。
--dereference 处理的是原文件而不是符号链接的。
chown
功能说明:变更文件或目录的拥有者或所属群组。设置用户采用用户名称或用户id皆可,设置群组可以群组名称或群组id。
语法:chown [-hR][--dereference][用户名称或用户id:群组名称或群组id][文件或目录…]
chown [-hR][--dereference][:群组名称或群组id][文件或目录…]
chown [-hR][--dereference][--reference=参考文件或目录][文件或目录…]
chmod
功能说明:变更文件或目录的权限。
语法:chmod [-R][权限范围+/-/=权限设置][文件或目录…]
chmod [-R][数字代号][文件或目录…]
chmod [-R][--reference=参考文件或目录][文件或目录…]
权限范围如下: 权限设置如下:
u:拥有者。 r:读权限, "4"。
g:拥有群组。 w:写权限, "2"。
o:其他用户。 x:执行权限, "1"。
a:全部的用户。 -:无任何权限,"0"。
数字代号:
拥有者的权限 | 拥有群组的权限 | 其他用户的权限 |
cp
功能说明:复制文件或目录。
语法:cp [-options][源文件或目录][目标文件或目录]
参数:
-b 若需覆盖文件,则覆盖前先行备份。
-L 当复制符号链接时,复制原文件。
-d 当复制符号链接时,把目标文件或目录也建立为符号链接。
-l 建立硬链接,而非复制文件。
-s 建立符号链接,而非复制文件。
-f 强制复制文件或目录。
-i 询问用户。
-p 保留文件或目录的所有属性。
-r 递归处理。
-u 只有文件比目标文件新时才进行复制。
mv
功能说明:移动/更名文件或目录。
语法:mv [-options][源文件或目录][目标文件或目录]
参数:
-b 若需覆盖文件,则覆盖前先行备份。
-f 强制移动文件或目录。
-i 询问用户。
-u 只有源文件比目标文件新时才进行移动。
install
语法:install [-Cp][-g 群组][-m 权限][-o 拥有者][源文件][目的文件]
install [-Cp][-g 群组][-m 权限][-o 拥有者][源文件…][目的目录]
-C 如果目的文件存在且和源文件一致,则跳过安装。
-p 保留文件的存取/更改时间。
rm
功能说明:删除文件或目录。
语法:rm [-options][文件或目录…]
参数:
-f 强制删除文件或目录。
-i 询问用户。
-r 递归处理。
find
功能说明:查找文件或目录,默认进行的是递归处理。
语法:find [目录…][-name 文件或目录]
which
功能说明:在环境变量$PATH设置的目录中查找指定的命令。
语法:which [命令]
grep
功能说明:查找文件里符合条件的字符串。
语法:grep [-options][-A 行数][-B 行数][-C 行数][-m匹配数目][范本样式][文件或目录…]
grep [-options][-A 行数][-B 行数][-C 行数][-m匹配数目]
[-e 范本样式][-f 范本文件][文件或目录…]
参数:
-A 显示匹配行之后指定行数的内容。
-B 显示匹配行之前指定行数的内容。
-C 显示匹配行前后指定行数的内容。
-F 将范本样式解释为字符串(默认是解释为正则表达式)。
-f 指定范本文件,其内容含有一个或多个范本样式(每行一个范本样式)。
-h 只显示匹配行,不显示匹配文件名(默认显示匹配文件名)。
-l 只显示匹配文件名,不显示匹配行。
-L 显示不匹配文件名。
-m 找到指定数目的匹配后就停止查找。
-i 忽略字符大小写的差别。
-r 递归处理。
-v 显示非匹配的行。
touch
语法:touch [-options][-r 参考文件或目录][-t日期时间][文件或目录…]
参数:
-a 只更改存取时间。
-m 只更改变动时间。
-t 指定日期时间:CCYYMMDDhhmm.ss
ln
功能说明:链接文件或目录。ln在文件之间创建链接,给某个文件指定另外一个可用于访问它的linkname。对于这个linkname,我们可以指定不同的访问权限,而且即使删除这个链接,也不会影响原来的目录。链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(SymbolicLink)。硬链接会在linkname的位置上生成一个和源文件大小相同的文件;软链接只在linkname的位置上生成一个文件的镜像,不会占用磁盘空间。无论是软链接还是硬链接,文件都保持同步变化。默认情况下,ln产生硬链接;如果加上-s选项,则建立符号链接。如果linkname是一个目录名,将在该目录之下建立与src同名的链接文件。
语法:如果省略链接名,则在当前文件夹下创建与target同名的链接:
ln [-options][原文件][链接名]
在指定目录下为每一个原文件创建链接:
ln [-options][原文件…][目录]
参数:
-b 若需覆盖文件,则覆盖前先行备份。
-d 建立硬链接(默认)。
-s 建立符号链接。
-f 强制建立链接。
-i 询问用户。
split
功能说明:分割文件,默认每个小文件1000行。
语法:split [-l 行数][-b 字节][文件][输出文件名]
参数:
[输出文件名] split会自动在输出文件名之后加上编号。
wc
功能说明:显示文件的行数、字数和字节数。
语法:wc [-options][文件…]
参数:
-l 显示行数。
-w 显示字数,就是以空格隔开的字的个数。
-c 显示byte数,包含文件结束符。
磁盘和目录
ls
语法:ls [-options][目录或文件…]
参数:
-a 所有文件和目录。
-l 使用详细格式列表。
-F 在可执行文件(*),目录(/),Socket(=),符号链接(@),管道名称( | )后面加上符号。
-h 以K,M,G为单位,提高信息的可读性。
-L 如遇到符号链接文件或目录,直接列出该链接所指向的原始文件或目录。
-R 递归处理。
-r 反向排序。
-S 以大小排序,从大到小。
-t 以更改时间排序。
-u 以存取时间排序。
du
功能说明:显示目录或文件的大小。
语法:du [-options][-L 符号链接][目录或文件…]
参数:
-a 显示所有目录(包括子目录),所有文件(包括子目录下文件)的大小。
-c 显示所有目录和文件的总计大小。
-D 显示符号链接的源文件大小。
-h 以K,M,G为单位,提高信息的可读性。
-s 仅显示所有目录和文件的总计大小。
-S 显示目录的大小时,并不含其子目录的大小。
mkdir
功能说明:建立目录
语法:mkdir [-p][-m 权限][目录…]
参数:
-p 若要建立目录的上层目录尚未建立,则会建立上层目录。
rmdir
功能说明:删除空目录。
语法:rmdir [-p][目录…]
参数:
-p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除。
df
功能说明:显示磁盘信息。
语法:df [-options]
参数:
-a 显示全部磁盘的信息。
-h 以K,M,G为单位,提高信息的可读性。
网络命令
telnet
语法:telnet [-a][-l 用户名][主机名或IP地址[端口]]
参数:
-a 自动登录。
ifconfig
功能说明:显示或设置网络设备。
语法:ifconfig [网络设备][inet inet6 ipx][down up allmulti arp promisc]
[add IPv6地址][del IPv6地址][hw 网络类型 物理地址]
[metric 转发数目][mtu 字节数]
[broadcast 广播地址][netmask子网掩码] [IP地址]
参数:
inet TCP/IP
inet6 IPv6
ipx NovellIPX
up 启动网络设备。
down 关闭网络设备。
arp 设定网络设备使用ARP协议。
allmulti 设定网络设备接收multicast的数据包。
promisc 设定网络设备接收网络上的所有数据包。
hw 设置网络设备的类型与物理地址,其中网络类型一般为ether。
metric 设置网络设备在接收并转发数据包时,需要加上的转发次数。
mtu 设定网络设备的MTU。
broadcast 将指定地址设定为广播地址。
netstat
功能说明:显示网络状态。
语法:netstat [-options][-A 网络类型]
参数:
-a 显示所有的socket(listening and non-listening)。
-A 可以指定的网络类型有:inet,unix,ipx等。
-c 每秒显示一次网络状态。
-e 显示网络相关信息。
-g 显示广播组成员信息。
-i 显示所有网络接口的列表。
-n 显示数字化的IP地址。
-o 显示network timer的相关信息。
-p 显示socket所属程序的名字和PID。
-r 显示内核的路由表。
-s 显示每种协议的简要统计信息。
--tcp 显示TCP的信息。
--udp 显示UDP的信息。
--raw 显示RAW的信息。
ping
功能说明:ping指令使用ICMP协议,发送需要回复的信息,若网络正常,就会收到回复。
语法:ping [-options][-c 次数][-l数据包数目][-i 间隔秒数][-I 网络设备 IP地址]
[-s 数据包大小][-p 数据包的内容][-W 等待秒数][-w 持续秒数][-t ttl值]
[主机名称或IP地址]
参数:
-b 允许ping一个广播地址。
-c 发送完指定次数的ECHO_REQUEST数据包后,停止发送。
-f 每发送一个ECHO_REQUEST数据包,就打印一个‘.’;
每收到一个ECHO_REPLY数据包,就删除一个‘.’。
-i 设定发送数据包的时间间隔,只有超级用户才能设定小于0.2s(默认是100/s)。
-I 设定发送数据包的源地址。
-l 设定在收到回复之前可以发送的数据包数目,只有超级用户才能设定大于3。
-n 显示数字化的IP地址。
-p 指定数据包的内容,最多可以指定16个字节,指定的内容重复放入数据包。
-r 忽略路由表,直接将数据包送到远端主机上,如果远端主机不是直接可达的,返回error。
-R 记录路由过程。
-s 设置数据包的大小。默认是56 bytes,加上ICMP 8bytes的header,一共就是64bytes。
-w 设定ping命令持续的秒数
-W 设置等待回复的时间,默认是2个RTT。
traceroute
功能说明:显示数据包到主机间的路径。预设数据包大小是40Bytes。
语法:traceroute [-options][-f ttl值][-i 网络接口][-m max-ttl值][-t 服务类型][-p 端口]
[-s 源IP地址>][-w 等待秒数][-z 间隔时间][主机名称或IP地址][数据包大小]
参数:
-F 设置IP包头中的DF位。
-i 使用指定的网络接口发送数据包。
-I 使用ICMP ECHO代替UDP包。
-n 显示数字化的IP地址。
-p 设置UDP的通信端口。
-r 忽略路由表,直接将数据包送到远端主机上,如果远端主机不是直接可达的,返回error。
-s 设置主机送出数据包的IP地址。
-t 设置IP包头中的TOS位。
-w 设置等待远端主机回复的时间,默认是5s。
-x 开启或关闭数据包的checksum。
-z 设置发送数据包的时间间隔,单位是ms。推荐是500,即0.5s。
语法:mail [-options][-b 密送地址][-c抄送地址][-s 邮件主题][-u 用户帐号][收信人地址]
参数:
-b 指定密件副本的收信人地址。
-c 指定副本的收信人地址。
-I 使用互动模式。
-s 指定邮件的主题。
-u 读取指定用户的邮件。
mailq
功能说明:显示待寄邮件的清单。
用户管理
useradd
功能说明:建立用户帐号。
语法:useradd [-c 备注][-d 登入目录][-e YYYY-MM-DD][-f 缓冲天数][-g 群组][-G 附加群组]
[-s shell][-p password][-u 用户ID][用户帐号]
参数:
-c 加上备注文字,备注文字会保存在passwd的备注栏位中。
-d 指定用户登入时的启始目录。
-e 指定帐号的截止日期。
-f 指定在密码过期多少天后,关闭该帐号。
userdel
功能说明:删除用户帐号。
语法:userdel [-r][用户帐号]
补充说明:若不加参数-r,则仅删除用户帐号,而不删除相关文件。
usermod
功能说明:修改用户帐号。
语法:usermod [-LU][-c 备注][-d 登入目录][-e 截止日期][-f 缓冲天数][-g 群组][-G 附加群组]
[-s shell][-p password][-l 帐号名称][-u 用户ID][用户帐号]
参数:
-L 锁定用户密码。
-U 解除密码锁定。
passwd
语法:passwd [-options][用户帐号]
补充说明:只有管理者可以指定用户名称,一般用户只能变更自己的密码。
参数:
-d 删除密码,只有系统管理者才能使用。
-k 设置只有在密码过期失效后,方能更新。
-l 锁住密码。
-u 解锁密码。
logname
功能说明:显示当前用户的名称。
whoami
功能说明:显示当前用户名称。
id
功能说明:显示用户的ID,以及所属群组的ID。
语法:id [用户帐号]
w
功能说明:显示目前登入系统的用户信息。
语法:w [用户名称]
who
功能说明:显示目前登入系统的用户信息。
语法:who [-options]
参数:
-H 显示标题信息。
-w 显示用户信息状态栏。
-u 显示闲置时间,格式:HH:MM
-q 只显示登入系统的帐号名称和总人数。
finger
功能说明:查找并显示用户信息。
语法:finger [用户名称]
补充说明:用户名称没有大小写的区别。
chfn
功能说明:改变finger指令显示的信息。
语法:chfn [-f 真实姓名][-h 家中电话][-o 办公地址][-p 办公电话][帐号名称]
补充说明:若不指定任何参数,则chfn指令会进入问答式界面。
last
功能说明:列出目前与过去登入系统的用户相关信息。
语法:last [-options][-t YYYYMMDDHHMMSS][帐号名称][终端机编号]
参数:
-d 将IP地址转换成主机名称。
-t 显示指定时间时用户的登录信息
su
功能说明:变更用户身份。
sudo
功能说明:以其他身份来执行指令。
语法:sudo [-u 用户][指令]
补充说明:用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
用户组管理
groupadd
功能说明:新建群组。
语法:groupadd [-g 群组id][群组名称]
groupdel
功能说明:删除群组。
语法:groupdel [群组名称]
补充说明:如果群组中仍包括用户,则必须先删除用户后,方能删除群组。
groupmod
功能说明:更改群组id或名称。
语法:groupmod [-g 群组id][-n 新群组名称][群组名称]
newgrp
功能说明:登入另一个群组。
语法:newgrp [群组名称]
补充说明:newgrp指令是以相同的帐号,另一个群组名称,再次登入系统。若不指定群组名称,则newgrp指令会登入预设群组。
系统管理
alias
功能说明:设置指令的别名。
语法:alias [别名]=[指令名称]
补充说明:若仅输入alias,则可列出目前所有的别名设置。alias的效力仅限于本次登录。若要在每次登录中使用别名,可在.profile中设定指令的别名。
unalias
功能说明:删除别名。
语法:unalias [-a][别名]
参数:
-a 删除全部的别名。
export
功能说明:设置或显示环境变量。
语法:export [-options][变量名称]=[变量设置值]
补充说明:export的效力仅限于本次登录。
参数:
-p 列出所有的环境变量。
chsh
功能说明:更换登入系统时使用的shell。
语法:chsh [-l][-s shell][用户名称]
补充说明:若不指定任何参数与用户名称,则chsh会以交互的方式进行设置。
参数:
-l 列出目前系统可用的shell清单。
date
功能说明:显示或设置系统时间与日期。
语法:date [-u][MMDDhhmmCCYYss]
补充说明:只有管理员才能设置日期与时间。若不加任何参数,data会显示目前的日期与时间。
参数:
-u 显示GMT。
free
功能说明:显示内存状态。
语法: free [-options][-s 间隔秒数][-c 显示次数]
参数:
-t 显示内存总数。
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
ps
语法:ps [-options][options][-C 进程名称] [-p pid>][-s sessionid][-t 终端编号]
[-G real群组名称或群组id][-g effective群组名称]
[-U real用户名称或用户id][-u effective用户名称或用户id]
参数[-options]:
-e 显示所有进程。
-f 采用full-format显示。
-F 采用extra full-format显示。
-l 采用long format显示。
-L 显示线程,并显示LWP和NLWP信息。
-T 显示线程,并显示SPID信息。
-H 采用树状结构显示。
-m 在进程之后显示线程。
参数[options]:
T 只显示当前终端的进程
r 只显示运行的进程
s 采用signal format显示
u 采用user oriented format显示
v 采用virtual memory format显示
S 将死亡子进程的一些信息加到父进程中
f 采用树状结构显示。
H 将线程当作是进程来显示
pstree
功能说明:以树状图显示进程。
语法:pstree [-options][-H pid][pid/用户名称]
补充说明:如果不指定pid或用户名称,则会把系统启动时的第一个进程视为基层,并显示之后的所有进程。若指定用户名称,便会以隶属该用户的第一个进程当作基层,然后显示该用户的所有进程。
参数:
-a 显示每个进程的完整指令,包含路径,参数等。
-c 不使用精简标示法。
-h 特别标明现在执行的进程。
-H 特别标明指定的进程。
-n 用进程id排序。预设是以进程名称来排序。
-p 显示进程id。
-u 显示用户名称。
jobs
语法:jobs [-options]
-l 列出pid
-r 只显示执行中的jobs
-s 只显示已经停止的jobs
kill
功能说明:删除执行中的process或job。
语法:kill [-s 信号名称或编号][pid/pgid/jobspec]
kill -l
补充说明:kill可将指定信号送至程序,预设信号为SIGTERM(15)。若仍无法终止程序,可使用SIGKILL(9)信号强制删除程序。
-l 列出全部的信号名称。
nice
功能说明:设置优先权。
语法:nice [-n 优先等级][程序名称]
补充说明:优先等级的范围从-20-19,其中-20最高,19最低,只有系统管理者可以设置负数的等级。
renice
功能说明:调整优先权。
语法:renice [-n 优先等级][-g 群组id][-p pid][-u 用户id]
补充说明:优先等级的范围从-20-19,其中-20最高,19最低,只有系统管理者可以改变其他用户程序的优先权,也仅有系统管理者可以设置负数等级。
halt
语法:halt [-f]
补充说明:halt先检查runlevel,若为0或6,则关闭系统,否则调用shutdown关闭系统。
参数:
-f 不论runlevel是多少,都不调用shutdown关闭系统。
reboot
语法:reboot [-f]
参数:reboot先检查runlevel,若为0或6,则关闭系统,否则调用shutdown关闭系统。
-f 不论runlevel是多少,都不调用shutdown关闭系统。
poweroff
功能说明:关闭系统。
shutdown
语法:shutdown [-options][时间][警告信息]
参数:
-h 将系统关机。
-k 只是送出信息给所有用户,但不会实际关机。
-r 重新启动。
时间可以取绝对时间:HH:MM;
也可以取相对时间:+m;
也可以取“now”表示现在就关机。
tload
功能说明:显示系统负载状况。
语法:tload [-d 间隔秒数][-s 刻度大小][终端编号]
参数:
-s 设置图表的垂直刻度大小,单位以列计算。
top
功能说明:显示,管理执行中的程序。
语法:top [-options][-d 刷新间隔秒数][-n<显示次数>][-p pid]
[-U real用户名称或用户id][-ueffective用户名称或用户id]
参数:
-c 列出程序时,显示每个程序的完整指令,包括指令名称,路径和参数等相关信息。
-i 只显示执行top指令时,忽略idle或Zombie的程序。
uname
功能说明:显示系统信息。
语法:uname [-options]
参数:
-a 显示全部的信息。
-m 显示电脑类型。
-p 显示CPU类型。
-n 显示在网络上的主机名称。
-r 显示内核发行编号。
-o 显示操作系统。
-s 显示内核名称。
-v 显示内核版本。
vlock
功能说明:锁住虚拟终端。
语法:vlock