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时,指定文件名前缀为b,后面自动设定为aa,ab,ac,ad,ae

命令

split -100 -d number.txt a

不加选项-d

2.按字节分割

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

基本语法:

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

案例

大文件:

/etc/passwd

分割要求:

每个小文件200字节,文件名前缀为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可以把大文件删除为指定大小的文件(需要了解此命令的读者可网上查一下)。对文件的操作从创建文件开始,再查看、修改、复制、移动、重命令或删除。对文件的基本操作就是这些,只有熟练掌握基本命令与操作,才能编程、创建服务,搭建平台。

相关推荐
唯独失去了从容1 小时前
WebRTC服务器Coturn服务器的管理平台功能
运维·服务器·webrtc
董先生_ad986ad2 小时前
C# 中的 `lock` 关键字本质
开发语言·c#
元亓亓亓2 小时前
Java后端开发day36--源码解析:HashMap
java·开发语言·数据结构
道剑剑非道2 小时前
QT 打包安装程序【windeployqt.exe】报错c000007d原因:Conda巨坑
开发语言·qt·conda
小邓儿◑.◑3 小时前
C++武功秘籍 | 入门知识点
开发语言·c++
roman_日积跬步-终至千里3 小时前
【K8s基础】K8s下的Helm和Operator:包管理器与运维程序化
运维·容器·kubernetes
码银5 小时前
Java 集合:泛型、Set 集合及其实现类详解
java·开发语言
大G哥5 小时前
PHP标签+注释+html混写+变量
android·开发语言·前端·html·php
傻啦嘿哟5 小时前
HTTP代理基础:网络新手的入门指南
开发语言·php
PassLink_5 小时前
[Kaggle]:使用Kaggle服务器训练YOLOv5模型 (白嫖服务器)
运维·服务器·yolo