大家好,又见面了,我是你们的朋友全栈君。
转载自:https://www.cnblogs.com/lclq/p/5741852.html
Linux命令(1)-创建文件
1.可以使用cat创建一个新的文件
命令:cat>>filename
使用cat创建文件时,以系统默认的文件属性作为新文件的属性,并接受键盘输入作为文件的内容。输入结束时按Ctrl d退出并保存文件。
另外,使用cat filename命令可以查看文件内容。
cat file1 file2 >> file3 命令也可将多个文件合并到一个新的文件当中。首先创建一个newfile1并输入内容然后合并。
2.使用touch命令创建文件
首先,touch命令用的并不多,主要用于修改指定文件的访问和修改时间属性(Update the access and modification times of each FILE to the current time)。
当文件不存在时,则创建一个新的文件。touch只能创建空文件。
touch filename 以当前时间作为访问和修改时间属性值创建一个文件。
touche -r existfilename filename 根据existfilename的访问和修改时间属性确定filename的访问和修改时间属性。
可以看到newfile与tfile2的修改时间属性相同。
3.创建连接文件
Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。
在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:
- 文件有相同的 inode 及 data block;
- 只能对已存在的文件进行创建;
- 不能交叉文件系统进行硬链接的创建;
- 不能对目录进行创建,只可对文件创建;
- 删除一个硬链接文件并不影响其他有相同 inode 号的文件
软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
Linux使用ln命令创建连接文件,可以使用ln –help查看ln命令使用说明。
代码语言:javascript复制ln [参数] [-T] [源文件] [连接文件]
ln [参数] [源文件]
ln [参数] [源文件] [新建连接文件所在的目录]
ln [参数] [-t] [新建连接文件所在的目录] [源文件]
创建newfile的连接文件后使用 ll -i命令可以看到源文件与连接文件都指向同一个节点。
参数:
–help:显示帮助信息
-b或者 –backup=[Control] :对已经存在的目标连接文件进行备份。
[Control]:
none, off never make backups (even if –backup is given) numbered, t make numbered backups (linktonew.~1~、linktonew.~2~….)
existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups
如果连接文件已经存在,则首先对该连接文件进行备份,默认在文件尾追加~。
-S<备份文件名结尾>或 –suffix=<备份文件名结尾>:备份文件会以该字符串结尾。
代码语言:javascript复制ln -S .old newfile linktonew
备份文件将以.old结尾,即linktonew.old。
-f或者–force :创建连接时,先将与目标连接文件同一目录下的同名文件删除,不管该文件为何种类型。
-i:覆盖既有文件之前先询问
-s或者–symbolic:对源文件创建软连接。
可以看到,软连接文件的索引节点和大小均与源文件不同。
-n:将连接到目录的软连接做为普通文件。
-T:将连接文件看做普通文件。
-v:显示指令执行过程。
-t或者 –target-directory=DIRECTORY :制定连接文件创建的目录。默认在用户当前所在的目录。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148454.html原文链接:https://javaforall.cn