Linux常用命令一一文件管理

Linux常用命令中,除了常见的mv、rm、cat、cp、find、ln等你们还知道有哪些命令呢?本文将介绍一下文件管理常见的命令。

ln 连接文件或目录
功能:ln ]指令用连接文件或目录,如同指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或者目录复制到目录中。若同时指定多个文件或者目录,且最后的目的地并非是一个已经存在的目录。则会出现错误信息。

语法:ln –s [源文件][目标文件] //创建软连接

参数

  -b 删除,覆盖目标文件之前的备份。 
 -d 建立目录的硬连接。 
 -f 强行建立文件或目录的连接,不论文件或目录是否存在。 
 -i 覆盖既有文件之前先询问用户。 
 -n 把符号连接的目的目录视为一般文件。 
 -s 对源文件建立符号连接,而非硬连接。 
 -v 显示指令执行过程。

ln 软连接与硬连接

创建软连接
ln –s test.c   ./myfile

创建了一个软链接:
在这里插入图片描述

创建了一个硬链接:
硬链接会创建独立的虚拟文件,其中包含了原始文件信息及位置。但是他们从根本上而言是同一个文件,引用硬链接文件等同于引用了源文件。要创建硬链接,原始文件必须事先存在,只不过这次使用ln命令时不需要加入额外的参数了。

ln xxx xxx_l

在这里插入图片描述

在上面的例子中,我们使用了 ls -i 命令显示了xx*的inode编号以及长列表。注意,带有硬链接的文件共享inode编号。这是因为它们终归是同一个文件。
cat 全文本显示

参数

-n 由 1 开始对所有输出的行数编号
-b 只不过对于空白行不编号
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行

cat可能是平常用的比较多的文件管理命令了,常见使用方法如下:

cat test.c //将.c文件显示在终端下
cat -n test.c//显示全文本信息,并且显示行号

在这里插入图片描述
cat 将test.c 文件合并到test1.c中,首先创建一个新文件touch test1.c

在这里插入图片描述
touch 改变文件或目录时间
功能:一是用来创建新的空文件。二是用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。

参数

 -a 只更改存取时间。 
 -c 不建立任何文件。 
 -d 使用指定的日期时间,而非现在的时间。 
 -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。 
 -m 只更改变动时间。 
 -r 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。 
 -t 使用指定的日期时间,而非现在的时间。 

常见用法

touch project.c //创建一个新的文件
touch text.txt //

创建一个新的空文件,通过stat 命令 看看到文件大小、设备、Uid等信息。主要是下面的访问更改信息。
在这里插入图片描述
chmod 变更文件或目录的权限
功能:在UNIX系统家族里,文件或目录权限的控制分别以读取,写入,执行3种一般权限来区分,另有3种特殊权限可供运用,再搭配拥有者与所属群组管理权限范围。

权限范围的表示法

  u:User,即文件或目录的拥有者。 
 g:Group,即文件或目录的所属群组。 
 o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。 
 a:All,即全部的用户,包含拥有者,所属群组以及其他用户。 

有关权限代号的部分

  r:读取权限,数字代号为"4"。 
 w:写入权限,数字代号为"2"。 
 x:执行或切换权限,数字代号为"1"。 
 -:不具任何权限,数字代号为"0"

参数

  -c 效果类似"-v"参数,但仅回报更改的部分。 
 -f 不显示错误信息。 
 -R 递归处理,将指定目录下的所有文件及子目录一并处理。 
 -v 显示指令执行过程。 

将文件 test.txt 设为所有人皆可读取

chmod ugo+r test.txt

将文件 test.txt 设为所有人皆可读取

hmod a+r test.txt

此外chmod也可以用数字来表示权限

chmod 777 test
语法为:
	chomd abc test   
这里abc表示数据权限:
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5

less 任意浏览搜索文本
功能:less命令可以向前浏览文件。

参数

-N  并且显示每行的行号

常见按钮

f        #向前滚动一屏
b        #向后滚动一屏
回车或j   #向前移动一行
k        #向后移动一行
G        #移动到最后一行
g        #移动到第一行
q    #退出

find 查找文件或目录

功能:find指令用于查找符合条件的文件。任何位于参数之前的字符串都将被视为欲查找的目录。

列出当前目录及子目录下所有文件和文件夹
在这里插入图片描述
常见用法
在/home/目录下查找以.txt结尾的文件名
find /home -name “*.txt”
在这里插入图片描述.txt文件太多,仅显示一部分信息。

找出/home下不是以.txt结尾的文件

find /home ! -name "*.txt"

find 根据文件时间戳进行搜索

语法:find . -type f 时间戳

UNIX/Linux文件系统每个文件都有三种时间戳:
访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

搜索最近七天内被访问过的所有文件

find . -type f -atime -7

在这里插入图片描述

搜索恰好在七天前被访问过的所有文件

find . -type f -atime 7

搜索超过七天内被访问过的所有文件

find . -type f -atime +7

find 根据文件大小进行匹配
语法:find . -type f -size 文件大小单元

搜索大于5KB的文件

find . -type f -size +5k

搜索小于5KB的文件

find . -type f -size -5k

cp 复制文件或目录
功能:cp指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。

参数:

  -a 此参数的效果和同时指定"-dpR"参数相同。 
 -b 删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串。 
 -d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录。 
 -f 强行复制文件或目录,不论目标文件或目录是否已存在。 
 -i 覆盖既有文件之前先询问用户。 
 -l 对源文件建立硬连接,而非复制文件。 
 -p 保留源文件或目录的属性。 
 -P 保留源文件或目录的路径。 
 -r  递归处理,将指定目录下的文件与子目录一并处理。 
 -s 对源文件建立符号连接,而非复制文件。 
 -u 使用这项参数后只会在源文件的更改时间较目标文件更新时或是 名称相互对应的目标文件并不存在,才复制文件。 
 -v 显示指令执行过程。 

将文件test.c复制到目录myfile/下
在这里插入图片描述
交互式地将当前目录./中的以t打头的所有.c文件复制到目录myfile/中

在这里插入图片描述
mv 移动或更名现有的文件或目录

功能:mv可移动文件或目录,或是更改文件或目录的名称。
语法:mv [源文件] [目标文件]

参数

-b 若需覆盖文件,则覆盖前先行备份。 
-f 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。 
-i 覆盖前先行询问用户。 
-u 在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。 
-v 执行时显示详细的信息。 

将文件 myfile 移动到目录file文件下
mv myfile/ file/
在这里插入图片描述
rm 删除文件或目录
功能:执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件。

参数

  -d 直接把欲删除的目录的硬连接数据删成0,删除该目录。 
 -f 强制删除文件或目录。 
 -i 删除既有文件或目录之前先询问用户。 
 -v 显示指令执行过程。

强制删除 当前目录下的 project.c 和test1.c文件。
rm -f project.c test1.c
在这里插入图片描述

总结

文本管理命令较多,可根据使用场景不同选择使用不同的命令。本文仅介绍一些常见用法,更多用法可使用man命令查看。

在这里插入图片描述

扫二维码关注微信公众号,获取技术干货

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值