首页 > 代码库 > linux命令学习-第三天
linux命令学习-第三天
3.1 Linux文件信息
inode和目录项
1,什么是inode和目录项
文件在硬盘上的最小存储单位叫做扇区,每个扇区存储512字节。操作系统读取硬盘的时候,不会一个个扇区读取,而是一次性连续读取多个扇区,即一次性读取一个块,块的大小最常见的就是4K,即连续八个扇区组成一个块。
文件数据都存储在块中,那么和显然,还必须有一个地方存储文件的元信息。比如文件的创建者,文件的创建日期,文件的长度等,这种存储文件元信息的区域就叫做inode(索引节点)。
文件名不是保存在inode中,而是保存在目录项中,文件名把文件的名称和对应的inode关联在一起。
2,inode大小
inode也会占用磁盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分为两个区域,一个是数据区,存放文件数据,另一个是inode区,存放inode所包含的信息。
每个inode节点的大小,一般是128字节或256字节,inode字节的总数,在格式化时就给指定了,一般是每1KB或每2KB就设置一个inode.假设在一块1GB的硬盘中,每个inode节点大大小为128字节,每1KB
就设置一个inode,那么inode表的大小就会达到128MB,占整个硬盘的12.8%。使用df命令可以查看每个硬盘分区的inode总数和已经适应的数量。
# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)%% 挂载点
/dev/mapper/vg_server-lv_root
3276800 94445 3182355 3% /
tmpfs 256881 5 256876 1% /dev/shm
/dev/sda1 128016 43 127973 1% /boot
/dev/mapper/vg_server-lv_home
2990080 12 2990068 1% /home
---------------------------------------------------------------------
查看每个inode的大小,可以使用以下命令:
# dumpe2fs -h /dev/sda1 |grep "Inode size"
dumpe2fs 1.41.12 (17-May-2010)
Inode size: 128
---------------------------------------------------------------------
由于每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况,这时就无法再硬盘上创建新文件。
3,inode号码:
每个inode都有一个号码,Linux系统用inode号码来识别不同的文件,Linux系统内部不使用文件名,而使用inode号码来识别文件,对系统来说,文件名只是inode号码便于识别的别名。表面上用户通过文件名打开文件,实际上系统内部这个过程分为三步:首先系统找到这个文件名对应的 inode号码,其次通过inode号码获取inode信息,最后根据信息找到文件数据所在的块,然后读取数据。
使用ls -i 命令可以查看文件名对应的inode号码:
# ls -i test.log
3019507 test.log
---------------------------------------------------------------------
3.2 使用stat命令查看文件信息。
使用stat命令可以查看文件信息,比如文件的inode,权限,时间属性,文件大小,所有者,链接数量以及文件类型等。
#stat kkk
File: "kkk"
Size: 4096 Blocks: 8 IO Block: 4096 目录
Device: fc02h/64514d Inode: 2228225 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-07-17 20:07:20.463000814 +0800
Modify: 2017-07-17 20:06:49.095997672 +0800
Change: 2017-07-17 20:06:49.095997672 +0800
cd 更改工作目录路径
绝对路径从/(根)开始,然后循环所需的目录下
相对路径从当前目录开始
cd ~ :进入用户主目录
--------------------------------------------------------------------
cd - :返回进入此目录之前所在的目录
--------------------------------------------------------------------
cd .. :返回上级目录
--------------------------------------------------------------------
cd ../.. :返回上两级目录
---------------------------------------------------------------------
touch:创建空文件,更改文件时间。
---------------------------------------------------------------------
mkdir:创建目录:
-p :一次创建多个目录。
---------------------------------------------------------------------
#du -a /boot|sort -rn|head -5
45791 /boot
16124 /boot/initramfs-2.6.32-358.el6.x86_64.img
15816 /boot/initramfs-2.6.39-400.17.1.el6uek.x86_64.img
4011 /boot/vmlinuz-2.6.39-400.17.1.el6uek.x86_64
3951 /boot/vmlinuz-2.6.32-358.el6.x86_64
---------------------------------------------------------------------
sort:
-n 依据数值的大小排序。
-r 以相反的顺序来排序。
---------------------------------------------------------------------
head:
head用来显示档案的开头至标准输出当中,默认head命令打印其相应文件的开头10行。
head -n 显示的行数。
---------------------------------------------------------------------
tail:
默认查看文件的最后10行。
tail -5 查看文档的最后5行
---------------------------------------------------------------------
ls 列出目录和文件信息
文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名
drwx------ 2 Guest users 1024 21
21:05 Mail
-rwx--x—x 1 root root 89080 7 22:41 tar
-rwxr-xr-x 1 root bin 5013 15 9:32 uname
-rwxr-xr-x 1 root bin 308364 29 7:43 zsh
-rwsr-x--- 1 root bin 9853 15
5:46 su
例,一文件的最后一次访问时间(最近时间为后),对/root目录中的文件和子目录进行排序显示
#ls -ltr /root
总用量 32
drwxr-xr-x. 2 root root 4096 7月 17 13:29 桌面
drwxr-xr-x. 2 root root 4096 7月 17 13:29 音乐
drwxr-xr-x. 2 root root 4096 7月 17 13:29 下载
drwxr-xr-x. 2 root root 4096 7月 17 13:29 文档
drwxr-xr-x. 2 root root 4096 7月 17 13:29 图片
drwxr-xr-x. 2 root root 4096 7月 17 13:29 视频
drwxr-xr-x. 2 root root 4096 7月 17 13:29 模板
drwxr-xr-x. 2 root root 4096 7月 17 13:29 公共的
-rw-r--r-- 1 root root 0 7月 18 19:49 oracle-release
3.3链接文件的简介:
Linux系统下提供ln指令来进行文件链接。文件链接主要分为硬链接和软链接。
1,硬链接:由于linux下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配inode。每添加一个一个硬链接,文件的链接数就加1。
可以用:ln命令来建立硬链接
例如:
ln file01 hardfile01 建立file01的硬链接
不足:
尽管硬链接节省空间,也是Linux系统整合文件系统的传统方式,但是存在一下不足之处:
(1)不可以在不同文件系统的文件间建立链接
(2)只有超级用户才可以为目录创建硬链接。
取消硬链接时可以使用unlink取消任何一个,对其他文件没有影响
例如:unlink file01
2,软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。
ln -s abc cde 建立abc 的软连接
linux命令学习-第三天