Linux 文件系统

简介: 前面已经介绍了一部分文件权限和目录的相关知识点,接下来我们来学一下整个的文件系统。

Linux 文件系统

前面已经介绍了一部分文件权限和目录的相关知识点,接下来我们来学一下整个的文件系统。


目录与路径

执行一下下面的命令吧:

cd /  # 切换如根目录
cd   # 切换会家目录
pwd  # 显示当前目录路径(全路径)
mkdir aa # 创建目录aa
rmdir aa # 删除目录aa

环境变量


执行一下下面的命令吧:

echo $PATH
sudo mv /bin/ls /root  # 移动文件ls到root中
ls # 无法执行,没有该命令
sudo /root/ls # 可以执行
sudo mv /root/ls /bin # 在拷贝回来
ls  # 一切正常

这个里面展示了我们的环境变量,这个很重要,如果我们需要的命令不在环境变量中,则我们无法使用相关命令,但是使用全路径的话也是可以使用该命令的。


文件目录查看 ls

上面的ls命令是查看目录的,这个命令还有其他参数,这里不列出,可以使用man查询


常用的如下: 自己去试一下看看效果吧

ls
ls -l
ls -al
ls -Al
ls -d

复制移动删除创建 cp mv rm touch

这些命令我们上面也用了一些。


  • 现在我们来尝试cp使用如下命令吧!
touch main.txt # 创建main.txt
ls   # 查询文件是否创建成功
cp main.txt main2.txt # 拷贝文件
cat main2.txt # 查看一下内容
vim main.txt # 编辑一下文件
cp main.txt main2.txt # 拷贝文件
cat main2.txt # 查看一下内容  , 这个时候我们发现文件时直接覆盖的
cp -i main.txt main2.txt # 拷贝文件,如果被目标文件存在则会询问
mkdir aa
cd aa
touch main.txt
cd ..
cp aa bb # 会提示
ls
cp -a aa bb # 全拷贝
ls
rm -r bb # 删除bb
cp -r aa bb # 递归拷贝
  • 接下来是rm命令
rm aa  # 应该会报错
rm -r aa # 删除目录aa
mkdir aa
rm -i -r aa # 询问是否删除
rm -rf aa # 强制删除
touch ./-aaa- 
rm ./-aaa-
  • 接下来是mv命令
touch main
mv main mm
ls
mkdir mmm
cd mmm/
touch main
cd ..
mv mmm/ ccc
ls
  • touch创建文件或者修改文件
c
touch -t 202201010202 aa.txt
ls -l

这些还有一堆的属性,只能在使用的时候慢慢去发现啦


文件内容查看

  • cat 查看文件(第一行到最后一行)tac 反向查看文件(最后一行到第一行)
vim aa.txt
cat aa.txt
cat -n aa.txt
cat -A aa.txt
tac aa.txt
  • nl
nl aa.txt # 忽略空行
nl -b a aa.txt # 空行也补行号
  • more less
more aa.txt # 向后翻页查看
less aa.txt # 前后翻页查看
  • head tail
head -5 aa.txt # 查看前5行
tail -5 aa.txt # 查看后5行
  • od
od -t c aa.txt # ASCII打开文件

文件与目录的默认权限与隐藏权限


默认权限

umask # 输出的去掉的权限的数字 (只看后三个,分别对应的  u g o)
umask -S # 权限的显示

隐藏权限

lsattr aa.txt
chattr +a aa.txt

●  a: 当设定a 之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有 root才能设定这属性

●  c: 这个属性设定之后,将会自动的将此文件了压缩],在读取的时候将会自动解压缩,

但是在储存的时候,将会先进行压缩后再储存(看来对于大文件似乎蛮有用的!)

●  d:当 dump 程序被执行的时候,设定 d 属性将可使该文件(或目录)不会被 dump 备份

●  i:这个 可就很厉害了!他可以让一个文件了不能被删除、改名、设定连结也无法写入或新增数据!]对于系统安全性有相当大的帮助! 只有 root 能设定此属性

●  s:当文件设定了 。属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空间,

所以如果误删了,完全无法救回来了喔!

●  u:与 s 相反的,当使用 来配置文件案时,如果该文件被删除了,则数据内容其实还存在磁盘中,可以使用来救援该文件喔!


文件特殊权限 SUID SGID SBIT

●  SUID:


suid权限仅对二进制程序有效


执行者对于该程序具有x的可执行权限


本权限仅在执行该程序的过程中有效


执行者将具有该程序拥有者的权限


●  SGID:


SGID对二进制程序有用


程序执行者对于该程序来说,需要具备X的权限


执行者在执行的过程中会或则程序群组的支持


●  SBIT:


用户对于此目录具有wx权限,亦即具有写入的权限


当用户在该目录下简历文件或者目录时,仅有自己和root才有权限删除该文件

chmod 4755 aa.txt
ls -l
chmod 6755 aa.txt

SUID不是用在目录上,而SBIT不是用在文件上的。


file查看文件类型

执行一下命令吧:

file aa.txt

指令与文件搜寻

执行一下命令吧

cd
which ifconfig
which which
which history # 搜查不到
history --help # 可以使用? 为什么 后续提
whereis history
whereis ifconfig
whereis -m passwd 
sudo apt install plocate
locate ifconfig   # locate 查询是基于数据库查询的
updatedb   # 更新locate的数据库
sudo find / -name ifconfig

文件系统

执行一下命令试试:

df
df -h
df -ih
du /etc

创建连接文件

回到我们之前的aa.txt 文件目录, 执行以下命令吧


先尝试创建硬连接,再尝试创建软连接,看看有什么不一样吧

touch mm.txt
ln -i mm.txt aa.txt
vim aa.txt # 随便写点东西
cat mm.txt
ll -i aa.txt mm.txt  # 查询文件inode号码 两个是一致的
ln -s aa.txt dd
ls -al
ll -i aa.txt dd
cat dd
rm aa.txt
cat dd

磁盘挂载与分区


尝试执行一下命令:

  • 查看磁盘和分区信息
lsblk
blkid
parted /dev/sda print
  • 磁盘分区: MBR请使用fdisk分区,GPT请使用gdisk分区, 我这里就不详细分区了,感觉可以单独整出来。
gdisk /dev/sda
p  # 查看磁盘状态
q  # 退出gdisk

压缩与解压缩

回到aa.txt目录,尝试执行一下命令吧!

vim aa.txt
ls -al
tar -zcf aaa.tar.gz mm.txt
rm -f mm.txt
tar -zxvf aaa.tar.gz 
vim mm.txt
rm -f aaa.tar.gz
gzip mm.txt
gunzip mm.txt.gz

其他命令暂时不介绍了,用到了再查询吧

目录
相关文章
|
9月前
|
自然语言处理 监控 Linux
Linux 内核源码分析---proc 文件系统
`proc`文件系统是Linux内核中一个灵活而强大的工具,提供了一个与内核数据结构交互的接口。通过本文的分析,我们深入探讨了 `proc`文件系统的实现原理,包括其初始化、文件的创建与操作、动态内容生成等方面。通过对这些内容的理解,开发者可以更好地利用 `proc`文件系统来监控和调试内核,同时也为系统管理提供了便利的工具。
505 16
|
11月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
612 15
|
12月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
2693 7
|
12月前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
293 7
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
存储 运维 监控
深入Linux基础:文件系统与进程管理详解
深入Linux基础:文件系统与进程管理详解
314 8
|
存储 Linux 文件存储
Linux文件系统
Linux文件系统 一切皆文件 在Linux中,“一切皆文件”的概念意味着系统中的所有资源,包括硬件设备、目录及进程等,均被视为文件。这种设计简化了操作和管理,具体包括: 普通文件:存储数据的常规文件。 目录文件:包含其他文件和子目录的文件。 进程文件:在/proc目录下代表系统中运行的进程。 设备文件:位于/dev目录,代表硬件设备。 网络字节流套接字文件:用于网络通信的数据流。 链接文件:指向另一个文件的符号链接或硬链接。 管道文件:用于进程间通信的文件。
227 7
|
编解码 Linux 程序员
深度探索Linux操作系统 —— 构建根文件系统2
深度探索Linux操作系统 —— 构建根文件系统
203 12
|
存储 Linux 索引
Linux 下最主流的文件系统格式——ext
【9月更文挑战第8天】硬盘被划分为若干相同大小的块(Block),默认大小为4K,便于灵活管理文件数据。文件数据分散存放于这些块中,提高了数据添加、删除和插入的便利性。
|
Linux Shell 网络安全
深度探索Linux操作系统 —— 构建根文件系统1
深度探索Linux操作系统 —— 构建根文件系统
236 6

热门文章

最新文章