Linux命令(1)-创建文件

摘要:
当文件不存在时,将创建一个新文件。触摸只能创建空文件。Touchfilename创建一个以当前时间作为访问和修改时间属性值的文件。在Linux文件系统中,无论磁盘分区中保存的是哪种类型的文件,都会为其分配一个编号,称为索引节点编号。在Linux中,存在指向同一inode的多个文件名。Linux使用ln命令创建连接文件。您可以使用ln-help查看使用ln命令的说明。

版本:centos7

1.可以使用cat创建一个新的文件

  命令:cat>>filename

  使用cat创建文件时,以系统默认的文件属性作为新文件的属性,并接受键盘输入作为文件的内容。输入结束时按Ctrl+d退出并保存文件。

  Linux命令(1)-创建文件第1张

  另外,使用cat filename命令可以查看文件内容。

  cat file1 file2 >> file3 命令也可将多个文件合并到一个新的文件当中。首先创建一个newfile1并输入内容然后合并。

  Linux命令(1)-创建文件第2张

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的访问和修改时间属性。

  Linux命令(1)-创建文件第3张

  可以看到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] [新建连接文件所在的目录] [源文件]

  Linux命令(1)-创建文件第4张

  创建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

  如果连接文件已经存在,则首先对该连接文件进行备份,默认在文件尾追加~。

  Linux命令(1)-创建文件第5张

  -S<备份文件名结尾>或 --suffix=<备份文件名结尾>:备份文件会以该字符串结尾。

ln -S .old newfile linktonew

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

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

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

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

  Linux命令(1)-创建文件第6张

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

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

  Linux命令(1)-创建文件第7张

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

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

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

  Linux命令(1)-创建文件第8张

免责声明:文章转载自《Linux命令(1)-创建文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇《安富莱嵌入式周报》第226期:2021.08.16--2021.08.22Spring强制使用CGLIB代理事务下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Crash监控的简单实现方案

个人博客 http://www.milovetingting.cn Crash监控的简单实现方案 前言 本文从Java层及Native展开,简单记录Android中的Crash监控方案。 Java层Crash Java层的crash监控,可以通过实现Thread.UncaughtExceptionHandler接口,重写uncaughtExceptio...

关于Linux下conio头文件的实现

在windows下,c语言有库conio.h,实现了不少函数,但是Linux c没有这个库,内部的函数需要自己实现。 //clrsrc清屏函数的一种实现:void clrscr(void) {   system("clear");//需要头文件stdlib.h }//调用system("clear") //getch()函数的一种实现方法#include&...

linux下添加简单的开机自启动脚本

在linux的使用过程中,我们经常会碰到需要将某个自定义的应用程序设置为开机自启动以节省操作时间,这里提供两个设置开机自启动的方法。 注:博主使用的ubuntu-16.04进行实验,其它版本可能有偏差,但实现原理类似。 rc.local 在rc.local脚本中添加开机自启动程序 ubuntu在开机过程之后,会执行/etc/rc.local(注意/etc/...

史上最全Linux提权后获取敏感信息方法

在本文开始之前,我想指出我不是专家。据我所知,在这个庞大的区域,没有一个“神奇”的答案.分享,共享(我的出发点)。下面是一个混合的命令做同样的事情,在不同的地方,或只是一个不同的眼光来看待事物。我知道有更多的“东西”去寻找。这只是一个基本粗略的指南。并不是每一个命令,做好要注重细节. 文中的每行为一条命令,文中有的命令可能在你的主机上敲不出来,因为它可能是...

Linux内核调试方法总结之backtrace

backtrace 【用途】用户态或者内核态程序异常退出时回溯堆栈信息 【原理】通过对当前堆栈的分析,回溯上层函数在当前栈中的帧地址,直至顶层函数。帧地址是指在栈中存在局部变量、上一级函数返回地址、寄存器值的内存空间。由于不同处理器堆栈实现不同(向上增长和向下增长),此功能的具体实现是编译器内建的__buildin_frame_address及__buil...

[#Linux] CentOS 7 美化调优

优化美化系统,是为了让新系统能更顺眼顺手,符合自己过去在windows下的使用习惯,从而实现平稳过渡。 正如开篇时谈到的,现在的桌面版linux已相当友好(特别是Ubuntu),基本不需要做什么额外设置,就能满足日常的使用需求,这里介绍在CentOS 7下做的几步设置,至于大家是否采用,仁者见仁吧。 1.丰富常用yum源及插件 CentOS-Base.r...