当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪Linux文件系统索引节点inode详解      在Linux系统中,为每个文件分配一个称为索引节点的号码inode,可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。 系统是通过索引节点(而不是文件名)来定位每一个文件。 .........
    ▪linux 文件名中间有空格的复制方法      在linux中复制带空格的文件时,可以把名字用引号括起来,就不会报错了。 例如: # cp "my space" "my space.20130923" 另外,分享下Linux中替换文件名中空格的方法。 使用 tr命令:   代码示例: #!b.........
    ▪linux下设置网络路由的方法(实例参考)      为大家分享linux下添加路由的方法。 一,route 命令添加路由。 使用route 命令添加的路由,机器重启或网卡重启后路由会失效。 例子:   代码示例: //添加到主机的路由 # route add –host 192.168..........

[1]Linux文件系统索引节点inode详解
    来源: 互联网  发布时间: 2013-12-24

在Linux系统中,为每个文件分配一个称为索引节点的号码inode,可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。
系统是通过索引节点(而不是文件名)来定位每一个文件。

例如:
在硬盘当前目录下建立了一个名为mytext文本文件,其内容只有一行:This is my file.当然这行文字一定是存储在磁盘数据区某个具体位置里(物理上要通过磁头号、柱面号和扇区号来描述,在本例中假设分别是1、20、30)。

假设其inode是 262457,那么系统通过一段标准程序,就能将这个inode转换成存放此文件的具体物理地址(1磁头、20柱面、30扇区),最终读出文件的内容:“This is my file.”

所以inode是指向一个文件数据区的指针号码,一个inode对应着系统中唯一的一片物理数据区,而位于两个不同物理数据区的文件必定分别对应着两个不同的inode号码。

文件拷贝命令:
#cp /home/zyd/mytext newfile
在当前工作目录建立了一个新文件newfile,其实际操作主要包括如下三步: 
1、在当前目录中增加一个目录项,其文件名域填入newfile,并分配了一个新的inode,假设是262456。 
2、将原文件(在1磁头、20柱面、30扇区)的内容复制了一份到新的空闲物理块(假设是1磁头、20柱面、31扇区)。 
3、填写一些其他关键信息,使系统通过这些信息及inode号码可以完成物理地址的转换。所以文件复制要分配新的inode和新的数据区,虽然两个文件的内容是一样的。 

一个文件系统允许的inode节点数是有限的,如果文件数量太多,即使每个文件都是0字节的空文件,系统最终也会因为节点空间耗尽而不能再创建文件。所以当发现不能建立文件时首先要考虑硬盘数据区是否还有空间(可通过du命令),其次还得检查节点空间。

Linux之所以能支持多种文件系统,其实是由于Linux提供了一个虚拟文件系统VFS,VFS作为实际文件系统的上层软件,掩盖了实际文件系统底层的具体结构差异,为系统访问位于不同文件系统的文件提供了一个统一的接口。

实际上许多文件系统并不具备inode结构,其目录结构也和以上的讨论不同,但通过VFS,系统均为其提供了虚拟一致的inode和目录项结构。所以,'ls -il'命令实际显示的inode应该是VFS inode,也就是说,inode是存在于内存中的数据结构,而不一定是实际的硬盘结构。

node 是 UNIX 操作系统中的一种数据结构,它包含了与文件系统中各个文件相关的一些重要信息。在 UNIX 中创建文件系统时,同时将会创建大量的 inode 。通常,文件系统磁盘空间中大约百分之一空间分配给了 inode 表。

inode 表包含一份清单,其中列出了对应文件系统的所有 inode 编号。当用户搜索或者访问一个文件时,UNIX 系统通过 inode 表查找正确的 inode 编号。在找到 inode 编号之后,相关的命令才可以访问该 inode ,并对其进行适当的更改。

以下定义仅给出了 inode 中所包含的、UNIX 用户经常使用的一些重要信息:
 

inode 编号
用来识别文件类型,以及用于 stat C 函数的模式信息
文件的链接数目
属主的 UID
属主的组 ID (GID)
文件的大小
文件所使用的磁盘块的实际数目
最近一次修改的时间
最近一次访问的时间
最近一次更改的时间

    
[2]linux 文件名中间有空格的复制方法
    来源: 互联网  发布时间: 2013-12-24

在linux中复制带空格的文件时,可以把名字用引号括起来,就不会报错了。

例如:
# cp "my space" "my space.20130923"

另外,分享下Linux中替换文件名中空格的方法。
使用 tr命令:
 

代码示例:

#!bin/bash
find . -type f -name "* *" -print |
while read name; do
na=$(echo $name | tr ' ' '_')

if [[ $name != $na ]]; then
mv "$name" $na
fi
done


    
[3]linux下设置网络路由的方法(实例参考)
    来源: 互联网  发布时间: 2013-12-24

为大家分享linux下添加路由的方法。

一,route 命令添加路由。
使用route 命令添加的路由,机器重启或网卡重启后路由会失效。

例子:
 

代码示例:
//添加到主机的路由
# route add –host 192.168.168.110 dev eth0
# route add –host 192.168.168.119 gw 192.168.168.1
//添加到网络的路由
# route add –net IP netmask MASK eth0
# route add –net IP netmask MASK gw IP
# route add –net IP/24 eth1
//添加默认网关
# route add default gw IP
//删除路由
# route del –host 192.168.168.110 dev eth0
(以上命令设置后,重启服务器以后会丢失)
 

二,设置永久路由的方法,重启后依然有效。
1,在/etc/rc.local中添加
方法:

代码示例:
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.3.254

2,在/etc/sysconfig/network中添加到末尾
方法:

代码示例:
GATEWAY=gw-ip 或 GATEWAY=gw-dev

3,vim /etc/sysconfig/static-router

代码示例:
any net x.x.x.x/24 gw y.y.y.y

    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3