首页 > 系统相关 >Linux:文件管理,目录管理,文件类型,链接类型

Linux:文件管理,目录管理,文件类型,链接类型

时间:2024-08-13 17:54:09浏览次数:15  
标签:文件 文件系统 管理 用户 链接 Linux 文件类型 权限 目录

1,文件管理

用户(标识号:UID):一定资源的使用者,可以创建和管理文件以及访问其他用户文件。可以从属于多个群组。

用户组(标识号:GID):由一定数量的对某些文件具有相同操作权限的用户组成的小组。可以拥有多个用户。

root用户:超级管理员,可以为所欲为。

为何要区分用户和用户组?
答:一种功能相当健全而且好用的安全防护措施

/ect/passwd:所有系统帐号、一般用户以及root的相关信息。

/ect/shadow:密码记录。

/ect/group:用户组名。

权限控制机制:

  • Linux的文件或目录被一个用户拥有时,这个用户称为文件的拥有者(或属主)。
  • 同时文件还被指定的用户组所拥有,这个用户组称为文件所属组;一个用户可以是不同组的成员,可以由管理员控制。
  • 文件的权限由权限标志来决定,权限标志决定了文件的拥有者、文件的所属组、其他用户对文件访问的权限。

1.1,文件创建

touch-a:更改由 File 变量指定的文件的访问时间文件名
-c:修改时间,如果文件不存在,则不要进行创建
-m:更改 File 的修改时间

-t:Time使用指定时间而不是当前时间。Time 变量以十进制形式 [YYMMDDhhmm]指定

 → YY  指定年份的后两位数字

 → MM 指定一年的哪一月(从 01 到 12)

 → DD 指定一月的哪一天(从 01 到 31)

 → hh 指定一天中的哪一小时(从 00 到 23)  

 → mm指定一小时的哪一分钟(从 00 到 59)

1.2,文件属性

-rw-r--r--.1rootroot2Nov 28 20:11yan.txt
文件类型权限连接数用户拥有者文件所属的用户组文件大小,默认单位是Bytes文件最后被修改的时间文件名

第1个字符:

d:目录

-:文件

l:连接文件

b:块设备文件

c:设备文件中串行端口设备(鼠标,键盘)

2~4个字符:拥有者的权限

r:可读

w:可写

x:可执行

5~7个字符:用户组的权限

8~10个字符:其他用户权限

表示有多少个文件名会连接到相同的inode号码
r(读权限)表示可以列出存储在该目录下的文件,即读目录内容。
w(写权限)

建立新的文件与目录 。

删除已经存在的文件与目录(不管该文件是属于谁的)。

重命名已经存在的文件或目录。

移动该目录内的文件、目录位置。

x(执行权限)表示允许你在目录中查找,并能用cd命令将工作目录切换到该目录,执行。

1.3,默认权限和隐藏权限

默认权限(umask):建立的新文件的默认权限。

命令umaskumask -S
结果0002u=rwx,g=rx,o=rx
解释

第一位:特殊权限

第二位:拥有者剔除的权限

第三位:用户组剔除的权限

第四位:其他用户剔除的权限

用户权限

用户组权限

其他用户权限

类型最大权限计算(当前umask=022)
文件用户建立的文件默认是没有(x)权限的,只有rw权限,也就是最大为666(-rw-rw-rw-)(-rw-rw-rw-) - (-----w--w-) = (-rw-r--r--)
目录由于x与是否进入此目录有关,因此默认为所有权限均开放(drwxrwxrwx)(drwrrwxrwx) - (-----w--w-) = (drwxr--xr-x)
umask 022    //直接修改

隐藏权限(chattr、lsattr):文件的隐藏属性

chattr(配置文件隐藏属性)+
-
=
A:若你在存取此文件时,它的存取时间atime将不会被修改。
S:一般文件是异步写入磁盘,添加该属性,则同步写入磁盘。
a:这个文件只能增加数据,而不能删除也不能修改数据,只有root才能设置。
c:存储时自动压缩,读取时将自动解压。
i:让一个文件不能被删除、修改、设置连接、无法写入,只有root才能设置。
s:被删除时将会被从硬盘完全删除,无法恢复。
u:与s相反,如果被删除了,磁盘上还存在,可被恢复。
lsattr(显示文件隐藏属性)-a:将隐藏文件的属性也显示出来文件或目录
-d:如果接的是目录,仅列出目录本身的属性而非目录内的文件名
-R:连同子目录也一并列出来

1.4,特殊权限

权限简写数字表示解释
SUIDs4

仅对二进制程序有效

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

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

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

SGIDg2

仅对二进制程序有用

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

执行者在执行过程中会获得该程序用户组的支持

对目录来说:

用户对于此目录具有r与x的权限时,该用户能够进入此目录

用户在此目录下的有效用户组将会变成该目录的用户组

若用户拥有w的权限,则用户所建立的新文件,该新文件的用户组与此目录的用户组相同

SBITt1

仅对目录有效

当用户对于此目录有w,x权限,即具有写入的权限

当用户在该目录下建立文件或目录时,仅有自己与root才有权利删除该文件

//授权,第一位4便是特殊权限的数字
chmod 4777 test
4--SUID
2--SGID
1--STID
//或
chmod u+s,g+s,o+t test

1.5,查看文件属性

ls正常文件和文件夹
ls -l  正常文件和文件夹(详细信息)

ls -a正常文件和文件夹,隐藏文件。
ls -alls -a+ls -l:正常文件和文件夹,隐藏文件(详细信息)。
ls -d列出目录本身属性

1.6,修改文件权限

改变文件权限-字符法

chmodu(user:文件拥有者)

+(加入)

-(除去)

=(设定)

r(读)

w(写)

x(执行)

文件名chmod a+r text.txt
g(group:文件所属组)chmod g+rwx text.txt
o(others:其他用户)chmod a-w text.txt
a(u+g+o:所有用户)chmod a=x text.txt

改变文件权限-数字法:二进制,有点二进制基础都知道不会产生重复。

r:读4
w:写2
x:执行1
rwx7
-w-2
r-x5
r--4
-wx3
-w-2
--x1
---0
直接赋值权限
chmod 777 text.txt

修改文件拥有者

chown-R

用户

用户:组

文件名或目录
只有文件主和超级用户才可以使用该命令递归修改,连同子目录下的所有文件都修改。同时改变文件主和文件所属的组时,用户名和用户组名由冒号分开
chown shao12138 text.txt

修改文件所属用户组

chgrp-R组名文件名或目录
只有文件主和超级用户才可以使用该命令递归修改,连同子目录下的所有文件都修改。只具有改变所属组的功能

1.7,文件内容查看

直接查看文件内容cat:concatenate-A:相当于-vET的整合选项文件名
-b:列出行号,仅针对非空白行做行号显示,空白行不做行号
-E:结尾的换行符$显示出来
-n:打印行号,连同空白行也有行号
-T:将tab键以^I显示出来
-v:列出一些看不出来的特殊字符
tac:反向列示同上
nl:添加行号打印

-b a:表示是否空行,也同样列出行号,同cat -n;

-b t:如果有空行,空的不显示行号(默认值)

-n ln:行号在屏幕的最左方
-n rn:行号在自己栏位的最右方显示,且不加0;
-n rz:行号在自己栏位的最右方显示,且加0;
-w:行号栏位的占用的字符数

可翻页查看more:一页一页翻动文件名空格键:代表向下翻一行
Enter:代表向下翻一行
/字符串:代表在这个显示内容中,向下查找字符串这个关键词
:f:立刻显示出文件名以及目前显示的行数
q:代表立刻离开more,不再显示该文件内容
b或ctrl-b:代表往回翻页,不过只对文件有效,对管道无效。
less:一页一页翻动文件名空格键:代表向下翻一行

pagedown:向下翻动一页

pageup:向上翻动一页

x:代表立刻离开more,不再显示该文件内容

/字符串:向下查找字符串

?字符串:向上查找字符串

g:前进到这个数据的第一行

G:前进到这个数据的最后一行

非纯文本文件od-t a:利用默认的字符来输出文件名
-t c:使用ASCII字符流来输出
-t d size:利用十进制来输出,每个整数占size Bytes
-t f size:利用浮点数值来输出,每个整数占size Bytes
-t o size:利用八进制来输出,每个整数占size Bytes
-t x size:利用十六进制来输出,每个整数占size Bytes
数据截取head:取出前面几行-n+数字:表示截取的行数文件名
tail:取出后面几行-n+数字:表示截取的行数
-f:持续刷新后面所接文件中的内容

2,目录管理

2.1,基本概念

路径:对文件位置信息的描述机制,是指从树型目录中的某个目录层次到其内某个文件的一条通路;分为相对路径和绝对路径;

  • 绝对路径:从根目录/开始到文件名结束的路径。
  • 相对路径:不是从根目录开始的路径。

工作目录:登入系统后,用户始终处于某个目录中,此目录即为工作目录,或称作当前目录。

根目录:Linux树型目录结构的最顶层目录。

用户“家”目录:也称用户主目录,通常是位于/home目录中跟用户名称相同的一个目录,用户登录系统后默认处于此目录中。

2.2,切换目录

pwd:显示当前工作目录的路径名称。-p:显示出实际路径,而非使用连接的路径。

cd ~shao12138

进入shao12138用户的home目录

cd ~

回到自己的home目录

cd ..

回到上层目录

 cd -

回到刚来的目录

cd shao/shao

到指定目录下-绝对路径

cd ../shao

到指定目录下-相对路径

2.3,创建和删除目录

mkdir-m-p目录名
每个新目录包含标准项 .(点)和 ..(点-点)设置新创建的目录的权限,不管默认权限(umask)如果不存在父级别目录,递归创建。目录名
mkdir testmkdir -m 711 testmkdir -p test/test1/test2
rmdir-p目录名
在可以除去该目录前,它必须为空,并且必须有它的父目录的写权限递归删除父目录,但还是必须为空。目录名
rmdir testmkdir -p test/test1/test2

2.4,复制,删除与移动

cp:复制文件或目录-a:复制目录时使用,保留链接、文件属性、并递归地复制目录源文件目标文件
-d:复制时保留链接
-f:如果指定的目标文件存在,先强行覆盖
-i:覆盖目标文件前需要用户先确认
-l:进行硬链接的连接文件建立,而非文件本身
-s:复制成为符号链接文件,即快捷方式
-p:复制文件,连同文件属性(权限,用户,时间),不使用默认属性
-r:复制目录时可递归复制目录中的内容

rm:删除文件或目录

-f:force,忽略不存在问题,不警告

文件或目录

-i:交互模式,删除前询问

-r:递归模式,目录删除,非常危险

mv:移动并重命名-f:强制直接转移不询问源文件目录
-i:若文件已经存在询问是否覆盖
-u:若文件已经存在,但源文件比较新,则更新。

2.5,文件查找

  • which:通过PATH进行搜索
  • whereis,locate:通过存储系统文件信息的数据库
  • find:直接搜索硬盘

which:在PATH变量指定的路径中搜索指定的系统命令的位置(通过PATH进行搜索),重点是找出可执行文件而已。用echo $PATH可显示当前PATH变量的值。若在后面加上-a选项,则可以列出所有的可以找到的同名执行文件。

whereis:在特定数据库(/usr/share/man下的man page文件,/bin/sbin下的可执行文件,跟几个比较特定的目录)查找符合条件的文件。

whereis-b:只查找二进制文件文件名
-m:只查找说明文件
-s:只找源文件
-u:没有帮助文件的文件

locate:用于在特定数据库(已建立的数据库/var/lib/mlocate/里面的数据)中查找符合条件的文件,查找速度特别快,数据库更新时间根据系统决定,也可以采用updatedb,更新数据库文件。

locate-i:忽略大小写的差异关键字
-c:不输出文件名,仅仅计算文件数量
-l:输出几行,例如-l 5,输出5行
-S:输出locate所使用数据库文件的相关信息
-r:接正则表达式

find:速度慢且影响磁盘性能,在目录结构中搜索文件,并执行指定的操作。

find-name:查找文件名为passwd这个文件关键字
-type:查找特定类型的文件文件类型简写
-perm:查找特定权限的文件/6000:权限数字

3,文件系统和文件类型

3.1,Linux文件系统

Windows系统格式化硬盘时会指定格式FAT或者NTFS,而Linux的文件系统格式为Ext3或者Ext4。早期的Linux使用Ext2格式,目前的Linux都是Ext3格式,而CentOS 6已经使用了Ext4格式。Ext2文件系统虽然高校稳定,但随着Linux系统在关键业务中的应用,Linux文件系统的弱点也逐渐显露出来。因为Ext2文件系统不是日志文件系统,这在关键行业是一个致命的弱点。

Ext3文件系统是直接从Ext2文件系统发展而来的,它带有日志功能,可以跟踪记录文件系统的变化,并将变化内容写入日志。写操作首先是对日志记录文件进行操作,若整个写操作由于某种原因(掉电)而中断,当系统重启时,会根据日志记录来恢复中断前的写操作,而且这个过程费时极短。目前Ext3文件系统已经非常稳定可靠,它完全兼容Ext2文件系统,用户可以平滑地过渡到一个日志功能健全的文件系统。这实际上也是ext3日志文件系统设计的初衷。现在使用的Ext4相较Ext3的最明显特征是Ext4支持最大文件系统容量和单个最大文件大小。

Linux文件系统在Windows中是不能识别的,但在Linux系统中可以挂载Windows文件系统。Linux目前支持MS-DOS、VFAT、FAT、BSD等格式,如果使用的是RedHat或者CentOS,那么无法挂载到NTFS格式的分区的系统。

除了Ext3/Ext4文件系统外,有些Linux发行版(SuSE)默认的文件系统为ReiserFS,其优势在于:它是基于B*Tree快速平衡树,这种高效算法的文件系统。例如,它处理小于1KB的文件时的速度是Ext文件系统的10倍。其次,ReiserFS的空间浪费较小,它不会为一些小文件分配inode,而是打包存放在同一个磁盘块中。Ext是把它们单独存放在不同的块上。例如,块大小为4KB,那么两个100字节的文件会占用两个快,ReiserFS则只占用一个块。当然ReiserFS也有缺点,就是每升级一个版本,都要将磁盘重新格式化一次。

3.2,Linux文件类型

常见文件类型:

  • 普通文件:最常用的一类文件,其特点是不包含文件系统的结构信息。可分为图形文件,数据文件,文档文件,声音文件。这些文件又可细分为文本文件和二进制文件。
  • 目录文件:目录文件是用于存放文件名及其相关信息的文件。它是内核组织文件系统的基本节点。目录文件可以包含下一级目录文件和普通文件。
  • 链接文件:链接文件是一种特殊文件,实际上是指向一个真实存在的文件链接,类似于windows下的快捷方式。可细分为:硬链接和软连接。
  • 设备文件:设备文件是Linux中最特殊的文件,正是由于它的存在,使得Linux系统可以十分方便的访问外部设备。通常Linux系统文件放在/dev下且靠设备文件使用设备的主设备号和次设备号来指定某外部设备。
  • 管道文件:管道文件是一种特殊文件,主要用于不同进程间的信息传递。当两个进程需要进行数据或信息传递时,可以使用管道文件。

文件后缀名:Linux系统中,文件的后缀名没有具体意义,加或者不加都无所谓。但是为了便于区分,我们习惯在定义文件名时加一个后缀名。

Linux的链接文件:分为硬链接软连接

  • Hard Links:当系统读取一个文件时,先读取inode table,然后再根据inode中的信息到块区域将数据取出来。而硬链接是直接再建立一个inode连接到文件放置的区域,进行硬链接时该文件内容没有任何变化,只是增加了一个指向这个文件的inode。1,硬链接不能跨文件系统。2,不能链接到目录。3,硬链接建立后,即便某一个inode删除了,只要有任何一个inode存在,该文件也不会消失。
  • SymBolic Links(相当于windows的快捷方式): 软链接建立后,相当于建立一个独立的文件,当读取文件时,它会把读取的行为转发到该文件所链接的文件上。例如,现在有一个文件a,我们做了一个软链接b,b指向了a。当读取b时,b就会把读取的动作转发到a上,这样就读取了文件a。当我们删除文件a时,链接文件b不会被删除,但如果再次读取b时,会提示无法打开文件。然而,我们删除b时,a是不会有任何影响的。

由此看来,硬链接比较安全,因为即使某一个inode被删除了,只要有任何一个inode存在,该文件也不会消失。但由于硬链接的限制太多(包括无法做目录的链接),在用途上比较受限。所以软链接使用比较广。

建立链接:

ln -s 来源文件 目标文件
-s可选,选择则是软链接,不选择则是硬链接

删除链接:

rm [-f] 链接名

标签:文件,文件系统,管理,用户,链接,Linux,文件类型,权限,目录
From: https://blog.csdn.net/qq_42192693/article/details/141169455

相关文章

  • Linuxu-引导过程与服务控制
    系列文章目录`提示:仅用于个人学习,进行查漏补缺使用。1.Linux介绍、目录结构、文件基本属性、Shell2.Linux常用命令3.Linux文件管理4.Linux命令安装(rpm、install)5.Linux账号管理6.Linux文件/目录权限管理7.Linux磁盘管理/文件系统8.Linux逻辑卷管理LVM9.Li......
  • 【复现成功版✌】【Python开发】写隐藏文件管理工具(隐藏自己的重要文件)
    教程......
  • 基于Spring Boot的疗养院管理系统设计与实现
    目录一、前言二、技术介绍三、系统实现四、论文参考五、核心代码六、其他案例七、源码获取​​​​​​​作者介绍:✌️大厂全栈码农|毕设实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️作者博客:曾几何时​​​​​​​......
  • 计算机毕业设计推荐-基于java的地方特色美食分享管理系统
    ......
  • 基于Spring Boot+MySQL的医疗企业固定资产管理系统
    目录前言 一、技术栈二、系统功能介绍三、核心代码1、登录模块 2、文件上传模块3、代码封装前言系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对北京医疗企业固定资产管理的现状进行系统调查。采用结构化的分析设计,该方法要......
  • 基于WEB的多媒体素材管理库/计算机毕设
    摘  要随着小视频的兴起,个人多媒体素材越来越多,使用多媒体素材管理库管理多媒体素材,不仅实现了智能化管理,还提高用户体感,给用户提供便利的查询多媒体素材功能。该管理库通过MVC的编程设计方式,使用了了Java语言和MySQL存储数据。该系统采用了一个基于SSM的框架结构,系统的......
  • 文件保护软件有哪些?8大文件安全加密管理软件大盘点(合集篇)
    文件安全已成为企业和个人不可忽视的重要问题。为了保护敏感数据不被非法访问、泄露或篡改,各种文件保护软件应运而生。本文将为您盘点八款备受推崇的文件安全加密管理软件,帮助您更好地保护数据安全。1.域智盾软件该软件是一款功能强大的文件保护软件,通过先进的加密技术,对......
  • 搭建基于Grafana+JMeter+InfluxDB的性能监控与分析平台(Linux版)
    搭建基于Grafana+JMeter+InfluxDB的性能监控与分析平台(Linux版)在软件开发和运维领域,性能监控与分析是确保应用稳定性和用户体验的关键环节。随着应用规模的不断扩大和复杂度的增加,传统的性能测试工具和方法已难以满足需求。本文将详细介绍如何搭建一个基于Grafana、JMeter和Influ......
  • Java计算机毕业设计的老年公寓管理系统(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着社会的老龄化进程加速,老年人口数量显著增加,对养老服务的需求也日益多样化与专业化。传统家庭养老模式面临诸多挑战,如子女工作压力大、居住条件限......
  • Springboot计算机毕业设计基于OBE理念的课程管理系统jg2u7
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表教师,课程目标,课程大纲,知识点,实验项目,考核信息开题报告内容一、研究背景与意义随着信息技术的快速发展和教育信息化的不断推进,高校课程管理系统的建设变得......