week3 文件属性 特殊符号

1.linux ls -lhi 命令详解

1.1 ls -ilh每一行含义

ls -ilh /etc/

执行结果如下(截取部分)
33926932 drwxr-xr-x.  3 root root  101 Mar 28 16:35 abrt
17192799 -rw-r--r--.  1 root root   16 Mar 28 16:39 adjtime
  • 第一列:代表inote号码,就像人的身份证号码一样,在同一磁盘分区
    下,是唯一的,系统识别的就是inote号码

  • 第二列:文件类型
    - 代表普通文件
    d 代表目录
    l 代表软链接,符号链接
    c 字符设备 提供用户的输入输出

本地连接会被系统分配到  /dev/tty
远程网络连接会被系统分配到 /dev/pts/xxx  

b 和块设备 U盘,磁盘分区,都被系统认为是块设备

  • 第三列:执行权限,按照三个一组分
    r 只读
    w 写入
    x 执行
    (权限当中‘-’表示没有此位的权限)
  • 第四列 硬链接数量
  • 第五列 所有者
  • 第六列 所属组
  • 第七列 文件大小
  • 第八列 文件创建日期
  • 第九列 文件名(文件名不是文件属性
  • 注:权限后边的点,与selinux相关

2.linux文件属性

2.1 inode与block

在linux系统设备或者存储设备的分区被格式化为文件系统后,主要分为两部分,第一个部分是inode 第二部分是block

inode (index node) 索引节点,linux 系统中文件的身份证号,同一个磁盘分区内inode号是唯一的

block block 用来存储实际数据,inode用来存储文件的属性信息(ex: 文件类型,权限,所属用户,所属组,修改时间...)

inode特点:inode 在文件系统是唯一的,一个文件至少要占用一个inode以一个block,多个文件可以占用一个block ???? inode (硬链接)
block特点 一个block只能被一个文件使用,如果文件很小,但block很大,会造成剩余空间浪费,无法继续呗其他文件使用。

注:block 余量不足会报警磁盘空间不足,同样inode余量不足时也会报警磁盘空间剩余不足

2.2 软链接与硬链接

硬链接

指通过索引节点(Inode) 来进行连接,在linux文件系统中 ,保存在磁盘空间中的文件都会分配一个Inode,在linux 中,多个文件,用有一个索引节点成文硬链接

软链接

软链接也叫符号链接(symbolick link)是一个包含指向另一个文件的inode的信息的文本文件,然后通过inode访问数据block 原文件删除则软链接失效,查看文件时软链接会闪烁(当原文件被删除)就像是windows中的快捷方式。

软链接创建命令

ln 【原文件】【目标文件(创建位置)】 创建硬链接
ln -s 【原文件】【目标文件(创建位置)】 创建软链接
注意:软链接可以跨分区创建,但是硬链接无法跨分区创建,因为inote不同磁盘不是唯一

  • 操作实例
为'/oldboy/test.txt' 创建硬链接
命令:'ln /oldboy/test.txt /tmp/test.hard'
创建硬链接
为'/oldboy/test.txt' 创建软链接
命令:'ln -s /oldboy/test.txt /tmp/test.soft'
创建软链接

软链接的快捷指定方便于以后业务的升级与回推,升级更新出现问题,很快就可以将版本返回到旧的版本,非常方便,效率高效

硬链接小结

1. 硬链接,具有与原文件相同inode的不同文件名
2. 删除硬链接或者原文件之一,文件实体(block)不会被删除
3. 删除硬链接,数据会被在磁盘检查或者新数据写入时候删除回收,误删除,可通过另一个硬链接创建回来
4. 可以给文件创建硬链接防止误删除,最好还是备份
5. rm -f 删除硬链接
6. 文件目录不可以创建硬链接
7.创建硬链接' ln 【原文件】【目标文件(创建位置)】 '

软链接小结

1. 软链接类似快捷方式,存放原文件路径,执行原文件
2. 删除原文件,软链接依然存在吗,但是失效
3. 创建软链接' ln -s 【原文件】【目标文件(创建位置)】'
4. 软链接和原文件是不同类型文件,inode不同
5. 可以创建目录和文件的软链接,可以跨区
  • 软链接失效实例


    软链接失效

实践:描述linux中软链接与硬链接的区别

1.删除文件软链接对硬链接无影响
2.删除文件硬链接对文件及软链接文件无影响
3.删除原文件对硬链接读取数据,文件软链接失效
4.同时删除原文件和硬链接,软链接则失效
5.很多硬件设备中的快照,类似于硬链接原理
6.从定义上,链接有两种,一种为软链接,类似于快捷方式,存放指向原文就得inode信息,于原文件inode不同,硬链接,与原文件有相同的inode,可以指向数据block
7.从创建方式上 硬链接创建 ln 【原文件】【目标文件】硬链接 ln -s 【原文件】【目标文件】
8.从创建对象上,文件目录不能创建硬链接,但是目录可以创建软链接,因为软链接可以跨文件系统,硬链接则不能,同一个文件,不同分区inode节点号相同,但是不是同一个文件

3. 文件属性命令

3.1 which

which [文件] 显示命令的全路径 包括帮助信息路径

  • 操作实例


    which命令

3.2 whereis

whereis [命令] 查看命令及相关内容

  • 操作实例


    whereis命令

3.3 tar

tar 打包压缩命令

常用选项:
'z' 通过gzip这个软件压缩文件
'c' create 创建, 打包文件,与z一起使用,否则还是占用空间
'v' verbose显示压缩过程
'f'  file 指定压缩文件位置
't' 查看压缩文件
'x' 解压缩
  • 操作实例
将/etc/的文件打包压缩到/tmp/etcback
tar zcf /tmp/etcback etc/ 
  • 操作实例


    tar备份etc目录
查看压缩包
tar -tf /tmp/etcback
  • 操作实例


    查看压缩包
解压缩 
tar xf /tmp/etcback  不指定路径默认解压到当前目录
  • 操作实例


    解压缩
解压到指定位置选项 ' -C'  注意大写
  • 操作实例
指定解压缩到/oldboy

3.4 date

查看修改系统时间

常用选项
%Y 年
%m month 月
%d 日
%F= %Y-%m-%d  显示年月日  2019-4-16
%H hour 小时
%M minute 分钟
%S sec 秒 
%T=%H:%M:%S 显示日期 21:24:42

  • 操作实例
年月日单独显示
F单独显示
时分单独显示
时分秒单独显示
同步网络时间  'ntpdate ntp1.aliyun.com' (需要安装ntpdate包, yum install -y ntpdate)
  • 操作实例
同步时间

3.5 find

find 查找目录下文件
格式 find 【搜索的目录】【选项】【参数】

find /etc/ -type f -name "*.txt"
查找/etc/文件名以.txt结尾的普通文件
常见选项:
-name 名字 
-type 类型  f  普通文件 d 目录 l 软链接 
-size 大小  size +1M  大于1M size -100k  小于 100k

-iname  搜索文件名不区分大小写

-maxdepth 最大查找多少层,'注意:一定要放在最前面(否则会报错)' maxdepth1 是该目录下一层进行搜索

  • 操作实例


    -name
name与iname选项
-size
-type
-maxdepth

4 特殊符号与通配符

4.1 特殊符号

"$"  普通用户提示符,放在变量前面,'代表变量内容 输出变量要在变量前加入 $'
"#"  注释,给人看的。机器忽略,root提示符

"| " 管道符 把一个命令的标准输出作为标准输入传给另一个命令!
"\ "  逃脱符,即将有特殊含义的字符还原成字符本意,例如 echo \$ 仅代表$符号
" ; "  表示命令的结束,也是命令间的分隔

4.2 表示位置的特殊符号

.   cd .  回到当前目录
..  cd .. 回到上一级目录
~   cd ~ 回到当前用家目录 
-   cd - 回到上一次操作的目录下 
'注:直接输入 cd 命令回到当前用户家目录'

4.3 重定向符号

'>' 或 '1>' 标准输出重定向 覆盖原文件内容
'>>' 或 '1>>' 标准追加输入重定向 不覆盖文件内容,追加
'2>' 标准追加错误重定向,把错误信息追加到文件结尾
'2>>'  标准错误输出重定向, 先清空文件,然后把错误信息写入文件中

4.4 引号系列

单引号 '    单引号 引号里面是啥,就一直是啥不会改变,输出和处理,都是所见即所得
双引号 ""   双引号  与单引号相似,但是双引号里面的特殊符号会被解析,执行,然后输出
不加引号    与双引号一样,支持花括号,比如生成序列,创建有规律的文件或者目录
反引号 ``   反引号 引命令的 等价$() 优先处理符号内的命令,符号内必须是命令,否则会报错

4.5 通配符

"*"   匹配任何字符串或文本,包括空字符串  常用于操作文件,可于很多命令搭配使用
"{}"  1. 生成序列,用于创建多个有规律的文件或者目录 
      2.引用变量作为变量与普通字分隔
"?"   匹配一个字符,* 可以匹配任意字符,没有个数限制,但是? 输入几个就匹配几个字符或者文本

你可能感兴趣的:(week3 文件属性 特殊符号)