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

news2024/11/15 6:45:32

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

3.3,软链接和硬链接

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] 链接名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2039400.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GlobalMapper软件安装流程

目录 一、环境准备 二、安装步骤 三、软件激活 一、环境准备 系统:win7操作系统 安装包下载:链接:https://pan.baidu.com/s/1Vb4VVRFBRYawt3MT-5gYOw 提取码:sxdj 二、安装步骤 1、解压,右键global-mapper-23_1-x…

NVDLA专题5:具体模块介绍——Convolution Buffer

概述 卷积缓冲器(CBUF)是卷积流水线中的一个阶段&#xff0c;module定义在NV_NVDLA_cbuf.v&#xff0c;module信息如下&#xff1a; module NV_NVDLA_cbuf (nvdla_core_clk //|< i,nvdla_core_rstn //|< i,cdma2buf_dat_wr_addr //|< i,cdma2buf_dat_wr_…

轻松提升效率:10款工时管理软件推荐

本文将介绍以下10款工具&#xff1a;PingCode、Worktile、百宝云、华为云项目管理、Yonyou NC、云效、红圈通、Asana、7pace Timetracker、Toggl Track。 管理项目工时时&#xff0c;面对繁杂的数据和紧迫的截止日期&#xff0c;很多人都会感到压力倍增。选择一款合适的项目工时…

各大App又要出年度报告啦,看看往年的,谁家能够打动你。

还有几个月就到年终了&#xff0c;各大app都要出年度报告或者年度账单了&#xff0c;咱们先看看往年的效果&#xff0c;你觉得那家好呢&#xff1f;

阿一网络安全实践演练之查找并利用未使用的 API 端点

描述 为了解决实验室问题&#xff0c;利用一个隐藏的 API 端点购买一件 Lightweight l33t 皮夹克。您可以使用以下凭据登录您自己的账户&#xff1a;wiener:peter。 所需知识 要解决这个实验室问题&#xff0c;您需要了解以下内容&#xff1a; 如何利用错误消息构造有效的请…

凡图公益新篇章:凡图家庭教育携手舜和社区,共绘心理健康蓝图

在这个充满挑战与机遇并存的时代&#xff0c;心理健康作为衡量社会文明与进步的重要标尺&#xff0c;正日益受到社会各界的广泛关注。 正是基于这份对美好生活的共同向往与追求&#xff0c;凡图(山东)教育科技集团有限公司与济南市中区舜和社区正式签署了心理援助协议&#xf…

Linux操作系统安装

Linux操作系统安装 Linux操作系统简介VMware 虚拟机简述安装 VMware 虚拟机创建新的虚拟机 安装 Linux 操作系统&#xff08;以 CentOS 为例&#xff09;远程工具连接 Linux查看Linux的ip链接Linux操作步骤 Linux操作系统简介 Linux内核kernel最初是由芬兰人李纳斯托瓦兹&#…

基于计算机爱心小屋公益机构智慧管理(源码+论文+部署讲解等)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台的优…

Alignment

一、前置 1、我们的目的是&#xff1a;给一串声学特征&#xff0c;得出tokens的概率。 2、LAS要计算P(Y|X)&#xff0c;可以直接计算 3、training&#xff0c;就是要找到得到概率结果最大的network的参数 4、CTC、RNN-T要计算P(X|Y)依赖于要知道alignment&#xff08;下图以CT…

模型意识对比学习:摆脱训练中的一致性-容忍度困境

论文出处: ICML2023 Model-Aware Contrastive Learning: Towards Escaping Uniformity-Tolerance Dilemma in Training 什么是uniformity-tolerance困境? 温度参数 τ 的设置会影响模型性能 如果 τ 太小,模型会对训练不足的阶段施加过大的惩罚,导致难以区分潜在阳性样本,…

浙大数据结构慕课课后题(06-图3 六度空间)

题目要求&#xff1a; 输入格式: 输入第1行给出两个正整数&#xff0c;分别表示社交网络图的结点数N&#xff08;1<N≤103&#xff0c;表示人数&#xff09;、边数M&#xff08;≤33N&#xff0c;表示社交关系数&#xff09;。随后的M行对应M条边&#xff0c;每行给出一对正…

简单案例:搞定 SpringBoot 接口恶意刷新和暴力请求

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 前言 恶意刷新和暴力请求是指攻击者通过大量重复发送请求来对服务器进行攻击的行为。这些请求可能包括频繁刷新页面、提交表单、尝试登录等&#xff0c;旨在消耗服务器资源、导致服务不可用或破坏正常用户的…

WSL 忘记ubuntu的密码

文章目录 1. 以管理员身份打开 PowerShel2.输入命令 wsl.exe -d Ubuntu-20.04 --user root3.输入命令 passwd username 修改用户密码&#xff0c;username即待重置的用户的名称 1. 以管理员身份打开 PowerShel 2.输入命令 wsl.exe -d Ubuntu-20.04 --user root 注意版本号是自…

机械行业数字化生产供应链产品解决方案(一)

在机械行业数字化生产供应链产品解决方案中&#xff0c;通过全面融合物联网技术、数据分析、自动化控制系统和智能供应链管理平台&#xff0c;企业能够实现生产过程的实时监控、智能优化和高效管理&#xff0c;从而显著提升生产效率、降低运营成本&#xff0c;并增强供应链的响…

自动化基础知识

丝杆滑台 滚珠丝干设计时&#xff0c;尽量直线导轨比滚珠丝杆高一点点&#xff0c;安装时在滚珠丝杆处垫调整硅钢片。

猫头虎 分享已解决Bug || ImportError: No module named ‘django‘ 解决方案

猫头虎 分享已解决Bug || ImportError: No module named django 解决方案 摘要 &#x1f31f; 大家好&#xff01;我是你们的技术小伙伴 猫头虎&#xff0c;在日常开发中我们经常会遇到各种后端Bug&#xff0c;今天我将和大家分享一个非常常见但有时会让人头疼的Bug&#xff…

记一次:Datawhale AI夏令营-第四期-魔搭-AIGC-Task02

前言&#xff1a;上一篇我们按步骤跑了一遍Baseline也生成了8张故事图片&#xff0c;但是原理啥的都是一头雾水&#xff0c;因为是初学者&#xff0c;所以只能一点点的分析来理解消化。这篇咱们就深入的来了解一下相关的内容。根据内容自己总结理解和查询相关的一些资料。不正确…

Java基础之隐式类型转换

类型转换 基本数据类型表示范围大小排序&#xff1a; 在变量赋值及算术运算的过程中&#xff0c;经常会用到数据类型转换&#xff0c;其分为两类&#xff1a; 隐式类型转换 显式类型转换 1 隐式类型转换 情形1&#xff1a;赋值过程中&#xff0c;小数据类型值或变量可以直…

立即下载!Windows11电竞游戏版:流畅不卡顿!

今日&#xff0c;系统之家小编给大家带来2024年最新的Windows11电竞游戏版系统&#xff0c;该版本系统基于微软官方最新 Windows 11 22H2 22621 专业版进行离线优化&#xff0c;无病毒残留&#xff0c;且解决之前版本存在的问题&#xff0c;系统性能更优秀&#xff0c;有助于提…

AI学习记录 - 自注意力机制之权重矩阵和查询向量V矩阵的计算方式的补充

点个赞 如果我们熟悉自注意力的话&#xff0c;就会发现Q和K矩阵结合的时候&#xff0c;会有一个长度为句子长度的权重矩阵&#xff0c;假如有句子abc&#xff0c;求abc的注意力权重矩阵的话&#xff0c;那就是一个3*3的矩阵如下矩阵。 我们假设了句子长度为3&#xff0c;那么V…