day6

1.文件属性

使用ls -hil 查看的详细信息,每一列的解释
67275254 -rw-r--r--. 1 root root 152K 7月  19 14:27 darkwing-Gomoku-master.zip
134552687 drwxr-xr-x. 5 root root   90 2月  23 2018 Gomoku
67275255 -rw-r--r--. 1 root root  47M 7月  19 14:40 lovederh-TangMen-master.zip
201478527 drwxr-xr-x. 3 root root  135 7月  19 23:54 Mota
67275477 drwxr-xr-x. 4 root root  147 4月   7 2016 phaser_battkeCity
67275252 -rw-r--r--. 1 root root 1.2M 7月  19 14:43 sihuayin-phaser_battkeCity- master.zip
134552691 drwxr-xr-x. 7 root root  259 2月  14 2015 TangMen
67275253 -rw-r--r--. 1 root root 234K 7月  19 14:23 Vinlic-Mota-master.zip
共十列
第一列:inode索引节点编号(相当于人的身份证、家庭住址,全国唯一);系统 
读取文件时首先通过文件名找到inod号码,然后才能读取到文件内容。
第二列:文件类型及权限。这一列共11个字符,其中第一个字符为文件类型,随后 
的9个字符为文件的对应权限,最后一个字符点号“.”是和selinux有关的一个标识;
第三列:硬连接数
第四列:属主:文件的拥有者,用户
第五列:属组:文件属于的组,用户组
第六列:大小
第七列;月份
第八列;日
第九列;时间
第十列;文件名

2.文件类型

[root@bj-qing-10.0.0.201 ~]# ll -d /etc/hosts /tmp /bin/ls  /dev/sda /dev/tty1 
/etc/grub2.cfg /dev/log
-rwxr-xr-x.  1 root root 117680 Oct 31  2018 /bin/ls
srw-rw-rw-.  1 root root      0 Jul 31 08:13 /dev/log
brw-rw----.  1 root disk   8, 0 Jul 31 08:13 /dev/sda
crw--w----.  1 root tty    4, 1 Jul 31 08:13 /dev/tty1
lrwxrwxrwx.  1 root root     22 Jul 30 19:59 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--.  1 root root    158 Jun  7  2013 /etc/hosts
drwxrwxrwt. 10 root root    236 Jul 31 17:04 /tmp
- 表示文件(包括普通文件 图片 压缩包)
s socket 本地进程与进程间的一种通信方式
b 快设备文件 (包括硬盘 光盘 分区)
c 字符设备  用于提供用户的输入与输出
l 链接文件   类似Windows的快捷方式
d 目录         类似Windows的文件夹
对于一些无法精准区分的文件类型,可以使用file命令查看
1.无法精准判断这个文件到底是什么类型
[root@bj-qing-10.0.0.201 ~]# ll /bin/ls 1.sh 1.txt  access.log  img.jpg 123.zip 
-rw-r--r--. 1 root root    20785 Jul 31 10:41 123.zip 
-rwxr-xr-x. 1 root root       26 Jul 31 10:45 1.sh 
-rw-r--r--. 1 root root      672 Jul 31 08:49 1.txt 
-rw-r--r--. 1 root root 58112885 Jul 30 16:49 access.log 
-rwxr-xr-x. 1 root root   117680 Oct 31  2018 /bin/ls 
-rw-r--r--. 1 root root    39609 Jul 22 13:15 img.jpg
2.使用file能精准查看出文件是什么类型
[root@bj-qing-10.0.0.201 ~]# file 1.txt access.tmp 2019-07-24.txt 
1.txt:          ASCII text
access.tmp:     ASCII text, with very long lines
2019-07-24.txt: empty

3.链接文件

[root@bj-qing-10.0.0.201 ~]# mkdir qq_v1.1 
[root@bj-qing-10.0.0.201 ~]# ln -s /root/qq_v1.1/ /root/qq
[root@bj-qing-10.0.0.201 ~]# ls
11.txt  2               anaconda-ks.cfg  qq           test
12.txt  2019-07-24.txt  new              qq_v1.1      test.txt
1.txt   access.tmp      oldboy           student.txt
[root@bj-qing-10.0.0.201 ~]# ll qq
lrwxrwxrwx. 1 root root 14 Jul 31 17:31 qq -> /root/qq_v1.1/
1.升级:
[root@bj-qing-10.0.0.201 ~]# rm -f /root/qq && ln -s /root/qq_v1.2/ /root/qq
2.回退
rm -f qq && ln -s /root/qq_v1.1/ /root/qq
3.代码升级 秒级回退
QQ截图20190731165813.png
4.硬链接:一般用于不方便移动的目录(不常用)
  • ln /root/file /root/file_hard
5.硬链接与软链接区别
  • 1)ln命令创建硬链接,ln -s命令创建软链接。
  • 2)目录不能创建硬链接,并且硬链接不可以跨越分区系统。
  • 3)目录软链接特别常用,并且软链接支持跨越分区系统。
  • 4)硬链接文件与源文件的inode相同,软链接文件与源文件inode不 同。
  • 5)删除软链接文件,对源文件及硬链接文件无任何影响。
  • 6)删除文件的硬链接文件,对源文件及链接文件无任何影响。
  • 7)删除链接文件的源文件,对硬链接无影响,会导致软链接失效。
  • 8)删除源文件及其硬链接文件,整个文件会被真正的删除。
QQ截图20190731180305.png
如上图:源文件有三个链接,分别是两个软连接和一个硬链接
  • 1.如果删除软连接1,对软连接2和源文件以及硬链接没有影响。
  • 2.同理如果删除软连接2,对软连接1和源文件以及硬链接没有影响。
  • 3.如果删除源文件,软连接1和软连接2会无法使用,但对硬链接没有影响
6.软链接与硬链接的区别?
  • 1.软连接就是一个快捷方式,删除软连接不会影响源文件.
  • 2.硬链接,类似于一个文件副本,删除硬链接不影响原文件,只有删 除所有的硬链接及其源文件,这个文件才算彻底被删除.

4.命令执行流程[扩展了解]

1.当我们执行一个命令, 整个命令执行流程如下:
  • 1.判断命令是否通过绝对路径执行
  • 2.判断命令是否存在alias别名
  • 3.判断用户输入的是内置命令还是外置命令
  • 4.Bash内部命令直接执行,外部命令检测是否存在缓存
  • 5.通过$PATH变量查找命令,有执行,无报错 command not found

绝对路径-->alias--->hash缓存-->$PATH变量路径--->有执行--->没有 command not found

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。