首页 > 代码库 > 文件类型与链接
文件类型与链接
文件类型包含普通文件、目录、字符设备文件、块设备文件
-type c
File is of type c:
b block (buffered) special **
c character (unbuffered) special
d directory *****
p named pipe (FIFO)
f regular file *****
l symbolic link; this is never true if the -L
option or the -follow option is in effect,
unless the symbolic link is broken. If you
want to search for symbolic links when -L is
in effect, use -xtype. ***
s socket
D door (Solaris)
查看文件类型:
[root@wuyike ~]# file /etc/profile
/etc/profile: ASCII English text
[root@wuyike ~]# file /bin/cp
/bin/cp: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
[root@wuyike ~]# file /var/log/wtmp
/var/log/wtmp: data
[root@wuyike ~]# ll /var/log/wtmp /bin/cp /etc/profile
-rwxr-xr-x. 1 root root 122872 10月 15 2014 /bin/cp
-rw-r--r--. 1 root root 1796 10月 2 2013 /etc/profile
-rw-rw-r--. 1 root utmp 21888 4月 15 01:57 /var/log/wtmp
创建字符设备
[root@wuyike ~]# mknod wuyike c 5 1
[root@wuyike ~]# ll
总用量 16
-rw-r--r--. 1 root root 31 3月 3 08:15 awk.txt
drwxr-xr-x. 6 root root 4096 3月 3 19:35 data
-rw-r--r--. 1 root root 7 3月 4 03:00 test.txt
crw-r--r--. 1 root root 5, 1 4月 16 10:50 wuyike
-rw-r--r--. 1 root root 30 3月 4 18:51 wuyike.txt
-rw-r--r--. 1 root root 0 3月 4 18:51 吴宜珂.txt
链接:
用ln创建链接文件
ln 源文件 目标文件(创建硬链接)
ln -s 源文件 目标文件(创建软链接)
硬链接是指通过索引节点(iNode)来进行链接的。在Linux ext2、ext3、ext4文件系统中,保存在磁盘分区中的文件不管是什么类型都会分配发给他一个编号,这个编号被称为索引节点(Index INode)。
硬链接文件就相当于文件的另外一个入口。硬链接的作用之一是允许一个文件拥有多个有效路径名(多个入口),这样用户就可以建立硬链接到重要的文件,以防止“误删”源数据(很多硬件存储,如netapp存储中的快照功能就应用了这个原理,增加了一个快照就多了一个硬链接)。原因:
文件删除控制的变量:
i_link 文件的硬链接数量
i_count 引用数量(有一个程序使用i_count加1)
文件删除的条件:
i_link=0 and i_count=0(进程shut down,链接全部删除)
1、被进程占用的文件能不能删?能
2、如何查看文件是否被进程占用,或者查看i_count?
3、如何找回没有链接指向但是被进程占用的文件?
fdisk -l:可以查看新增的磁盘
tune2fs -c -1 /dev/sdb
mkdir /app/log -p
mount -t ext4 -o defaults /dev/sdb /app/log
[root@wuyike log]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 610800 80822 529978 14% /
tmpfs 125543 1 125542 1% /dev/shm
/dev/sda1 51200 38 51162 1% /boot
/dev/sdb 26208 11 26197 1% /app/log
[root@wuyike log]# for n in `seq 26220`;do touch stu$n;done
touch: 无法创建"stu26198": 设备上没有空间
touch: 无法创建"stu26199": 设备上没有空间
touch: 无法创建"stu26200": 设备上没有空间
touch: 无法创建"stu26201": 设备上没有空间
touch: 无法创建"stu26202": 设备上没有空间
touch: 无法创建"stu26203": 设备上没有空间
touch: 无法创建"stu26204": 设备上没有空间
touch: 无法创建"stu26205": 设备上没有空间
touch: 无法创建"stu26206": 设备上没有空间
touch: 无法创建"stu26207": 设备上没有空间
touch: 无法创建"stu26208": 设备上没有空间
touch: 无法创建"stu26209": 设备上没有空间
touch: 无法创建"stu26210": 设备上没有空间
touch: 无法创建"stu26211": 设备上没有空间
touch: 无法创建"stu26212": 设备上没有空间
touch: 无法创建"stu26213": 设备上没有空间
touch: 无法创建"stu26214": 设备上没有空间
touch: 无法创建"stu26215": 设备上没有空间
touch: 无法创建"stu26216": 设备上没有空间
touch: 无法创建"stu26217": 设备上没有空间
touch: 无法创建"stu26218": 设备上没有空间
touch: 无法创建"stu26219": 设备上没有空间
touch: 无法创建"stu26220": 设备上没有空间
[root@wuyike log]# touch dd
touch: 无法创建"dd": 设备上没有空间
[root@wuyike log]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 610800 54600 556200 9% /
tmpfs 125543 1 125542 1% /dev/shm
/dev/sda1 51200 38 51162 1% /boot
/dev/sdb 26208 26208 0 100% /app/log
文件类型与链接