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

相关推荐
禁默2 分钟前
深入浅出:AWT的基本组件及其应用
java·开发语言·界面编程
Cachel wood9 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Code哈哈笑12 分钟前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
終不似少年遊*14 分钟前
pyecharts
python·信息可视化·数据分析·学习笔记·pyecharts·使用技巧
程序猿进阶15 分钟前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
Python之栈16 分钟前
【无标题】
数据库·python·mysql
Youkiup17 分钟前
【linux 常用命令】
linux·运维·服务器
qq_4336184417 分钟前
shell 编程(二)
开发语言·bash·shell
qq_2975046121 分钟前
【解决】Linux更新系统内核后Nvidia-smi has failed...
linux·运维·服务器
_oP_i26 分钟前
.NET Core 项目配置到 Jenkins
运维·jenkins·.netcore