• Linux centos7创建文件


    在系统中创建文件或目录,是最基本的操作,也是经常遇到的操作。本文仅关注普通文件的创建。

    最简单的情况是创建一个空文件。但有时,根据实际情况,我们需要创建多个空文件,创建多个相同内容的文件,有时又可能需要创建一个指定大小的文件,或把一个大文件切割为多个小文件等。

    我们分几种情况分别介绍一下。

    一、创建空文件

    创建空文件的主要命令是touch

    1.创建单个空文件

    a.touch

            touch 文件名

            touch demo1

    创建后可以查看文件是否存在及文件内容

            ls demo*

            cat demo1

    b.>

    我们也可以通过重定向创始一个空文件

            >demo2

    可以说,这是创建空文件的最简单的方式

    c.vim/vi

            vim demo3

    d.gedit

            gedit demo4

    e.nano

            nano demo5

    以上创建文件的方式主要是依据文本编辑器。

    创建后直接保存退出,就是空文件;如果录入一定的字符,就不是空文件了。

    2.创建多个空文件

    a.touch

            touch  a{1..10}.txt

    b.tee

            echo –n “” |tee ab{a..h}.sh

    二、创建有内容的文件

    1.创建单行内容的文件

            echo "hello world" > demoa.txt

    2.创建多行内容的文件

    a.标准输入创建文件

            tee demob.txt

    录入:

            abcde

            12345

            这是一项测试。

    按ctrl+d退出录入

    查看文件内容(含三行)

    b.cat  >

    通过查看多个小文件,可以组合成一个大文件。如

            a.txt---内容:123456789

            b.txt ---内容:abcdefgh

            c.txt ---内容:你好!这是合并文件测试。

    c.vim

    在vim编辑文件中,可以把其中(连续)多行另存为一个新文件

    案例:把/etc/passwd中,第3-10行,另存为一个新文件

    在打开的vim编辑器,执行命令:

            :3,10 w passwd1

    d.sed

    同样对上述案例进行训练:

            sed  -n '3,10p' /etc/passwd >passwd2

    e.awk

    同样对上述案例进行训练:

            awk  'NR==3,NR==10p' /etc/passwd >passwd3

    可以通过diff或comm命令对三个文件进行比较,可看到是相同的。

    三、大文件切割为小文件

    命令split作用是把一个大文件按需要设定分为多个小文件

    1.按行数分割

    根据行拆分:在命令中添加选项 -l,后跟行数

    如果想用数字后缀可使用-d参数,同时可以使用-a length来指定后缀的长度

    不加-d参数,默认为英文字母。不加-a参数,默认为2

    如果想看一下生成的小文件,可使用--verbose参数

    基本语法:

            split  -l 行数-d  -a2 要分割的文件名 分割后的文件名

    案例

    大文件

    我们创建一个文件number.txt,其内容为1-500的数字,每行一个数字

            seq 500 >number.txt

    小文件

    分割为100行一个文件,共5个小文件,设定选项-d时(指定数字),小文件名可以指定前缀,如a,后面的文件名会自动设为a00,a01,a02,a03,a04

    如果不加选项-d时,指定文件名前缀为a,后面自动设定为aa,ab,ac,ad,ae

    命令

            split  -100 -d number.txt a

    不加选项-d

    2.按字节分割

    根据字节拆分:在命令中添加选项 -b,默认不加单位就是字节,也可以带单位比如KB,MB等。

    基本语法:

            split -b 3  要分割的文件名 -d -a 1 分割后的小文件名前缀

    案例

    大文件:

            /etc/passwd

    分割要求:

    每个小文件500字节,文件名前缀为c,用字母表示,文件名前缀长度为1

    命令

            split  -b  500 /etc/passwd  -a 1  c

    最终效果

    四、创建指定大小的文件

    我们可以由dd命令创建一个指定大小的文件

            dd命令

    把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。

    语法:

            dd 〔选项〕

            if =输入文件(或设备名称)

            of =输出文件(或设备名称)

            bs = bytes 同时设置读/写缓冲区的字节数

            count = blocks 只拷贝输入的blocks块

    案例:创建一个10M大小的文件test_size

            dd  if=/dev/zero  of=./test_size  bs=1M  count=10

    小结

    创建文件是最常见的操作。常用命令是touch,其另外的作用是对现有文件修改其三个时间戳。最简单的创建命令是>。通过编辑文件而创建文件的文本编辑器是vim,应多加训练。而通过split可以分割大文件,而通过dd可以创建指定大小的文件(占位置,考察系统读写能力等),而通过truncate可以把大文件删除为指定大小的文件(需要了解此命令的读者可网上查一下)。对文件的操作从创建文件开始,再查看、修改、复制、移动、重定向、重命名和删除等。对文件的基本操作就是这些,只有熟练掌握基本命令与操作,才能编程、创建服务,搭建平台。

  • 相关阅读:
    C++ Reference: Standard C++ Library reference: C Library: cwchar: wcscoll
    Springcloud之Nacos Config服务配置
    DSL风格语法(次要)_大数据培训
    Qt入门学习及GUI编程基础教程
    CSS页面基本布局
    信奥要学哪些数学知识 学信奥要不要先学python
    2. IDEA配置antlr4(on mac)
    Pytorch深度学习快速入门—LeNet简单介绍(附代码)
    数字电路与逻辑设计 之 卡诺图
    【LeetCode动态规划#14】子序列系列题(最长递增子序列、最长连续递增序列、最长重复子数组、最长公共子序列)
  • 原文地址:https://blog.csdn.net/qq_36142959/article/details/132875924