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

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

目录
相关文章
|
19天前
|
存储 缓存 Linux
【Linux】文件系统
在打开文件之前,我们需要找到文件 -> 就要从磁盘中找到对应文件 -> 通过文件路径与文件名
25 4
|
19天前
|
存储 缓存 数据管理
深入理解 Linux 文件系统的层次结构
【4月更文挑战第30天】 本文旨在探讨和解析 Linux 操作系统中文件系统的结构与原理。不同于通常的摘要,我们将直接深入到文件系统的核心概念,包括其目录结构、关键组件以及它们如何相互作用以支持 Linux 操作系统的功能。通过剖析文件系统的层次性设计,我们能够更好地理解其在数据管理、用户权限控制和系统安全性方面的重要性。
|
4天前
|
存储 数据管理 Unix
探索 Linux 文件系统的层次结构
【5月更文挑战第30天】 本文深入剖析了Linux操作系统中文件系统的结构及其运作机制。通过对文件系统层次标准的解读和实际案例的分析,揭示了Linux如何有效地组织和管理文件。文章不仅讨论了根文件系统的重要性、目录结构的设计理念,还探讨了如何通过文件系统层次来提升数据管理和系统性能。
|
4天前
|
运维 安全 Linux
深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】 在 Linux 操作系统中,文件系统权限管理是维护系统安全与数据完整性的基石。本文旨在深入探讨 Linux 权限模型的核心概念、实现机制及其对系统安全性的影响。通过对用户身份、文件权限和访问控制列表(ACL)等关键元素的剖析,揭示权限管理在实际操作中的应用细节。文章还将讨论如何有效配置权限来优化系统性能和提升安全性,以及解决常见的权限问题的策略。
|
4天前
|
Linux PHP 数据安全/隐私保护
深入理解PHP7的返回值类型声明深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】在PHP7中,引入了返回值类型声明的特性。这一特性使得开发者可以在函数定义时指定函数应返回的值的类型。本文将详细解析返回值类型声明的用法,以及它在实际开发中的应用,帮助读者更好地理解和使用这一特性。
|
10天前
|
安全 Linux 数据安全/隐私保护
深入理解Linux文件系统的权限管理
【5月更文挑战第24天】 在Linux操作系统中,文件系统权限管理是维护系统安全和用户数据隔离的关键机制。本文将深入探讨Linux文件系统中的权限模型,包括用户、组和其他类别的读、写、执行权限。我们将分析权限位的具体含义,如何通过命令行工具修改权限,以及权限掩码(umask)的作用。此外,我们还将讨论文件系统权限在实际应用中的常见问题及其解决方案,帮助读者构建更为安全且高效的Linux工作环境。
|
12天前
|
存储 固态存储 Linux
【Linux 系统】基础 IO(文件系统 & inode & 软硬链接)-- 详解
【Linux 系统】基础 IO(文件系统 & inode & 软硬链接)-- 详解
|
13天前
|
存储 Linux 文件存储
【基础OI】深入理解linux文件系统
【基础OI】深入理解linux文件系统
|
14天前
|
存储 Linux vr&ar
Linux文件系统
Linux文件系统
31 4
|
19天前
|
存储 Linux
Linux为新创建的磁盘分区添加文件系统
Linux为新创建的磁盘分区添加文件系统

热门文章

最新文章