zoukankan      html  css  js  c++  java
  • 第五课 Linux高级命令

    Linux高级命令:

    一、find

    目的:查找符合条件的文件或目录

    格式:  find    目录名    选项    查找条件

    举例:
    1)find /work/001_linux_basic/dira/ -name "test1.txt"
    说明:
    a)/work/001_linux_basic/dira/指明了查找的路径
    b)-name表明以名字来查找文件
    c)"test1.txt",就指明查找名为test1.txt的文件
    同理:
    find /work/001_linux_basic/dira/ -name "*.txt"
    查找指定目录下面所以以.txt结尾的文件,其中*是通配符。
    find /work/001_linux_basic -name "dira"
    查找指定目录下面是否存在dira这个目录,dira是目录名。

    注意:
    1)如果没有指定查找目录,则为当前目录。
    find . -name "*.txt" 其中.代表当前路径
    find -name "*.txt"
    都是一样的功能

    2)find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件
    find /home -mtime -2 查找/home目录下两天内有变动的文件

     二、grep

    目的:使用grep命令来查找文件中符合条件的字符串
    格式:grep [选项] [查找模式] [文件名]

    将dira目录的test1.txt和dirb目录的test1.txt都含有如下内容:
    aaa
    AAAAAA
    abc
    abcabcabc
    cbacbacba
    match_pattern
    nand->erase


    查找字符串时希望显示如下内容:
    1)所在的文件名----grep查找时默认已经显示目标文件名
    2)所在的行号------使用-n选项

    grep -rn "字符串" 文件名
    r(recursive):递归查找
    n(number):显示目标位置的行号
    字符串:要查找的字符串
    文件名:要查找的目标文件,如果是*则表示查找当前目录下的所有文件和目录

    举例:
    grep -n "abc" test1.txt 在test1.txt中查找字符串abc
    grep -rn "abc" * 在当前目录递归查找字符串abc

    注意:
    1)可以加入-w全字匹配。

    三、file

    目的:识别文件类型
    格式: file 文件名

    linux下一切皆文件

    举例:
    file ~/.bashrc 为ASCII 编码的text类型
    file ~/.vimrc 为UTF-8 Unicode 编码的text类型
    file ~/Pictures/* 如图形文件JPEG/PNG/BMP格式
    file ~/100ask/ 为directory表明这是一个目录
    file /bin/pwd 出现 ELF 64-bit LSB executable,即为ELF格式的可执行文件
    file /dev/* 出现character special(字符设备文件)、 block special(块设备文件)等

    四、which和whereis

    目的:查找命令或应用程序的所在位置
    格式:which 命令名/应用程序名

    在终端上执行pwd实际上是去执行了/bin/pwd
    举例:
    which pwd 定位到/bin/pwd
    which gcc 定位到/usr/bin/gcc
    whereis pwd查找到可执行程序的位置/bin/pwd和手册页的位置/usr/share/man/man1/pwd.1.gz

    五、压缩

    1.压缩的概念

    1)压缩的目的:
    在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。
    接受者接受文件后,解压即可。

    2)压缩的类型
    有损压缩、无损压缩。
    a)有损压缩:
    如mp4视频文件,即使压缩过程中,减少了很多帧的数据,
    对观看者而言,也没有影响。当然mp3音乐文件也是有损压缩。
    b)无损压缩:
    如普通文件的压缩,为了保证信息的正确传递,
    不希望文件经过压缩或解压后,出现问题。

     2.linux下常用的压缩命令

    小节:
    单个文件的压缩(解压)使用gzip 和bzip2
    多个文件和目录使用tar

    3.gzip

    gzip的常用选项

    -l(list) 列出压缩文件的内容
    -k(keep) 在压缩或解压时,保留输入文件。
    -d(decompress) 将压缩文件进行解压缩

    1)查看
    gzip -l 压缩文件名
    比如:gzip -l pwd.1.gz

    2)解压
    gzip -kd 压缩文件名
    比如:gzip -kd pwd.1.gz
    该压缩文件是以.gz结尾的单个文件

    3)压缩
    gzip -k 源文件名
    比如:gzip -k mypwd.1
    得到了一个.gz结尾的压缩文件

    注意:
    1)如果gzip不加任何选项,此时为压缩,压缩完该文件会生成后缀为.gz的压缩文件,
    并删除原有的文件,所以说,推荐使用gzip -k 来压缩源文件。

    2)相同的文件内容,如果文件名不同,压缩后的大小也不同。

    3)gzip只能压缩单个文件,不能压缩目录。


    提示:
    man pwd会解压/usr/share/man/man1/pwd.1.gz这个文件,
    然后读取该文件中固定的格式的一些信息,然后显示到终端中。

     4.bzip2

    bzip2来压缩单个文件
    bzip2的常用选项
    -k(keep) 在压缩或解压时,保留输入文件。
    -d(decompress) 将压缩文件进行解压缩

    1)压缩
    bzip2 -k 源文件名
    比如:bzip2 -k mypwd.1
    得到一个.bz2后缀的压缩文件
    2)解压
    bzip2 -kd 压缩文件名
    bzip2 -kd mypwd.1.bz2

    注意:
    1)如果bzip2不加任何选项,此时为压缩,压缩完该文件会生成后缀为.bz2的压缩文件,
    并删除原有的文件,所以说,推荐使用bzip2 -k 来压缩源文件。
    2)bzip2只能压缩单个文件,不能压缩目录。

    单个文件的压缩使用gzip或bzip2,
    压缩有两个参数:1)压缩时间 2)压缩比
    一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩。
    mypwd.1源大小是1477字节,
    gzip压缩后mypwd.1.gz是877字节,
    bzip2压缩后mypwd.1.bz2是939字节。
    myls.1源文件大小7664字节,
    gzip压缩后myls.1.gz是3144字节,
    bzip2压缩后myls.1.bz2是3070字节。


    //============================================================
    gzip、bizp2只能对一个文件进行压缩,而不能对多个文件和目录进行压缩。
    所以需要tar来对多个目录、文件进行打包和压缩。

    5.tar

    tar常用选项
    -c(create) 表示创建用来生成文件包
    -x:表示提取,从文件包中提取文件
    -t可以查看压缩的文件。
    -z使用gzip方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
    -j使用bzip2方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
    -v(verbose)详细报告tar处理的信息
    -f(file)表示文件,后面接着一个文件名。
    -C <指定目录> 解压到指定目录


    1.tar打包、gzip压缩
    1)压缩
    tar -czvf 压缩文件名 目录名
    如:tar czvf dira.tar.gz dira

    注意:
    tar -czvf与tar czvf是一样的效果,所以说,后面统一取消-。

    2)查看
    tar tvf 压缩文件名
    如:tar tvf dira.tar.gz

    3)解压
    tar xzvf 压缩文件名
    tar xzvf 压缩文件名 -C 指定目录
    如:tar xzvf dira.tar.gz 解压到当前目录
    如:tar xzvf dira.tar.gz -C /home/book 解压到/home/book


    2.tar打包、bzip2压缩
    1)压缩
    tar cjvf 压缩文件名 目录名
    如:tar cjvf dira.tar.bz2 dira

    2)查看
    tar tvf 压缩文件名
    如:tar tvf dira.tar.bz2

    3)解压
    tar xjvf 压缩文件名
    tar xjvf 压缩文件名 -C 指定目录
    如:tar xjvf dira.tar.bz2 解压到当前目录
    如:tar xjvf dira.tar.bz2 -C /home/book 解压到/home/book

  • 相关阅读:
    转:Unity3D的四种坐标系
    在知乎回答的一个问题:C#初学者以后往WP开发走,还是往unity3d走?哪个更有前景呢
    Unity3d 引擎原理详细介绍、Unity3D引擎架构设计
    vs2010打开vs2012的sln文件
    Unity3d不支持vistual studio2012?用vs2012打开unity c#脚本进行编码的方法。
    C#学习笔记15:字符串、文件、目录的操作方法
    C#学习笔记14:面向对象继承的特点和里氏转换
    C#学习笔记13:静态方法、方法重载和ref、out参数
    C#学习笔记12:枚举、结构、数组基础学习
    C#学习笔记11:C#中的顺序结构、分支结构、循环结构
  • 原文地址:https://www.cnblogs.com/freyluo/p/11048852.html
Copyright © 2011-2022 走看看