Linux操作系统文件系统基础知识详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux操作系统文件系统基础知识详解相关的知识,希望对你有一定的参考价值。
参考技术A 一、linux文件结构
文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件和目录的组织上。
目录提供了管理文件的一个方便而有效的途径。
linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。
/根目录
┃
┏━━┳━━━┳━━━┳━━━╋━━━┳━━━┳━━━┳━━━┓
┃
┃
┃
┃
┃
┃
┃
┃
┃
binhome
dev
etc
lib
sbin
tmp
usr
var
┃
┃
┏━┻━┓
┏━━┳━━┳━━┳━┻━┳━━┓
┃
┃
┃
┃
┃
┃
┃
┃
rc.d
cron.d
X11R6src
lib
local
manbin
┃
┏━━━┳━━┳━┻━┳━━━┓
┃
┃
┃
┃
┃
init.d
rc0.drc1.drc2.d
linux
bin
lib
src
linux采用的是树型结构。最上层是根目录,其他的所有目录都是从根目录出发而生成的。微软的DOS和windows也是采用树型结构,但是在DOS和
windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,他们之间的关系是并列的。但是在linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。
如果这样讲不好理解的话,我来举个例子:
有一块硬盘,分成了4个分区,分别是/;/boot;/usr和windows下的fat
对于/和/boot或者/和/usr,它们是从属关系;对于/boot和/usr,它们是并列关系。
如果我把windows下的fat分区挂载到/mnt/winc下,(挂载??哦,别急,呵呵,一会就讲,一会就讲。)那么对于/mnt/winc和/usr或/mnt/winc和/boot来说,它们是从属于目录树上没有任何关系的两个分支。
因为linux是一个多用户系统,制定一个固定的目录规划有助于对系统文件和不同的用户文件进行统一管理。但就是这一点让很多从windows转到linux的初学者感到头疼。下面列出了linux下一些主要目录的功用。
/bin
二进制可执行命令
/dev
设备特殊文件
/etc
系统管理和配置文件
/etc/rc.d
启动的配置文件和脚本
/home
用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib
标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin
系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp
公用的临时文件存储点
/root
系统管理员的主目录(呵呵,特权阶级)
/mnt
系统提供这个目录是让用户临时挂载其他的文件系统。
/lost+found
这个目录平时是空的,系统非正常关机而留下无家可归的文件(windows下叫什么.chk)就在这里
/proc
虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信 息。
/var
某些大文件的溢出区,比方说各种服务的日志文件
/usr
最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包 含:
/usr/X11R6
存放X
window的目录
/usr/bin
众多的应用程序
/usr/sbin
超级用户的一些管理程序
/usr/doc
linux文档
Linux基础命令,目录文件操作,vi编辑器详解
一、linux基础命令
linux命令的执行必须依赖于shell命令解释器。shell实际上是在linux系统中运行的一种特殊程序,它位于操作系统内核与用户之间,负责接收用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行,shell在用户和内核之间充当了一个“翻译官”的角色。当用户登录到linux系统时,会自动加载一个shell程序,以便给用户提供可以输入命令的操作系统。
1、首先介绍一下快捷键
Tab键:用来补齐命令字或文件、目录名,例如输入“ifcon”后按Tab可以补齐为“ifconfig”,只能向后补齐。按两次Tab键,系统将输出可用的名称列表。
Ctrl+U键:快速删除当前光标处之前的所有字符内容。
Ctrl+K键:快速删除当前光标处之后的所有字符内容。
Ctrl+L键:清屏,清空当前屏幕中显示内容。
Ctrl+C键:取消当前命令行的编辑。
2、ls命令——列表显示目录内容
ls -l :以长格式显示文件,包括权限、大小、最后更新时间等详细信息。
ls -a:显示所有子目录和文件的信息,包括名称以点号开头的隐藏目录和文件。
ls -A:与上一个基本相同,但不显示当前目录及父目录。(即“.”与“..”)。
ls -d:显示目录本身的属性。
ls -h:详细显示目录或文件的大小,一般结合-l使用。
ls -R:递归显示指定目录及其子目录中的所有内容。
3、du命令——统计目录及文件的空间占用情况
du -a:统计所有文件
du -h:以人性化方式显示
du -s:只统计参数占用大小(占总空间)
一般结合使用:du -sh;du -ah
4、创建目录和文件
mkdir :创建新目录。例:mkdir /abc 创建abc目录。mkdir -p /abc/111/222 在abc中创建111,在111中创建222。
touch :创建空文件。例:touch sun 创建sun文件。
echo:重定向生成文件。例:echo "this is he he he " > abc.txt 将this is he he he 写入到abc.txt中。
vim:进入vim模式写内容。例:vim abc 进入abc开始写内容。
5、cp命令——复制文件或目录
cp -f:覆盖时不提醒,直接覆盖。
cp -i:覆盖时提醒。
cp -p:保持原有权限等属性。
cp -r:递归复制(用于目录)。
6、rm命令——删除文件或目录
rm -f:删除不提醒。
rm -i:删除提醒。
rm -r:递归删除,一般目录会使用(谨慎使用)。
7、mv命令——移动文件或目录
需要注意的是,要加绝对路径。如果目标位置与源位置相同,则效果相当于为文件或目录改名。
mv 222.txt /opt 将222.txt文件移动到opt目录下。
mv 222.txt 333.txt 将222.txt重命名为333.txt。
8、which与find命令——查找执行命令与查找文件或目录
which主要用于查找外部命令。例:which ls 查找ls命令所在文件路径。
find是查找文件或目录。
按名称查找 -name
按大小查找 -size(小于指定文件); +size(大于指定文件)。
按属主查找 -user
按类型查找 -type 其中主要类型有:f(普通文件);d(目录);b(设备文件——硬盘,内存);c(字符设备文件——键盘,鼠标)
例:查找/etc中以"resol"开头,以".conf"结尾的文件 find /etc -name "resol*.conf"
9、ln命令——创建链接文件
软链接 | 硬链接 | |
---|---|---|
删除原文件后 | 失效 | 仍可用 |
使用范围 | 文件或目录 | 文件 |
保存位置 | 与原文件可以位于不同系统 | 与原文件必须同一个系统(如同一个linux分区内) |
区别说明 | 创建快捷方式 | 创建别名文件 |
例:ln abc /123 创建abc的链接文件并命名为123
二、目录及文件操作
简单介绍一下常见的子目录及其作用
/boot:系统内核存放目录。
/bin:执行命令目录,如cp ls。
/dev:接口设备文件目录。
/etc:系统设置与管理文件目录。
/home:普通用户工作文件目录。
/root:系统管理员root宿主目录。
/sbin:系统基本命令,一般管理员用户才有权限执行。
/usr :存入其他用户应用程序。
/var:存放系统中需要变化的一些文件,如系统日志文件、用户邮箱目录等。
1、cat命令——显示并连接文件的内容
这个命令应用比较简单,主要用来查看文件内容。
例:cat /etc/abc.conf 查看etc下abc.conf文件的内容。
2、more与less命令——分页查看文件内容
more与less命令用途相同,都是全屏方式分页显示文件内容。
例:more /etc/httpd.conf 全屏显示etc下httpd.conf文件。
less /etc/httpd.conf 全屏显示etc下httpd.conf文件。
more | less | |
---|---|---|
用途 | 全屏查看文件 | 全屏查看文件 |
翻页 | Enter逐行滚动;空格是下翻一屏;q退出 | Pg up 向上翻;Pg dn 向下翻 |
文件显示 | 百分比 | 文件名 |
3、head与tail——查看开头与末尾内容
这两个命令用法也很简单,默认查看都为十行内容,加上参数就可以查看指定行数的内容。
例:head -5 /etc/httpd.conf 查看httpd.conf文件开头的5行内容。
tail -5 /etc/httpd.conf 查看httpd.conf文件末尾的5行内容。
4、wc命令——统计文件内容中的单词数量
wc -l:统计行数
wc -w:统计单词个数
wc -c:统计字节数
5、grep命令——检索、过滤文件内容
grep -i:忽略大小写
grep -v:反转查找
条件:要查找的目标,双引号括起来。
"^......":以......为开头
"......$":以......为结尾
"^$":空行
6、gzip与bzip命令——压缩解压
gzip -9 文件名:创建压缩文件
gzip -d 文件名:解压文件(gz格式)
bzip -9 文件名:创建压缩文件
bzip2 -d 文件名:解压文件(bz2格式)
7、tar命令——归档和释放文件
tar -c:创建tar格式的文件
tar -x:解开tar格式的文件
tar -v:输出详细信息
tar -f:使用归档文件
tar -p:打包时保留原文件、目录的权限
tar -t:列表查看包内文件
tar -C:解包时,指定释放目标文件
tar -z:调用gzip程序进行压缩或解压
tar -j:调用bzip2程序进行压缩或解压
tar -P:打包时保留文件、目录的绝对路径
三、vi编辑器
在vi编辑界面中可以使用三种不同的工作模式——命令模式、输入模式、末行模式。
vim 文件 可以直接进入文件的命令模式。按冒号“:”以及“/”可以进入末行模式。按a、i、o等可以进入输入模式。
在输入或末行模式均可按Esc返回至命令模式。
命令模式:
x或Del:删除光标处某个单词
dd:删除光标所在行
#dd:删除光标开始#行内容(#为数字)
d^:删除光标到行首
d$:删除光标到行尾
yy:复制当前行
#yy:复制光标后#行(#为数字)
p:粘贴到光标之后
P:粘贴到光标之前
u:撤销最近一次操作
U:撤销当前行所有操作
末行模式:
:e 新文件 —打开新文件进行编辑
:r 新文件—当前文件中读入其它文件内容
:wq —保存
:wq!—强制保存
:q—退出
:q—强制退出
:w /root/abc—另存为其它文件
/abc—从上而下查找abc,n定位下一个;N定位上一个
?abc—从下而上查找abc,n定位下一个;N定位上一个
:s /old/new—当前行中第一个old替换为new
:s /old/new/g—当前行中所有old替换为new
:#,# s /old/new/g—在行#,#中old替换为new
:s /old/new/c—替换时提醒用户
:% s /old/new/g—全文old替换为new
以上是关于Linux操作系统文件系统基础知识详解的主要内容,如果未能解决你的问题,请参考以下文章
Linux基础知识之挂载详解(mount,umount及开机自动挂载)