1.Ubuntu文件结构
/bin  bin是Binary的缩写。存放系统中最常用的可执行文件(二进制)。
/boot 这里存放的是linux内核和系统启动文件,包括Grub、lilo启动器程序。
/dev dev是Device(设备)的缩写。该目录存放的是Linux的外部设备,如硬盘、分区、键盘、鼠标、usb等。
/etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录,如passwd、hostname等。
/lib  存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件。
/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些零散文件。
/media ubuntu系统自动挂载的光驱、usb设备,存放临时读入的文件。
/mnt 作为被挂载的文件系统的挂载点。
/opt  作为可选文件和程序的存放目录,主要被第三方开发者用来简易安装和卸载他们的软件。
/
proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这里存放所有标志为文件的进程,
比较cpuinfo存放cpu当前工作状态的数据。
/sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序,如系统管理、目录查询等关键命令文件。
/ srv 存放系统所提供的服务数据。
/sys 组自豪系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。
/tmp 这个目录是用来存放一些临时文件的,所有用户对此目录都有读写权限。
/usr  存放与系统用户有关的文件和目录。
/usr/X11R6 存放X-Windows的目录;
/usr/bin 用户和管理员的标准命令;
/usr/sbin 存放root超级用户使用的管理程序;
/usr/doc Linux技术文档;
/usr/include 用来存放Linux下开发和编译应用程序所需要的头文件,for c 或
者c++
/usr/lib 应用程序和程序包的连接库;
/usr/local 系统管理员安装的应用程序目录;
/usr/man 帮助文档所在的目录;
/usr/src  Linux开放的源代码;
/var 长度可变的文件,尤其是些记录数据,如日志文件和打印机文件。
/var/cache 应用程序缓存目录;
/var/crash 系统错误信息;
/var/log 日志文件;
/
var/tmp 临时文件目录;
2.文件名扩展
Linux不使用文件名扩展来识别文件的类型。相反,Linux根据文件的头内容来识别其类型。为了提高人类可读性您仍可以使用文件名扩展,但这对Linux 系统来说没有任何作用。不过,有一些应用程序,比如Web 服务器,可能使用命名约定来识别文件类型,但这只是特定的应用程序的要求而不是Linux 系统本身的要求。
Linux通过文件访问权限来判断文件是否为可执行文件。任何一个文件都可以赋予可执行权限,这样程序和脚本的创建者或管理员可以将它们识别为可执行文件。这样做有利于安全。保存到系统上的可执行的文件不能自动执行,这样可以防止许多脚本病毒。
3.查看命令
fdisk………………查看硬盘分区表
df………………查看分区使用情况
du………………查看文件占用空间情况
4.挂载
挂载的概念:
当要使用某个设备时,例如要读取硬盘中的一个格式化好的分区、光盘或软件等设
备时,必须先把这些设备对应到某个目录上,而这个目录就称为“挂载点(mount point)”,这样才可以读取这些设备,而这些对应的动作就是“挂载”。将物理分区细节屏蔽掉。用户只有统一的逻辑概念。所有的东西都是文件。
Mount命令可以实现挂载:
mount [-fnrsvw] [-t vfstype] [-o options] device dir
Q:所有的磁盘分区都必须被挂载上才能使用,那么我们机器上的硬盘分区是如何被挂载的?
A:这主要是它利用了/etc/fstab文件。每次内核加载它知道从这里开始mount文件系统。每次系统启动会根据该文件定义自动挂载。若没有被自动挂载,分区将不能使用。Q:移动硬盘如何挂载?如何挂载一个新的分区?
A:移动硬盘有驱动模块会自动挂载,如果有个新硬盘,要先进行分区,并通过mount 命令挂载到某个文件夹。如果要自动挂载则可以修改/etc/fstab文件。
NFS简介:NFS相信在很多地方都有广泛使用,是一个非常好的文件共享方式。我们公司所使用的上传服务就是把文件上传到某台网络服务器上,中间就是通过NFS实现。使用NFS客户端可以透明的地访问服务器端的文件。NFS也是通过mount来实现,底层是通过NFS通信协议实现。
Ubuntu下的例子
服务端:
linux怎么读取windows文件$apt-get install nfs-kernel-server
vi /etc/exports 添加nfs目录: /personal/nfs_share
10.1.60.34(rw,sync,no_root_squash)
$sudo exportfs -r
$sudo /etc/init.d/portmap start
$sudo /etc/init.d/nfs-kernel-server start
客户端:
$sudo apt-get install nfs-common
$sudo mount 10.19.34.76:/personal/nfs_share ~/nfsshare
5.文件存储结构
Linux正统的文件系统(如ext2、ext3)一个文件由目录项、inode和数据块组成。
(1)目录项:包括文件名和inode节点号。
(2)Inode:又称文件索引节点,是文件基本信息的存放地和数据块指针存放地。(3)数据块:文件的具体内容存放地。
Linux正统的文件系统(如ext2、3等)将硬盘分区时会划分出目录块、inode Table区块和data block数据区域。一个文件由一个目录项、inode和数据区域块组成。Inode包含文件的属性(如读写属性、owner等,以及指向数据块的指针),数据区域块则是文件内容。当查看某个文件时,会先从inode table中查出文件属性及数据存放点,再从数据块中读取数据。
文件结构视图如下:
其中目录项的结构如下(每个文件的目录项存储在改文件所属目录的文件内容里):
其中文件的inode结构如下(inode里所包含的文件信息可以通过命令:stat filename查看得到):
6.软连接、硬链接
软链接和硬链接是我们常见的两种概念:
硬连接:是文件一个副本,同时建立两者之间的连接关系。修改其中一个,与其连接的文件同时被修改。如果删除其中[color=red]任意一个[/color]其余的文件将不受影响。
软连接:也叫符号连接,他只是对源文件在新的位置建立一个“快捷(借用一下wondows常用词)”,所以,当源文件删除时,符号连接的文件将成为无源之水->仅仅剩下个文件名了,当然删除这个连接,也不会影响到源文件,但对连接文件的使用、引用都是直接调用源文件的。
具体关系可以看下图:
从图上可以看出硬链接和软链接的区别:
1:硬链接原文件和新文件的inode编号一致。而软链接不一样。
2:对原文件删除,会导致软链接不可用,而硬链接不受影响。
3:对原文件的修改,软、硬链接文件内容也一样的修改,因为都是指向同一个文件内容的。
7.文件目录管理命令
(1)文件查看cat, tac, less, more, head, tail, od等
cat [file]
查看文件的内容。全程式concatenate的意思,将文件内容连续输出到屏幕上。第一行到最后一行显示。
tac [file]
和cat刚好相反是从最后一行到第一行的方式查看。
cat有个比较不好的地方时当文件比较大时候没办法看清楚,这个时候可以用more或者Less命令。
more [file]
如果使用grep或者find等命令时,可以配合使用more一页一页的查看。如果看到一半想退出,则敲入’q’即可退出。
less [file]
less比more更有弹性,可以上下翻页。
如果只想读取文件的头几行或者文件的末尾几行,可以用head或tail.
head –n [file]:读取文件的前n行。
tail –n [file]:读取文件末尾n行。
以上命令都是用于查看字符文件,二进制文件出来的都是乱码,要看二进制文件的内容,可以用od命令,如查看一个MP3文件里面的内容:
od shijiemori.mp3
(2)文件目录与权限chmod
chmod chown chgrp umask

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。