[Linux基础]-10-创建文件

引言

这篇文章介绍Linux的终端中如何创建文件并写入数据。

文章目录

0×1.使用touch创建空文件

touch是最常用的创建空文件的命令,命令格式:touch 文件名

					
					#使用touch命令创建一个叫做hk987的文件
					987@hk987.xyz~$ touch hk987

					#如果文件名以-开头,在终端中,系统默认会将它解释为参数,例如下面的命令会报错,提示参数不正确
					987@hk987.xyz~$ touch -hk987
					touch: 不适用的选项 -- k
					请尝试执行 "touch --help" 来获取更多信息。

					#遇到这种情况,我们要么使用绝对路径,要么在文件名前面添加当前路径,或者使用--符号,下面这三种方式都能创建-开头的文件
					987@hk987.xyz~$ touch /home/hk/-hk987
					987@hk987.xyz~$ touch ./-hk987
					987@hk987.xyz~$ touch -- -hk987
					#--符号会强制指定它后面的任何字符都属于文件名或路径部分,不会被当做参数解释

					#一次创建5个空文件,分别是hk9871.txt,hk9872.txt.....hk9875.txt
					987@hk987.xyz~$ touch hk987{1..5}.txt
					
					

到目前位置touch命令只是创建了一个空文件,如果想要写入内容,可以使用下面任意一个命令。

0×2.使用vim命令创建文件

在本系列第4篇中已经介绍过vim创建文件和写入数据,大家可以去这里查看:
[Linux基础]-4-Vim文本编辑器

这里不再赘述。

0×3.使用echo命令来创建文件

echo命令可以用来创建,写入和追加写入数据,请看下面的实例:

					
					#如果hk987文件不存在,就会被创建
					987@hk987.xyz~$ echo "Hello World" > hk987
					
					#如果hk987文件不存在,就会被创建,如果存在,覆盖其中的数据为“Hello hk987”
					#其中>符号可以覆盖数据,将新数据覆盖到文件中
					987@hk987.xyz~$ echo "Hello hk987" > hk987

					#如果hk987文件不存在,就会被创建,如果存在,将“Hello hk987.xyz”追加到里面
					#其中>>符号可以追加数据到新的一行
					987@hk987.xyz~$ echo "Hello hk987.xyz" >> hk987
					
					

0×4.使用cat命令来创建文件

cat命令不仅仅可以用来查看文件内容,还能用来创建文件和追加数据,请看下面的实例:

					
					#将将hk987和hk1中的内容合并,写入hk2文件中,如果hk2不存在就会被创建
					#否则内容会被hk987和hk1合并的内容所覆盖
					#根据上面echo命令实例的提示,想追加数据请使用>>代替>
					987@hk987.xyz~$ cat hk987 hk1 > hk2

					#将hk987和hk1中的内容合并,并且非空行添加上行号,写入hk2文件中
					987@hk987.xyz~$ cat -b hk987 hk1 > hk2

					#将hk987和hk1中的内容合并,每一行都添加上行号,写入hk2文件中
					987@hk987.xyz~$ cat -n hk987 hk1 > hk2

					#从键盘读取输入,直到读取到exit结束输入,将输入的内容写入hk987
					987@hk987.xyz~$ cat > hk987 << exit
					#从键盘读取输入,直到读取到exit结束输入,将输入的内容追加写入hk987
					987@hk987.xyz~$ cat >> hk987 << exit
					987@hk987.xyz~$ tac hk987 #反向读取hk987中的内容
					987@hk987.xyz~$ tac >> hk987 << 111 #上面的规则对反向tac同样适用,这里不再赘述
					
					

0×5.使用python来创建文件

Linux众多桌面发行版都安装了基础的python环境,我们可以使用python来创建文件和写入数据,请看下面的实例:

					
					#直接使用python在终端下执行,会创建一个叫做hk987的文件,并且可写入,再用write函数写入数据,最后关闭文件
					987@hk987.xyz~$ python -c 'f=open("hk987","w");f.write("hk987.xyz\n");f.write("\n");f.write("hahaha");f.close();'

					#如果再用python的方法来读取,命令中的r代表文件以只读方式打开,然后用read函数读取文件所有内容
					987@hk987.xyz~$ python -c 'f=open("hk987","r");print(f.read());f.close();'
					
					

这一段需要一点点python的基础就能看懂,如果看不懂,可以看看本站推出的零基础python黑客系列编程课程。

0×6.使用kate来创建文件

kate是桌面环境下的图形化文本编辑器,类似于windows下的notepad,可以直接通过命令行调用,例如:

					
					#用图形化界面kate文本编辑器打开hk987文件,如果hk987文件不存在,保存数据的时候会被创建
					987@hk987.xyz~$ kate hk987