`

文件系统

阅读更多

文件系统:

ext2/ext3: Linux适用的文件系统。ext3比ext2多了日志记录

physical volume(LVM): 用来弹性调整文件系统容量的一种机制,可以动态控制文件系统大小而不改变原有文件数据

software RAID: 磁盘阵列

swap: 虚拟内存,大小是物理内存的1.5~2倍,物理内存达到4G,可以不使用

vfat: 同时被Linux和Windows系统支持的文件系统

 

 

SELinux: Security Enhanced Linux,Linux系统访问控制(Access Control)的细节设置,控制程序对系统文件访问权限限制

 

 

RAID: /dev/md[0-15]

 

 

关机/重启系统

数据同步:sync

关机指令:shutdown

重启关机: reboot, halt, poweroff

 

shutdown -h now

shutdown -h 20:10

shutdown -h +10  # shutdown after 10 minutes

shutdown -r now  # reboot immediately

shutdown -r +30 'The system will reboot'

shutdown -k now 'The system will reboot'  # frighten you

 

 

Linux run level:

init 0: shutdown

init 3: command line mode

init 5: x-window

init 6: reboot

 

175

 

ext2/ext3文件系统,文件名长度最大255个字符,完整文件名(带路径)长度最大4096个字符

 

文件属性和权限控制

chgrp [-R] new_group FILE

chown [-R] new_owner FILE

chown [-R] new_owner:new_group FILE

chmod [-R] u=rwx,g=rx,o=r FILE

 

 

Linux文件类型

1. 常规文件(regular file)

纯文本(ASCII)

二进制文件(binary)

数据文件(data),某些程序运行过程中读取的特定格式文件。/var/log/wtmp 可使用last读出

2. 目录 [d]

3. 连接(link) [l]

4. 设备(device)

块设备(block),可随机读写 ls -l /dev/sda [b]

字符设备(character),串口设备,一次性读取,鼠标键盘  [c]

5. 数据接口文件(sockets),网络上数据传输使用。 /var/run [s]

6. 数据传输文件(FIFO,pipe),[p]

 

 

FSH: Filesystem Hierarchy Standard

 

 

/bin   开机及单人模式下使用的命令

/boot  开机配置文件, vmlinuz, grub

/usr   unix software resource

/usr/bin  软件命令

/dev

/etc   配置文件

       /etc/init.d/  所有服务的预设启动,系统开机时执行的脚本

  /etc/xinetd.d/  super daemon管理的各项服务的配置文件目录

  /etc/X11  X Window

/opt   第三方软件

/sbin  供管理员执行的开机及单人模式下使用的命令

 

/lost+found   ext2/ext3文件系统格式下的目录,当系统发生错误时,将一些遗失片段存入该目录

/proc   虚拟文件系统(virtual filesystem),该目录下的数据都在内存中,不占硬盘空间

/sys    同上

 

 

特殊目录标示:

.     当前目录

..    上级目录

-     前一个工作目录

~         家目录

~account  用户account的家目录

 

 

nl: number lines of files

-b, --body-numbering=STYLE    use STYLE for numbering body lines

STYLE is one of:

a      number all lines

t      number only nonempty lines

n      number no lines

 

eg:

nl -b a myfile <=> cat -n myfile

nl -b t myfile <=> cat -b myfile

 

-n, --number-format=FORMAT    insert line numbers according to FORMAT

FORMAT is one of:

ln     left justified, no leading zeros

rn     right justified, no leading zeros

rz     right justified, leading zeros

 

 

-w, --number-width=NUMBER     use NUMBER columns for line numbers

 

eg:

nl -b a -n rz -w 3 /etc/issue

001

002     Welcome to SUSE Linux Enterprise Server 10 SP1 (x86_64) - Kernel \r (\l).

003

004

 

 

文件修改时间:

modification time (mtime): 文件内容变更时改变

status time (ctime): 文件状态(即权限)变更时改变

access time (atime): 被读取后变更

 

 

touch

-a     change only the access time

-c, --no-create      do not create any files

-d, --date=STRING    parse STRING and use it instead of current time

-m     change only the modification time

-r, --reference=FILE    use this file's times instead of current time

-t STAMP    use [[CC]YY]MMDDhhmm[.ss] instead of current time

 

eg:

touch -d "3 days ago" myfile     # -rw-r----- 1 bmpscp sms 307891 2013-06-17 14:27 myfile

 

touch -t 0709101347 myfile       # -rw-r----- 1 bmpscp sms 307891 2007-09-10 13:47 myfile

 

chattr    change file attributes on a Linux second extended file system

lsattr    list file attributes on a Linux second extended file system

 

 

# append only

chattr +a myfile 

 

# immutable

chattr +i myfile

 

 

SUID、SGID、SBIT

# ls -ld /tmp ; ls -l /usr/bin/passwd

drwxrwxrwt 66 root root 12288 Jun 20 14:55 /tmp

-rwsr-xr-x 1 root shadow 79336 May  4  2007 /usr/bin/passwd

 

Set UID:

1. 只对二进制执行文件有效

2. 执行者具有执行权限x

3. 本执行权限仅在运行时(run-time)有效

4. 执行者拥有该程序所有者(owner)的权限

 

Set GID:

1. 只对二进制执行文件有效

2. 执行者具有执行权限x

3. 执行者拥有该程序属组(group)的权限

 

Sticky Bit:

1. 只对目录有效

2. 当用户对于此目录具有w,x权限,也有了写入权限

3. 当用户在该目录下创建文件或目录,只有所有者或者root用户可删除

 

# add SUID

chmod 4755 myfile

chmod u+s myfile

 

# add GUID

chmod 2755 myfile

chmod g+s myfile

 

# add sticky bit

chmod 1755 myfile

chmod o+t myfile

 

软链接和硬链接

硬连接指向的是节点(inode), 而软连接指向的是路径(path)

 

硬链接文件有两个限制:

1、目录不能创建硬链接 

2、只有在同一文件系统中的文件才能创建链接

 

对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果删除硬链接文件的源文件,硬链接文件仍然存在,且保留了原有的内容。此时,系统将该文件当成一个普通文件。

 

分享到:
评论

相关推荐

    操作系统实验 编程实现简单文件系统

    操作系统实验,用C语言实现自己的文件系统。设有一个容量为2M字节的磁盘,磁盘中扇区(block)的大小为512字节,所有扇区可以视为构成一个线形存储空间,从0开始,顺序给每个扇区分配一个编号,视为物理扇区号,借助...

    emmc 文件系统优化

    随着移动设备和嵌入式系统越来越广泛的应用,对于eMMC存储设备文件系统进行优化成为了提升系统整体性能的关键。eMMC(嵌入式多媒体卡)是一种将NAND闪存与闪存控制器集成到单个芯片上的存储解决方案,广泛应用于各种...

    操作系统实验4_文件系统

    操作系统实验四的核心目标是设计和实现一个简单的文件系统,它基于假设的I/O系统,以帮助实验者理解文件系统的基本工作原理。在这个实验中,文件系统通过一系列命令(如create、open、read)与用户交互,而I/O系统则...

    Linux下一个简单的文件系统实现

    在Linux操作系统中,文件系统是核心的重要组成部分,它负责组织和管理存储设备上的数据,使得用户和应用程序可以方便地存取文件。本项目名为“Linux下一个简单的文件系统实现”,其核心是一个名为XORFS(意为“或许...

    操作系统课程设计——Linux二级文件系统设计

    使用文件来模拟外存,进行数据结构设计和操作算法的设计,实现一个文件系统并实现基本的文件操作(为了简便文件系统,不考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容)。要求: 1、对程序的每一部分...

    NTFS文件系统扇区存储探秘_扫描完整版

    《NTFS文件系统扇区存储探秘》主要内容包括:介绍NTFS文件系统优越的性能特征;介绍作者为了探索NTFS文件系统的存储特点编写的21个WIN32工具程序;使用作者编写的WIN32工具程序,探秘NTFS文件系统的扇区存储规律。 ...

    模拟文件系统设计报告

    《模拟文件系统设计报告》 本报告主要探讨的是如何使用C语言模拟实现操作系统中的文件管理系统。设计的核心目标包括实现文件的创建、查询、删除、修改、更名、拷贝等基本功能,以及采用多级目录机制来管理和操作...

    模拟Linux文件系统

    (8) copy …: 拷贝文件,除支持模拟Linux文件系统内部的文件拷贝外,还支持host文件系统与模拟Linux文件系统间的文件拷贝,host文件系统的文件命名为…,如:将windows下D:盘的文件\data\sample\test.txt文件拷贝到...

    操作系统课程设计模拟Linux二级文件系统

    操作系统课程设计是IT学习中的重要环节,特别是在模拟真实操作系统功能时,如本次的主题——模拟Linux二级文件系统。这个任务旨在让学习者深入理解文件系统的原理和运作方式,从而提升对操作系统核心机制的理解。 ...

    操作系统--文件系统实验源代码

    7. **文件系统挂载**:在Linux中,不同的物理存储设备可以被挂载到文件系统的某个点,形成虚拟的统一文件系统。挂载点和挂载操作是实验的重要部分。 8. **磁盘管理**:了解磁盘分区、格式化和文件系统类型(如ext4...

    操作系统 设计文件系统

    通过一个文件或者内存空间来虚拟一块“硬盘”,给这个“硬盘”编写一个虚拟文件系统,虚拟linux/unix文件系统的操作和管理。进一步熟悉操作系统中文件系统部分的原理以及linux/unix文件系统的管理方式。 实现的功能...

    多用户多级目录文件系统.zip

    本课程设计要求设计一个模拟的多用户多级目录的文件系统。通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。 二、课程设计的要求与数据 1. 在...

    操作系统——简单文件系统模拟实验

    在内存中模拟一个FAT格式的文件系统,完成文件的创建和索引功能,实现以下命令接口: (1)新建文件,格式:mkfile filename filecontent filename:文件名 filecontent:文件内容(字符) 实现按FAT格式写FAT表...

    exFAT文件系统结构分析.docx

    exFAT(Extended File Allocation Table)是微软推出的一种先进的文件系统,主要设计用于闪存设备,以解决FAT32在大容量存储上的限制。它提供了更好的性能、更高效的存储管理和更大的单个文件大小支持。在本文中,...

    操作系统的文件系统

    关于文件系统的ppt文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件...

    C++语言实现一个类UNIX文件系统

    在C++中实现一个类UNIX文件系统是一项复杂的任务,它涉及到对操作系统内核级功能的模拟,主要包括文件和目录管理。以下是对这个项目的关键知识点的详细说明: **1. 文件系统基础** 首先,理解文件系统的基本概念至...

    虚拟文件系统V2

    虚拟文件系统(Virtual File System,简称VFS)是一种在操作系统中用于实现不同文件系统兼容性的抽象层,它是Linux系统中的一项关键技术,为各种不同的文件系统提供统一的用户接口。Linux通过VFS能够在不同的文件...

    winhex查看FAT32文件系统并分析

    在IT领域,深入理解文件系统对于数据恢复、故障排查以及系统维护至关重要。FAT32是一种广泛使用的文件系统,尤其在Windows操作系统中。WinHex是一款强大的十六进制编辑器,适用于磁盘、存储设备和文件的取证分析。...

    SPI FLASH移植littleFS文件系统

    SPI FLASH移植littleFS文件系统是一项在嵌入式领域中至关重要的技术实践。SPI FLASH作为一种常见的非易失性存储器,广泛应用于各种微控制器(MCU)系统,它以串行方式传输数据,具有低功耗、小体积和低成本的优点。...

    操作系统课程设计 文件系统 代码

    操作系统 课程设计 文件系统 代码

Global site tag (gtag.js) - Google Analytics