• Linux命令入门教程(三):文件基础篇


    3.1 文件基础介绍

    Linux系统的一个重要思想:一切皆文件

    在Linux中,一个普通文件如.txt文本是一个文件,一个压缩包是一个文件,一个设备也是一个文件。

    Linux中文件的后缀名并不重要,你可以创建一个无后缀名的文件,或给它一个不相符的后缀名,但是并不影响其正常工作。

    3.2 文件操作命令

    3.2.1 创建空文件touch

    touch - change file timestamps,修改文件的时间戳,当文件不存在时,系统为创建此文件,为了方便,通常也用来创建一个文件。

    语法:

    $ touch [OPTION] FILE

    常用用法:

    命令

    说明

    touch test_file.txt

    创建test_file.txt文件

    touch 1.txt 2.txt

    创建2个文件

    3.2.2 文件查看cat/less/more/tail

    cat/less/more/head/tail等命令都是用来查看文件内容的。

    命令

    说明

    cat aaa.txt

    显示aaa.txt文件内容

    less aaa.txt

    动态浏览文件,可向前向后随意翻阅。

    more aaa.txt

    动态浏览文件,显示当前位置百分比,只能向后滚动

    head aaa.txt

    显示文件开头若干行,默认10行,可通过参数指定要显示的行数,例如显示20行:head -n 20 aaa.txt

    tail aaa.txt

    显示文件末尾若干行,默认10行,可通过参数指定要显示的行数,例如显示20行:tail -n 20 aaa.txt

    3.3 复制/移动/删除

    复制/移动/删除是几个较常用的命令,操作对象为目录或文件。

    3.3.1 复制cp

    cp - copy files and directories,复制文件或目录。

    语法:

    $ cp [OPTION] SOURCE DEST

    SOURCE: 源文件或目录;

    DEST: 目标文件或目录;

    [OPTION]: 常用选项有-arf

    -r: 在复制目录时,将复制该目录下所有的子目录和文件;

    -f: 强行复制,直接覆盖已存在的同名文件,不给出提示;

    -i: 与-f相反,覆盖同名文件时给出提示,回复y/n确认是否覆盖;

    -a: 通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。

    常用用法:

    命令

    说明

    cp aaa.txt test_dir/

    将文件aaa.txt复制到test_dir目录下

    cp -r dir0/ test_dir/

    将目录dir0复制到test_dir目录下,复制目录要用-r选项

    cp -rf dir0/* test_dir/

    将dir0下的所有文件复制到test_dir目录下,强制覆盖

    cp -ri dir0/ test_dir/

    将目录dir0复制到test_dir目录下,覆盖前提示。

    cp aaa.txt new.txt

    将文件aaa.txt复制为一个新文件new.txt(不存在,新创建)

    cp dir0/ new_dir -r

    将目录dir0复制为一个新目录new_dir(不存在,新创建)

    注:若目标目录不存在,相当于将源目录复制一份并命名为目标目录;若目标目录存在,相当于将源目录复制到目标目录下。

    3.3.2 移动mv

    mv - move (rename) files,将文件/目录移动到某位置,或将文件/目录重命名。

    语法:

    $ mv [OPTION] SOURCE DEST

    SOURCE: 源文件或目录;

    DEST: 目标文件或目录;

    [OPTION]: 该命令选项不常用,多直接不带选项使用。

    常用用法:

    命令

    说明

    mv aaa.txt dir0/

    将文件aaa.txt移动到dir0目录下

    mv aaa.txt new_aaa.txt

    将文件aaa.txt重命名为new_aaa.txt

    mv dir0/ test_dir/

    将目录dir0移动test_dir目录下

    mv dir0/ new_dir

    将目录dir0重命名为new_dir(目录不存在)

    注:若目标目录不存在,相当于将源目录重命名为目标目录;若目标目录存在,相当于将源目录移到目标目录下。

    3.3.3 删除rm

    rm - remove files or directories,删除文件或目录。

    语法:

    $ rm [OPTION] [FILE]

    FILE: 要删除的文件或目录

    OPTION: 常用的选项有:-rf

    -f: 强制删除,不询问;

    -r: 用于删除目录,递归删除子目录及文件。

    常用用法:

    命令

    说明

    rm aaa.txt

    删除文件aaa.txt

    rm -r dir0/

    删除目录dir0

    rm -rf dir0/*

    强制目录dir0下的所有文件,dir0将变为一个空目录

    注:rm -rf 删除系统相关文件是个危险操作,请在确保安全的情况下使用

    温馨提示:文件编辑请看vi/vim编辑器章节(鉴于命令的复杂度,故将此章节延后)。

    3.4 文件压缩与归档

    首先,要弄清两个概念:打包(归档)和压缩。

    打包是指将一大堆文件或目录什么的变成一个总的文件,

    压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

    3.4.1 gzip压缩

    gzip是压缩命令。

    gzip - compress or expand files,压缩和解压文件,文件经压缩后会变成后缀为”.gz”的文件。

    语法:

    $ gzip [OPTION] FILE

    FILE: 要压缩的文件;

    OPTION: 常用的选项有:-dvl

    -d: 解压;

    -v: 显示指令执行过程

    -l: 列出压缩文件的相关信息

    常用用法:

    命令

    说明

    gzip aaa.txt

    压缩aaa.txt文件,压缩后为aaa.txt.gz

    gzip -dv aaa.txt.gz

    解压aaa.txt.gz,解压出来恢复为aaa.txt

    gzip -l aaa.txt.gz

    列出aaa.txt.gz压缩文件的压缩信息

    注:gzip是linux中的一种压缩方式,主要压缩方式有以下:

    gzip:压缩速度快,应用广泛的压缩方式;

    bzip: 压缩形成的文件小,但是可用性不如gzip;

    xz: 是新的压缩方式,可以自动提供较佳的压缩率;

    3.4.2 tar归档压缩

    tar - an archiving utility,一个归档/备份工具。

    tar本身是打包/备份/归档的命令,但它可以调用压缩命令,可以实现将一堆文件打包后再进行压缩。tar可以调用gzip方法。

    语法:

    归档备份:

    $ tar [OPTION] ARCHIVE FILE

    还原:

    $ tar [OPTION] ARCHIVE [OPTION] PATH

    ARCHIVE: 归档文件

    FILE: 要归档的文件

    PATH: 指定还原的路径

    OPTION: 常用的选项有:-cvfzxC

    -c: 创建新的备份文件;

    -x: 从备份文件中还原文件,解压;

    -v: 显示命令执行过程;

    -f: 指定备份文件;

    -C: 指定目标文件;

    -z: 通过gzip指令处理备份文件;

    -j: 通过bzip2指令处理备份文件;

    tar归档备份文件(.tar格式文件):

    命令

    说明

    tar -cvf dir0.tar ./dir0

    将dir0目录归档备份为新的文件dir0.tar

    tar -xvf dir0.tar

    将dir0.tar解包还原到当前目录

    tar -xvf dir0.tar -C test_dir/

    将dir0.tar解包还原到指定目录test_dir中

    与gzip结合先打包归档再压缩(.tar.gz格式文件):

    命令

    说明

    tar -zcvf dir0.tar.gz dir0/

    将dir0目录归档并压缩为新的文件dir0.tar.gz

    tar -zxvf dir0.tar.gz

    将dir0.tar.gz解压解包还原到当前目录

    tar -zxvf dir0.tar.gz -C /home/zengzr/

    将dir0.tar.gz解压解包还原到/home/zengzr/

    与bzip2先打包归档再压缩(.tar.bz2格式文件):

    命令

    说明

    tar -jcvf dir0.tar.bz2 dir0/

    将dir0目录归档并压缩为新的文件dir0.tar.bz2

    tar -jxvf dir0.tar.bz2

    将dir0.tar.gz解压解包还原到当前目录

    tar -jxvf dir0.tar.bz2 -C test_dir/

    将dir0.tar解压解包还原到目录test_dir中

    注:

    当tar命令不加选项-z或-j时,归档备份是不会压缩的,因此产生的备份文件较大;

    当加上选项-z或-j时,会先归档再压缩成gzip或bzip格式,因此产生的备份文件较小。

  • 相关阅读:
    Mathematical optimization
    github代码比对颜色介绍
    设计模式之享元模式
    vulnhub靶机:Kioptrix : Level 1.2
    docker安装es与kibana
    L2 数据仓库和Hive环境配置
    计算机图形学6--讨论多边形
    auto{x}与auto(x)---一位中国小伙为cppreference作出的贡献
    js中给数组添加元素的方法有哪些
    Linux进程替换实现一个简单的shell
  • 原文地址:https://blog.csdn.net/qq_30155503/article/details/127579774