P81-87(系统信息)
01.时间和日期
date:查看系统日期
cal:calendar查看日历,-y选项可以查看一年日历
02.磁盘信息
df -h:disk free显示磁盘剩余空间
du -h[目录名]:disk usage显示目录下文件大小(-h以人性化方式显示文件大小)
/看根目录
03. 进程信息
当前正在执行的一个程序是进程
ps aux:process status查看进程的详细状况
top:动态显示运行中的进程并且排序
kill [-9] 进程代号:终止指定代号进程,-9是强制终止
ps
Linux ps命令用于显示当前进程 (process) 的状态。
语法
1 | ps [options] [--help] |
参数:
- ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
- -A 列出所有的行程
- -w 显示加宽可以显示较多的资讯
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的行程(
- au(x) 输出格式 :(常用)
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- USER: 行程拥有者
- PID: pid
- %CPU: 占用的 CPU 使用率
- %MEM: 占用的记忆体使用率
- VSZ: 占用的虚拟记忆体大小
- RSS: 占用的记忆体大小
- TTY: 终端的次要装置号码 (minor device number of tty)
- STAT: 该行程的状态:
- D: 无法中断的休眠状态 (通常 IO 的进程)
- R: 正在执行中
- S: 静止状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- W: 没有足够的记忆体分页可分配
- <: 高优先序的行程
- N: 低优先序的行程
- L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
- START: 行程开始时间
- TIME: 执行的时间
- COMMAND:所执行的指令
- x:显示没有控制终端的进程(会显示很多)
实例
1 | # ps -A 显示进程信息 |
显示指定用户信息
1 | # ps -u root //显示root进程用户信息 |
显示所有进程信息,连同命令行
1 | # ps -ef //显示所有命令,连带命令行 |
top
(Linux top命令用于实时显示 process 的动态。(好玩哪)
使用权限:所有使用者。
语法
1 | top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] |
参数说明:
- d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
- q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
- c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
- s : 安全模式,将交谈式指令取消, 避免潜在的危机
- i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
- n : 更新的次数,完成后将会退出 top
- b : 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内
实例
显示进程信息
1 | # top |
显示完整命令
1 | # top -c |
以批处理模式显示程序信息
1 | # top -b |
以累积模式显示程序信息
1 | # top -S |
设置信息更新次数
1 | top -n 2 |
设置信息更新时间
1 | # top -d 3 |
显示指定的进程信息
1 | # top -p 139 |
显示更新十次后退出
1 | top -n 10 |
使用者将不能利用交谈式指令来对行程下命令
1 | top -s |
kill
Linux kill命令用于删除执行中的程序或工作。
kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或jobs指令查看。
语法
1 | kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>] |
参数说明:
- -l <信息编号> 若不加<信息编号>选项,则-l参数会列出全部的信息名称。
- -s <信息名称或编号> 指定要送出的信息。
- [程序] [程序]可以是程序的PID或是PGID,也可以是工作编号。
实例
杀死进程
1 | # kill 12345 |
强制杀死进程
1 | # kill -KILL 123456 |
发送SIGHUP信号,可以使用一下信号
1 | # kill -HUP pid |
彻底杀死进程
1 | # kill -9 123456 |
显示信号
1 | # kill -l |
杀死指定用户所有进程
1 | #kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程 |
P88-92(其他命令)
1.查找文件
find
Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
语法
1 | find path -option [ -print ] [ -exec -ok command ] {} \; |
参数说明 :
find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比文件 file 更晚被读取过的文件
-atime n : 在过去n天内被读取过的文件
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比文件 file 更新的文件
-ctime n : 在过去n天内被修改过的文件
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写(常用)
-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。
d: 目录
c: 字型装置文件
b: 区块装置文件
p: 具名贮列
f: 一般文件
l: 符号连结
s: socket
-pid n : process id 是 n 的文件
你可以使用 ( ) 将运算式分隔,并使用下列运算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
实例
将目前目录及其子目录下所有延伸档名是 c 的文件列出来。(经典)
1 | # find . -name "*.c" |
将目前目录其其下子目录中所有一般文件列出
1 | # find . -type f |
将目前目录及其子目录下所有最近 20 天内更新过的文件列出
1 | # find . -ctime -20 |
查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:
1 | # find /var/log -type f -mtime +7 -ok rm {} \; |
查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
1 | # find . -type f -perm 644 -exec ls -l {} \; |
为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:
1 | # find / -type f -size 0 -exec ls -l {} \; |
2. 软链接(类似快捷方式)
ln -s 被链接的源文件 起的文件名
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
例如:ln -s /bin/less /usr/local/bin/less
-s 是代号(symbolic)的意思。
这 里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接 和硬链接两种,软链接就是ln -s ** *,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln * **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了。
不加-s是硬链接,ls -l可以查看硬链接数
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less
-s 是代号(symbolic)的意思。
这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又 软链接和硬链接两种,软链接就是ln –s ** *,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln * **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。
指令详细说明
指令名称 : ln
使用权限 : 所有使用者
使用方式 : ln [options] source dist,其中 option 的格式为 :
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[–help] [–version] [–]
说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档 案系统中,而软连结却可以跨越不同的档案系统。
ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。
不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
语法
1 | ln [参数][源文件或目录][目标文件或目录] |
其中参数的格式为
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[–help] [–version] [–]
命令功能 :
Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
软链接:(用绝对路径)
- 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
- 2.软链接可以 跨文件系统 ,硬链接不可以
- 3.软链接可以对一个不存在的文件名进行链接
- 4.软链接可以对目录进行链接
硬链接:
- 1.硬链接,以文件副本的形式存在。但不占用实际空间。
- 2.不允许给目录创建硬链接
- 3.硬链接只有在同一个文件系统中才能创建
命令参数
必要参数:
- -b 删除,覆盖以前建立的链接
- -d 允许超级用户制作目录的硬链接
- -f 强制执行
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
- -s 软链接(符号链接)(常用)
- -v 显示详细的处理过程
选择参数:
- -S “-S<字尾备份字符串> “或 “–suffix=<字尾备份字符串>”
- -V “-V<备份方式>”或”–version-control=<备份方式>”
- –help 显示帮助信息
- –version 显示版本信息
实例
给文件创建软链接,为log2013.log文件创建软链接link2013,如果log2013.log丢失,link2013将失效:
1 | ln -s log2013.log link2013 |
输出:
1 | [root@localhost test]# ll |
给文件创建硬链接,为log2013.log创建硬链接ln2013,log2013.log与ln2013的各项属性相同
1 | ln log2013.log ln2013 |
输出:
1 | [root@localhost test]# ll |
P93(软链接硬链接)
linux中文件名和文件数据分开存储
删除文件,软链接自动删除,文件数据自动删除,硬链接不会删除,文件数据还可以硬链接读取,几乎不会用硬链接。
P94-97打包压缩
windows中:rar
mac中:zip
linux:tar.gz
Linux tar命令用于备份文件。
tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
tar -cvf 打包文件.tar 被打包文件/路径… #打包
tar -xvf 打包文件.tar#解压
语法
1 | tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <区块数目>][-C <目的目录>][-f <备份文件>][-F <Script文件>][-K <文件>][-L <媒体容量>][-N <日期时间>][-T <范本文件>][-V <卷册名称>][-X <范本文件>][-<设备编号><存储密度>][--after-date=<日期时间>][--atime-preserve][--backuup=<备份方式>][--checkpoint][--concatenate][--confirmation][--delete][--exclude=<范本样式>][--force-local][--group=<群组名称>][--help][--ignore-failed-read][--new-volume-script=<Script文件>][--newer-mtime][--no-recursion][--null][--numeric-owner][--owner=<用户名称>][--posix][--erve][--preserve-order][--preserve-permissions][--record-size=<区块数目>][--recursive-unlink][--remove-files][--rsh-command=<执行指令>][--same-owner][--suffix=<备份字尾字符串>][--totals][--use-compress-program=<执行指令>][--version][--volno-file=<编号文件>][文件或目录...] |
参数:
- -A或–catenate 新增文件到已存在的备份文件。
- -b<区块数目>或–blocking-factor=<区块数目> 设置每笔记录的区块数目,每个区块大小为12Bytes。
- -B或–read-full-records 读取数据时重设区块大小。
- -c或–create 建立新的备份文件。
- -C<目的目录>或–directory=<目的目录> 切换到指定的目录。
- -d或–diff或–compare 对比备份文件内和文件系统上的文件的差异。
- -f<备份文件>或–file=<备份文件> 指定备份文件。
- -F<Script文件>或–info-script=<Script文件> 每次更换磁带时,就执行指定的Script文件。
- -g或–listed-incremental 处理GNU格式的大量备份。
- -G或–incremental 处理旧的GNU格式的大量备份。
- -h或–dereference 不建立符号连接,直接复制该连接所指向的原始文件。
- -i或–ignore-zeros 忽略备份文件中的0 Byte区块,也就是EOF。
- -k或–keep-old-files 解开备份文件时,不覆盖已有的文件。
- -K<文件>或–starting-file=<文件> 从指定的文件开始还原。
- -l或–one-file-system 复制的文件或目录存放的文件系统,必须与tar指令执行时所处的文件系统相同,否则不予复制。
- -L<媒体容量>或-tape-length=<媒体容量> 设置存放每体的容量,单位以1024 Bytes计算。
- -m或–modification-time 还原文件时,不变更文件的更改时间。
- -M或–multi-volume 在建立,还原备份文件或列出其中的内容时,采用多卷册模式。
- -N<日期格式>或–newer=<日期时间> 只将较指定日期更新的文件保存到备份文件里。
- -o或–old-archive或–portability 将资料写入备份文件时使用V7格式。
- -O或–stdout 把从备份文件里还原的文件输出到标准输出设备。
- -p或–same-permissions 用原来的文件权限还原文件。
- -P或–absolute-names 文件名使用绝对名称,不移除文件名称前的”/“号。
- -r或–append 新增文件到已存在的备份文件的结尾部分。
- -R或–block-number 列出每个信息在备份文件中的区块编号。
- -s或–same-order 还原文件的顺序和备份文件内的存放顺序相同。
- -S或–sparse 倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。
- -t或–list 列出备份文件的内容。
- -T<范本文件>或–files-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让tar解开或建立符合设置条件的文件。
- -u或–update 仅置换较备份文件内的文件更新的文件。
- -U或–unlink-first 解开压缩文件还原文件之前,先解除文件的连接。
- -v或–verbose 显示指令执行过程。
- -V<卷册名称>或–label=<卷册名称> 建立使用指定的卷册名称的备份文件。
- -w或–interactive 遭遇问题时先询问用户。
- -W或–verify 写入备份文件后,确认文件正确无误。
- -x或–extract或–get 从备份文件中还原文件。
- -X<范本文件>或–exclude-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让ar排除符合设置条件的文件。
- -z或–gzip或–ungzip 通过gzip指令处理备份文件。
- -Z或–compress或–uncompress 通过compress指令处理备份文件。
- -<设备编号><存储密度> 设置备份用的外围设备编号及存放数据的密度。
- –after-date=<日期时间> 此参数的效果和指定”-N”参数相同。
- –atime-preserve 不变更文件的存取时间。
- –backup=<备份方式>或–backup 移除文件前先进行备份。
- –checkpoint 读取备份文件时列出目录名称。
- –concatenate 此参数的效果和指定”-A”参数相同。
- –confirmation 此参数的效果和指定”-w”参数相同。
- –delete 从备份文件中删除指定的文件。
- –exclude=<范本样式> 排除符合范本样式的文件。
- –group=<群组名称> 把加入设备文件中的文件的所属群组设成指定的群组。
- –help 在线帮助。
- –ignore-failed-read 忽略数据读取错误,不中断程序的执行。
- –new-volume-script=<Script文件> 此参数的效果和指定”-F”参数相同。
- –newer-mtime 只保存更改过的文件。
- –no-recursion 不做递归处理,也就是指定目录下的所有文件及子目录不予处理。
- –null 从null设备读取文件名称。
- –numeric-owner 以用户识别码及群组识别码取代用户名称和群组名称。
- –owner=<用户名称> 把加入备份文件中的文件的拥有者设成指定的用户。
- –posix 将数据写入备份文件时使用POSIX格式。
- –preserve 此参数的效果和指定”-ps”参数相同。
- –preserve-order 此参数的效果和指定”-A”参数相同。
- –preserve-permissions 此参数的效果和指定”-p”参数相同。
- –record-size=<区块数目> 此参数的效果和指定”-b”参数相同。
- –recursive-unlink 解开压缩文件还原目录之前,先解除整个目录下所有文件的连接。
- –remove-files 文件加入备份文件后,就将其删除。
- –rsh-command=<执行指令> 设置要在远端主机上执行的指令,以取代rsh指令。
- –same-owner 尝试以相同的文件拥有者还原文件。
- –suffix=<备份字尾字符串> 移除文件前先行备份。
- –totals 备份文件建立后,列出文件大小。
- –use-compress-program=<执行指令> 通过指定的指令处理备份文件。
- –version 显示版本信息。
- –volno-file=<编号文件> 使用指定文件内的编号取代预设的卷册编号。
实例
压缩文件 非打包
1 | # touch a.c |
列出压缩文件内容
1 | # tar -tzvf test.tar.gz |
解压文件
1 | # tar -xzvf test.tar.gz |
Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。
tar
最常用的打包命令是 tar,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以 .tar 结尾的。生成 tar 包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲 tar 命令的基本用法。
tar 命令的选项有很多(用 man tar 可以查看到),但常用的就那么几个选项,下面来举例说明一下:
1 | # tar -cf all.tar *.jpg |
这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。
1 | # tar -rf all.tar *.gif |
这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去,-r 是表示增加文件的意思。
1 | # tar -uf all.tar logo.gif |
这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u 是表示更新文件的意思。
1 | # tar -tf all.tar |
这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。
1 | # tar -xf all.tar |
这条命令是解出 all.tar 包中所有文件,-x 是解开的意思。
以上就是 tar 的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能。这就是 tar 可以在打包或解包的同时调用其它的压缩程序,比如调用 gzip、bzip2 等。
1) tar调用
gzip 是 GNU 组织开发的一个压缩程序,.gz 结尾的文件就是 gzip 压缩的结果。与 gzip 相对的解压程序是 gunzip。tar 中使用 -z 这个参数来调用gzip。下面来举例说明一下:
1 | # tar -czf all.tar.gz *.jpg |
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,包名为 all.tar.gz。
1 | # tar -xzf all.tar.gz |
这条命令是将上面产生的包解开。
2) tar 调用 bzip2
bzip2 是一个压缩能力更强的压缩程序,.bz2 结尾的文件就是 bzip2 压缩的结果。
与 bzip2 相对的解压程序是 bunzip2。tar 中使用 -j 这个参数来调用 gzip。下面来举例说明一下:
1 | # tar -cjf all.tar.bz2 *.jpg |
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,包名为 all.tar.bz2
1 | # tar -xjf all.tar.bz2 |
这条命令是将上面产生的包解开。
3)tar 调用 compress
compress 也是一个压缩程序,但是好象使用 compress 的人不如 gzip 和 bzip2 的人多。.Z 结尾的文件就是 bzip2 压缩的结果。与 compress 相对的解压程序是 uncompress。tar 中使用 -Z 这个参数来调用 compress。下面来举例说明一下:
1 | # tar -cZf all.tar.Z *.jpg |
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 compress 压缩,生成一个 uncompress 压缩过的包,包名为 all.tar.Z。
1 | # tar -xZf all.tar.Z |
这条命令是将上面产生的包解开。
有了上面的知识,你应该可以解开多种压缩文件了,下面对于 tar 系列的压缩文件作一个小结:
1) 对于.tar结尾的文件
1 | tar -xf all.tar |
2) 对于 .gz 结尾的文件
1 | gzip -d all.gz |
3)对于 .tgz 或 .tar.gz 结尾的文件
1 | tar -xzf all.tar.gz |
4) 对于 .bz2 结尾的文件
1 | bzip2 -d all.bz2 |
5) 对于 tar.bz2 结尾的文件
1 | tar -xjf all.tar.bz2 |
6) 对于 .Z 结尾的文件
1 | uncompress all.Z |
7) 对于 .tar.Z 结尾的文件
1 | tar -xZf all.tar.z |
另外对于 Windows 下的常见压缩文件 .zip 和 .rar,Linux 也有相应的方法来解压它们:
1) 对于 .zip
linux 下提供了 zip 和 unzip 程序,zip 是压缩程序,unzip 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
1 | # zip all.zip *.jpg |
这条命令是将所有 .jpg 的文件压缩成一个 zip 包:
1 | # unzip all.zip |
这条命令是将 all.zip 中的所有文件解压出来。
2) 对于 .rar
要在 linux 下处理 .rar 文件,需要安装 RAR for Linux。下载地址:http://www.rarsoft.com/download.htm,下载后安装即可。
1 | # tar -xzpvf rarlinux-x64-5.6.b5.tar.gz |
这样就安装好了,安装后就有了 rar 和 unrar 这两个程序,rar 是压缩程序,unrar 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
1 | # rar a all *.jpg |
这条命令是将所有 .jpg 的文件压缩成一个 rar 包,名为 all.rar,该程序会将 .rar 扩展名将自动附加到包名后。
1 | # unrar e all.rar |
这条命令是将 all.rar 中的所有文件解压出来:
扩展内容
tar
-C 解压缩到指定目录,且目录必须存在
1 | -c: 建立压缩档案 |
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
1 | -z:有gzip属性的 |
下面的参数 -f 是必须的:
1 | -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 |
# tar -cf all.tar *.jpg
这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。
1 | # tar -rf all.tar *.gif |
这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去。-r 是表示增加文件的意思。
1 | # tar -uf all.tar logo.gif |
这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u 是表示更新文件的意思。
1 | # tar -tf all.tar |
这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。
1 | # tar -xf all.tar |
这条命令是解出 all.tar 包中所有文件,-x 是解开的意思。
压缩
1 | tar –cvf jpg.tar *.jpg // 将目录里所有jpg文件打包成 tar.jpg |
解压
1 | tar –xvf file.tar // 解压 tar 包 (常用) |
总结
1 | 1、*.tar 用 tar –xvf 解压 |
压缩/解压缩
总结:tar -cvf tar -xvf(一对)(打包解压)
tar -zcvf tar-zxvf(一对) (压缩解压)
tar -zcvf 打包文件.tar.gz 被压缩文件/路径 #压缩
tar -zxvf 打包文件.tar.gz #压缩文件
tar -zxvf 打包文件.tar.gz -C 目标路径 #解压到指定路径
gzip:压缩(和tar一起用:打包压缩)
Linux gzip命令用于压缩文件。
gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出”.gz”的扩展名。
语法
1 | gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][目录] |
参数:
- -a或–ascii 使用ASCII文字模式。
- -c或–stdout或–to-stdout 把压缩后的文件输出到标准输出设备,不去更动原始文件。
- -d或–decompress或—-uncompress 解开压缩文件。
- -f或–force 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
- -h或–help 在线帮助。
- -l或–list 列出压缩文件的相关信息。
- -L或–license 显示版本与版权信息。
- -n或–no-name 压缩文件时,不保存原来的文件名称及时间戳记。
- -N或–name 压缩文件时,保存原来的文件名称及时间戳记。
- -q或–quiet 不显示警告信息。
- -r或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
- -S<压缩字尾字符串>或—-suffix<压缩字尾字符串> 更改压缩字尾字符串。
- -t或–test 测试压缩文件是否正确无误。
- -v或–verbose 显示指令执行过程。
- -V或–version 显示版本信息。
- -<压缩效率> 压缩效率是一个介于1-9的数值,预设值为”6”,指定愈大的数值,压缩效率就会愈高。
- –best 此参数的效果和指定”-9”参数相同。
- –fast 此参数的效果和指定”-1”参数相同。
实例
压缩文件
1 | [root@runoob.com a]# ls //显示当前目录文件 |
接范例1, 列出详细的信息
1 | [root@runoob.com a]# gzip -dv * //解压文件,并列出详细信息 |
接范例1,显示压缩文件的信息
1 | [root@runoob.com a]# gzip -l * |
bzip2
Linux bzip2命令是.bz2文件的压缩程序。
bzip2像gzip一样,tar打包,bzip2压缩tar后文件,扩展名 .tar.bz2
压缩文件 tar -jcvf 打包文件.tar.bz2 被压缩文件/路径
解压 tar -jxvf 打包文件.tar.bz2
-C 解压缩到指定目录,且目录必须存在
bzip2采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。
语法
1 | bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 压缩等级][要压缩的文件] |
参数:
- -c或–stdout 将压缩与解压缩的结果送到标准输出。
- -d或–decompress 执行解压缩。
- -f或–force bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数。
- -h或–help 显示帮助。
- -k或–keep bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。
- -s或–small 降低程序执行时内存的使用量。
- -t或–test 测试.bz2压缩文件的完整性。
- -v或–verbose 压缩或解压缩文件时,显示详细的信息。
- -z或–compress 强制执行压缩。
- -L,–license,
- -V或–version 显示版本信息。
- –repetitive-best 若文件中有重复出现的资料时,可利用此参数提高压缩效果。
- –repetitive-fast 若文件中有重复出现的资料时,可利用此参数加快执行速度。
- -压缩等级 压缩时的区块大小。
实例
解压.bz2文件
1 | [root@w3cschool.cc ~]# bzip2 -v temp.bz2 //解压文件显示详细处理信息 |
压缩文件
1 | [root@w3cschool.cc ~]# bzip2 -c a.c b.c c.c |
检查文件完整性
1 | [root@w3cschool.cc ~]# bzip2 -t temp.bz2 |
P98-100软件安装
apt是advanced packaging tool,linux下安装管理工具
sudo apt install 软件包#安装
sudo apt remove 软件包名#卸载
sudo apt upgrade#更新
sudo apt install htop#查看当前进程,输入htop即可