第1章 文件属性相关

1.1 文件的属性

1.1.1 扩展名

windows  通过扩展名区分不同的类型的文件

linux 扩展名是给人类看的 方便我们区分不同类型文件

.conf      配置文件

.sh        脚本

.tar.gz    压缩包

.py        python脚本

[root@oldboyedu50-lnb /tmp]# ll  etc.tar.gz                  查看压缩包信息

-rw-r--r-- 1 root root 9734648 Jul 20 01:41 etc.tar.gz

[root@oldboyedu50-lnb /tmp]# mv etc.tar.gz etc.txt           给压缩包改名

[root@oldboyedu50-lnb /tmp]# ll et

etc/            etc-pai.tar.gz  etc.txt         ethers         

[root@oldboyedu50-lnb /tmp]# ll etc.txt                      查看信息

-rw-r--r-- 1 root root 9734648 Jul 20 01:41 etc.txt

[root@oldboyedu50-lnb /tmp]# tar tf etc.txt                  一样可以打开

##证明Linux系统下 改扩展名不影响使用

1.1.2 文件的类型

f    file        文件

d    dir         目录

l    softlink    软连接

b    block       块设备

c    character   字符设备

p    pipe        管道

s    socket      套接字

[root@oldboyedu50-lnb /tmp]# file  /bin/ls /etc/hosts /tmp/etc-pai.tar.gz

##file可以查看文件的详细类型

/bin/ls:             ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

/etc/hosts:          ASCII text

/tmp/etc-pai.tar.gz: gzip compressed data, from Unix, last modified: Fri Jul 20 02:39:55 2018

#######  file        文件

1.二进制文件(命令)

2.文本文件(text)

3.数据文件(data)需要单独命令查看

1.2 文件系统

1、磁盘(房子)

2、分区(划分隔断)

3、格式化创建文件系统(装修)

4、挂载(安装门窗)

5、存放文件(住人)

1.3 Linux下的权限

对于一个文件来说 系统中的用户分为:主人     家人      陌生人

所有者   用户组    其他人

r----read       可读     4

w----write      可写     2

x----execute    可执行   1

-                        0

1.4 与用户相关的文件

/etc/passwd    用户的信息

/etc/shadow    用户的密码信息

/etc/group      用户组的信息

/etc/gshadow   用户组的密码()

1.4.1 /etc/passwd 下每一列的含义

root     :x             :0     :0      :root             :/root           :/bin/bash

nobody   :x             :99    :99     :Nobody           :/               :/sbin/nologin

clsn     :x             :500   :500    :                 :/home/clsn      :/bin/bash

用户名   原来密码的位置  UID   GID    用户的说明信息     用户的家目录     命令解释器

1.4.2 命令解释器

1.4.2.1  默认的命令解释器

/bin/bash      默认

/sbin/nologin  无法登陆系统--虚拟用户

1.4.2.2  其他的命令解释器
[root@znix ~]# cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/bin/dash

/bin/tcsh

/bin/csh

第2章 软连接与硬链接

链接:软连接(softlink  或 符号链接 symlink)   硬链接  (hard link)

2.1 硬链接

2.1.1 含义

在同一分区中,文件的inode号相同 则互为硬链接

硬链接即文件的入口(超市的前后门)

2.1.2 作用

防止误删文件

2.1.3 如何创建硬链接

ln 命令,前面是源文件 后面是创建的链接文件

[root@oldboyedu-50 ~]# mkdir /oldboy   创建环境

[root@oldboyedu-50 ~]# cd /oldboy/

[root@oldboyedu-50 oldboy]# echo oldboyedu.com >>/oldboy/oldboy.txt

[root@oldboyedu-50 oldboy]# cat oldboy.txt

oldboyedu.com

[root@oldboyedu-50 oldboy]# ln oldboy.txt oldboy.txt.hard   创建硬链接

[root@oldboyedu-50 oldboy]# ll -lhi            检查 创建成功 两个文件inode号码相同

total 8.0K

523268 -rw-r--r--. 2 root root 14 Jul 10 20:53 oldboy.txt

523268 -rw-r--r--. 2 root root 14 Jul 10 20:53 oldboy.txt.hard

[root@oldboyedu-50 oldboy]# cat oldboy.txt       所查看内容一样

oldboyedu.com

[root@oldboyedu-50 oldboy]# cat oldboy.txt.hard  所查看内容一样

oldboyedu.com

查看两文件的inode号相同。

[root@znix clsn]# ls -lhi clsn.txt clsn.txt-hard

151273 -rw-r--r-- 2 root root 607 Aug 30 09:13 clsn.txt

151273 -rw-r--r-- 2 root root 607 Aug 30 09:13 clsn.txt-hard

2.2 软连接

2.2.1 含义

最常用

为了快捷,省事,方便使用

相当于windows 的快捷方式 存放的源文件的位置

2.2.2 如何创建软链接

不能对目录创建硬链接  软连接可以

[root@oldboyedu-50 oldboy]# ln -s oldboy.txt oldboy.txt-soft  创建软连接

[root@oldboyedu-50 oldboy]# ls -l                             检查是否创建成功

total 8

-rw-r--r--. 2 root root 14 Jul 10 20:53 oldboy.txt

-rw-r--r--. 2 root root 14 Jul 10 20:53 oldboy.txt.hard

lrwxrwxrwx. 1 root root 10 Jul 10 21:13 oldboy.txt-soft -> oldboy.txt  创建成功

使用绝对路径创建 显示的信息也是绝对路径 相对路径创建 显示的就是相对路径

[root@oldboyedu-50 ~]# ln -s /oldboy/oldboy.txt /oldboy/oldboy.txt.1

[root@oldboyedu-50 ~]# ls -l /oldboy/

total 8

-rw-r--r--. 2 root root 14 Jul 10 20:53 oldboy.txt

lrwxrwxrwx. 1 root root 18 Jul 10 21:16 oldboy.txt.1 -> /oldboy/oldboy.txt

源文件消失(移动改名删除等) 查看信息 软连接对应的源文件就会变红(红底白字)

2.3 文件删除原理

硬连接数为0

进程调用数为0 是否有人使用

2.4 如何查看被占用的文件

lsof (list open files ) 显示所有被占用的文件

模拟环境

xshell开启两个窗口               先运行窗口二 在运行窗口一

窗口1

lsof |grep oldboy.txt

窗口2

tail -f /oldboy/oldboy.txt

查看进程

[root@oldboyedu50-lnb /oldboy]# lsof |grep oldboy.txt

tail            3755    root    3r      REG         8,3       14      1046996  /oldboy/oldboy.txt

命令或服务名称                                                        文件大小    inode号码 文件名

2.5 软连接与硬链接之间的区别

2.5.1 创建的区别

ln命令创建硬链接,ln -s 创建软链接

2.5.2 含义

在同一分区硬链接文件与源文件的inode节点号相同。而软链接文件相当于windows的快捷方式(inode节点号与源文件不同)

2.5.3 特点

不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到

软连接可以跨文件系统,硬链接不可以跨文件系统

2.5.4 源文件 软连接 硬链接与删除

删除软连接文件,对源文件及硬链接文件无任何影响

删除文件的硬链接文件,对源文件及软连接文件无任何影响

删除连接文件的源文件,对硬链接文件无影响,会导致其软连接失效(红底白字)

同时删除源文件及硬链接文件,整个文件才会被“真正”删除

2.6 文件删除但空间未被释放案例

模拟:文件没有被彻底删除(i_link)为0 进程调用数(i_count)不为0

没有被彻底删除-硬链接数为0,进程调用数不为零

/var/log/messages

[root@oldboyedu-50 oldboy]# df -h                       df -h查看磁盘的使用情况

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        19G  6.1G   12G  35% /                 / 使用最多

tmpfs           491M     0  491M   0% /dev/shm

/dev/sda1       190M   35M  146M  19% /boot

[root@oldboyedu-50 oldboy]# du -sh /* |sort -h          使用du -sh /*一层层排查

[root@oldboyedu-50 oldboy]# du -sh /var/* |sort -h      排查过程

[root@oldboyedu-50 oldboy]# du -sh /var/log/* |sort -h  找到占用空间最多的

[root@oldboyedu-50 oldboy]# \rm -f /var/log/messages    确认无用处之后 再删除

[root@oldboyedu-50 oldboy]# df -h                       删除后检查发现空间并没有被释放

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        19G  6.1G   12G  35% /                 并没有被释放

tmpfs           491M     0  491M   0% /dev/shm

/dev/sda1       190M   35M  146M  19% /boot

[root@oldboyedu-50 oldboy]# lsof |grep messages         使用lsof 查看文件是否被调用

rsyslogd   1247      root    1w      REG                8,3 4888993470     135456 /var/log/messages (deleted)

deleted lsof的标记  表示文件硬连接数为0  进程调用不为0         

[root@oldboyedu-50 oldboy]# /etc/init.d/rsyslog restart  重启进程

[root@oldboyedu-50 oldboy]# df -h                        查看磁盘的使用情况

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        19G  1.5G   17G   9% /                  磁盘空间被释放

tmpfs           491M     0  491M   0% /dev/shm

/dev/sda1       190M   35M  146M  19% /boot

重启进程后/var/log/messages也会重新被创建 但是空间已被释放

2.7 如何找通过inode号找硬链接

使用find命令 -inum参数找inode号码,找到相同的inode 互为硬链接。

[root@znix ~]# ls -lhi  test.txt

260141 -rw-r--r--. 2 root root 265 Aug 29 19:16 test.txt

[root@znix ~]# find /* -type f -inum 260141

/root/test.txt

/root/test.txt-hard

Linux文件属性相关补充及软硬连接的更多相关文章

  1. linux文件描述符、软硬连接、输入输出重定向

    引用链接:https://blog.csdn.net/qq769651718/article/details/79459346 文件描述符的作用: 文件描述符是linux操作系统中特有的概念.其相当于 ...

  2. linux文件属性权限相关

    一个linux目录或者文件,都会有一个所属主和所属组. 所属主,即文件的拥有者,而所属组,即该文件所属主所在的一个组. linux文件属性 包括文件类型 - d  l  b c s 依次表示 普通文件 ...

  3. Linux软硬连接

     曾经对软硬连接一直搞不明白,关键是怕操作错误. 硬链接不能跨区实现连接,硬链接是对原始文件的镜像,同一个inode,软连接是快捷方式,inode保存的是快捷方式的.原始文件删除,导致软连接文件无效. ...

  4. Linux 文件属性及详细操作

    目录 Linux 文件属性 文件属性信息组成 文件属性概念说明 文件软硬链接说明 硬链接 软链接 补充知识 存储数据相关-inode/block inode: block: 读取文件原理图 Linux ...

  5. 软硬连接ln

    软硬连接Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引 ...

  6. Linux 文件属性及权限_007

    Linux一切皆文件: Llinux系统的文件或目录的属性主要包括:索引节点.文件类型.文件权限.链接数.所属的用户和用户组.最近修改时间等. Llinux文件属性及权限图形说明: Linux文件属性 ...

  7. Linux内核相关常见面试题

      转:http://www.embeddedlinux.org.cn/html/xinshourumen/201303/11-2475.html   本文详细阐述了linux内核相关的开发职位面试中 ...

  8. Linux文件属性与权限

    一.在Linux里面,任何一个文件都具有“User,Group,Others”(用户.用户组.其他人)三种身份 二.用户组最有用的功能之一,就是当你在团队开发资源的时候,且每个账号都可以有多个用户组的 ...

  9. Linux文件属性之用户和组基础知识介绍

    一.Linux多用户多任务介绍 Linux/Unix 是一个多用户.多任务的操作系统:在讲Linux账号及账号组管理之前,我们先简单了解多用户.多任务操作系统的基本概念. 1.1Linux单用户多任务 ...

随机推荐

  1. Getting start with dbus in systemd (03) - sd-bus.h 使用例子 (systemd version>=221)

    sd-bus.h 例子 注意: sd-dbus 是systemd提供的lib,但是这个lib,只有在systemd>v221版本后才可以使用,centos 219版本太低,所以不能使用. 参考: ...

  2. MYEclipse Available Memory is low 警告 解决方法

    1,  设置Eclipse内存使用情况 修改eclipse根目录下的eclipse.ini文件 -vmargs  //虚拟机设置 -Xms40m -Xmx256m -XX:PermSize=128M ...

  3. 诊断:ORA-01919: role ‘PLUSTRACE’ does not exist

    如下错误 SQL> grant plustrace to scott; grant plustrace to scott * ERROR at line 1: ORA-01919: role ' ...

  4. 关于dijkstra的小根堆优化

    YY引言 在NOI2018D1T1中出现了一些很震惊的情况,D1T1可以用最短路解决,但是大部分人都在用熟知的SPFA求解最短路.而SPFA的最坏复杂度能够被卡到$O(VE)$.就是边的数量乘以点的数 ...

  5. Linux修改系统时间与时区

    GMT  (Greewich Mean Time) 格林威治标准时间:GMT是老的时间计量标准,根据地球的自转和公转来计算时间,也就是太阳每天经过位于英国伦敦郊区的皇家格林尼治天文台的标准时间就是中午 ...

  6. MVC 中如果js,css文件放到视图文件夹无法访问的解决办法

    在视图配置文件web.config 中添加如下节点,注意:此web.config 是视图文件夹中的,在你的views视图中可以找到<system.webServer>开头的<hand ...

  7. 【codeforces 3C】Tic-tac-toe

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 写一个函数判断当前局面是否有人赢. 然后枚举上一个人的棋子下在哪个地方. 然后把他撤回 看看撤回前是不是没人赢然后没撤回之前是不是有人赢了. ...

  8. 【codeforces 707E】Garlands

    [题目链接]:http://codeforces.com/contest/707/problem/E [题意] 给你一个n*m的方阵; 里面有k个联通块; 这k个联通块,每个连通块里面都是灯; 给你q ...

  9. JVM即时编译(JIT)

    Java解释执行过程: 代码装入-代码校验-代码执行 Java字节码的执行方式分为两种:即使编译方式和解释执行方式.即时编译是值解释器先将字节码编译成机器码,然后执行该机器码.解释执行的方式是指解释器 ...

  10. redis+spring

    1. 在配置文件中添加 注解 <cache:annotation-driven cache-manager="cacheManager" key-generator=&quo ...