移动文件会改变文件名,但保持同样的索引节点号和时间戳。移动一个有软链接指向文件会带来麻烦,会造成一个软链接文件指向一个无效文件。
删除文件 rm在Linux中,删除(deleting)叫做移除(removing)。base shell 中删除文件的命令是rm。
rm test1注意命令会提示是否真的要删除文件(Mac下不会提示)。
base shell中没有回收站或者垃圾桶,所以一旦删除就无法找回了。
关于rm命令的命令行参数,可以参考cp的命令行参数,大多数是一致的,以下列举几个常用的:
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
–preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
当输出一个带链接的文件时,源文件被删除后,硬链接文件内容依旧存在,而软链接文件时,bash会表示它已经不复存在了。
硬链接文件采用和源文件相同的索引节点号。硬链接会一直维护这个索引节点号来保留数据,知道删除了最后一个链接它的文件。
所有的软链接文件都知道它所指向的文件不存在了,所以指向的也就是一个无效文件。
在Linux中创建目录使用mkdir命令。
mkdir finder系统会创建一个新目录,并给它分配一个新的索引节点号。
删除目录base shell会尽可能的防止用户误删目录。删除目录的基本命令是:rmdir:
rmdir finder默认情况下,rmdir命令只删除空目录。可以使用--ignore-fail-on-non-empty参数来删除非空目录。
当然rm命令也可以使用,由于删除的是目录,所以一般情况下需要加-r参数,来递归删除目录。
一般用的最多的就是rm -rf,递归强制删除。
stat 命令可以提供文件系统上某个文件的所有状态信息:
stat teststat 会显示文件的基本信息,但是不会显示当前文件的类型。
查看文件类型 filefile命令就是用来查看文件类型的命令。
file testfile命令将文件分成3类:
文本文件:可打印字符的文件。
可执行文件:可在系统上运行的文件。
数据文件:包含不可打印的二进制字符、又不能在系统上运行的文件。
当文件是文本文件时,file命令可以判断出该文件包含文本,还判断出文本的字符编码;
当文件是文本脚本文件时,会判断出可以在系统上运行;
当文件是二进制可执行程序时,file命令可以判断出文件编译时面向的平台,以及它需要哪种类型的库。如果你有从未知来源获得的二进制文件,这会是个非常有用的特性。
cat命令是显示文本文件中所有数据的得力助手。
cat testcat -n test :给所有行加上行号;
cat -b test :只给有文本的行加上行号;
cat -s test :将多个空白行压缩到单个空白行;
cat -K test :将制表符使用^I字符组合替换文中所有制表符。
对大型文件来说,cat命令会有点繁琐,文件的文本会在显示器上一晃而过。
more 命令more命令会显示文本文件的内容,但会在显示每页数据之后停下来,并且在屏幕底部显示一个more标签,并显示现在在文本文件中的位置。
more命令的选项:
H 显示帮助菜单
spacebar 显示文本文件的下一屏
z 显示文件文本的下一屏
ENTER 显示文本文件的下一行
d 显示文件文本的后面半屏(会更新11行)
q 退出程序
s 显示文件文本的下一行
f 显示下一屏文件文本
b 显示上一屏文件文本
/expression 在文件中查找匹配文本表达式的内容
n 在文件中查找下一处匹配已制定表达式的内容
‘ 跳到指定表达式匹配到的第一处内容
!cmd 执行shell命令
v 在当前行启动vi编辑器
CTRL-L 重绘当前行
= 显示当前行在文件中的行号
. 重复执行前一个命令
more命令只支持文本文件中基本的移动。
less命令less 命令是more命令的升级版本,提供了一些极为实用的在文本文件中前后翻动的功能,还有一些极先进的搜索功能。