• 文件系统的相关指令


    ls -R 可以来看嵌套的方式
    ls -h 可以来看文件的方式
    
    
    【1】file、mkdir、rmdir、ln命令
        (1)文件和目录相关的命令
         pwd ls cd touch cp mv rm cat head tail已经在C语言基础补习课程中讲过
        (2)file命令
         1)  在Linux文件系统中,文件扩展名不总是被使用或被一致地使用。如果一个文件没有扩展名,或者文件与其扩展名不符时怎么办呢?
            file命令功能用于判定一个文件的类型。file命令一般语法格式为:
                file  [ filename ]
         2) 其中filename是文件名。命令的输出将显示该文件是二进制文件、文本文件、目录文件、设备文件,还是Linux中其他类型的文件。
            linux@ubuntu:~$ file  /usr/games/banner
            banner: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), stripped
            linux@ubuntu:~$ file  Textfile.txt
            Textfile.txt: UTF-8 Unicode text
        (3)mkdir命令
             1)mkdir命令用于创建一个目录。mkdir命令一般语法格式为:
                mkdir  [ -p ]   directory_name 
             2)其中,directory_name为要创建的目录名,并且不能是已有的目录,通常不允许嵌套创建子目录。
             3)使用选项“-p”表示可以嵌套创建子目录,即多层目录。
         4)需要说明的是,创建目录的用户在工作目录应具有写入权限。假设要创建下面这样结构的目录。
                dir1
                dir1/dir2
                dir1/dir2/dir3
            当然可以使用三条mkdir命令依次创建各层目录。
                linux@ubuntu:~$ mkdir  dir1
                linux@ubuntu:~$ mkdir  dir1/dir2
                linux@ubuntu:~$ mkdir  dir1/dir2/dir3
            不过使用“-p”选项会简单许多,一步达到目标。
                linux@ubuntu:~$ mkdir  –p  dir1/dir2/dir3
                linux@ubuntu:~$ ls  –R  dir1
                dir1:
                dir2
                dir1/dir2:
                dir3
                dir1/dir2/dir3:
         5)rmdir命令用于删除一个目录。rmdir命令一般语法格式为:
                rmdir  [ -p ]   directory_name 
            其中,directory_name为要删除的一个或多个目录名。
            使用选项“-p”表示可以递归删除子目录,即多层目录。
            需要说明的是,删除的目录必须为空目录,并且必须具有对该目录有写入权限。
            假设要删除下面这样结构的目录。
                dir1
                dir1/dir2
                dir1/dir2/dir3
            当然可以使用三条rmdir命令从里向外依次删除各层目录(保证删除的目录为空)
                linux@ubuntu:~$ rmdir  dir1/dir2/dir3
                linux@ubuntu:~$ rmdir  dir1/dir2
                linux@ubuntu:~$ rmdir  dir1/
            不过使用“-p”选项可以一步到位。
            以上命令的执行效果与“rm  –r  dir1”执行效果相同,并且后者的效率更高,因为它不要求各层目录均为空。
                linux@ubuntu:~$ rmdir  –p  dir1/dir2/dir3
         (6)创建链接文件
          1) Linux中有两种类型的链接:
              a.  硬链接是利用Linux中为每个文件分配的物理编号——inode建立链接。
                  因此,硬链接不能跨越文件系统。
                  b.  软链接(符号链接)是利用文件的路径名建立链接。
              通常建立软链接使用绝对路径而不是相对路径,以最大限度增加可移植性。
          2)  需要注意的是,如果是修改硬链接的目标文件名,链接依然有效;如果修改软链接的目标文件名,
             则链接将断开;对一个已存在的链接文件执行移动或删除操作,有可能导致链接的断开。
             假如删除目标文件后,重新创建一个同名文件,软链接将恢复,硬链接不再有效,因为文件的inode已经改变。
         (7)ln命令
          1)命令可以用于创建文件的链接文件。ln命令一般语法格式为:
            ln  [ -s ]   target  link_name 
          2)其中,选项“-s”表示为创建软链接。在缺省情况下,创建硬链接。参数target为目标文件,link_name为链接文件名。
             如果链接文件名已经存在但不是目录,将不做链接。目标文件可以是任何一个文件名,也可以是一个目录。
            linux@ubuntu:~$ ln  -s  /proc/cpuinfo   mycpuinfo
            linux@ubuntu:~$ ls  –l  mycpuinfo 
            lrwxrwxrwx  1  wdl  wdl  13  2007-09-22 00:43  mycpuinfo -> /proc/cpuinfo
             以上命令为/proc/cpuinfo文件创建了一个软链接文件。使用“ls –l”命令可以查看到新创建的链接文件所指向的目标文件名。
    
    
    【2】文件的归档和压缩
        (1)压缩文件 
           用户在进行数据备份时,需要把若干文件整合为一个文件以便保存。尽管整合为一个文件进行管理,但文件大小仍然没变。
         若需要网络传输文件时,就希望将其压缩成较小的文件,以节省在网络传输的时间。因此本节介绍文件的归档与压缩。
        (2)
         归档文件是将一组文件或目录保存在一个文件中。
         压缩文件也是将一组文件或目录保存一个文件中,并按照某种存储格式保存在磁盘上,所占磁盘空间比其中所有文件总和要少。
            a. 归档文件仍是没有经过压缩的,它所使用的磁盘空间仍等于其所有文件的总和。因而,用户可以将归档文件再进行压缩,使其容量更小。
                b. gzip是Linux中最流行的压缩工具,具有很好的移植性,可在很多不同架构的系统中使用。bzip2在性能上优于gzip,提供了最大限度的压缩比率。
               如果用户需要经常在Linux和微软Windows间交换文件,建议使用zip。 
                压缩工具     解压工具    文件扩展名
                gzip          gunzip       .gz
                bzip2         bunzip2      .bz2
                zip           unzip        .zip
         (3) 目前,归档工具使用最广泛的tar命令,可以把很多文件(甚至磁带)合并到一个称为tarfile的文件中,通常文件扩展名为.tar。
         然后,再使用zip、gzip或bzip2等压缩工具进行压缩。
         (4) shell归档和压缩工具
         使用shell归档和压缩工具可以更直接地完成文档的打包任务。由于该类shell命令是成对使用的,因此下面按对介绍相关命令。
         (5) gzip与gunzip命令
         与zip明显区别在于只能压缩一个文件,无法将多个文件压缩为一个文件。gzip命令符号模式的一般语法格式为:
         其中,filename表示要压缩的文件名,gzip会自动在这个文件名后添加扩展名为.gz,作为压缩文件的文件名。
            gzip  [ -l| -d | -num ]  filename
         选项             描述
          -l        查看压缩文件内的信息,包括文件数、大小、压缩比等参数,并不进行文件解压
          -d        将文件解压,功能与gunzip相同
          -num      指定压缩比率,num为1~9个等级
    
        gunzip命令符号模式的一般语法格式为:
            gunzip  [ -f ]  file.gz
        其中,选项“-f”用于解压文件时,对覆盖同名文件不做提示。
        在执行gzip命令后,它将删除旧的未压缩的文件并只保留已压缩的版本。以下命令以最大的压缩率对文件file_1进行压缩,生成file_1.gz文件。
        使用“-l”选项可以查看压缩的相关信息。最后使用gunzip命令对文件进行了解压。与压缩时相反,file_1.gz文件会被删除,继之生成file_1。
                linux@ubuntu:~$ gzip  -9  file_1
                linux@ubuntu:~$ gzip  -l   file_1.gz    
                compressed  uncompressed    ratio    uncompressed_name
                   1200                  4896           76.0%       file_1
                linux@ubuntu:~$ gunzip    file_1.gz
         (6) tar命令
         tar命令主要用于将若干文件或目录合并为一个文件,以便备份和压缩。当然,之后出现tar程序的改进版本,可以实现在合并归档的同时进行压缩。
             tar命令符号模式的一般语法格式为:
                tar  [ -t | -x | -u | -c | -v | -f | -j | -z ]  tarfile  filelist
        -t    显示归档文件的内容
        -x    释放归档文件
        -u    更新归档文件
        -c    创建一个新的归档文件
        -v    显示归档和释放的过程信息
        -f    用户指定归档文件的文件名,否则使用默认名称
        -j    由tar生成归档,然后由bzip2压缩
        -z    由tar生成归档,然后由gzip压缩
    
         第一,将myExamples/目录下的所有文件全部归档,打包到一个文件中myExamples.tar;
         第二,将myExamples/目录下的所有文件全部归档,并使用bzip2压缩成一个文件myExamples.tar.bz;
         第三,将myExamples/目录下的所有文件全部归档,并使用gzip压缩成一个文件myExamples.tar.gz。
    
        linux@ubuntu:~$ tar  –cf   myExamples.tar      myExamples
        linux@ubuntu:~$ tar  -cjf   myExamples.tar.bz   myExamples
        linux@ubuntu:~$ tar  -czf  myExamples.tar.gz    myExamples
        linux@ubuntu:~$ ls   -lh   myExamples.tar* 
        -rw-r--r-- 1  wdl  wdl  9.3M  2007-09-23 00:42  myExamples.tar
        -rw-r--r-- 1  wdl  wdl  8.6M  2007-09-23 00:43  myExamples.tar.bz
        -rw-r--r-- 1  wdl  wdl  8.5M  2007-09-23 00:44  myExamples.tar.gz
    
        如果想查看一下归档文件中的详细内容,使用类似以下命令:
            linux@ubuntu~$ tar  –tvf   myExamples.tar.gz
        使用以下命令完成tar文件的释放。其中,“tar -xjf”和“tar –xzf”等效与先解压缩后释放tar文件。
            linux@ubuntu:~$ tar  –xvf   myExamples.tar
            linux@ubuntu:~$ tar  -xvjf   myExamples.tar.bz
            linux@ubuntu:~$ tar  -xvzf  myExamples.tar.gz
  • 相关阅读:
    机器学习-数据归一化及哪些算法需要归一化
    目标检测中的mAP
    在Ubuntu内制作自己的VOC数据集
    目标检测算法之YOLOv3
    目标检测算法之YOLOv1与v2
    详谈Windows消息循环机制
    位和字节以及各类编码简述
    C++ 基础知识(一)
    Python 爬取高清桌面壁纸
    WPF 动画执行后属性无法修改
  • 原文地址:https://www.cnblogs.com/jack-hzm/p/10262220.html
Copyright © 2020-2023  润新知