首页 > 分布式 > Linux > Linux文件系统入门
2014
03-21

Linux文件系统入门

文件系统是操作系统中用于在磁盘上组织文件的方法,不同操作系统所使用的文件系统也不同。如windows、dos的fat文件系统,Linux主要使用的文件系统是ext3/ext4。

Linux系统目录结构

Unix / linux 系统的目录结构以层次形式组织,成为树状目录结构。根目录“/”是所有目录的起始点。

注:①目录是子目录和文件的一个列表,是一种结构化的文件,每个子目录或文件占用一个目录项。每个目录项都有文件名和索引节点(即i节点)编号组成。②文件是UNIX / Linux系统处理信息的基本单位,UNIX / Linux的文件类型有普通文件、目录文件、设备文件、符号链接文件。

关于上面①的补充说明:UNIX / Linux的文件系统中有一个存储i节点表的空间,文件系统中的每一个文件在该表中都分配有一个i节点,所有的i节点都有相同的大小,每个i节点都通过在表中的位置来标识,用来存储文件的属性信息,如文件大小、文件权限、最近修改时间和指向文件所占用的数据块等。

根目录下有以下目录:

/dev 存放设备文件(所有的设备都被抽象为一个文件)
/boot 存放内核(vmlinux2.6.32……文件)及系统启动程序相关文件
/lib 存放系统库文件
/bin 存放常用Shell命令 /sbin 存放超级用户才可使用的命令
/usr 一般存放安装程序(应用软件默认装在该目录下)
/var 一般存放经常变化的数据,如日志文件等
/proc 只存在于内存中的文件系统,保存操作系统的实时信息
/home 用户家目录(每个普通用户都对应一个文件夹) /root 超级用户(root)家目录
/etc 几乎所有的操作系统配置相关文件
/opt 通常用来安装一些大的软件

一些基础的东西

文件名称:大小写敏感、最多255个字符、除了“/”外都是有效字符(不建议使用特殊字符),以“.”开头的文件为隐藏文件 (大多是配置文件,轻易不要动)

当前工作目录:每一个Shell命令或系统进程都有一个当前的工作目录,通过命令pwd可以查看当前工作目录的绝对路径。

绝对路径与相对路径:绝对路径:以根目录“/”为起点,递归每一级目录直到目标文件/文件夹,如:/etc/passwd, 优点是不受当前所在工作目录限制。相对路径:以当前目录为起点,到达目标文件/文件夹的路径,如:../../etc/passwd

文件系统的使用(基本命令)

1、改变当前工作目录(cd命令):cd 目标目录路径

不带任何参数的cd命令可以让用户从系统的任何目录中回到用户家目录 (等同于cd ~)

2、查看目录内容(ls 命令)

ls -a 显示所有文件
ls -l 显示指定目录下的可见目录 / 文件的详细信息
ls -R 递归显示子目录信息
ls -ld 显示指定目录或文件详细信息

特别地,当使用ls -l输出目录下文件的详细信息时,第一行总用量 (total) 列出占用的数据块的多少,输出的信息有7列,依次为文件类别和权限、链接数、文件拥有者、文件所属组、文件大小、文件创建或修改时间、文件名。

linux ls command

第一列共11个字符:第一个字符代表文件类别(-:普通文件 d:目录文件 b:块设备文件 c:字符设备文件 l:符号链接文件),后9个字符代表3组访问权限(文件所有者的权限、同组用户的权限、其他用户的权限)

3、查看文件类型(file命令):显示指定文件的类型

4、文件基本操作

复制文件命令cp:cp [选项] 源文件或目录 目标文件或目录,常用选项:

-r 递归复制整个目录(拷贝目录时带上此参数)☆
-v 显示详细信息(特别是复制一个大文件夹时)

移动文件命令mv:使用格式与cp命令相同,作用有:①移动文件②对文件或目录重命名。若前后路径不同,移动操作,若前后在相同路径下,进行重命名。

新建文件命令touch:touch 文件名,其可以:①新建一个空白文件 ②更新已有文件的时间

删除文件命令rm:rm [选项] 文件或目录,常用选项有:

-i 交互式删除(每删除一个文件时都会提示是否删除)
-r 递归删除文件夹下所有文件(删除目录时带上此参数)☆
-f 强制删除,不提示(慎用)

创建、删除目录命令(mkdir、rmdir):rmdir不可以删除非空文件夹(此时可以使用rm -r命令)

5、查看文件内容命令(cat、more、less、head、tail),区别如下:

cat命令:查看指定文件内容
head命令:默认查看指定文件头10行内容
-n 指定显示的行数
tail命令:默认查看指定文件末尾10行内容
-n 指定显示的行数
-f (follow)追踪显示文件更新(一般用于查看日志,命令不会退出,而是持续显示新加入的内容)
more命令:以翻页形式查看指定文件内容(只能向下翻页)
less命令:以翻页形式查看指定文件内容(可上下翻页☆)

6、查找文件与文件内容检索

查找文件(locate、find)

locate命令:locate keyword ,可快速查找文件、文件夹

注:需要特定数据库支持,非实时更新(缺点),可通过updatedb命令手工更新数据库

find命令☆:find 查找路径 查找选项 执行动作,其中常用查找选项有:

-name filename:按文件名查找文件,支持通配符 * 和 ?
-user username:按文件所有者查找文件
-group groupname:按文件所属组查找文件
-type filetype:按文件类型查找文件(filetype可以为f、b、c、d、l)

常用执行操作有: -exec command {} \:对找到的文件执行command命令

文件内容检索(grep)grep [选项] 要检索的字符串 文件名,grep命令用来在指定文件中检索匹配指定字符串的行。

7、压缩和归档

zip命令:zip flyne.zip myfile,将myfile压缩成flyne.zip文件

unzip命令:unzip flyne.zip解压缩flyne.zip文件

tar命令:创建归档文件(一般用于备份,可与gzip一起执行创建归档压缩文件)

tar -cvf out.tar linuxcast
tar -xvf out.tar 以上两个命令只是创建、解开归档,没有压缩
tar -cvzf backup.tar.gz /etc 归档并压缩(最常用)
-z参数将归档后的归档文件进行gzip压缩以减少

注:tar 仅仅打包但未压缩 gzip 压缩文件,我们常见的源码包(.tar.gz)实际上是通过tar先将不同的源文件打包,然后再通过gzip压缩后发布的,当然这两个步骤可以通过一条命令实现。


留下一个回复

你的email不会被公开。