Linux / Mac 下 基本的 bash shell 命令详解(4)

移动文件会改变文件名,但保持同样的索引节点号和时间戳。移动一个有软链接指向文件会带来麻烦,会造成一个软链接文件指向一个无效文件。

删除文件 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 命令可以提供文件系统上某个文件的所有状态信息:

stat test

stat 会显示文件的基本信息,但是不会显示当前文件的类型。

查看文件类型 file

file命令就是用来查看文件类型的命令。

file test

file命令将文件分成3类:

文本文件:可打印字符的文件。

可执行文件:可在系统上运行的文件。

数据文件:包含不可打印的二进制字符、又不能在系统上运行的文件。

当文件是文本文件时,file命令可以判断出该文件包含文本,还判断出文本的字符编码;
当文件是文本脚本文件时,会判断出可以在系统上运行;
当文件是二进制可执行程序时,file命令可以判断出文件编译时面向的平台,以及它需要哪种类型的库。如果你有从未知来源获得的二进制文件,这会是个非常有用的特性。

查看整个文件 cat more less cat命令

cat命令是显示文本文件中所有数据的得力助手。

cat test

cat -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命令的升级版本,提供了一些极为实用的在文本文件中前后翻动的功能,还有一些极先进的搜索功能。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14684.html