Linux文件管理

本文详细介绍了Linux系统中常用的命令,包括tree查看目录结构、cd和pwd切换目录、ln创建链接、ls列出文件信息以及文件的时间属性。还讲解了文件类型、目录创建与删除、文件复制移动、软链接与硬链接的使用,以及文件的属性信息查看。内容涵盖了文件的创建、权限、类型、时间戳等核心概念,旨在帮助读者深入理解Linux文件系统管理。
摘要由CSDN通过智能技术生成

在这里插入图片描述
本章涉及Linux命令:
tree、cd、pwd、ln、 | 、

1、tree 查看目录子结构

[root@szb data]# tree git
git
`-- shell
    |-- f1.txt
    |-- f2.txt
    |-- f3.txt
    `-- README.md

1 directory, 4 files
参数:
-L 1 :只显示一层目录
-p 列出权限标示
-f 显示完整的相对路径名称

2、Linux根目录结构

目录名称作用
/boot系统启动文件,内核以及引导加载器
/bin存放所有目录的基本命令,不能独立分区
/sbin存放管理类的基本命令,不能独立分区
/lib存放程序依赖的基本共享库文件以及内核模块文件
/etc配置文件目录
/home普通用户家目录
/root管理员用户家目录
/media便携式移动挂载点
/mnt临时文件系统挂载点
/dev设备文件及特殊文件存储位置
/opt第三方程序安装位置
/srv系统上运行的服务用到的数据
/tmp临时文件存储位置

3、文件层次结果标准:
文件层次标准参考地址

4、文件的路径(绝对路径和相对路径)

pwd # 显示当前所在目录

cd  # 切换到目标目录
cd / cd .  # 切换到当前目录
cd ..      # 切换到上一级目录
cd -       # 切换到上一次所在目录
[root@szb ~]# cd -
/etc
[root@szb etc]# echo $OLDPWD  # 保存切换前的当前所在路径
/root

5、文件类型

文件分类:
- 普通文件
d 目录文件
l 链接文件
p 管道文件
c 字符设备文件  /dev/{zero,null,tty*}
b 块设备文件   /dev/
s 套接字文件(socket)数据接口文件,全双工方式, ls /run/*.sock
普通文件 -
根据内容不同,可分为:
1)纯文本文件
可cat查看的文件内容,全部都是可读的数据
/etc/fstab,/etc/issue
2)二进制可执行文件
cat本身就是一个二进制可执行文件,内容为不可直接读懂的内容
3)数据格式文件
eg:图片,压缩,日志文件,不可以用文本查看根据读取内容,用last
[root@szb etc]# last /var/log/wtmp  # 系统的登录信息记录
wtmp begins Tue Apr 12 22:48:06 2022
链接文件:l
软连接(Symbolic Link):ln -s
硬连接(Hard Link)
管道文件
伪文件(实际是内核缓冲区),为了实现进程件通讯IPC(InterProcess Communication)
FIFO--先进先出
局限性:
自己写的数据不能自己读取;不可反复读取;半双工通信方式,同一时间数据只能在一个方向流动
[root@szb etc]# ll /run
total 56
prw-------  1 root root              0 Jun 16 17:33 dmeventd-client


常见通信方式:
单工:只能一个方向传输信息:传统收音机
半双工:可以双向传输信息,但是不能同时进行传输:对讲机
全双工:可以同时双向传输信息:手机

6、创建、删除目录:

mkdir 目录名称
-p 递归创建目录
-m mode 创建文件的模式(权限)
-v 创建目录时给出详细说明

删除目录
rmdir -pv 用于删除空目录
dirname -- 去除文件名中的**非目录部分**
basename -- 显示文件路径名的基本文件名

7、ls命令

-a 显示隐藏文件
-d 仅显示目录名
-l 长格式显示
-R 递归处理
-F文件类型标识符:*可执行权限的普通文件;/目录;@符号链接;|命令管道;-表示sockets套接字

8、文件的时间属性

文件分为两部分:
文件的数据部分:
	即存放在数据空间(data block);
文件的属性信息:
	文件的元数据,存放在节点空间(inode block)

文件的时间属性:atime 、ctime、 mtime
mtime:记录最后一次文件数据部分的修改时间
atime: 记录最后一次访问的时间
ctime:记录最后一次文件元数据修改的时间
mtime的修改一定引起ctime的改变,至少已经修改了inode记录上的mtime

示例:
[root@szb etc]# ls -l --time=atime /data/

注意:atime更新条件:防止频繁写操作,优化性能,开启的relatime挂载选项
1)文件的atime时间超过一天以上
2)文件的mtime比atime更晚

9、查看文件属性信息

1)file  --辨识文件类型
-i 输出文件对应的MIME类型(类似:text/plain)
-L 直接显示符号连接所指向的文件类别
-b 不显示文件名称
[root@szb data]# file -i f2
f2: text/plain; charset=us-ascii

2)stat  --显示文件的详细属性
[root@szb data]# stat f2   # 示例
  File: ‘f2’
  Size: 1321            Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 394748      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2022-05-17 02:19:10.908404620 +0800
Modify: 2022-05-17 02:19:10.908404620 +0800
Change: 2022-05-17 02:19:10.908404620 +0800
 Birth: -

10、文件的创建、复制、移动/重命名、删除
touch、cp、mv 、rename、rm

1)touch 文件名 --设置文件的修改和访问时间,不存在即默认权限创建文件
参数:
-a 只更改atime访问时间/-m 只更改mtime时间
-c 不新建任何文件


2)cp --复制文件
-b 覆盖已存在的文件并对之备份
-l 对源文件建立硬链接
-p 保留源文件或目录的属性
-P 复制软链接本身,而不是软链接指向的源文件
-r 对目录复制需要添加此选项

3)mv --移动及重命名文件
-b 当文件存在时,覆盖前进行备份
重命名:rename
用法:rename expression relpacement file
eg:rename .conf .conf.bak *.conf  # 将所有的.conf结尾的文件,批量修改名.conf.bak

4)rm --删除文件
参数:
-f 强制删除文件
-d 删除空目录文件
-r,-R 递归删除,一般用于删目录
eg:rm -- -f1   # 使用--删除-开头的文件

复制过程中的一些问题:

源文件目标文件不存在目标存在且为文件目标存在且为目录
一个文件会创建dest文件,在将src内容复制到dest中文件内容会覆盖,原来dest内容会丢失在该目录下创建同名文件,并src将内容复制到对应的dest中
多个文件提示错误提示错误在该目录下创建同名文件,并src将内容复制到对应的dest中
目录文件创建指定DEST同名目录,复制src目录中所有文件至DEST下提示错误在dest下创建与原目录同名目录,并将src中的内容复制新的目录中

11、软链接与硬链接–ln
元数据中的inode是个整数,区分每个文件的唯一标识
查看inode:ls -i 或者stat
链接实现了Linux系统文件的共享

命令:ln
-s 软链接
-b覆盖前先备份

1)硬链接
用法:ln 源文件 目标文件
注意: 目标文件存在会报错;创建的inode不会变
特性:
1.具体相同的inode和data block,只能对已存在的文件进行创建;
2.不能跨分区创建,只可对文件创建,删除一个硬链接文件不会影响其他相同的inode号的文件
说明:当前目录会有当前目录...父目录,这两个就是两个硬链接,创建目录的话会产生目录环

2) 软件链接(用户数据块存放的是另外一个文件的路径名指向)
特性:
1.有自己的inode号与用户数据块
2.有自己的文件属性及权限;可对不存在的文件和目录创建软连接;可跨分区创建;
3.可对文件目录创建;链接计数不会增加;
4.删除软链接不影响,但是删除原文件,相关软链接为死链接,若指向路径的文件重新创建,则恢复正常软链接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值