Linux下文件处理基础命令
1.创建文件
有时候我们会遇到需要创建一个空文件的情况。比如,应用程序可能希望在写入日志文件前线显示该文件。在这种情况下,可以使用touch命令轻松创建一个空文件。
Touch命令创建一个指定的新文件,并将用户名作为文件的所有者。在这里我们对 ls加上了-il参数,因此列表中的第一项显示分配给文件的索引节点号。Linux系统中的每个文件都有一个唯一的索引节点号。
这里要注意的是,文件的大小零,因为touch命令创建的是一个空文档,touch命令还可以用于更改现有的访问时间和修改时间,而不改变文件的内容
现在看test1的修改时间已经更新,也可以使用指定时间——使用-t参数加上时间戳就可以实现
2. 复制文件
我们经常需要将文件和目录从文件系统的一个位置复制到另一个位置。执行这种操作的命令叫做cp
Cp命令最基本的形式就是使用两个参数:源对象和目标对象
Cp source destination
新文件test2的索引号不同,表示这是全新的文件。
而如果当destination文件已经是存在的,则cp命令将会提示是否覆盖该文件:
使用-p参数可以使复制文件的访问时间和修改时间与源文件一致
这里可以看出来尽管test3文件是一个全新的文件,但它的时间戳与源文件test1一样
3. 链接文件
在cp命令中有些参数到涉及到链接,如果需要在系统中维护同一个文件的两个(或两个以上)副本,就不一定要使用两个物理副本,可以使用一个多个虚拟副本,这种虚拟副本就叫做链接。链接是目录中的占位符,指向文件的真实位置。在Linux下有两种不同文件的链接类型:
◆符号链接(又称软链接);
◆硬链接
其中硬链接创建一个单独的文件,其中包括有关源文件的信息和位置,引用该链接文件的效果跟引用源文件一样
这里创建一个test1文件的一个硬链接为test4。执行文件列表会发现,test1和test4索引号相同,者表示实际上他们是同一个文件,而且链接编号(即列表第三项)显示这两个文件都有两个链接。
注意:在同一个物理介质的文件之间只能创建链接,不能再不同挂载点下的文件之间创建硬链接,这种情况下需要使用软链接,即-s:
用-s参数创建一个符号链接(软链接):
这里可以看出来 ,test5与test1的索引号不同,这表示Linux系统将它们作为不同的文件看待(如果需要链接文件,除了cp之外还可以使用ln命令,但ln默认为创建硬链接,如果需要创建软链接,也需要-s参数)
4. 重命名与删除文件
在linux中重命名文件的过程叫做移动,mv命令乐意将文件和目录移动到另一个位置:
移动文件将更改文件名但保留原来的索引点号和时间戳
Linux中删除文件的过程叫做移除。Bash
shell中移除文件的命令是rm:
需要注意的是,命令会提示你是否确认移除,bash
shell中没有回收站,一旦移除问价则无法还原。
而在做这些的时候博主也发现了一点小不同,作为萌新心里还是小小的得意了一番:
我移除了test1文件,它有一个test4文件的硬链接和一个指向test5 文件的软链接,现在两个文件仍然显示(尽管已经被我移除),但当我查看test4文件的内容时,仍然可以显示,可我查看软链接test5文件的内容时,bash支出不存在该文件。
这里大概是因为软链接的处理方式不一样,对软链接而言。底层文件不在了,那么链接指向的内容也就消失了,当然如果有大神指导
原因,还请告之!
还有rm命令在移除中收不到提示,也可以使用-f参数,不过移除以后无法复原,要小心使用啊(推荐一条命令 rm –rf / 奇效!!!!)
原创文章,作者:XnlZ,如若转载,请注明出处:http://www.178linux.com/81015