-
怎样理解Linux的文件系统
2015-08-19 15:19:47怎样理解Linux的文件系统 Linux所有文件都从root开始,用'/'代表, 并且延伸到子目录。DOS/Windows有不同的分区同时目录都存于分区上。Linux则通过'加载'的方式把所有分区都放置在root下制定的目录里。...怎样理解Linux的文件系统Linux所有文件都从root开始,用'/'代表, 并且延伸到子目录。DOS/Windows有不同的分区同时目录都存于分区上。Linux则通过'加载'的方式把所有分区都放置在root下制定的目录里。windows下最接近于root的是c:。一句话总结:Windows下,目录结构属于分区;Linux下,分区属于目录结构。
在windows下, 启动时检测不同的分区并被赋予一个分区字母。在Linux下除非你加载一个分区或设备,否则系统不会知道那个分区的存在。这看上去也许不是访问分区或设备的最方便的方式,但他提供了伟大的机动性。
这种构建的方式被称为统一的文件系统,超越了windows所使用的方式。举个使用/usr的例子。这个目录包含了大多数的系统可执行文件。在Linux文件系统下,你可以选择把它加载为其他分区甚至网络上的其他计算机。系统不会感知其中的不同,因为它表现出的只是本地目录结构下众多的目录中的一个而已。有多少次你希望在windows下移动可执行文件和数据,而得到的是不得不去修改注册表或干脆蓝屏?你可曾奢望过移动c:到其他分区上?
新手容易困惑的另一点是斜杠'/'的使用,在DOS/Windows下使用的是反斜杠''.
在Linux中,windows的c是用类似/c/windows/system来表示的。Linux是免费的系统。在windows之前,Unix已经存在了很久。从DOS开始使用'/'选项而''作为目录分隔符。
更加麻烦的是Linux同样选择了大小写敏感。这意味着字母的大小写变得非常重要。所以在这种情况下THIS和ThIs是不同的。这个规定会使dos用户遇到很多麻烦。
现在我们来看一看Linux文件系统目录结构的规划。下面是在root下'ls -p'的结果:
代码:
bin/ dev/ home/ lost+found/ proc/ sbin/ usr/ boot/ etc/ lib/ mnt/ root/ tmp/ var/
/sbin
这个目录包含了所有使系统运行的关键二进制可执行文件。包含了系统管理和维护硬件配置的程序。你可以在这里找到lilo, fdisk, init, ifconfig等等。
这里有所有用户都需要的关键程序。
/usr/sbin
另一个包含系统可执行文件的目录。这个目录包含了系统管理员使用的一些其他程序。这里你可以找网络守护程序以及一些不需要维护和修理系统的管理员所使用的程序。
/bin
相对于/sbin, bin目录包含一些系统管理员和普通用户都可以使用的命令。这个目录通常包含诸如bash, csh等shell,以及诸如cp, mv, rm, cat, ls等非常有用的命令。这些命令对于用户来说是不可缺少的。
/usr/bin
包含一些其它的用户命令。从另一方面看,这些命令本质上并不是为用户准备的。
/boot
这个目录包含system.map文件以及Linux kernel。Lilo将启动扇区的备份放在这里。
/dev
这是一个非常有趣的目录,是Linux文件系统的一个闪亮的特性 - 所有对象都是文件或目录。仔细观察这个目录你会发现hda1, hda2等, 它们代表系统主硬盘的不同分区。/dev/cdrom和/dev/fd0代表你的CDROM驱动器和floppy驱动器。看上去可能有些奇怪,但比较文件和硬件的特性这却是十分合理的。它们都可以读出和写入。例如/dev/dsp,这个文件代笔你的扬声器。那么写入这个文件的数据都回传送到喇叭。试一试 'cat /etc/lilo.conf > /dev/dsp' 你会听到一些声音。这是你的 lilo.conf 文件的声音!同样,向 /dev/ttyS0 ( COM 1 ) 读出或写入数据你可以和接到上面的设备进行通讯。
/home
Linux 是多用户环境,所以每一个用户都有一个只有自己可以访问的目录(当然管理员也可以访问)。它们以 /home/username 的方式存在。这个目录也保存一些应用对于这个用户的配置,比如 IRC, X 等。
/lib
这里包含了系统程序所需要的所有共享库文件,类似于 Windows 的共享库 DLL 文件。
/lost+found
Linux 应该正确的关机。但有时你的系统也可能崩溃掉或突然断电使系统意外关机。那么启动的时候 fsch 将会进行长时间的文件系统检查。Fsck 会检测并试图恢复所发现的不正确的文件。被恢复的文件会放置在这个目录中。所恢复的文件也许并不完整或并不合理,但毕竟提供了一些恢复数据的机会。
/mnt
这是一个普通的加载目录,在这里你可以加载你的文件系统或设备。
加载是使一个文件系统对于系统可用的过程。
在加载后你的文件可以在加载目录下访问。
这个目录通常包含加载目录或用于加载软驱和光驱的子目录。
如果需要,你也可以在这里建立其它的加载目录。
对于加载目录的位置并没有强制性的要求,你可以在系统的任意位置建立加载目录。
建立 /mnt 只是为了使系统更工整的惯例。
/opt
这个目录包含所有默认系统安装之外的软件和添加的包。一般来说你可以在这里找到 KDE 和 StarOffice 。这个目录一般并不会经常被启用,这是Unix系统安装的标准。
/proc
这是系统中极为特殊的一个目录,实际上任何分区上都不存在这个目录。它实际是个实时的、驻留在内存中的文件系统。详细信息请参阅 /root
这是root的用户用户目录。
/tmp
这里包含大多数要用到的临时文件。
许多程序在这里建立lock文件和存储临时数据。有些系统会在启动或关机时清空此目录。
/usr
这是系统中很重要的一个目录,这里包含所有用户的二进制文件。
X,及其库文件,用户程序比如 telnet, ftp 等等都在这里。
/usr/doc包含系统文档。/usr/src/Linux包含 Linux kernel 的源码。
/var
这里存储假脱机(spooling)数据,比如 mail 以及打印机守护的输出。
系统日志也存放在这里。你还可以在/var/named下找到BIND的数据库,在/var/yp下找到NIS的数据库。
以上就是Linux文件系统的一些基本命令和存储目录,一句话总结:Windows下,目录结构属于分区;Linux下,分区属于目录结构。
-
【Linux】文件系统的概念和类型
2020-05-12 18:17:46一 Linux文件系统的基本概念 文件系统(File System)是磁盘上有特定格式的一片区域,操作系统利用文件系统保存和管理文件。 不同的操作系统需要使用不同的文件系统,为了与其他操作系统兼容,通常操作系统都支持很...一、 Linux文件系统的基本概念
文件系统(File System)是磁盘上有特定格式的一片区域,操作系统利用文件系统保存和管理文件。
不同的操作系统需要使用不同的文件系统,为了与其他操作系统兼容,通常操作系统都支持很多种类型的文件系统。Linux文件系统
Linux系统使用ext2/ext3文件系统。
在Linux系统中,存储数据的各种设备都属于块设备,对于磁盘设备,通常在0磁道第一个扇区上存放引导信息,称为主引导记录(MBR),该扇区不属于任何一个分区,每个分区包含许多数据块,可以认为是一系列块组的集合。
在磁盘分区上建立ext2/ext3文件系统后,每个块组的结构如图所示
ext文件系统结构的核心组成部分是超级块,索引节点表和数据块。
超级块和块组描述符中包含关于该块组的整体信息,例如索引节点的总数和使用情况、数据块的总数和使用情况以及文件系统状态等。
每一个索引节点都有一个唯一编号,并且对应一个文件,它包含了针对某个具体文件的几乎全部信息,例如文件的存取权限、拥有者、建立时间以及对应的数据块地址等,但不包含文件名称。
在目录文件中包含文件名称以及此文件的索引节点号。索引节点指向特定的数据块,数据块是真正存储文件内容的地方。二 、文件系统的类型
Ext
ext是第一个专门为Linux的文件系统类型,叫做扩展文件系统。
它在1992年4月完成的。
它为Linux的发展取得了重要作用。
但是在性能和兼容性上存在许多缺陷。现在已经很少使用了。Ext2
ext2是为解决ext文件系统的缺陷而设计的可扩展的高性能的文件系统。又被称为二级扩展文件系统。
它是在1993年发布的,设计者是Rey Card。
ext2是Linux文件系统类型中使用最多的格式。并且在速度和CPU利用率上较突出,是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。
Ext2 可以支持256字节的长文件名,其单一文件大小与文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的Intel x86兼容处理器的系统中,簇最大为 4KB, 则单一文件大小上限为 2048GB, 而文件系统的容量上限为 6384GB。尽管Linux可以支持种类繁多的文件系统,但是2000年以前几乎所有的Linux发行版都用ext2作为默认的文件系统。
ext2的缺点:ext2的设计者主要考虑的是文件系统性能方面的问题。ext2在写入文件内容的同时并没有同时写入文件的meta-data (和文件有关的信息,例如:权限、所有者以及创建和访问时间)。另外但由于目前核心 2.4 所能使用的单一分割区最大只有 2048GB,尽管文件系统的容量上限为 6384G但是实际上能使用的文件系统容量最多也只有 2048GB。Ext3
ext3是由开放资源社区开发的日志文件系统,主要开发人员是Stephen tweedie。
ext3被设计成是ext2的升级版本,尽可能地方便用户从ext2fs向ext3fs迁移。ext3在ext2的基础上加入了记录元数 据的日志功能,努力保持向前和向后的兼容性。
ext3是一种日志式文件系统。日志式文件系统的优越性在于:由于文件系统都有快取层参与运作,如不使用时必须将文件系统卸 下,以便将快取层的资料写回磁盘中。因此每当系统要关机时,必须将其所有的文件系统全部卸下后才能进行关机。
ext3的缺点:其最大的缺点是没有现代文件系统所具有的能提高文件数据处理速度和解压的高性能,另外使用ext3文件系统时要注意硬盘限额问题,在这个问题解决之前,不推荐在重要的企业应用上采用ext3+disk quota(磁盘配额)。Jsf
jsf提供了基于日志的字节级文件系统,该文件系统是为面向事务的高性能系统而开发的。
jsf(Journaled File System Technology for Linux)的开发者包括AIX(IBM的Unix)的jsf的主要开发者。
2000 年2月,ibm宣布在一个开放资源许可证下,移植linux版的JSF文件系统。JSFs也是一个有大量用户安装使用的企业级文件系统。它具有可伸缩性和 健壮性,与非日志文件系统相比,它的优点是其快速重启能力:Jfs 能够在几秒或几分钟内就把文件系统恢复到一致状态。
虽然 jsf 主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计的,jsf 还可用于想得到高性能和可靠性的客户机配置因为在系统崩溃时,jsf 能提供快速文件系统重启时间,所以它是因特网文件服务器的关键技术。
jsf的缺点:使用jsf日志文件系统,性能上会有一定损失,系统资源占用的比率也偏高。是因为当它保持一个日志时,系统需要写许多数据。ReiserFS
xfs是一种非常优秀的日志文件系统,它是SGI公司设计的。
xfs被称为业界最先进的、最具可升级性的文件系统技术。它是一个全64位,快速、稳固的日 志文件系统,多年用于SGI的IRIX操作系统。
sgi决定支持Linux社区,将关键的基本架构技术授权于Linux。它以开放资源形式发布了他们自己 拥有的xfs的源代码,并开始进行移植。
SGI的xfs可为 linux和开放资源社区带来的新特性有:可升级性:xfs被设计成可升级,以面对大多数的存储容量和i/o存储需求,可处理大型文件和包含巨大数量文件 的大型目录,满足二十一世纪快速增长的磁盘需求。
xfs有能力动态地为文件分配索引空间,使系统形成高效支持大数量文件的能力。在它的支持下,用户可使用 1exabyte (1g×1gb) 大的文件,远远大于现在最大的文件系统。
优秀的i/o 性能:典型的现代服务器使用大型的条带式磁盘阵列,以提供达数gb/秒的总带宽。xfs可以很好地满足I/O请求的大小和并发I/O请求的数量。 xfs 可作为root文件系统,并被lilo支持。swap文件系统
swap文件系统是Linux的交换分区所采用的文件系统。在Linux中使用交换分区管理内存的虚拟交换空间。一般交换分区的大小设置为系统物理内存的2倍。在安装Linux操作系统时,必须建立交换分区,并且其文件系统类型必须为swap。交换分区由操作系统自行管理。
vfat文件系统
vfat文件系统是Linux下对DOS、Windows操作系统下的FAT16和FAT32文件系统的统称。Red Hat Linux支持FAT16和FAT32格式的分区,也可以创建和管理FAT分区。
NFS文件系统
NFS即网络文件系统,用于UNIX系统间通过网络进行文件共享,用户可以把网络中NFS服务器提供的共享目录挂载到本地目录下,可以象访问本地文件系统中的内容一样访问NFS文件系统中的内容。
ISO 9660文件系统
ISO 9660是光盘所使用的标准文件系统,Linux系统对该文件系统有很好的支持,不仅能读取光盘中的内容而且还可以支持光盘刻录功能。
三 、对磁盘分区指定文件系统类型
硬盘分区后,下一步的工作就是文件系统的建立。类似于Windows下的格式化硬盘。
在硬盘分区上建立文件系统会冲掉分区上的数据,而且不可恢复,因此在建立文件系统之前要确认分区上的数据不再使用。建立文件系统的命令是mkfs,格式如下:
mkfs [参数] 文件系统
mkfs命令常用的参数选项
-t :指定要创建的文件系统类型
-c:建立文件系统前首先检查坏块
-l file:从文件file中读磁盘坏块列表,file文件一般是由磁盘坏块检查程序产生的
-V:输出建立文件系统详细信息。指定文件系统类型
在/dev/sdb1上建立ext3类型的文件系统,建立时检查磁盘坏块并显示详细信息。
在软盘上建立文件系统
对软盘格式化
使用badblocks命令检查软盘上的坏块,把坏块信息存储在文件badblock-fd0中。
用mkfs命令建立文件系统。查看文件系统类型
fsck命令主要用于检查文件系统的正确性。并对Linux磁盘进行修复。fsck命令的格式如下:
fsck [参数选项] 文件系统
fsck命令常用的参数选项:
-t:给定文件系统类型,若在/etc/fstab中已有定义或kernel本身已支持的不需添加此项。
-s:一个一个地执行fsck命令进行检查。
-A:对/etc/fstab中所有列出来的分区进行检查。
-C:显示完整的检查进度。
-d:列出fsck的debug结果。
-P:在同时有-A选项时,多个fsck的检查一起执行。
-a:如果检查中发现错误,则自动修复。
-r:如果检查有错误,询问是否修复。
例如,检查分区/dev/sdb1上是否有错误,如果有错误自动修复。 -
探讨Linux的文件管理系统
2018-09-10 15:32:48前言:要了解Linux的文件管理系统之前,我们必须得知道Linux是一个多文件管理系统,不同的系统用户对同一个文件可能会具有不同的访问权限。 显示文件的基本属性以及文件的属于用户和组的命令: ls -l 或者 ll...前言:要了解Linux的文件管理系统之前,我们必须得知道Linux是一个多文件管理系统,不同的系统用户对同一个文件可能会具有不同的访问权限。
显示文件的基本属性以及文件的属于用户和组的命令:
ls -l 或者 ll
例如:
[root@www /]# ls -l total 64 dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
首先让我们一起来解读一下上面的例子:
第一个代表了什么呢?
其实第一位代表的是文件的类型,这里的d则是代表目录。
d: 为目录
-: 文件
/: 链接文档
b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置)。
c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的是3个数字为一组[rwx](注意这里的顺序不可变)。
首先我们来分析一下[rwx]分为代表了啥子?
r: read 表示了对该文件或者文件夹有无读的权限。
w:write 代表了对该文件或者文件夹有无写的权限。
x:execute 代表了对该文件或者文件夹有无执行的权限。
-:则代表对文件或者文件夹没有对应的权限。
我们已经知道了[rwx]分别代表了什么,那为什么linux会有3个一样的rwx呢?是多此一举吗?
在前面我们我们了解了linux有用户和用户组的概念,每个用户组下可能有多个用户。因此了解这个对我们接下来的学习会有很好的帮助。
第一组[rwx]:代表所属的用户对该文件或者文件夹的访问权限。
第二组[rwx]:代表所属用户所在组下的所有其他用户对该文件或者文件夹的访问权限。
第三组[rwx]:代表不是所属用户所在组的其他用户对该文件或者文件夹的访问权限。
注:对于root用户而言,权限对它不起作用。
更改文件的属性
命令:
chgrp [-R] 所属组 文件名: 更改文件或者文件夹的所属组
chown [-R] 属组名 文件名: 更改文件或者文件夹的属主
chmod [-R] 更改文件或者文件夹的9个属性
这里我们来深入探讨一下chmod这个命令:
在Linux中文件属性的设置有两种方法:
1 数字的设置方式
权限和数字的对应关系: r:4 w:2 x:1
例1: chmod 777 example.sh 这个命令的意思是:将example.sh这个文件的owner、group、other的权限全设置为rwx,[-rwxrwxrwx]
例2:chmod 776 example1.sh 这个命令的意思是:将example1.sh这个文件的owner和group的权限改为[rwx],而将others的权限改为[rw-]
2 符号的设置方式(略)
-
Linux操作系统编程(2)—— 常用Linux的命令系统、文件系统和帮助系统
2020-12-21 11:12:46Linux操作系统编程(2)—— 常用Linux的命令系统、文件系统和帮助系统 命令系统 在linux系统中输入的命令到底是怎么一回事呢? 比方说我们用cp 或者ls,实际上就是执行了系统中的一个程序,这个程序是一个二进制...Linux操作系统编程(2)—— 常用Linux的命令系统、文件系统和帮助系统
命令系统
在linux系统中输入的命令到底是怎么一回事呢?
比方说我们用cp 或者ls,实际上就是执行了系统中的一个程序,这个程序是一个二进制文件。which cp
就可以看到cp实际上是/bin/cp ,用ls浏览一下,会发现这是一个属于root用户且属于root组的程序
/bin/cp ~ % ls -l /bin/cp [0] -rwxr-xr-x 1 root root 151024 Mar 3 2017 /bin/cp
命令后跟的参数,一般来说如果用“-” 后跟简称,用“–” 后跟全称。
在上述代码中看到的~代表家目录,我们作为用户登录到服务器自然而然就回到了家里。
绝对路径 起始点是根目录, /usr/bin/cp 第一个/ 就是根目录
相对路径 是从当前路径开始算的 ,比方说要回到父目录下的一个文件中,那么就需要 …/mulu
其中… 就是父目录
当然还有一些情况需要与服务器进行文件传输,也就是远程路径
一般来说格式为: 协议://用户名:密码@位置/路径:端口
这里的位置指的是ip地址,路径就是在远程服务器上你要去的目录路径
举例: ftp://user:passwd@ftp.xxx.com:21
任务管理
命令后加上& 表示后台执行,那么这时候怎么结束呢,需要先fg到前台,再ctrl + c结束
命令之间以**;** 相连表示按照顺序执行
&& 只有第一个命令执行成功,第二个命令才会执行
|| 第一个命令执行失败,才会执行第二个命令,这个和C语言短路原则是一样的。
命令替换符**``**把中间的命令优先执行,然后结果传出
重定向
ls > a.log 重定向将ls结果输出到文件中 这个是重写
>> 也是重定向,但是追加内容
**<<**是标准输入
转义符
\ 反斜杠
‘’ 硬转义,里边的通配符和元字符都会被关掉,内部不允许出现单引号
“” 软转义 , 内部值允许出现特定的shell元字符
在vim中用转义\换行就可以多行编译
初学者在学习linux操作系统时都会遇到一个问题,我安装的软件去了哪里?
1.bin存放程序的可执行文件,在系统环境变量中将改路径添加进去,就可以直接执行程序
2.lib 库文件集中存放,方便共享
3.share 存放程序需要的其他资源
4.etc 配置文件的存放路径,大部分程序的配置文件都可以在这个路径下找到。
至于到底有哪些命令,可以借鉴第一部分 文章
提到这里就开始第二部分的讲解
文件系统
bin 是binary的简称, etc 是全局配置信息,配置文件夹
-
etc/fstab 静态的文件系统信息,里边有系统盘
-
etc/mtab 系统中挂载的文件系统
-
etc/passwd 用户信息,有关系统功能和权限
-
etc/shadow 用户密码
-
etc/group 组信息
-
etc/gshadow 群组密码
-
etc/issue.net 发行信息
-
etc/os-realease 系统发行版本
-
etc/hosts 主机列表
-
etc/hosrname 可以改名字
-
etc/network/interface 接口
opt 是可选 ,run 是系统当前正在跑的东西, sys 是系统的东西 , var 是动态变化的数据, 一般我们建网站的时候就把数据放在var的www上,var的log中放日志信息,var下的wtmp存储syslog系统日志。
boot 启动内核文件 , home 是家目录 ,lib 是库文件存放处, media 是媒体文件, mnt 是mount 挂载的简写,可以在这里挂载其他的文件系统,比如说我们插U盘的时候; Proc 是process 的缩写,目前有什么进程在运行,进程就是程序在内存中的镜像。
srv不咋用,tmp是临时文件夹,重启时就会没有; dev 是设备device,比如说磁盘、鼠标、键盘、null、网卡、隧道协议、port端口。其中,/dev/null 代表数据黑洞,有时候不想看到错误输出,就可以将“2 > /dev/null ” 将错误输出的到数据黑洞中
0代表输入数据 1代表输出数据 2 代表标准错误输出,有时候可以将这些定向到别的地方
l /etc1 . 2>/dev/null 1>test.log #当两个想输出到的地方一致时 ls 1>xxx.log 2>&1 #这样就可以将2继续重定向到一号的文件中去
root 是超级用户的家目录, sbin 二级文件 usr 安装用户主动安装的软件,主要是管理员用户安装的
文件类型
用ls -a 看隐藏文件,也可以看到文件类型
-
“-” 表示普通文件
-
D表示目录
-
L表示链接
-
B 表示block 块设备, 存储数据以供系统存取的接口设备,比如说硬盘,这种都是成块的,最小的是4K。
-
C 字符设备串口设备, 键盘鼠标等
-
Socket 套接字 用于网络
-
P 管道 将上一个命令的输出作为下一个命令的输入
其中普通文件可以分为三种
- 纯文本文件,使用ascii 编码,可以直接读取,linux中的所有配置文件都属于这个类型
- 二进制文件
- 数据格式文件 ,可能有独特的编码格式
针对文件系统有的命令非常重要,比如说修改所属者的chown 修改权限的chmod
chmod u=rwx,g=rw,o=r a.txt chmod 775 a.txt
这两个都是修改权限,都可以实现相同的功能,可以看到chmod 的使用也比较随意
除了775这些权限之外,文件还有隐藏属性,可以通过chattr来修改
chattr的参数 A 表示不修改atime , s 表示同步写入, a 表示只能增加数据,一般来说日志文件会有这个数次那个,不能进行删除和编辑,只能增加,也就是只能用>> 进行重定向。
c 表示自动压缩解压
i 不能删除、修改和建立硬链接,软连接可以。
软连接类似于指针,硬链接是建立一种别名
s 表示文件删除时直接从磁盘删除
u表示文件删除时内容还存在于磁盘中
文件的特殊权限
set_uid 权限占位符 s 作用于二进制程序文件, 用户在执行该程序时获取程序所有者的权限
写在用户rwx的x处,原来有x就是小写的s 否则是S
set_gid 占位符是s, 作用于目录和二进制程序文件, 用户在该目录里,有效组变更为目录所属组
sticky bit 黏着位 占位符t 作用于目录, 在该目录下,用户只能删除自己创建的内容
ls -l --time=ctime /etc/hostname
其中ctime 代表文件权限、属性改动更新的时间
mtime 内容数据改动的时间 atime 是文件的内容被取用时,更新这个时间
与此对应,使用touch时,-a 仅修改访问时间, -c 仅修改文件的时间, -d 修改文件的日期, -m仅修改文件的mtime
查找文件
which 寻找可执行文件, 查找的是path路径下所有的可执行文件
可以用下面的命令
whereis
locate 根据名字快速定位,需要更新数据库 updatedb
高级查找find
find path optionl action 加上 -user 可以查看所有文件所属者是该用户的变动
-mtime 一天内修改的,后跟参数代表是哪个一天 1的话是前一天, -1 是当前一天
-mtime +n n天之前,不包含n, 被修改过的文件
-mtime -n n天之内,包含n, 被修改过的文件
-mmin 1 代表1分钟以前的一分钟内修改的,-1是1分钟之内修改的
-mmin -10 代表十分钟内修改过的文件
diff 可以看两个文件是否相同
find test/ \(-name "*.c" -o -name "*.h"\) -user xxx
这是一个范例,就可以找到这个用户的这些文件
xargs 参数代换
可以将前一个命令的输出作为后一个命令的参数
-exec 表示开始,后面跟命令 cat{} 用大括号表示上一个命令的内容 ; 表示结束
帮助系统
用linux最基础也是最重要的手册就是man手册了,除此之外,还有tldr 以及 --help
这里主要说明一下man手册的使用
man手册有九个部分
1 可操作性命令可执行文件
2 系统内核可调用的函数和工具 比如说reboot
3 大部分的C语言函数库
4 设备文件的说明 通常是在/dev 下的设备 比如说null tty
5 配置文件或某些文件interfaces
6 游戏
7 惯例与协议, 例如linux文件系统, 网络协议, tcp udp 等
8 系统管理员可用的命令 关机、重启等
9 跟kernel 有关的文件
0 旧文档 | 本地文档
具体的使用方法
man -k reboot #这个命令可以看到所有与man有关的手册 man -f reboot #可以精确查找
man中的快捷键 ctrl +f 向下翻一页 ctrl + b向上翻一页 d 向下翻半页 u 向上翻半页
/查找 q 退出
除了man手册之外, --help 与之功能类似,也是比较全面的
tldr则是github上的一个项目,需要自己手动安装,它的优势是将有些冗长的man手册简化了,每一个帮助只选取了最重要的语法部分展示。
方法
man -k reboot #这个命令可以看到所有与man有关的手册 man -f reboot #可以精确查找
man中的快捷键 ctrl +f 向下翻一页 ctrl + b向上翻一页 d 向下翻半页 u 向上翻半页
/查找 q 退出
除了man手册之外, --help 与之功能类似,也是比较全面的
tldr则是github上的一个项目,需要自己手动安装,它的优势是将有些冗长的man手册简化了,每一个帮助只选取了最重要的语法部分展示。
-
-
Linux伪文件系统
2020-03-10 15:11:04伪文件系统,这个概念资料较少。...它们虽然存在文件系统中某个目录,但是不属于任何的文件系统,不占用硬盘的空间,只是在内存中作用。通过内核去管理调用,比如fifo有名管道,实际是内存缓冲... -
linux文件系统
2019-12-29 19:31:27linux 一切皆文件,文件都是通过线程来访问的,而线程需要有身份权限,也就是属于一个用户,用户用来划分他能够访问的文件,有一个主组以及很多的附加组,比如apache,也是一个用户。 文件目录: desktop 桌面目录:... -
Linux文件系统
2018-05-05 15:05:46Linux文件系统 文件类型 普通文件(regular file):就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为: 1、纯文本文件(ASCII)... -
【Linux】文件系统的理解
2019-01-18 23:06:06这些信息都属于文件的属性信息,而只要是信息,就需要被管理起来,要管理,就得先描述,后组织,因此就有了一个描述文件属性的结构体---inode,也就是说inode是用来保存文件属性的结构。有些人一听到inode可能觉得很... -
嵌入式系统/ARM技术中的Linux文件系统指标
2020-11-12 22:49:42此外,为了减少占有固件的空间,很多文件系统都属于压缩性的文件系统。但采用这类文件系统时,就得考虑这个文件系统是否在mount时第一次从∏ash存储器件中拷贝到SDRAM中。基于嵌入式系统的成本及固件的价格,... -
Linux系统文件的压缩和打包
2020-04-06 20:17:59在windows系统中,我们接触最多的压缩文件是.rar格式的,但是在linux系统中,并不能识别之中格式,他有属于自己的压缩工具. 在windows和Linux系统中都能识别的压缩格式是.zip.使用压缩文件,不仅能节省磁盘空间,还能在... -
Linux文件系统、centOS的目录结构、Linux命令终端
2020-01-05 16:13:044.EXT2和ETX3都是Linux默认的文件系统,EXT3属于日志文件系统;swap文件系统在Linux系统的交换分区中使用,也是Linux系统默认支持的,一般设置为主机系统内存的2倍大小;其他文件系统包括sfs,jfs等 ... -
Linux虚拟文件系统(VFS)
2017-11-16 17:27:24Linux的文件系统采用面向对象的方式设计,这使得Linux的文件系统非常容易扩展,我们可以非常容易将一个新的文件系统添加到Linux中。 Linux本身主要是C语言编写的(少量汇编),而大家都知道C语言是典型的结构化语言... -
自制linux系统——打造属于自己的linux系统
2016-09-18 22:42:36很多时候我们直接使用别人帮我们打包好的一个linux系统,总感觉某些工具或者命令多余或者效果不好,那我们是否可以自制一个比较符合自己需求的linux系统出来了,答案是肯定的,而且实现这个目标也并困难,需要的时间... -
linux 文件系统
2017-12-17 12:28:00基本概念准备 块设备与字符设备 块设备与字符设备都属于物理外设 块设备是随机对数据片段进行读写的 字符设备是以顺序对数据片段...Block: 块是文件系统进行IO的最小单元,就是说,块是逻辑上的最小单元 ... -
linux文件系统-ext2文件系统
2019-08-14 19:59:17上图中的启动块 Boot Block中存储的是磁盘分区信息和启动信息,不属于ext2文件系统,启动块之后才是文件系统的开始;ext2文件系统将整个磁盘分区划分成若干个同样大小的块组。 超级块(Super Block) 描... -
Linux操作系统中的文件管理技巧
2020-03-04 12:38:06在Linux下每个文件又同时属于一个用户组。当你创建一个文件或目录,系统会赋予它一个用户组关系,用户组的所有...访问权限规定三种不同类型的用户:文件主(owner)、同组用户(group)、可以访问系统的其他用户(others)。 -
Linux 操作系统——文件系统管理
2020-05-15 08:43:59一、 Linux文件系统的基本概念 文件系统(File System)是磁盘上有特定格式的一片区域,操作系统利用文件系统保存和管理文件。不同的操作系统需要使用不同的文件系统,为了与其他操作系统兼容,通常操作系统都支持很... -
鸟哥的Linux私房菜学习笔记:Linux磁盘与文件系统管理
2019-04-24 16:53:59Linux文件系统的层次 挂载点 文件系统/分区 ...分区与文件系统属于同一层,可以认为分区就是文件系统的物理存在形式。本书主要介绍GPT分区表。 最底层自然就是磁盘,一块磁盘要想使用需要分区、制作文... -
Linux文件系统命令&文件权限
2017-03-18 18:04:43Linux 的文件系统目录结构是属于分层树形结构。 文件系统挂载 mount,umount:分别用于挂载、卸载指定的文件系统。 格式:mount [参数] 设备名 挂载目录 umount 挂载目录 例1.挂载U盘(设U盘设备 -
Linux虚拟文件系统(概述)
2016-02-15 17:45:57Linux虚拟文件系统支持的文件系统可以划分为三种主要的类型: 磁盘文件系统 这些文件系统管理在本地磁盘分区中可用的磁盘空间或者其他可以起到磁盘作用的设备(比如说一个USB闪存)。 网络文件系统 这些... -
Linux基础入门:②Linux文件系统及命令帮助、vi编辑器的使用
2020-10-06 18:05:41Linux系统中的文件遵循一个准则,即一切皆文件,个人理解为,Linux中的命令都是以文件的形式存在的,当然其中也包括本就属于文件类别的文件,Linux系统就是一个大的文件系统来支持起来整个系统的运行。(纯小白理解...