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

相关推荐
Fairy_sevenseven3 分钟前
【二十八】【QT开发应用】模拟WPS Tab
开发语言·qt·wps
存储服务专家StorageExpert9 分钟前
DELL SC compellent存储的四种访问方式
运维·服务器·存储维护·emc存储
蜡笔小新星11 分钟前
Python Kivy库学习路线
开发语言·网络·经验分享·python·学习
凯子坚持 c11 分钟前
C语言复习概要(三)
c语言·开发语言
无限大.23 分钟前
c语言200例 067
java·c语言·开发语言
余炜yw24 分钟前
【Java序列化器】Java 中常用序列化器的探索与实践
java·开发语言
篝火悟者26 分钟前
问题-python-运行报错-SyntaxError: Non-UTF-8 code starting with ‘\xd5‘ in file 汉字编码问题
开发语言·python
Death20028 分钟前
Qt 中的 QListWidget、QTreeWidget 和 QTableWidget:简化的数据展示控件
c语言·开发语言·c++·qt·c#
六点半88829 分钟前
【C++】速通涉及 “vector” 的经典OJ编程题
开发语言·c++·算法·青少年编程·推荐算法
惜.己29 分钟前
javaScript基础(8个案例+代码+效果图)
开发语言·前端·javascript·vscode·css3·html5