Linux基本命令2

压缩和归档

打包:即归档,类似于旅游之前收拾行李

压缩:为了减少占用的磁盘空间,可以做备份,在网络上传输时节省网络带宽。

压缩其实是有级别的:1~9 1级别最低,速度最快,效率最低;9级别最高,速度最慢,效率 最高。 默认级别是6。

一.zip:
压缩后的文件一般以.zip结尾,可以压缩目录
压缩的语法:  zip filename.zip   file1  file2 ...
             zip 压缩后的文件名 待压缩文件
             压缩后不删除原文件
             
             例如:[root@server150 acltest] #zip com.zip com.txt
                   adding:com.txt(deflated 99%)

解压缩: unzip
              unzip -d:指定解压路径

gzip:
      gzip压缩时,原文件消失,生成压缩文件

      gzip /path/to/somefile
      默认会删除源文件
           gzip -d 解压缩
           gzip -# 指定压缩比,压缩比越小,速度越大
      
      gunzip /path/to/some_compress_file

      zcat some_compress_file 
      不解压的情况下查看文本的压缩文件
      例子:#cp /var/log/messages ./
            gzip messages
            默认后缀名:.gz


解压:gunzip
      gzip的压缩包,在解压后,压缩包消失,解压后的文件出现。                 
             

bzip2:

      默认情况下,压缩完成,
      原文件也是消失的,压缩包必须以.bz2结尾的
      通常能够生成比使用gzip压缩更小的文件(压缩比较高)


bzip2 /path/to/somefile
      -d:解压
      -#:指定压缩比
      -k:保留原文件


bunzip2 /path/to/somefile


bzcat /path/to/some_compress_file    不解压查看


解压缩:bunzip2



xz 压缩比更大:

压缩  xz somefile

解压
     unxz
     或 xzdec
     -d:解压
     -k:保留原文件
     -c:输入到屏幕

xzcat 不解压查看




tar ***: 既可以打包,又可以压缩

        格式:tar 选项 包名 打包的文件或目录

        //切记:一定要注意语法格式,先是打包后的名字,然后才是要打包的东西

        tar: 归档工具, .tar


例如:tar -cf
          -c: 创建归档文件
          -f FILE.tar: 操作的归档文件
          -x: 展开归档
          --xattrs: 归档时,保留文件的扩展属性信息
          -t: 不展开归档,直接查看归档了哪些文件
          -C:解压时指定路径
          -r:向包中追加文件
          -p:保留权限信息
          -v:显示详细过程

          -zcf: 归档并调用gzip压缩
          -zxf: 调用gzip解压缩并展开归档,-z选项可省略

          -jcf: bzip2
          -jxf:

          -Jcf: xz
          -Jxf:      



二.打包压缩同时进行:

          -z:表示使用gzip压缩方式压缩或者解压缩
          -j:表示使用bzip2压缩方式压缩或者解压缩
          -c:表示创建 --create
          -v:显示详细过程
          -f:指定文件,一般后面跟包名
          -zcvf zcvf .tar.gz
          -jcvf jcvf .tar.bz2
        

解包 .tar.gz .tar.bz2:

          -zxvf zxvf
          -jxvf jxvf
          -C:指定解压路径


其他选项:
          -t:不解包查看包中的内容
          -r:向包中追加文件,不能追加压缩的文件



三.文件搜索:

which:用来查找命令的绝对路径
-- 显示shell命令的绝对路径
-- 仅仅会在PATH变量中搜索要查找的命令
-- 搜索时先查找别名,然后从PATH中查找



查看用户的PATH变量:命令的搜索路径
                   # echo $PATH


添加路径到PATH

               临时修改PATH值
                            # PATH=$PATH:/tmp //$PATH:保留变量原有值
                            # echo $PATH
               永久修改PATH值 工作中一定会用的
                            /etc/profile //全局配置文件,对所有用户生效
                            ~username/.bash_profile //局部配置文件,只对特定用户生效
                            # vim /root/.bash_profile
                            PATH=$PATH:$HOME/bin:/tmp
                            上述文件不是即时生效的,正常情况下,它是用户登录时执行的。
                            # source /root/.bash_profile //重新读取配置文件,使修改生效
                            # echo $PATH
                            /usr/lib64/qt-


命令的别名: alias

          查看当前系统中有哪些别名(root用户和普通用户的别名可能不一样)
          # alias


          设置命令的别名
                       临时
                       # alias vi='vim'
                       # vi /etc/passwd //执行vi时候,实际上执行的是vim
          永久,改文件                       
                       1./root/.bashrc cp rm mv

                       2./etc/profile.d
                         colorls.sh
                         which2.sh
          取消别名
                       [ profile.d]# unalias vi
                       [ profile.d]# vi /etc/passwd //没颜色了

locate
        -- 通过文件名检索文件,检索速度最快
        -- 所有能够检索的东西,都是存放在数据库中的
        -- locate局限性,有的文件系统、有的文件及有的目录默认是不会搜索的



find *****:

           -- 全局性搜索文件
           -- 工作方式:沿着文件的层次结构依次向下搜索,找到符合条件的,打印或者是执行相应的操 
              作

            
            语法格式:
                     find 要搜索路径 条件(选项) [动作]
            基本例子:
                    # find /etc/ -name network
                    /etc/vmware-tools/scripts/vmware/network
                    /etc/sysconfig/network
                    /etc/rc.d/init.d/network

            按条件查找:
                      按照文件名搜索
                                   -name:按名字查找 *****
                                   -iname:忽略大小写

                      通配符:* 代表任意字符
                             ? 代表单个字符
             查找/etc目录下,所有以.conf结尾的文件
             # find /etc/ -name *.conf
 
             查找/etc/目录下,以.conf结尾,名称是5个字符的
             find /etc/ -name "?????.conf"    

              
             按照文件类型查找 -type         -type 后面只能跟一个字母

                        f:普通文件
                        b c d l s p
                        # find /var -type l //查找/var目录下类型是软链接的文件
                        # ll `find /var -type l` //验证是否查找到的都是软链接
                        # find /tmp/ -type f


             按照时间查找:
                         -atime n 以天为单位
                         -ctime n
                         -mtime n

                         -amin n 以分钟为单位
                         -cmin n
                         -mmin n

                         n为数字,前面可以带+或者-号 -mtime n
                         +n:n+1天之前
                         n:n到n+1天之间
                         -n:n天以内
 
                
           查看文件的属性信: stat 文件名



          

1、--color 带颜色显示匹配到的关键字 [ loring ~]# grep --color root /etc/passwd                                                                                   root:x:0:0:root:/root:/bin/bash                                                                                                     operator:x:11:0:operator:/root:/sbin/nologin

 2、-i 忽略大小写 [ loring tmp]# grep --color -i root /find/passwd                                                                            Root:x:0:0:root:/root:/bin/bash                                                                                                   operator:x:11:0:operator:/root:/sbin/nologin

 3、-v 取反

过滤出不包含nologin的行

[ loring tmp]# grep -v nologin /etc/passwd

 4、^ 以某关键字开头

显示/root/.bashrc文件中的非注释行

[ loring tmp]# grep -v ^# /root/.bashrc

 5、$ 以某关键字结尾

显示passwd文件中以sh结尾的行

[ loring tmp]# grep sh$ /etc/passwd

 6、^$ 空行

显示/root/.bashrc文件中的非注释行和非空行

[ loring tmp]# grep -v ^# /root/.bashrc | grep -v ^$

 7、-c count,统计匹配到的行数

[ loring tmp]# grep -c root /etc/passwd

2

 8、 -l 一般和-r联用,只显示包含关键字的文件的名字,而不是显示文件内容

 9、-r 递归检索

显示test目录下文件内容中含有root的文件名

[ loring tmp]# grep -rl root /test

 10、-q quiet 静默输出 一般在写脚本时候用

[ loring tmp]# grep -q root /etc/passwd

[ loring tmp]# echo $?             //$?表示上一条命令的执行结果

       0

返回结果为0:表示上一条命令的执行时成功的

返回结果非0:表示上一条命令执行失败

 11、-n 显示匹配行的行号

 [ loring tmp]# grep -n root /etc/passwd

1:root:x:0:0:root:/root:/bin/bash

11:operator:x:11:0:operator:/root:/sbin/nologin

 grep练习:

1、显示/etc/group文件中含有root的行

[ loring test]# grep root /etc/group

2、显示/etc/passwd文件中以rp开头的行

[ loring test]# grep ^rp /etc/passwd

3、显示/etc/group文件中不以:为结尾的行

[ loring test]# grep -v :$ /etc/group

4、显示/etc/rc.local文件中的空行,要求带行号

[ loring test]# grep -n ^$ /etc/rc.local

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值