`
su1216
  • 浏览: 670430 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
深入入门正则表达式(jav...
浏览量:71872
E60283d7-4822-3dfb-9de4-f2377e30189c
android手机的安全问...
浏览量:128680
社区版块
存档分类
最新评论

《Unix & Linux 大学教程》 - 第二十三章 学习笔记

阅读更多

学习笔记,内容基础,适合初学者。

 

阅读之前,请务必花30秒查看前言说明(在第一、二章前面部分)

《Unix & Linux 大学教程》 - 第一、二章 学习笔记    Unix简介 & 什么是Linux?什么是Unix

《Unix & Linux 大学教程》 - 第三、四章 学习笔记    Unix连接 & 开始使用Unix

《Unix & Linux 大学教程》 - 第五、六章 学习笔记    GUI:图形用户界面 & Unix工作环境

《Unix & Linux 大学教程》 - 第七、八章 学习笔记    Unix键盘使用 & 能够立即使用的程序

《Unix & Linux 大学教程》 - 第九、十章 学习笔记    文档资料:Unix手册与Info & 命令语法

《Unix & Linux 大学教程》 - 第十一、十二章 学习笔记    shell & 使用shell:变量和选项

《Unix & Linux 大学教程》 - 第十三章 学习笔记    使用shell:命令和定制

《Unix & Linux 大学教程》 - 第十四、十五章 学习笔记     使用shell:初始化文件

《Unix & Linux 大学教程》 - 第十八章 学习笔记    过滤器:统计和格式化
《Unix & Linux 大学教程》 - 第十九章(一) 学习笔记    过滤器:选取、排序、组合及变换
《Unix & Linux 大学教程》 - 第十九章(二)、第二十章 学习笔记  过滤器:选取、排序、组合及变换 正则表达式

《Unix & Linux 大学教程》 - 第二十一章 学习笔记  显示文件

《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记  vi文本编辑器(一)

《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记  vi文本编辑器 (二)

《Unix & Linux 大学教程》 - 第二十二章(三) 学习笔记  vi文本编辑器 (三)

《Unix & Linux 大学教程》 - 第二十四章 学习笔记  目录操作

《Unix & Linux 大学教程》 - 第二十五章 学习笔记  文件操作

《Unix & Linux 大学教程》 - 第二十六章(一) 学习笔记  进程和作业控制

《Unix & Linux 大学教程》 - 第二十六章(二) 学习笔记  进程和作业控制

《Unix & Linux 大学教程》 - 附录F 时区与24小时制时间

 

 

第二十三章:Unix文件系统

文件类型

普通文件(ordinary file)(常规文件,regular file)

目录(文件夹)

伪文件:不用来存储数据,所以不占用空间

3种最重要的伪文件

特殊文件(设备文件):是物理设备的内部表示,Unix所有特殊文件存放在/dev(device,设备)目录中

命名管道:将一个程序的输出连接到另一个程序上

proc文件:允许访问内核信息。特定情况下,可以通过它修改内核数据

 

 

 

硬件
/dev/fd0 软盘
/dev/hda 硬盘
/dev/hda1 硬盘:第一分区
dev/sda SCSI硬盘
/dev/sda1 SCSI硬盘:第一分区
/dev/sda1 USB闪存卡
/dev/lp0 打印机
/dev/usb/lp0 USB打印机
终端
/dev/tty 当前终端
/dev/tty1 控制台/虚拟控制台
/dev/pts/0 伪终端
/dev/ttyp0 伪终端
伪设备
/dev/null 放弃输出,输入不返回内容(eof)
/dev/zero 放弃输出,输入返回null(0)
/dev/random 随机数生成器
/dev/urandom 随机数生成器

软盘与打印机是用数字编号,从0开始。比如/dev/fd0,/dev/fd1……

硬盘用字母编号,从a开始。不如/dev/hda,/dev/hdb……对于一块硬盘多个分区的情况,则会使用类似二级角标形式/dev/hda1,/dev/hda2(这里的数字从1开始!)

SCSI和SATA硬盘名称为/dev/sda,其他规则同上

 

 

 

位桶(bit bucket)

写到下面两个设备中的任何输出都会被抛弃

null文件(/dev/null)

zero文件(/dev/zero)

处理输出时,null和zero相同

处理输入时,程序从/dev/null读取数据,不管请求输入多少字节,总是返回eof信号。

从/dev/zero读取数据时,文件生成和请求一样多的字符,但是值都是0,在Unix中,认为这个值是null字符。清除数据的时候可以用null字符覆盖已有的数据

 

 

 

命名管道

语法:

mkfifo [-m modepipe

mode是chmod程序使用的一种文件模式类型(25章),现在暂时忽略-m选项

pipe是管道名称

 

使用

mkfifo fifotest(创建一个名为fifotest的管道

grep bash /etc/passwd > fifotest(把输出写入到fifotest管道中

wc -l < fifotest(从fifotest读取数据

rm fifotest(删除此管道)

结果与下面相同

cat /etc/passwd | wc -l

主要用于进程间通信

 

 

 

proc文件

所有的proc文件都在/proc目录下,系统每一个进程对应一个子目录,名称为进程ID

proc文件 相关信息
/proc/xxx/ 进程#xxx
/proc/cmdline 内核选项
/proc/cpuinfo 处理器
/proc/devices 设备
/proc/diskstats 逻辑磁盘设备
/proc/filesystems 文件系统
/proc/meminfo 内存管理
/proc/modules 内核模块
/proc/mounts 已挂载设备,挂载点
/proc/partitions 磁盘分区
/proc/scsi SCSI和RAID设备
/proc/swaps 交换分区
/proc/uptime 内核运行时间(秒),内核空闲时间(秒)
/proc/version 内核版本、分发、gcc
/proc/kcore 计算机实际物理内存

ls -l /proc/kcore 

-r-------- 1 root root 140737486266368 2012-10-22 16:07 /proc/kcore(伪文件,不占用空间)

 

 

挂载文件系统:mount、umount

文件系统层次结构标准要求使用特定的目录挂载文件系统

对于没有挂载在其他位置的固定介质(例如额外的硬盘)来说,指定目录是/mnt

对于可移动介质来说,目录是/media

 

 

根目录(顶级目录,toplevel directory)目录结构

目录 内容
/ 根目录
/bin 基本程序
/boot 启动系统时所需的文件
/dev 设备文件
/etc 配置文件
/home 用户的home目录
/lib 基本共享库,内核模块
/lost+found 由fsck恢复的受损文件
/media 可移动介质的挂载点
/mnt 不能挂载在其他位置上的固定介质的挂载点
/opt 第三方应用程序
/proc proc文件
/root 超级用户的home目录
/sbin 由超级用户运行的基本系统管理程序
/srv 本地系统所提供服务的数据
/tmp 临时文件
/usr 静态数据使用的辅助文件系统
/var 可变数据使用的辅助文件系统

目录存放的内容

/bin:系统管理员在单用户模式下管理系统所需的基本工具。都是可执行文件

/boot:系统存放引导过程中所需全部文件的位置,内核必须位于这个目录或根目录中。如果升级过系统,则目录下有多个内核文件

/dev:所有特殊文件。此目录下的makedev程序用来创建新的特殊文件

/etc:配置文件

/home:存放个人文件和目录,与用用户标识相同,比如我的home为/home/su1216

/lib:包含运行/bin和/sbin目录中的程序所需的基本库和内核模块

/lost+found:如果Unix没有正常关机,那些仅完成部分写入的文件将收到损坏,Unix下次启动时,fsck将自动运行,检查文件系统并修复问题。如果发现损坏的文件,那么fsck将挽救这些文件,并将他们移动到/lost+found中

/media:可移动介质的挂载点

/mnt:这是不会在其他位置挂载的固定介质(例如额外的硬盘)的挂载点。(说的也太拗口了,如有没理解错的话,他是想说:这是固定介质唯一的挂载点)

/opt:第三方应用程序

/root:root用户的home

/sbin(system binaries):系统二进制文件

/tmp:临时存储,最终它的内容将被移除

/usr:辅助文件系统的根,目的用来存放静态数据(没有系统管理员的干涉不会改变的数据)。以前用来存放home

/var:辅助文件系统的根,目的用来存放可变数据。例如:日志文件、打印文件、电子邮件等

 

 

 

/usr目录

目录 内容
/usr/bin 非基本程序(大多数用户程序)
/usr/include C程序的头文件
/usr/lib 非基本共享库
/usr/local 本地安装程序
/usr/sbin 由超级用户运行的非基本系统管理程序
/usr/share 共享系统数据
/usr/src 源代码(只用于参考)
/usr/X11 存放着大量由X Window使用的程序
/usr/games 游戏、娱乐、教育程序

/usr/bin:可执行程序,比/bin中要多

/usr/include:C和C++程序员所使用的include文件(头文件)的存储区

/usr/lib:同/lib

/usr/local:存放本地程序和文档资料

/usr/sbin:同/sbin,与/usr/bin和/bin的关系一样

/usr/share:用户和程序间共享文件

字典文件在/usr/share/dict/words

Unix手册在/usr/share/man

Info系统在/usr/share/info

/usr/src:有一些包含系统源代码的子目录,只用来做参考。许多Linux系统上,内核的源代码位于/usr/src/linux

/usr/X11:存放着大量由X Window使用的程序

/usr/games:游戏、娱乐、教育程序

 

 

 

通用程序(可以由任何人使用)
/bin 基本程序
/usr/bin 非基本程序
/usr/local/bin 本地安装程序
系统管理程序(只能由超级用户使用)
/sbin 由超级用户运行的基本系统管理程序
/usr/bin 由超级用户运行的非基本系统管理程序
/usr/local/sbin 本地安装的系统程序
第三方应用程序
/opt/xxx 应用程序xxx的静态数据,包括程序
/var/opt/xxx 应用程序xxx的可变数据

 

 

 

/home目录

许多系统上,/home目录属于辅助文件系统,所以在挂载之前不可用

每次登录时,环境变量HOME被设置为字节home的名称,可以通过下面方式查看

echo $HOME或echo ~

 

 

环境变量PATH(搜索路径)

每当输入不是shell内置程序的程序名称时,Unix就会在搜索路径所指定的目录中进行搜索

 

 

 

虚拟文件系统

引导加载程序接管计算机,从引导设备中读取数据,从而将操作系统加载到内存中。

大多数情况下,引导设备是本地硬盘驱动器上的一个分区,但是也可以是网络设备、CD、闪存驱动器等

在引导设备的数据中有初始的Unix文件系统,称为根文件系统

根文件系统自动挂载,其中存放着启动Unix所需的全部程序和数据文件,还包含系统出现问题时管理员需要使用的工具

根文件系统至少包含下述目录

/bin

/boot

/dev

/etc

/lib

/root

/sbin

/tmp

一旦挂载了根文件系统,内核也就启动完毕,就会自动挂载其他设备文件系统

 

根文件系统总是存储在引导设备上

有3个其他文件系统可能位于单独的设备上:usr、var、home

基于磁盘的文件系统

ext3

第3代扩展文件系统(Linux)
ext4 第4代扩展文件系统(Linux)
FAT32 32位文件分配表文件系统(Microsoft Windows)
HFS+ 层次式文件系统(Macintosh)
ISO 9660 ISO 9660 标准文件系统(CD-ROM)
NTFS NT文件系统(Microsoft Windows)
UDF 通用磁盘格式文件系统(可重写CD和DVD)
UFS2 Unix文件系统(BSD、Solaris)
网络文件系统
NFS 网络文件系统(广泛使用)
SMB 服务器信息块(Windows 网络)
特殊用途文件系统
devpts 伪终端的设备界面(PTY)
procfs proc文件系统
sysfs 系统数据文件系统(设备与驱动器)
tmpfs 临时存储文件系统

 

 

 

 

 

Filesystem Hierarchy Standard(FHS):文件系统层次结构标准

 

 

 

 

转贴请保留以下链接

本人blog地址

http://su1216.iteye.com/

http://blog.csdn.net/su1216/

1
3
分享到:
评论

相关推荐

    鸟哥的私房菜Linux学习笔记

    #### 第二章 Linux是什么 **1. Linux历史** - **起源**: 1991年,Linus Torvalds基于GNU工具和Minix设计灵感开发出Linux内核。 - **重要事件**: - 1969年: Ken Thompson开发Unix原型。 - 1973年: C语言用于重写...

    Linux学习笔记.pdf,linux详解,LINUX

    本资料“Linux学习笔记.pdf”将带你深入理解Linux的基础知识和高级应用。 一、Linux系统概述 1. Linux的起源:Linux的诞生源于托瓦兹对Minix系统的不满,他决定创建一个符合个人需求的、免费的Unix-like操作系统...

    2009 达内Unix学习笔记

    集合了 所有的 Unix命令大全 登陆服务器时输入 公帐号 openlab-open123 telnet 192.168.0.23 自己帐号 sd08077-you0 ftp工具 192.168.0.202 tools-toolss 老师测评网址 http://172.16.0.198:8080/poll/ 各个 ...

    linux系统学习笔记

    ### Linux系统学习笔记 #### 一、Linux系统Shell介绍 1. **Linux系统Shell类型**:Linux系统提供了多种Shell供用户选择,常见的包括Bourne shell (`sh`), C shell (`csh`), Korn shell (`ksh`)等。其中,`sh`是Unix...

    linux与unix经典编程

    - 第一部分的第二个至第十个字符分为三个三元组(triplet),分别表示文件属主、组用户和其他用户的权限。 - 第二部分表示文件的硬链接数目。 - 第三部分表示文件属主。 - 第四部分表示文件属主所在的默认组。 - 第...

    linux学习笔记

    Linux操作系统是开源且免费的Unix-like系统,广泛应用于服务器、嵌入式设备和桌面环境。对于初学者,掌握一些基本的Linux命令是非常重要的,这能帮助你更有效地管理和操作Linux系统。 1. **管道符(Pipeline)**: ...

    APUE读书笔记(Unix高级环境编程)

    #### 第二章 Unix标准化及实现 - **主要标准**:介绍POSIX标准、IEEE Std 1003.1以及其他相关标准。 - **主要Unix系统实现简介**:列举不同的Unix变种(如Solaris、AIX、HP-UX等),并简要说明其特点。 - **系统...

    成功之路Oracle11g学习笔记 笔记0420

    - **主要内容**: 包括了 Oracle 11g 的基础学习内容,覆盖了第 1 至 6 章以及第 11、12、14、22 和 23 章。 #### 二、Oracle 服务器端安装 ##### 2.2 Oracle 安装 - **最低安装要求**: - 内存: 通常建议至少 2GB ...

    第11章 Linux操作系统基础-教程与笔记习题

    以下是对"第11章 Linux操作系统基础"的主要知识点的详细阐述。 一、Linux操作系统简介 Linux是基于Unix的操作系统,由林纳斯·托瓦兹于1991年创建。它的内核是开源的,允许全球开发者对其进行修改和优化。Linux系统...

    VI 学习记录学习笔记VI

    VI(Vim)是一款强大的文本编辑器,广泛用于Linux和Unix系统中。它有三种主要模式:命令模式、插入模式和底行模式。本篇学习笔记将深入探讨VI的使用技巧,包括文本编辑、快速移动、缓存区操作以及ex编辑器的功能。 ...

    嵌入式Linux入门笔记

    通过“嵌入式Linux入门笔记”,学习者将能了解嵌入式系统的基础概念,熟悉Linux内核、设备驱动、Bootloader的工作原理,掌握构建和调试嵌入式系统的技能,为成为一名合格的嵌入式Linux开发者打下坚实基础。

    python学习笔记

    ### Python学习笔记知识点总结 #### 一、Python简介与特点 **1.1 Python起源与发展** - **创建背景:** Python由Guido van Rossum在1989年圣诞节期间创建,旨在解决当时编程语言的一些不足之处。 - **设计理念...

    OS + Unix FreeBSD / MacOSX Snow Leopard 10.6.3-8 / MacBook Pro / apple / MC373

    根据压缩包中的文件名“Macbook_Pro上安装三系统详解教程.txt”,我们可以推测这个教程将指导用户如何在MacBook Pro上同时安装Unix FreeBSD、MacOSX Snow Leopard以及可能的第三个操作系统,例如Windows或Linux。...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    linux-python

    而在Windows系统上,通常需要借助第三方工具,如PuTTY、Xshell或SecureCRT。 在搭建远程登录服务之后,我们还可以进一步学习搭建各种网络服务,如Web服务器、FTP服务器和MySQL数据库服务器。Web服务器,如Apache,...

    总结搜集的shell脚本学习笔记(完结篇).pdf

    ### Shell脚本编程知识点概述 #### 一、预备知识与基本概念 在开始Shell脚本文档的学习之前,首先需要理解Shell...以上就是文档《总结搜集的shell脚本学习笔记(完结篇)》中所涵盖的主要知识点,希望对你有所帮助。

    Linux 101考试模块化培训笔记(Andrew McGill)Linux 101 Examination Modular Training Notes (Andrew McGill)

    Linux 101考试模块化培训笔记是为Linux专业人士协会(LPI)的LPI 101考试准备的,尤其针对考试的第2版目标。这本培训笔记由Andrew McGill编写,属于Leading Edge Business Solutions公司的Linux培训计划的一部分。该...

    C-plus-plus-Series:学习C ++的旅程

    C ++入门手册第五版笔记与知识点整合 一.C ++基础知识 二。函数 三。类 四.IO库 ##五。顺序容器 六。泛型编程 七。关联容器 八。动态内存 九。拷贝控制 十。重载运算与类型转换 十一。面向对象程序设计 十二。模板...

Global site tag (gtag.js) - Google Analytics