Linux命令(1)-创建文件 - 南宫羽香

时间:2024-01-30 09:39:59

版本:centos7

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命令使用说明。

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=<备份文件名结尾>:备份文件会以该字符串结尾。

ln -S .old newfile linktonew

 

  备份文件将以.old结尾,即linktonew.old。

 

  -f或者--force :创建连接时,先将与目标连接文件同一目录下的同名文件删除,不管该文件为何种类型。

  -i:覆盖既有文件之前先询问

  -s或者--symbolic:对源文件创建软连接。

  

   可以看到,软连接文件的索引节点和大小均与源文件不同。

  -n:将连接到目录的软连接做为普通文件。

  

  -T:将连接文件看做普通文件。

  -v:显示指令执行过程。

  -t或者 --target-directory=DIRECTORY :制定连接文件创建的目录。默认在用户当前所在的目录。