欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > Linux文件管理

Linux文件管理

2025/2/28 0:33:41 来源:https://blog.csdn.net/YZ0406280703/article/details/145877132  浏览:    关键词:Linux文件管理

在Linux中一切皆文件

文件命名规范:

1.不能 使用‘/’作为文件名,因为‘/’为linux的根目录。

2.文件名称不能超过255个字符

3.名称区分大小写(linux中没有文件扩展名,名称中出现类似扩展名只是方便更好理解)


查看文件:

linux中有很多可以查看文件的方式,以下是几种常用的方式:

ls:显示指定路径下的所有文件信息

以下是ls的常用选项:

-a列出指定路径下的全部文件
-l以列表的形式展示文件(等价于ll命令)
-d只展示目录本身而不展示目录下的内容
-h以人的阅读习惯进行展示
-r递归展示

以下为常用选项的演示,以根目录‘/’为例:

ls -a /:展示出根目录下所有文件内容

根目录以下的文件与linux的许多功能都息息相关,以下是对该些文件的基本介绍: 

bin普通用户可以执行的命令所在目录
boot系统启动时所需要的文件
dev设备文件所在目录
etc系统中所有配置文件所在目录
home普通用户所在的家目录
lib库文件,在系统运行过程中所需要的一个库文件
lib64也是库文件所在的目录
media媒体,是用户挂载的,一般光盘可以挂载在这下面
mnt挂载目录
opt第三方软件安装目录
root超级用户所在的家目录
run程序运行时的相关文件所在目录
sbin超级用户可以执行的命苦所在目录
srv网络服务数据
tmp运行程序时产生的临时文件所在目录,会定期进行清理
usr软件资源所在目录
var用于存放一些会变化的数据,如日志

 ls -l /ll /:以列表的形式进行展示:

 可以看出两条命令产生的结果都是一样的。

链接文件:

其中有四条文件出现带箭头标识是链接文件。

链接文件分为硬链接文件和软链接文件。软链接文件也叫符号链接文件,类似于windows中的快捷方式,每个软链接文件的数据是它所在链接文件的路径,但和源文件有着不同node,如果源文件被删除,软链接文件也就不起作用了。硬链接文件相当于源文件的副本,拥有和源文件相同的node,当源文件被删除后硬链接文件依旧可以用。

创建硬链接文件:

ln 源文件 目标文件/链接名称

创建软链接文件:

ln -s 源文件 目标文件/链接名称

 例如,复制/etc/passwd的内容到passwd文件中,并为该文件分别创建软链接和硬链接

 软链接文件可以对一个不存在文件进行创建,而硬链接文件只能对同一个文件系统中存在的文件进行创建;软链接文件也可以对目录进行链接,而硬链接文件不行。

回到我们的ls命令中。

ls -d /:只能展示目录本身而不会展示目录下的内容

可以看出,根据这条命令我们没办法看出根目录下有哪些文件。

cat:用于查看文件的详细内容,而非展示目录下的子文件

 以下是cat常用的选项:

-b显示没有空行的行号
-n显示行号

以下是常用选项的演示,以/etc/passwd文件为例:

cat -b /etc/passwd:显示的是该文件中无空行的行,并且为其标上了行号

 cat -A /etc/passwd:该命令会在每一行的末尾都标上$符号

 head:显示文件内容的前部分,默认前10行

-c输出每行的第一个字符
-n输出指定的行数,默认10

head -n -3 /etc/passwd:指定的行数为负数时,会从尾部去掉指定行数再展示

 这里看出结果只有36行,而通过cat -n /etc/passwd展示的结果是有39行,因为-3为去掉末尾三行

tail:显示文件内容的尾部分,默认后10行

-c

显示指定数量字符

-n显示指定行数内容,默认10
-f显示追加内容,文件会进入阻塞状态,使用ctrl+c退出

  将虚拟机打开两个界面,一个界面使用tail -f passwd来观察,另一个对文件进行添加内容

 可以看到新加入的内容被显示出来。

more:用于分页显示文件的内容

less:用于分页显示文件的内容,类似与more

按g回到第一页,G回到最后一页,空格向下翻页,q退出。

grep:过滤文件内容,显示想要的内容

-c显示找到目标内容的行数
-i不区分大小写得找
-n显示行号
-v反向选择,即不包含目标内容的行
-A显示找到目标内容的那一行以及以下n行
-B显示找到目标内容的那一行以及以上n行
-C显示找到目标内容的那一行以及上下n行

grep支持多个选项混合使用。

grep -ci RooT passwd:显示包含不区分大小写得RooT有几行

 grep -ni RooT passwd:显示包含不区分大小写得RooT的行并显示行号

 grep -cv root passwd:显示不包含root的行数

 grep -B 2 root passwd:显示包含root的行的前2行

 grep nologin$ passwd:显示以nologin结尾的行。

 另外还有一些特殊符号的表示:

grep ^h 文件名以h开头的行
grep ^[qf] 文件名以q或者以f开头的行
grep ^[^qf] 文件名除了以q或者以f开头以外的行
grep h$ 文件名以h结尾的行
grep ^h$ 文件名只有h的行

wc:统计文件内容中的字符数

-c统计文件大小
-m统计字符个数
-w统计单词个数
-l统计行数

 wc a.txt:结果分别是行数,单词数,文件大小,文件名

 cut:切割提取文本内容

-d指定分隔符,如果是空格需要用引号引起来
-f指定第几个字段
-c指定获取几个字符

 以/etc/passwd内容为例,为了获取uid和gid的内容,已知他们分别是第三和第四个字段,通过-d来指定分隔符为":",从而分出字段,再选择指定字段。

 sort:对文本内容进行排序显示

-b忽略缩进与空格
-f忽略大小写
-n根据数值排序
-r反向排序
-k指定字段范围
-t指定间隔符
-u去除重复行

 sort -t : -k 4 -n passwd:同样指定分隔符和字段,但显示的是全部数据,只是数据的顺序根据指定字段的大小进行排序

 uniq:去重显示

根据uniq -c a.txt的结果与原文内容对照可以发现,只能对出现连续的额重复内容进行去重

对比sort -u a.txt的去重结果来说,sort更能识别重复的单词,进行去重后再根据字母顺序进行了排序。

 


 创建文件:

mkdir:创建目录

-p递归创建
-v显示创建的过程

 可以通过花括号形式进行同时创建多个目录。

touch:创建文件

-a指access time,即访问时间
-m指modify time,即修改时间
-c指change time,即元数据的时间

可以通过stat 文件名来查看文件的状态(包括access time,modify time,change time)。

rm:删除目录和文件

-f强制删除,不会有提示信息
-r递归删除
-d删除空目录
-v显示删除过程

操作文件:

vim:编辑文件内容,是vi的增强版,支持关键字变色

vim编辑器的三种模式:

命令模式:

光标移动上下左右键可以移动光标
gg快速移动到文件开头,10gg即移动到前面10行
shift+g快速移动到文件末尾
yy复制内容,10yy即复制10行数据
dd删除内容,10dd即删除10行数据
u撤销之前操作
p将复制内容粘贴到光标之后

插入模式:

i光标之前插入
a光标之后插入
o光标所在行的下一行插入

末行模式:

:wq保存退出
:q!强制退出不保存
:r将指定文件写入光标位置
:%s/x/y/gi替换文本内容,用y来替换x
/keyword查找关键字,n向前搜索,N向后搜索
:set nu显示行号
:set nonu取消行号
:noh取消高亮

cp:复制文件

-a复制时保留链接、文件属性
-d复制时保留链接
-f在覆盖已经存在目标路径时不提示
-r递归复制

 通过cp -a passwdlink passwdlink2复制passwdlink的内容到passwdlink2中,并且拥有相同的文件属性,除了硬链接数不同。

mv:移动文件或者目录 

 通过tree 路径可以查看目录结构,可以看出passwdlink2为dir1的子文件。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词