Linux-常用命令

图片 8

 locate

(查询的数据库: /var/lib/mlocate/mlocate.db)  

计划任务:每天自动更新数据库 /etc/cron.daily/mlocate.cron
手动更新数据库:updatedb

# locate ifcfg-eth0
# locate ifcfg-enp0s25

2、bzip2
相较于gzip压缩率更高,CPU占有率也要大一下,非系统自带,需要yum安装。不能压文件夹。
操作与gzip完全一样
加压
bzip2 文件名
图片 1
解压
图片 2

bzip2、bunzip2和bzcat

 和gzip类似,bzip2为压缩工具,bunzip2为解压缩工具,同样bzcat的作用了在不解压文件的情况下,查看文件内容。

语法:bzip2 [OPTION]... FILE...
常用选项: -d:解压缩,相当于bunzip2
         -#:指定压缩比,默认是6,数字越大压缩比越大(1-9)
         -k:keep,压缩并保留原文件,bzip2不需要像gzip那样使用输出重定向至指定的文件,这样就方便多啦

我们来举例看一下:

将/etc/init.d/functions复制到tmp目录下,使用bzip2压缩:

[root@localhost tmp]# bzip2 functions 
[root@localhost tmp]# ll
total 8
-rw-r--r--. 1 root root 4763 Sep  3 06:20 functions.bz2

说明bzip2在默认压缩的情况下也会删除原文件,节约了磁盘的空间。

再来看一下解压缩的方法:

[root@localhost tmp]# ll
total 8
-rw-r--r--. 1 root root 4763 Sep  3 06:20 functions.bz2
[root@localhost tmp]# 
[root@localhost tmp]# bunzip2 functions.bz2 
[root@localhost tmp]# ll
total 16
-rw-r--r--. 1 root root 15131 Sep  3 06:20 functions
[root@localhost tmp]# bzip2 functions 
[root@localhost tmp]# ll
total 8
-rw-r--r--. 1 root root 4763 Sep  3 06:20 functions.bz2
[root@localhost tmp]# bzip2 -d functions.bz2 
[root@localhost tmp]# ll
total 16
-rw-r--r--. 1 root root 15131 Sep  3 06:20 functions

好吧,还是建议大家记住一个-d选项就好啦!

现在我们来使用以下-k选项:

[root@localhost tmp]# ll
total 16
-rw-r--r--. 1 root root 15131 Sep  3 06:20 functions
[root@localhost tmp]# bzip2 -k functions 
[root@localhost tmp]# ll
total 24
-rw-r--r--. 1 root root 15131 Sep  3 06:20 functions
-rw-r--r--. 1 root root  4763 Sep  3 06:20 functions.bz2

 使用bzcat在不打开压缩文件的情况下查看文件的内容:

[root@localhost tmp]# bzcat functions.bz2 
# -*-Shell-script-*-
#
# functions    This file contains functions to be used by most or all
#        shell scripts in the /etc/init.d directory.
#

TEXTDOMAIN=initscripts

# Make sure umask is sane
umask 022

# Set up a default search path.
PATH="/sbin:/usr/sbin:/bin:/usr/bin"
export PATH
......(略)

 

按文件类型:

[root@localhost ~]# find /dev -type f                           //f普通
[root@localhost ~]# find /dev -type d                           //d目录
[root@localhost ~]# find /dev -type l                           //l链接
[root@localhost ~]# find /dev -type b                           //b块设备
[root@localhost ~]# find /dev -type c                           //c字符设备
[root@localhost ~]# find /dev -type s                           //s套接字
[root@localhost ~]# find /dev -type p                           //p管道文件

二、各种压缩处理工具处理文件方式(加压/解压)
通用命令格式
加压:命令 -#(级别,基本不用) -c 文件路径 > 文件路径
解压:命令 -d -c 文件路径 > 文件路径

 zip和unzip

 一个可以在windows和Linux共用的压缩工具,方便在这两种操作系统之间压缩和解压缩文件,这里就简单的看一下:

[root@localhost tmp]# ll /tmp/test
total 360
-rw-r–r–. 1 root root 15131 Sep 5 21:41 functions
-rw——-. 1 root root 345807 Sep 5 21:41 messages
-rw-r–r–. 1 root root 1117 Sep 5 21:41 passwd
[root@localhost tmp]# zip -r test.zip test   #选项-r实现递归压缩
adding: test/ (stored 0%)
adding: test/functions (deflated 69%)
adding: test/passwd (deflated 57%)
adding: test/messages (deflated 90%)
[root@localhost tmp]# unzip test.zip -d /root/
 #选项-d可以指定解压缩的路径
Archive: test.zip
creating: /root/test/
inflating: /root/test/functions
inflating: /root/test/passwd
inflating: /root/test/messages
[root@localhost tmp]# ll /root/test
total 360
-rw-r–r–. 1 root root 15131 Sep 5 21:41 functions
-rw——-. 1 root root 345807 Sep 5 21:41 messages
-rw-r–r–. 1 root root 1117 Sep 5 21:41 passwd

 

 

 未完….            待续

 

 

 

(4)解压文件
图片 3

 为什么要压缩文件

压缩的目的是为了就是将文件通过压缩算法转变成一个体积更小格式的文件,减小了文件在硬盘上的占用空间,压缩文件的时候,特别的消耗CPU的时钟周期,因为CPU要进行大量的计算,所有压缩也是一种拿时间换空间的操作,同时也能使文件能够通过较慢的网络连接来实现更快的传输。

 

find

find:
文件查找,针对文件名,精确查找,磁盘搜索,io读写,cpu开销大

find [options] [path…] [expression] [action]

b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
-size n[cwbkMG] : 文件大小 为 n 个由后缀决定的数据块。其中后缀为:
b: 代表 512 位元组的区块(如果用户没有指定后缀,则默认为 b)
c: 表示字节数
k: 表示 kilo bytes (1024字节)
w: 字 (2字节)
M:兆字节(1048576字节)
G: 千兆字节 (1073741824字节)
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-maxdepth 查找最大目录层数 如 1,即只查找一层目录
-fstype 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件
/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount 在查找文件时不跨越文件系统mount点。
-follow 如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio 对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

===expression===

指定压缩等级: gzip -#(1-9默认是6,基本很少用这个选项)
1级时图片 4
9级时图片 5
上下差距不大

 

打包压缩–bzip2

bzip2 压缩速度慢 压缩率高 CPU开销大

用法:

压缩

bzip2 需要压缩的文件

解压缩

bzip2 -d 需要解压的文件

bunzip2 需要解压的文件

选项

-c --stdout
    将数据压缩或解压缩至标准输出。
-d --decompress
    强制解压缩。 bzip2, bunzip2 以及 bzcat 实际上是同一个程序,进行何种操作将根据程序名确定。 指定该选项后将不考虑这一机制,强制 bzip2 进行解压缩。
-z --compress
-d 选项的补充:强制进行压缩操作,而不管执行的是哪个程序。
-t --test
    检查指定文件的完整性,但并不对其解压缩。 实际上将对数据进行实验性的解压缩操作,而不输出结果。
-f --force
    强制覆盖输出文件。通常 bzip2 不会覆盖已经存在的文件。该选项还强制 bzip2 打破文件的硬连接,缺省情况下 bzip2 不会这么做。
-k --keep
    在压缩或解压缩时保留输入文件(不删除这些文件)。
-s --small
    在压缩、 解压缩及检查时减少内存用量。 采用一种修正的算法进行压缩和测试, 每个数据块仅需要 2.5 个字节。 这意味着任何文件都可以在 2300k 的内存中进行解压缩, 尽管速度只有通常情况下的一半。
    在压缩时,-s将选定 200k 的块长度,内存用量也限制在 200k 左右, 代价是压缩率会降低。 总之,如果机器的内存较少(8兆字节或更少), 可对所有操作都采用-s选项。参见下面的内存管理。
-q --quiet
    压制不重要的警告信息。属于 I/O 错误及其它严重事件的信息将不会被压制。
-v --verbose
    详尽模式 -- 显示每个被处理文件的压缩率。 命令行中更多的 -v 选项将增加详细的程度, 使 bzip2 显示出许多主要用于诊断目的信息。
-L --license -V --version
    显示软件版本,许可证条款及条件。
-1 to -9
    在压缩时将块长度设为 100 k、200 k .. 900 k。 对解压缩没有影响。参见下面的内存管理。
--
    将所有后面的命令行变量看作文件名,即使这些变量以减号"-"打头。 可用这一选项处理以减号"-"打头的文件名, 例如:bzip2 -- -myfilename.
--repetitive-fast --repetitive-best
    这些选项在 0.9.5 及其以上版本中是多余的。 在较早的版本中,这两个选项对排序算法 的行为提供了一些粗糙的控制,有些情况下很有用。 0.9.5 及其以上版本采用了改进的算法而与这些选项无关

# bzip2 -z abc.sh           #压缩

# bzip2 -kv abc.sh          #压缩原文保留

# bzip2 -9 -c abc.sh >abc.bz2       #压缩原文保留

# bzip2 -tv test.bz2     # 模拟解压

# bzip2 -k test          # 生成新文件,原文件也保留

# bzip2 -dc test.bz2     # 解压到标准输出

3、xz
tar包中常见,压缩率比bzip2更高,操作跟大家一样。
加压
图片 6
解压
图片 7

常用的压缩工具

在linux操作系统中提供了很多的压缩和解压缩工具,每个压缩工具在执行压缩的时候所用的算法是不一样的,设计越优良的算法,压缩的程度就越高。比较老的压缩工具有compress(现在已经不常用了),常用的压缩工具有:gzip、bzip、xz和zip。我们可以通过后缀名来区分压缩文件是被什么工具压缩的,例如如果使用compress压缩文件,得到的文件的后缀名是.z,其他的压缩的后缀名如下:

图片 8

 

按文件名:

[root@localhost ~]# find /etc -name "ifcfg-eth0"
[root@localhost ~]# find /etc -iname "ifcfg-eth0"            //-i忽略大小写
[root@localhost ~]# find /etc -iname "ifcfg-eth*"

(2)压目录
zip -r 文件路径或者zip XX.zip (需要压缩的文件夹/*)
图片 9

我们日常使用window的时候,经常会用到压缩与解压缩,如果要压缩一个文件,右击选择【添加到压缩文件】,解压缩则右击选择【解压到当前文件夹】,“点点点”就能完成。但是在一个没有装图形化界面的linux操作系统又不能使用“点点点”,那该怎么操作呢?本文就linux中如何使用压缩和打包工具做出解释。

按文件权限:

[root@localhost ~]# find . -perm 644 -ls 
[root@localhost ~]# find . -perm -644 -ls
[root@localhost ~]# find . -perm -600 -ls
[root@localhost ~]# find . -perm -222 -ls                            //全局可写
[root@localhost ~]# find /usr/bin /usr/sbin -perm -4000 -ls          //包含set uid
[root@localhost ~]# find /usr/bin /usr/sbin -perm -2000 -ls          //包含set gid
[root@localhost ~]# find /usr/bin /usr/sbin -perm -1000 -ls          //包含sticky

压缩命令: gzip 文件名
图片 10

 打包工具tar

 tar命令是用来归档文件的,可以将多个文件或者一个目录归一成一个后缀名为.tar的文件,归档文件并不会压缩文件,反而可能使文件的大小稍微大一点,所以一般在归档之后再执行压缩!。下面我们就来看一下tar的使用方法吧!

语法:tar [OPTION]... FILE...
方法:
(1)创建归档
    -c -f /path/to/somefile.tar  file...
    -cf /path/to/somefile.tar  file...
(2)展开归档
    -xf /path/from/somefile.tar
    -xf /path/from/somefile.tar -C /path/to/somedir
(3)查看归档文件的文件列表
    -tf /path/to/somefile.tar
 归档之后然后进行压缩,结合之前的压缩工具,就能实现压缩多个文件。
(4)归档压缩
    -z:gzip2
        -zcf  /path/to/somefile.tar.gz   file...
        -zxf  /path/to/somefile.tar.gz   -C /path/to/somedir  #z可以去掉
    -j:bzip2
        -jcf  /path/to/somefile.tar.bz2   file...
        -jxf  /path/to/somefile.tar.bz2   -C /path/to/somedir  #j可以去掉
    -J:xz
        -Jcf  /path/to/somefile.tar.xz   file...
        -Jxf  /path/to/somefile.tar.xz   -C /path/to/somedir  #J可以去掉

 下面我们就将/tmp/test先使用tar打包成tar文件,再将tar压缩成.xz的压缩文件:

[root@localhost tmp]# tar -cf test.tar test/
[root@localhost tmp]# ll
total 340
drwxr-xr-x. 2 root root     53 Sep  3 06:59 test
-rw-r--r--. 1 root root 348160 Sep  3 07:35 test.tar
[root@localhost tmp]# xz test.tar 
[root@localhost tmp]# ll
total 28
drwxr-xr-x. 2 root root    53 Sep  3 06:59 test
-rw-r--r--. 1 root root 26748 Sep  3 07:35 test.tar.xz

 使用unxz解压缩,再展开归档至/root下:

[root@localhost tmp]# unxz test.tar.xz #解压缩
[root@localhost tmp]# ll
total 340
drwxr-xr-x. 2 root root     53 Sep  3 06:59 test
-rw-r--r--. 1 root root 348160 Sep  3 07:35 test.tar
[root@localhost tmp]# tar -xf test.tar  -C /root/   #展开归档至指定的目录
[root@localhost tmp]# ll /root/
total 4
-rw-------. 1 root root 1707 Aug 10 07:14 anaconda-ks.cfg
drwxr-xr-x. 2 root root   53 Sep  3 06:59 test

 这样显得有点麻烦,所有在生产环境中,我们一般直接使用选项-z,-j,-J来实现压缩归档。

[root@localhost tmp]# tar -zcf  test.tar.gz  test/
[root@localhost tmp]# ll
total 48
drwxr-xr-x. 2 root root    53 Sep  3 06:59 test
-rw-r--r--. 1 root root 46416 Sep  3 07:48 test.tar.gz
[root@localhost tmp]#  tar -zxf  test.tar.gz  -C /root/
[root@localhost tmp]# ll /root/test/
total 332
-rw-r--r--. 1 root root  15131 Sep  3 06:59 functions
-rw-------. 1 root root 318014 Sep  3 06:59 messages
-rw-r--r--. 1 root root   1054 Sep  3 06:58 passwd

 所有两组命令 tar -zcf,tar -zxf 或者 tar -Jcf,tar -Jxf
的是非常好用的,也是最常用的组合。

 

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图