day 6 笔记

常用命令-day06 

1.使用ls -l 查看的详细信息,每一列都是干什么的

2.文件类型,怎么精准定位一个文件到底是什么类型的

3.链接文件

4.命令的执行流程 

1.文件属性

[root@oldboyedu.com~]# ll -h total 56M -rw-r--r--. 1 root root  672 Jul 31 08:49 1.txt

2.文件类型

-rw-r--r--. 1 root root  56M Jul 30 16:49 access.log -rw-r--r--. 1 root root 1.1K Jul 31 09:43 passwd -rw-r--r--. 1 root root   89 Jul 31 09:29 test.txt -rw-r--r--. 1 root root  39K Jul 22 13:15 老男孩教育学院桌面背景.jpg

# 第一列第一个字符  表示文件类型---> # rw-r--r--      权限(下周) # 1              这个文件被链接次数 # root          文件的拥有者(用户) # root          文件的拥有组(用户组  ==>家族) # 672            文件大小 # Jul 31 08:49   文件的日期,以及创建的文件的时间 # 1.txt          文件名称

[root@oldboyedu.com~]# 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 26 10:08 /dev/log brw-rw----.  1 root disk   8, 0 Jul 26 10:08 /dev/sda crw--w----.  1 root tty    4, 1 Jul 26 10:08 /dev/tty1 lrwxrwxrwx.  1 root root     22 Jul 24 11:58 /etc/grub2.cfg -> ../boot/grub2/grub.cfg -rw-r--r--.  1 root root    158 Jul 30 09:20 /etc/hosts drwxrwxrwt. 13 root root   4096 Jul 31 09:29 /tmp

# - 文件 (普通文件 图片  压缩包) # s socket 本地进程与进程间的一种通信方式 (mysql) # b 块设备文件   (硬盘  光盘  分区)

对于一些文件无法精准的区分类型, 可以使用file命令查看

因为Linux不区分后缀, 后缀通常都是用来表示的,为了方便我们自己好 识别

# c 字符设备   用于提供用户的输入与输出 # l 链接文件   类似windows的快捷方式 # d 目录      类似windows的文件夹

#1.无法精准判断这个文件到底是什么类型

[root@oldboyedu.com~]# 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@oldboyedu.com~]# file  /bin/ls 1.sh 1.txt  access.log  img.jpg 123.zip /bin/ls:    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=ceaf496f3aec08afced234f4f36330d3d13a657b , stripped 1.sh:       Bourne-Again shell script, ASCII text executable 1.txt:      ASCII text access.log: ASCII text, with very long lines img.jpg:    JPEG image data, JFIF standard 1.01 123.zip:    Zip archive data, at least v2.0 to extract

3.链接文件

1.软链接 (类似于WIndows的快捷方式)

2.代码升级 秒级回退

3.不方便移动的目录

2.硬链接 ln /root/file /root/file_hard


5.硬链接与软链接区别 1)ln命令创建硬链接,ln -s命令创建软链接。

#软链接使用场景   (很少对文件做软连接) 1.软件升级  软件回退

[root@oldboyedu.com~]# mkdir  qq_v1.1 [root@oldboyedu.com~]# ln -s /root/qq_v1.1/ /root/qq #升级 [root@oldboyedu.com~]# mkdir qq_v1.2 [root@oldboyedu.com~]# rm -f /root/qq && ln -s /root/qq_v1.2/ /root/qq # 回退 rm -f qq && ln -s /root/qq_v1.1/ /root/qq

2)目录不能创建硬链接,并且硬链接不可以跨越分区系统。

3)目录软链接特别常用,并且软链接支持跨越分区系统。

4)硬链接文件与源文件的inode相同,软链接文件与源文件inode不 同。

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

6)删除文件的硬链接文件,对源文件及链接文件无任何影响。

7)删除链接文件的源文件,对硬链接无影响,会导致软链接失效。

8)删除源文件及其硬链接文件,整个文件会被真正的删除。


软链接与硬链接的区别?

1.软连接就是一个快捷方式,删除软连接不会影响源文件.

2.硬链接,类似于一个文件副本,删除硬链接不影响原文件,只有删 除所有的硬链接及其源文件,这个文件才算彻底被删除.

4.命令执行流程 

1.当我们执行一个命令, 整个命令执行流程如下:

1) 判断命令是否通过绝对路径执行 2) 判断命令是否存在alias别名 3) 判断用户输入的是内置命令还是外置命令 4) Bash内部命令直接执行,外部命令检测是否存在缓存 5) 通过$PATH变量查找命令,有执行,无报错 command not found

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


#3 今日总结

1.文件的属性 怎么看 ls -l 都是什么意思 --->先看会的,在看不会.

2.文件的类型 - 文件 ( 不一定) d 目录 s 套接字文件 本地进程与进程之间的通讯 l 链接文件 c 字符设备 接收用户的输入,和系统返回的输出结果 b 块设备 (硬盘 分区 光盘 ....)

3.如何确定文件是什么类型 file命令 PS: linux不严格区分文件的后缀,仅仅只是为了我们好识别. 4.文件链接

inode 索引(权限 属性 大小 唯独没有文件名) ----> block 真实数 据 软链接 多个不同的inode指向同一个block 硬链接 多个相同的inode指向同一个block (不支持目录 也不支 持跨分区)

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

推荐阅读更多精彩内容