今日内容
1.使用ls-l查看文件的详细信息,每一列都是干什么的
2.文件类型,怎么精确定位一个文件到底是什么类型的
3.链接文件
4.命令的执行流程
[[email protected]~]# 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 文件名称
2.文件类型
[[email protected]~]# 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 本地进程与进程间的一种通信方式
b 块设备文件 (硬盘 光盘 分区)
c 字符设备 用于提供用户的输入与输出
l 链接文件 类似于windows的快捷方式
d 目录 类似于windows的文件夹
对于一些文件无法精准的区分类型, 可以使用file命令查看
1.无法精准判断这个文件到底是什么类型
[[email protected]~]# 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能精准查看出文件是什么类型
[[email protected]~]# 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
因为Linux不区分后缀, 后缀通常都是为了方便我们自己好识别
3.链接文件
1.软连接(类似于windows的快捷方式)
软连接使用场景 (很少使用硬连接)
1.软件升级 软件回退
[[email protected]~]# mkdir qq_v1.1
[[email protected]~]# ln -s /root/qq_v1.1/ /root/qq
升级
[[email protected]~]# mkdir qq_v1.2
[[email protected]~]# 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.不方面移动的目录
#硬链接 ln /root/file /root/file_hard
5.硬链接与软连接区别
(1)ln命令创建硬链接,ln -s命令创建软链接
(2)目录不能创建硬链接,并且硬链接不可以跨越
分区系统。
(3)目录软链接特别常用,并且软链接支持跨越分区
系统。
(4)硬链接文件与源文件的inode相同,软链接文件
与源文件inode不 同。
(5)删除软链接文件,对源文件及硬链接文件无任
何影响。
(6)删除文件的硬链接文件,对源文件及链接文件
无任何影响。
(7)删除链接文件的源文件,对硬链接无影响,会
导致软链接失效。
(8)删除源文件及其硬链接文件,整个文件会被真
正的删除。
软链接与硬链接的区别?
1.软链接就是一个快捷方式,删除软链接不会影响源文件。
2.硬链接,类似于一个文件副本,删除硬链接不影响源文件,只有删除所有的硬链接及其源文件,这个文件才算彻底被删除。
4.命令执行流程
1.判断命令是否是绝对路径
2.判断命令是否是别名
3.判断命令是内置命令还是外置命令
4.是内置命令直接执行,外置命令先看是否有缓存
5.通过$PASH变量查找命令,有就执行,没有就报错command to found