Linux编程基础之三——Linux文件管理操作
2015-07-15 01:15
447 查看
Linux文件概念
分类
Linux操作系统文件分为:普通文件、目录文件、字符 设备文件、块设备文件、符号链接文件、管道文件、 socket文件普通文件
文件名最长不能超过255个字符可以用除保留字符以外的任何字符给文件命名
扩展名对LINUX系统来说没有任何意义
目录文件
文件系统中一个目录所包含的目录项组成的文件。目录文件只允许系统进行修改。用户进程可以读取目录文件,但不能对它们进行修改。特别地:
. 代表目录本身
.. 代表父目录
设备文件
字符设备文件和块设备文件。Linux把对设备的I/O作为对文件的读取/写入操作内核提供了对设备处理和对
文件处理的统一接口。
设备文件没有文件长度,它
有两个值分别是主设备号和
次设备号;两者共同构成一
个唯一的号码,内核根据它
找到对应的设备驱动程序
链接文件
又称符号链接文件,它提供了共享文件的一种方法。
管道(FIFO)文件
用于在进程间传递数据。Linux对管道的操作与文件操作相同,它把管道做为文件进行处理。
(mkfifo)
Socket(套接字)文件
处理
Linux中 文件是一个字节序列,并把所有东西看做文件处理。Linux继承了UINX,把文件名和文件控制信息分开管理,
文件控制信息单独组成一个称为i节点(inode)。
Linux的目录项主要由文件名和inode号组成。
文件系统结构
主目录/登陆目录(Home Directories)
输入命令: echo $HOME 可以查看字符”~“表示主目录
当前工作目录/当前目录(Present Working Directories )
当前目录 . (dot)父目录 .. (dot dot)
绝对路径(Absolute Pathnames)
从根目录开始的路径相对路径 (Relative Pathnames )
从当前工作目录或用户主目录开始的路径一些标准目录和文件
根目录(/)
根目录位于分层文件系统的最顶层,用斜线(/)表示。它包含一些标准文件和目录,因此可以说它包含了所有的目录和文件。
/bin
也称二进制(binary)目录,包含了那些供系统管理员和普通用户使用的重要的Linux命令的可执行文件。包括一些常用命令、系统恢复命令和网络命令。目录/usr/bin下存放了大部分的用户命令。/boot
在这个目录下存放系统启动时要用到的程序。包括Linux内核的二进制映像。内核文件名是vmlinux加上版本和发布信息。/dev
dev 是设备(device)的英文缩写。在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。/etc
etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。
/sbin
这个目录是用来存放系统管理员的系统管理程序/home
存放用户的主目录。如果建立一个用户,用户名是“ji”,那么在/home目录下就有一个对应的/home/ji路径,用来存放用户的主目录。/lib
lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。/mnt
这个目录主要用来临时装载文件系统,系统管理员运行mount命令完成装载工作。/opt
该目录用来安附加软件包/proc
目录存放了进程和系统得信息,可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。/root
根(root)用户的主目录。如果用户是以超级用户的身份登录的,这个就是超级用户的主目录。/sbin,/usr/sbin,/usr/root/sbin
存放了系统管理的工具、应用软件和通用的root用户权限的命令。/tmp
用来存放不同程序执行时产生的临时文件。/usr
是linux文件系统中最大的目录之一。它存放了可以在不同主机间共享的只读数据。/lost+found
目录中存放所有和其他目录没有关联的的文件,这些文件可以用Linux工具fsck查找得到。/var
用来存放易变的数据,这些数据在系统运行过程中会不断变化。 /var/spool/mail 存放收到的电子邮件,/var/log 存放系统的日志, /var/ftp 。文件系统概念
文件系统是操作系统中以文件方式管理计算机软件资源的软件和被管理的文件和数据结构(如目录和索引表等)的集合。常用的文件系统:
FAT(MS-DOS文件系统)
FAT32(VFAT)(win98文件系统)
ext2、ext3、ext4(linux文件系统)
UFS (UNIX文件系统)
iso9660 (CD-ROM文件系统)
NFS(网络文件系统)
proc(linux虚拟文件系统)
VFS (linux虚拟文件系统)
文件操作
文件系统挂载
在linux操作系统中, 挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备。mount
Linux 使用 mount 命令挂载文件系统,通常需要有 root 权限语法
mount [-t fstype] [-o options] device dirname常用参数
fstype:文件系统类型iso9660 cd-rom使用的标准文件系统
vfat WINDOWS操作系统的fat32文件系统
ntfs WINDOWS的NTFS文件系统
msdos MS-DOS的fat文件系统
device:设备文件
格式:/dev/xxyN
/dev 保存所有设备文件的目录
xx 设备类型,如IDE硬盘为hd、SCSI硬盘和usb盘为sd、
软盘为 fd
同种设备的顺序号,如第一个硬盘为a
N 同一个设备编号,如硬盘的第一个分区为1,硬盘1-4为
前面四个主分区,5开始为逻辑分区。
常用设备文件名称:
/dev/hda1(第一个硬盘的第一个分区)
/dev/hda5、/dev/hda6(逻辑分区)
/dev/fd0(软盘)
/dev/hdc(光盘)
/dev/sda1(通常为移动硬盘或U盘的第一个分区)
dirname:挂载目录
可以挂载在mnt,也可以挂载在你的主目录下,fedora core 6挂载在media目录下。如:
软驱:/mnt/floppy
光驱:/mnt/cdrom
options:设备或文件的挂接方式
常用的参数有:
loop:把一个文件当成块设备挂接(环回设备)
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
文件系统卸载
umount
使用 umount 命令卸载文件系统语法
umount [设备名]或[挂载点]例如:
umount /dev/hda5
umount /dosd
磁盘管理命令
df
查看系统中文件系统的空间占用情况语法
df -[选项]参数选项
a 显示所有的文件系统k 以k字节为单位
t 显示指定类型文件系统
l 仅显示本地的文件系统
i 显示inode的使用量而非块的使用量
x 显示指定类型之外文件系统的情况
t 显示文件系统类型
h 用人们习惯方式显示
du
统计目录或文件占用空间语法
du –[选项] 目录名参数选项
s 只显示总数a 递归地显示目录及其子目录各文件的大小
b 以字节为单位列出磁盘空间的使用情况
k 以k字节为单位列出磁盘空间的使用情况
c 最后加一总计
h 用人们习惯方式显示
free
语法
free [参数]参数选项
-b : 以Byte为单位显示内存使用情况。-k : 以KB为单位显示内存使用情况。
-m : 以MB为单位显示内存使用情况。
-s < sec> : 持续观察内存使用状况,< sec>为时间间隔秒数。
-t : 显示内存总和。
fdisk
查看硬盘分区情况及对硬盘进行分区管理fdisk -l
文件结构导航
echo
显示文字。语法
echo [options][字符串]echo [–help][–version]
常用选项/功能
百度cd
改变当前目录语法
cd [directory]cd 直接返回主目录
ls
显示指定目录下内容。语法
ls [options [pathname-list]常用选项
-a 显示所有文件及子目录-l 除文件名称外,亦将文件类型、权限、拥有者、文件大小等详细列出
-r 将文件以相反次序显示
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 “.” 及 “..”
-F 在列出的文件名称后加一符号,例如可执行文件则加 “*”, 目录则加 “/”
-R 若目录下有文件,则以下的文件亦皆依序列出
stat
列出元数据信息例如:stat test.c
文件:”test.c”
大小:145 块:8 IO 块:4096 普通文件
设备:801h/2049d Inode:690767 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2013-11-21 13:02:25.609288710 +0800
最近更改:2013-11-13 18:09:27.315490413 +0800
最近改动:2013-11-13 18:09:27.323490413 +0800
创建时间:
mkdir
建立目录同时还可以给目录设置权限。语法
mkdir [options] dirnames常用参数
-p 若所要建立目录的上层目录目前尚未建立,则创建父目录-m 建立目录时,同时设置目录的权限。权限的设置法与chmod 指令相同
rmdir
删除空目录语法
rmdir [options] dirnames常用参数
p 删除指定目录之后,若该目录的上层目录已变成空目录,则将其一并删除touch
建立文件若文件不存在,则建立一个空的文件
若文件已存在,则修改文件日期、时间等信息为当前日期、时间
语法
touch [options] file-listfile
显示文件内容语法
file [options] file-listfile *
相关文章推荐
- Linux socket 初步
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 设计模式之行为型模式 - 调用行为的传递问题
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区
- Linux VS Unix:Linux欲一统天下 Unix不死