操作系统笔记七(Linux文件操作与文件系统)

1.Linux的文件基本操作

1.1Linux目录

Linux也有一个目录树,如下图:
在这里插入图片描述在这里插入图片描述绝对路径:是从盘符开始的路径,形如C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows要描述上述路径,只需输入system32\cmd.exe

1.2Linux文件常用操作

(1)目录管理命令
——ls:列出指定目录下的内容
格式:ls [OPTION]… [FILE]…
   -a:显示所有文件包括隐藏文件
   -A:显示除.和…之外的所有文件
   -l,–long:显示文件的详细属性信息
   -h:对文件大小进行单位换算,可能影响精度
   -d:查看目录本身而非其内部的文件
   -r:逆序显示文件
   -R:递归显示文件
示例:ls -lah / --详细显示/目录下的所有文件(包括隐藏文件)
   ls -ldh /etc --详细显示/etc目录本身
   ls -lhv / --倒序显示/目录下所有文件(包括隐藏文件)
   ls -R /etc    --递归显示/etc下所有文件
——mkdir:创建目录
格式:mkdir [OPTION]… DIRECTORY…
   -p:自动按需创建父目录
   -m:创建目录时给定权限
示例:mkdir -p /data/test/A/B --在/data目录下递归创建/test/A/B三个目录
   mkdir -m 711 -p /data/MODE/A --在/data目录下递归创建MODE/A两个目录同时指定目录A的权限为711
——rmdir:删除目录
格式:rmdir [OPTION]… DIRECTORY…
   -p:删除目录后如果其父目录为空,则一并删除
示例:rmdir -p /data/test/A --删除A目录后,test目录为空,一并删除
——cd:切换目录
示例:cd …:切换到上级目录
   cd ~:切换回自己的家目录
   cd -:在上一次目录与当前目录直接来回切换
——pwd:显示当前目录

(2)文件管理命令
——cp:复制
格式:单源复制:cp [OPTION]… [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)
   多源复制:cp [OPTION]… SOURCE… DIRECTORY(DEST必须为directory)
   -i:交互式复制,即覆盖前提醒用户确认
   -f:强制覆盖目标文件
   -r,-R:递归复制目录
示例:cp -if /data/[1-3].txt /data/test --test必须为目录,把三个文件一起复制到test中
   cp -r /data /practice --把data目录及目录下的内容一起复制到practice中
——mv:剪切
格式:单源复制:mv [OPTION]… [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)
   多源复制:mv [OPTION]… SOURCE… DIRECTORY(DEST必须为directory)
   -i:交互式复制,即覆盖前提醒用户确认
   -f:强制覆盖目标文件
示例:mv -i /data/[1-3].txt /practice --把/data目录下三个txt文件剪切到/practice下
——rm:删除
格式:rm [OPTION]… FILE…
   -i:交互式复制,即覆盖前提醒用户确认
   -f:强制覆盖目标文件
   -r,-R:递归处理,将制定目录下的所有文件包括目录一并删除
示例:rm -rf /practice --递归删除/practice目录
(3)文本内容管理命令
——cat:正向查看文本内容
格式:cat [OPTION]… [FILE]…
   -n:给显示的文本行编号
   -E:显示行结束符号$
示例:cat -n /etc/fstab --查看/etc/fatab内容并显示行号
——tac:倒叙查看文本内容
格式:tac [OPTION]… [FILE]…
示例:tac /etc/passwd --倒叙查看文本内容
——head:显示文本内容,默认显示头10行
格式:head [OPTION]… [FILE]…
   -n #:显示文本头#行内容
示例:head -5 /etc/passwd --显示/etc/passwd文件头5行内容
——tail:显示文本内容,默认显示后10行
格式:tail [OPTION]… [FILE]…
   -n #:显示文本后#行内容
   -f:查看文件尾部内容结束后不退出,跟随显示新增的行
示例:tail -8 /etc/passwd --显示/etc/passwd文件后8行内容
——more:分屏显示文本内容,每次显示一屏显示完停止
格式:more [options] file […]
   Space键:显示文本下一屏内容
   Enter键:只显示文本下一行内容
   b键:显示文本上一屏内容
   q键:退出
——less:分屏显示文本内容,不主动退出
格式:less [options] file […]
   Space键:显示文本下一屏内容
   Enter键:只显示文本下一行内容
   b键:显示文本上一屏内容
   q键:退出

1.3Linux文件类型

在这里插入图片描述
普通文件
使用 ls -l 命令,可以看到结果的第一列是 -rwxrwxrwx 的形式,其中第一个字符 “-” 表示这个文件为普通文件,它也可以是其他的字符,不同的字符代表不同类型的文件。其后的一串字符表明了该文件的权限,其中:

1)r 表明该文件具有可读权限,若该位置为 “-” ,则表明文件不可读;

2)w 表明该文件具有写权限,若该位置为 “-” ,则表明文件不可写;

3)x 表明该文件具有可执行权限,若该位置为 “-” ,则表明文件不具有可执行权限;

4)第一个 rwx 表示该文件的所有者对该文件的权限;第二个 rwx 表示该文件所属组对该文件的权限;第三个 rwx 表示其他用户对该文件的权限。

可以使用 touch 命令来创建一个文件:
touch newfile

可以使用 rm 命令来删除一个文件:
rm newfile

目录文件
目录文件中保存着该目录下其他文件的 inode 号 和文件名等信息,目录文件中的每个数据项都是指向某个文件 inode 号的链接,删除文件名就等于删除与之对应的链接。目录文件的字体颜色是蓝色,使用 ls -l 命令查看,第一个字符为"d"(directory)。

目录文件的权限:

1)r 表明该目录文件具有可读权限,即可以使用 ls 命令查看该目录的存储情况;

2)w 表明该目录文件具有写权限,即可以往该目录下添加、修改、删除文件;

3)x 表明该目录文件具有可执行文件,即可以使用 cd 命令进入到该目录下。

可以使用 chmod 指令来改变文件的权限。

创建一个目录:

可以使用 mkdir 命令来创建一个目录文件:

mkdir directory

删除一个目录:

可以使用 rmdir 命令来删除一个空目录:

rmdir directory

如果该目录下有其他文件,则可以使用 rm -r 命令来递归删除该目录下的所有文件。需要注意的是,使用该命令将会删除该目录及目录下的所有数据,过程不可逆,需要谨慎使用:

rm -r directory

链接文件
链接文件一般指的是一个文件的软连接(或符号链接),使用 ls -l 命令查看,第一个符号为 “l”,文件名为浅蓝色

1)软链接

软链接(又称符号链接),使用 ln -s file file_softlink 命令可以创建一个文件的软链接文件:

ln -s test.txt test_softlink

软链接相当于给原文件创建了一个快捷方式,如果删除原文件,则对应的软链接文件也会消失。

2)硬链接

硬链接,相当于给原文件取了个别名,其实两者是同一个文件,删除二者中任何一个,另一个不会消失;对其中任何一个进行更改,另一个的内容也会随之改变,因为这两个本质上是同一个文件,只是名字不同。使用 ls -i 命令查看,可以发现硬链接的两个文件的 inode 号是一样的:

同样的,使用 ln 命令可以创建一个文件的硬链接:

ln test.txt test_hardlink

设备文件
Linux 中的硬件设备如硬盘、鼠标等也都被表示为文件,即为设备文件。设备文件一般存放在 /dev/ 目录下,文件名为黄色

1)块设备文件:

块设备文件支持以块(block)为单位的访问方式。在 EXT4 文件系统中,一个 block 通常为 4KB 的大小,也就是说每次可以存取 4096(或其整数倍) 个字节的数据。应用程序可以随机访问块设备文件的数据,程序可以自行确定数据的位置,硬盘、软盘等都是块设备。使用 ls -l 命令查看,块设备文件的第一个字符是 “b”(block)。

2)字符设备文件:

字符设备文件以字节流的方式进行访问,由字符设备驱动程序来实现这种特性,这通常要用到 open、close、read、write 等系统调用。字符终端、串口和键盘等就是字符设备。另外,由于字符设备文件是以文件流的方式进行访问的,因此可以顺序读取,但通常不支持随机存取。使用 ls -l 命令查看,字符设备文件的第一个字符是 “c”(char)。

管道文件
管道文件主要用于进程间通信,使用 ls -l 命令查看,第一个字符为 “p”(pipe)。可以使用 mkfifo 命令来创建一个管道文件

在 FIFO 中可以很好地解决在无关进程间数据交换的要求,FIFO 的通信方式类似于在进程中使用文件来传输数据,只不过 FIFO 类型的文件同时具有管道的特性,在读取数据时,FIFO 管道中同时清除数据。

2.Linux文件系统

2.1文件系统概述

常见的文件系统:FAT、NTFS、EXT2/3/4

FAT
在这里插入图片描述
NTFS
在这里插入图片描述
EXT2/3/4
在这里插入图片描述

2.2Ext文件系统

硬盘的逻辑结构:
在这里插入图片描述在这里插入图片描述
inode table:
在这里插入图片描述
inode存放文件类型、文件权限、文件物理地址、文件长度、文件状态、访问计数等等。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值