2019-07-31 day 06

文件属性相关内容

文件属性

ll 列出文件详细信息
-rw-------. 1 root root 1926 7月 3 02:37 anaconda-ks.cfg
-rw-r--r--. 1 root root 1974 7月 3 02:57 initial-setup-ks.cfg
-rw-r--r-- 1 root root 2369 7月 10 19:39 passwd.bak
drwxr-xr-x. 2 root root 6 7月 3 02:58 公共
drwxr-xr-x. 2 root root 6 7月 3 02:58 模板
drwxr-xr-x. 2 root root 6 7月 3 02:58 视频
drwxr-xr-x. 3 root root 24 7月 30 09:51 图片
第一列第一个字符 表示文件类型
rw------- 表示文件权限
root 属主(文件拥有者)
root 属组(文件的拥有组)
1926 文件大小
六七八列 文件创建的日期以及时间
第九列 文件名

文件类型

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 命令
file 文件名
例:
file /etc/services
/etc/services: C source, ASCII text
PS:linux不区分后缀,后缀通常作用都是用来标识的,方便自己识别

链接文件

1.软连接(类似于Windows的快捷方式)
1)软件升级 软件回退
创建软链接
mkdir qq-1
ln -s /root/qq-1 /root/qq
升级
mkdir qq-2
rm -rf /root/qq && ln -s /root/qq-2 /root/qq
回退
rm -rf qq && ln -s /root/qq-1 /root/qq
2)代码升级 秒级回退
3)不方便移动的目录
2.硬链接
ln /root/file /root/file-hard
3.软链接和硬链接的区别
别 1)ln命令创建硬链接,ln -s命令创建软链接。

软链接使用场景 (很少对文件做软连接)

1.软件升级 软件回退
[[email protected]~]# mkdir qq_v1.1
[[email protected]~]# ln -s /root/qq_v1.1/ /root/qq

升级

mkdir qq_v1.2
rm -f /root/qq && ln -s
/root/qq_v1.2/ /root/qq

回退

rm -f qq && ln -s /root/qq_v1.1/ /root/qq

软连接硬链接的区别

1)ln命令创建硬链接,ln -s命令创建软链接
2)目录不能创建硬链接,并且硬链接不可以跨越分区系统。
3)目录软链接特别常用,并且软链接支持跨越分区系统。
4)硬链接文件与源文件的inode相同,软链接文件与源文件inode不同。
5)删除软链接文件,对源文件及硬链接文件无任何影响。
6)删除文件的硬链接文件,对源文件及链接文件无任何影响。
7)删除链接文件的源文件,对硬链接无影响,会导致软链接失效。
8)删除源文件及其硬链接文件,整个文件会被真正的删除。
总结
1.软连接就是一种快捷方式,删除不会影响源文件
2.硬链接,类似于一个文件的副本,删除硬链接不影响源文件,只有删除所有的硬链接及其源文件,这个文件才算彻底被删除

命令执行流程

执行一个命令时,整个命令的执行流程:
判断命令是否通过绝对路命令路径执行
判断命令是否存在alias别名
判断用户输入的命令是内置还是外置命令
Bash内部命令直接执行,外部命令检测是否存在缓存
通过$PATH变量查找命令,有的话直接执行,没有的话报错 command not found

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

你可能感兴趣的:(2019-07-31 day 06)