linux从初识到入门_文件系统

基础目录名称及作用规定

Filesystem Hierarchy Standard   #标准文件系统目录  即FHS

/bin:所有用户可用的基本命令程序文件;

/sbin:供系统管理使用的工具程序;

/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;

/dev:存储特殊文件或设备文件;

设备有两种类型:字符设备(线性设备)、块设备(随机设备);

/etc:系统程序的配置文件,只能为静态;

/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;

/root:管理员的家目录;可选;

/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块

libc.so.*:动态链接的C库;

ld*:运行时链接器/加载器;

modules:用于存储内核模块的目录;

/lib64:64位系统特有的存放64位共享库的路径;

/media:便携式设备挂载点,cdrom, floppy等;

/mnt:其它文件系统的临时挂载点;

/opt:附加应用程序的安装位置;可选路径;

/srv:当前主机为服务提供的数据;

/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;

/usr:usr Hierarchy,全局共享的只读数据路径;

bin, sbin

lib, lib64

include:C程序头文件;

share:命令手册页和自带文档等架构特有的文件的存储位置

local:另一个层级目录;

X11R6:X-Window程序的安装位置

src:程序源码文件的存储位置

/usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;

/var:/var Hierarchy,存储常发生变化的数据的目录;

cache Application cache data       #程序缓存数据

lib Variable state information   #数据的变化情况

local Variable data for /usr/local #可变的local 数据

lock Lock files                   #锁文件

log Log files and directories    #日志和目录文件

opt Variable data for /opt       #变化的opt数据

run Data relevant to running processes #与运行过程有关的数据

spool Application spool data

tmp Temporary files preserved between system reboots #系统重启时保存的临时文件

/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;

/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;

其主要作用在于为管理Linux设备提供一种统一模型的的接口;

Linux系统上的文件类型:

-:常规文件;即f;

d: directory,目录文件;

b: block device,块设备文件,支持以“block”为单位进行随机访问

c:character device,字符设备文件,支持以“character”为单位进行线性访问

major number:主设备号,用于标识设备类型,进而确定要加载的驱动程序

minor number:次设备号,用于标识同一类型中的不同的设备;

8位二进制:0-255

l:symbolic link,符号链接文件;

p: pipe,命名管道;

s: socket,套接字文件;

基本命令:

命令类型:

外部命令

shell内嵌命令

type COMMAND:

内部:builtin

外部:显示为命令文件路径;

注意:命令可以有别名;别名可以与原名相同,此时原名被隐藏;此时如果要运行原命令,则使用\COMMAND;

命令别名:

获取所有可用别名的定义:

~]# alias

定义别名:

~]# alias NAME=‘COMMAND‘

注意:仅对当前shell进程有效

撤销别名:

~]# unalias NAME

which命令:

which - shows the full path of (shell) commands

which [options] programname [...]

--skip-alias:忽略别名

[[email protected] ~]# which ls

alias ls=‘ls --color=auto‘

/usr/bin/ls

whereis命令:

whereis - locate the binary, source, and manual page files for a command

whereis [options] name...

-b: 仅搜索二进制程序路径;

-m:仅搜索使用手册文件路径;

who命令:

who - show who is logged on  #查看当前登录的用户

who [OPTION]...

-b: 系统此次启动的时间;

-r: 运行级别;

w命令:

w - Show who is logged on and what they are doing.

#查看登录的用户及用户在做什么

bash的基础特性之一:

命令历史:shell进程会在其会话中保存此前用户提交执行过的命令;

~]# history

定制history的功能,可通过环境变量实现:

HISTSIZE:shell进程可保留的命令历史的条数;

HISTFILE:持久保存命令历史的文件;

.bash_history

HISTFILESIZE:命令历史文件的大小;

命令用法:

history [-c] [-d 偏移量] [n]

或 history -anrw [文件名]

或 history -ps 参数 [参数...]

-c: 清空命令历史;

-d offset:删除指定命令历史

-r: 从文件读取命令历史至历史列表中;

-w:把历史列表中的命令追加至历史文件中;

history #:显示最近的#条命令;

调用命令历史列表中的命令:

!#:再一次执行历史列表中的第#条命令;

!!:再一次执行上一条命令;

!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;

注意:命令的重复执行有时候需要依赖于幂等性;

调用上一条命令的最后一个参数:

快捷键:ESC, .

字符串:!$

控制命令历史记录的方式:

环境变量:HISTCONTROL

ignoredups:忽略重复的命令;

ignorespace:忽略以空白字符开头的命令;

ignoreboth:以上两者同时生效;

修改变量的值:

NAME=‘VALUE‘

Linux基础知识

bash的基础特性:

命令补全:

shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令;

命令查找机制:

查找内部命令;

根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名;

给定的打头字符串如果能惟一标识某命令程序文件,则直接补全;

不能惟一标识某命令程序文件,再击tab键一次,会给出列表;

路径补全:

在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件:

tab:

如果能惟一标识,则直接补全;

否则,再一次tab,给出列表;

目录管理类的命令:

mkdir, rmdir

mkdir:make directories #创建目录

mkdir [OPTION]... DIRECTORY...

-p: 自动按需创建父目录;

[[email protected] ~]# mkdir /tmp/test/test.txt

mkdir: 无法创建目录"/tmp/test/test.txt": 没有那个文件或目录

[[email protected] ~]# mkdir -p /tmp/test/test.txt

-v: verbose,显示详细过程;

[[email protected] ~]# mkdir -p -v  /tmp/test2/test.txt

mkdir: 已创建目录 "/tmp/test2"

mkdir: 已创建目录 "/tmp/test2/test.txt"

-m MODE:直接给定权限;

注意:路径基名方为命令的作用对象;基名之前的路径必须得存在;

rmdir:remove empty directories  #删除目录文件

rmdir [OPTION]... DIRECTORY...

-p:删除某目录后,如果其父目录为空,则一并删除之;

[[email protected] ~]# mkdir -p /tmp/test/test1/test.txt

[[email protected] ~]# rmdir -p /tmp/test/test1/test.txt/

rmdir: 删除目录 "/tmp" 失败: 设备或资源忙

-v: 显示过程;

[[email protected] ~]# rmdir -pv /tmp/test/test1/test.txt/

rmdir: 正在删除目录 "/tmp/test/test1/test.txt/"

rmdir: 正在删除目录 "/tmp/test/test1"

rmdir: 正在删除目录 "/tmp/test"

rmdir: 正在删除目录 "/tmp"

rmdir: 删除目录 "/tmp" 失败: 设备或资源忙

问题1:如何创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b?

命令展开机制

[[email protected] ~]# mkdir -pv /tmp/x/{y1/{a,b},y2}

mkdir: 已创建目录 "/tmp/x"

kdir: 已创建目录 "/tmp/x/y1"

mkdir: 已创建目录 "/tmp/x/y1/a"

mkdir: 已创建目录 "/tmp/x/y1/b"

mkdir: 已创建目录 "/tmp/x/y2"

问题2:如何创建a_c, a_d, b_c, b_d;

[[email protected] ~]# mkdir -v {a,b}_{c,d}

mkdir: 已创建目录 "a_c"

mkdir: 已创建目录 "a_d"

mkdir: 已创建目录 "b_c"

mkdir: 已创建目录 "b_d"

bash的基础特性之:命令行展开

~:自动展开为用户的家目录,或指定的用户的家目录;

{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

问题1:mkdir -pv /tmp/x/{y1/{a,b},y2}

问题2:mkdir -v {a,b}_{c,d}

问题3:创建如下目录结构:

/tmp/mysysroot/

|-- bin

|-- etc

|   `-- sysconfig

|       `-- network-scripts

|-- sbin

|-- usr

|   |-- bin

|   |-- lib

|   |-- lib64

|   |-- local

|   |   |-- bin

|   |   |-- etc

|   |   |-- lib

|   |   `-- sbin

|   `-- sbin

`-- var

|-- cache

|-- log

`-- run

~]# mkdir -pv /tmp/mysysroot/{bin,sbin,etc/sysconfig/network-scripts,usr/{bin,sbin,local/{bin,sbin,etc,lib},lib,lib64},var/{cache,log,run}}

[[email protected] ~]# mkdir -pv /tmp/mysysroot/{bin,sbin,etc/sysconfig/network-scripts,usr/{bin,sbin,local/{bin,sbin,etc,lib},lib,lib64},var/{cache,log,run}}

mkdir: 已创建目录 "/tmp/mysysroot"

mkdir: 已创建目录 "/tmp/mysysroot/bin"

mkdir: 已创建目录 "/tmp/mysysroot/sbin"

mkdir: 已创建目录 "/tmp/mysysroot/etc"

mkdir: 已创建目录 "/tmp/mysysroot/etc/sysconfig"

mkdir: 已创建目录 "/tmp/mysysroot/etc/sysconfig/network-scripts"

mkdir: 已创建目录 "/tmp/mysysroot/usr"

mkdir: 已创建目录 "/tmp/mysysroot/usr/bin"

mkdir: 已创建目录 "/tmp/mysysroot/usr/sbin"

mkdir: 已创建目录 "/tmp/mysysroot/usr/local"

mkdir: 已创建目录 "/tmp/mysysroot/usr/local/bin"

mkdir: 已创建目录 "/tmp/mysysroot/usr/local/sbin"

mkdir: 已创建目录 "/tmp/mysysroot/usr/local/etc"

mkdir: 已创建目录 "/tmp/mysysroot/usr/local/lib"

mkdir: 已创建目录 "/tmp/mysysroot/usr/lib"

mkdir: 已创建目录 "/tmp/mysysroot/usr/lib64"

mkdir: 已创建目录 "/tmp/mysysroot/var"

mkdir: 已创建目录 "/tmp/mysysroot/var/cache"

mkdir: 已创建目录 "/tmp/mysysroot/var/log"

mkdir: 已创建目录 "/tmp/mysysroot/var/run"

[[email protected] ~]# tree /tmp/mysysroot/

/tmp/mysysroot/

|-- bin

|-- etc

|   `-- sysconfig

|       `-- network-scripts

|-- sbin

|-- usr

|   |-- bin

|   |-- lib

|   |-- lib64

|   |-- local

|   |   |-- bin

|   |   |-- etc

|   |   |-- lib

|   |   `-- sbin

|   `-- sbin

`-- var

|-- cache

|-- log

tree命令:

tree [options] [directory]

-L level:指定要显示的层级;

bash的基础特性:命令的执行状态结果

命令执行的状态结果:

bash通过状态返回值来输出此结果:

成功:0

失败:1-255

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

命令正常执行时,有的还回有命令返回值:

根据命令及其功能不同,结果各不相同;

引用命令的执行结果:

$(COMMAND)

或`COMMAND`    #反引号

bash的基于特性:引用

强引用:‘‘

弱引用:""

命令引用:``

bash基础特性:快捷键

Ctrl+a:跳转至命令行行首

Ctrl+e:跳转至命令行行尾

Ctrl+u:删除行首至光标所在处之间的所有字符;

Ctrl+k:删除光标所在处至行尾的所有字符;

Ctrl+l:清屏,相当于clear

文件查看类命令:cat, tac, head, tail, more, less

分屏查看命令:more和less

more命令:

more FILE

特点:翻屏至文件尾部后自动退出;

less命令:

less FILE

特点:翻页至文件尾部不退出

head命令:

查看文件的前n行;

head [options] FILE

-n #  前n行

-#

tail命令:

查看文件的后n行;

tail [options] FILE

-n # 后n行

-#

-f:查看文件尾部内容结束后不退出,跟随显示新增的行;

stat命令:

stat - display file or file system status

stat FILE...

文件:两类数据

元数据:metadata

数据: data

时间戳:

access time:2015-12-10 16:12:22.776423693 +0800 #最近一次访问时间

modify time:2015-12-10 16:12:22.776423693 +0800 #最近一次修改时间

change time:2015-12-10 16:12:22.776423693 +0800 #最后一次改动时间

touch命令:

touch - change file timestamps

touch [OPTION]... FILE...

-c: 指定的文件路径不存在时不予创建;

-a: 仅修改access time;

-m:仅修改modify time;

-t STAMP

[[CC]YY]MMDDhhmm[.ss]

文件管理工具:cp, mv, rm

cp命令:copy

源文件;目标文件;

单源复制:cp [OPTION]... [-T] SOURCE DEST

多源复制:cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

单源复制:cp [OPTION]... [-T] SOURCE DEST

如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;

如果DEST存在:

如果DEST是非目录文件:则覆盖目标文件;

如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

多源复制:cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

如果DEST不存在:错误;

如果DEST存在:

如果DEST是非目录文件:错误;

如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

常用选项:

-i:交互式复制,即覆盖之前提醒用户确认;

-f:强制覆盖目标文件;

-r, -R:递归复制目录;

-d:复制符号链接文件本身,而非其指向的源文件;

-a:-dR --preserve=all, archive,用于实现归档;

--preserv=

mode:权限

ownership:属主和属组

timestamps: 时间戳

context:安全标签

xattr:扩展属性

links:符号链接

all:上述所有属性

mv命令:move

mv [OPTION]... [-T] SOURCE DEST

mv [OPTION]... SOURCE... DIRECTORY

mv [OPTION]... -t DIRECTORY SOURCE..

常用选项:

-i:交互式;

-f:force

rm命令:remove    #删除

rm [OPTION]... FILE...

常用选项:

-i:interactive

-f:force

-r: recursive

删除目录:rm -rf /PATH/TO/DIR

危险操作:rm -rf /*

注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录;(模拟回收站)

变量:

命名的内存空间;

变量类型:

字符型:

数值型

精确数值:

近似数值:

存储格式、数据范围、参与运算;

变量的赋值操作:

name=tom

globbing:文件名通配(整体文件名匹配,而非部分)

匹配模式:元字符

*:匹配任意长度的任意字符

pa*, *pa*, *pa, *p*a*

pa, paa, passwd

?:匹配任意单个字符

pa?, ??pa, p?a, p?a?

pa, paa, passwd

[]:匹配指定范围内的任意单个字符

有几种特殊格式:

[a-z], [A-Z], [0-9], [a-z0-9]

[[:upper:]]:所有大写字母

[[:lower:]]:所有小写字母

[[:alpha:]]:所有字母

[[:digit:]]:所有数字

[[:alnum:]]:所有的字母和数字

[[:space:]]:所有空白字符

[[:punct:]]:所有标点符号

pa[0-9][0-9], 2[0-9][0-9]

[^]:匹配指定范围外的任意单个字符

[^[:upper:]]

[^0-9]

[^[:alnum:]]

显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现一位任意字符的文件或目录;

ls -d /var/l?[[:lower:]]

[[email protected] ~]# ls -d /var/l?[[:lower:]]

/var/lib  /var/log

显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录;

ls -d /etc/[0-9]*[^0-9]

显示/etc目录下,以非字母开头,后面跟一个字母及其它任意长度任意字符的文件或目录;

ls -d /etc/[^a-z][a-z]*

复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/magedu.com目录;

cp -r /etc/m*[^0-9] /tmp/magedu.com/

复制/usr/share/man目录下,所有以man开头,后跟一个数字结尾的文件或目录至/tmp/man/目录下;

cp -r /usr/share/man/man[0-9] /tmp/man/

复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/conf.d/目录下;

cp -r /etc/[mnrp]*.conf /tmp/conf.d/

IO重定向及管道

程序:指令+数据

程序:IO

可用于输入的设备:文件

键盘设备、文件系统上的常规文件、网卡等;

可用于输出的设备:文件

显示器、文件系统上的常规文件、网卡等;

程序的数据流有三种:

输入的数据流;<-- 标准输入(stdin),键盘;

输出的数据流:--> 标准输出(stdout),显示器;

错误输出流:  --> 错误输出(stderr),显示器;

fd: file descriptor,文件描述符

标准输入:0

标准输出:1

错误输出:2

IO重定向:

输出重定向:>

特性:覆盖输出 #该操作会覆盖文件

输出重定向:>>

特性:追加输出 #在文末追加

# set -C  #c为大写

禁止覆盖输出重定向至已存在的文件;

此时可使用强制覆盖输出:>|

[[email protected] ~]# set -C

[[email protected] ~]# echo ‘hello ‘ >fstab

-bash: fstab: 无法覆盖已存在的文件

[[email protected] ~]# echo ‘hello ‘ >| fstab

# set +C

关闭上述特性

注意:该设定,仅对当前shell进程有效。

错误输出流重定向:

2>  覆盖输出

2>> 追加输出

合并正常输出流和错误输出流:

(1) &>, &>>

(2) COMMAND > /path/to/somefile 2>&1 #覆盖输出并合并错误输出

COMMAND >> /path/to/somefile 2>&1#追加输出并合并错误输出

[[email protected] ~]# echo ‘hello ‘ > ./fstab 2>&1 #将hello覆盖输出并合并错误输出重定向

[[email protected] ~]# echo $?    #显示错误输出重定向的结果

0

特殊设备:/dev/null  #可以将不需要的文件转移至此文件目录下,会自动删除

输入重定向:<

tr命令:

tr [OPTION]... SET1 [SET2]

把输入的数据当中的字符,凡是在SET1定义范围内出现的,通通对位转换为SET2出现的字符

用法1:

tr SET1 SET2 < /PATH/FROM/SOMEFILE

用法2:

tr -d SET1 < /PATH/FROM/SOMEFILE

注意:不修改原文件

Here Document:<<

cat << EOF

cat > /PATH/TO/SOMEFILE << EOF

管道:连接程序,实现将前一个命令的输出直接定向后一个程序当作输入数据流

COMMAND1 | COMMAND2 | COMMAND3 | ...

#[[email protected] ~]# cat /etc/issue

#\S

#Kernel \r on an \m

#[[email protected] ~]# cat /etc/issue | tr [a-z] [A-Z] | tr -d [[:upper:]]

#\

# \   \

tee命令:

COMMAND | tee /PATH/TO/SOMEFILE

tr  : 主要是将文件转化后并输出

tee : 将文件一份保存一份作为下个程序的输入数据流

时间: 2024-11-04 07:13:10

linux从初识到入门_文件系统的相关文章

linux初识到入门_用户管理

权限管理: ls -l rwxrwxrwx: 左三位:定义user(owner)的权限 中三位:定义group的权限: 右三位:定义other的权限 进程安全上下文: 进程对文件的访问权限应用模型: 进程的属主与文件的属主是否相同:如果相同,则应用属主权限: 否则,则检查进程的属主是否属于文件的属组:如果是,则应用属组权限: 否则,就只能应用other的权限: 权限: r:readable, 读 w:writable, 写 x:excutable,执行 文件: r:可获取文件的数据: w: 可修

Unix/Linux环境C编程入门教程(40) 初识文件操作

?? 1.函数介绍 close(关闭文件) 相关函数 open,fcntl,shutdown,unlink,fclose 表头文件 #include<unistd.h> 定义函数 int close(int fd); 函数说明 当使用完文件后若已不再需要则可使用close()关闭该文件,二close()会让数据写回磁盘,并释放该文件所占用的资源.参数fd为先前由open()或creat()所返回的文件描述词. 返回值 若文件顺利关闭则返回0,发生错误时返回-1. 错误代码 EBADF 参数fd

Linux基础初识(四)

Linux基础初识(四) 一.1. 系统监视和进程控制工具-top和free1) 掌握top命令的功能:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.2) 了解使用top命令列出系统状态时,系统默认每5秒刷新一下屏幕上的显示结果. 1. 第一行是任务队列信息 12:38:33 当前时间 up 50days 系统运行时间,格式为时:分 1 user 当前登录用户数 load average: 0.06, 0.60, 0.48

Android入门之文件系统操作

Android入门之文件系统操作(二)文件操作相关指令 (转) (一)获取总根 File[] fileList=File.listRoots(); //返回fileList.length为1 //fileList.getAbsolutePath()为"/" //这就是系统的总根 File[] fileList=File.listRoots(); //返回fileList.length为1 //fileList.getAbsolutePath()为"/" //这就是系

Linux运维高薪入门及进阶全新经典视频-老男孩Linux(免费)

2015年5月21日最新发布,老男孩老师亲讲,全新Linux运维入门经典! 超级难得的linux经典企业级入门实战课程 价格:免费 数量:138节 本linux高薪运维入门及进阶,为入门教学中的基础部分,以简单.易用.高效的方式为初学者讲解如何学好LINUX的核心学习思想,讲解计算机硬件知识,基础命令,Linux基础知识及企业应用场景如何利用硬件优化服务,清晰透彻,超细讲解,适合0基础朋友学习或者相关岗位例如和It打交道的销售,编辑等做为了解linux的入口,也将十分有益!全民互联网时代开始了,

20165223 Linux安装及命令入门

预备作业3:Linux安装及命令入门 一.VirtualBox和Ubuntu的安装 通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,我开始学习虚拟机的安装,根据教程一步步试着安装. 安装VirtualBox 我先点击进入了VirtualBox官网,却只看到了5.2.6和5.1.32两个版本,于是先试着把5.2.6下了下来,想试试看能不能正常安装.然而事情并不尽如人意,安装过程中还是遇到了一些小障碍. 在官网安装的时候下载速度特别慢 在官网中按教程下载的5.2.6版本却在官网中

京峰Linux Shell编程从入门到精通

课程介绍:Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行. -------------------课程目录------------------- <Shell编程从入门到精通> ├1.linux下shell编程基础入门_(new).mp4├2.Shell编程之变量及LAMP导航菜单编写_(new).mp4├3.Shell编程之IF条件语句各种案例演练_(new).mp4├4.使用if条件语句编写MySQL备份脚本_(new).mp4

linux分区,磁盘系统的管理,文件系统制作

最近又开始重新拾起linux了,因为工作中用的很少,所以看得东西很容易就忘记了. 这几天看了下linux的分区,以及如何制作文件系统等相关命令的用法,下面就按照这个流程来讲一讲,免得自己日后忘记了. 1.分区 磁盘分区,即指定分区的起始和结束柱面.我们在安装linux系统的时候,都会将磁盘划分为独立的几块,这就是分区,柱面是分区的最小单位,柱面由扇区构成,第一个扇区是最重要的,里面有MBR(446byte)和分区表(64byte),扇区大小固定为512byte. 2.文件系统 文件系统是怎么来的

使用 /proc 文件系统来访问 linux操作系统 内核的内容 &amp;&amp; 虚拟文件系统vfs及proc详解

http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/20130422/366044.html 使用 /proc 文件系统来访问 Linux 内核的内容 这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口 简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux? 内核空间和用户空间之间进行通信.在 /proc 文件系统中,