day6文件属性

今日内容

一、文件属性

输入ls -l 查看文件的详细信息。

[root@oldboy ~]# ls -l

total 60836

-rw-r--r--. 1 root root 672 Jul 30 16:02 1.txt

-rw-r--r--. 1 root root 58112885 Jul 30 16:34 access.log

-rw-r--r--. 1 root root 1547346 Jul 31 10:51 access.rar

-rw-------. 1 root root 1492 Jul 29 20:30 anaconda-ks.cfg

-rw-r--r--. 1 root root 16 Jul 30 11:31 file1.txt

-rw-r--r--. 1 root root 24 Jul 30 11:36 file2.txt

·解释其中的含义

*第一列第一个字符 表示文件类型

*rw-r--r--  表示拥有文件用户或用户组的权限

*1 文件被硬链接次数

*root 文件的拥有用户

*root 文件拥有的用户组

*672 文件的大小

*Jul 29 20:30 创建文件的日期以及时间

*1.txt 文件名


二、文件类型

ll -d 查看这些文件,目录。

[root@oldboy etc]# ll -d /etc/hosts /tmp/ /bin/ls /dev/sda /dev/tty11 /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:30 /dev/log

brw-rw----. 1 root disk 8, 0 Jul 31 08:30 /dev/sda

crw--w----. 1 root tty 4, 11 Jul 31 08:30 /dev/tty11

lrwxrwxrwx. 1 root root 22 Jul 29 20:25 /etc/grub2.cfg -> ../boot/grub2/grub.cfg

-rw-r--r--. 1 root root 158 Jun 7 2013 /etc/hosts

drwxrwxrwt. 13 root root 4096 Jul 31 15:08 /tmp/

·分析每一行第一列分别代表什么意思?

*- 代表文件,包括普通文件,压缩包,图片。

*s 全称为socket,代表本地进程与进程之间的一种通信方式。(mysql)

*b 代表块设备文件 (硬盘、光盘、分区)。

*c 字符设备 用于提供用户的输入与输出。

*l 链接文件 类似于Windows的快捷方式

*d 目录

ps:当我们无法准确的分析文件类型时,可以使用file命令来具体查看。

[root@oldboy ~]# ll access.rar tt.jpeg test.txt

-rw-r--r--. 1 root root 1547346 Jul 31 10:51 access.rar

-rw-r--r--. 2 root root 89 Jul 30 19:14 test.txt

-rw-r--r--. 1 root root 12174 Feb 14 17:31 tt.jpeg

*使用file命令查看这些文件

[root@oldboy ~]# file access.rar test.txt tt.jpeg

access.rar: RAR archive data, v9b, flags: Solid, Authenticated,

test.txt: ASCII text

tt.jpeg: JPEG image data, JFIF standard 1.01

*可以看出access.rar是一个压缩包,test.txt是一个二进制文本文件,tt.jpeg是一个图片文件。

ps:因为Linux不区分后缀,所以后缀只用用来方便用户使用的。

三、链接文件

1.软连接(类似于windows的快捷方式)

*软件升级,软件回退

[root@oldboy ~]# mkdir jd_v1.1

[root@oldboy ~]# ln -s /root/jd_v1.1/ /root/jd

[root@oldboy ~]# mkdir jd_v1.2

*软件的升级

[root@oldboy ~]# rm -rf jd && ln -s /root/jd_v1.2 /root/jd

*软件的回退

[root@oldboy ~]# rm -rf jd && ln -s /root/jd_v1.1 /root/jd

2.代码升级,秒级回退

[root@oldboy ~]# touch lol_v1.1

[root@oldboy ~]# ln -s lol_v1.1 lol

[root@oldboy ~]# touch lol_v1.2

*代码升级

[root@oldboy ~]# rm -f lol && ln -s lol_v1.2 lol

*代码秒级回退

[root@oldboy ~]# rm -f lol && ln -s lol_v1.1 lol

3.不方便移动的目录

*硬链接

[root@oldboy ~]# ln /root/test.txt /root/ttt


4.硬链接与软链接区别 

1*ln命令创建硬链接,ln -s命令创建软链接。

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

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

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

同。

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

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

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

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

###软链接就是一种快捷方式,删除软链接不会对源文件造成任何影响。

###硬链接类似于一个文件副本,删除硬链接不会影响源文件,只有删除所有硬链接和源文件,这个文件才会被删除。

四、命令执行流程(了解)

当我们执行一个命令时(命令流程)

*首先会判断命令是否通过绝对路径执行

*会检查命令是否存在alias别名

*判断用户输入的是内置命令还是外置命令

*bash内置命令直接执行,外置命令检查是否存在缓存

*通过$PATH变量查找命令,有执行,无报错 command not found

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

command not found

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容