使用命令 ls -a 等命令查看文件的详细信息,对应的每一列的的意思
一、文件的属性(用命令:ll -h )
[root@oldboy ~]# ll -h
total 58M
-rw-r--r--. 1 root root 672 Jul 30 17:32 1.txt
-rw-------. 1 root root 1.5K Jul 25 17:22 anaconda-ks.cfg
-rw-r--r--. 1 root root 2.4K Jul 30 09:24 baidu.tt
-rw-r--r--. 1 root root 16 Jul 30 15:33 file1.txt
-rw-r--r--. 1 root root 23 Jul 30 15:48 file2.txt
-rw-r--r--. 1 root root 25 Jul 30 15:06 file.txt
! 示例图可以将上图中的相关文件信息可分为8个部分,如上图所示:
(1)第一部分的第一个字符:- 表示文件类型
(2)第二部分的:rw-r--r-- 表示文件的相关权限
(3)第三部分的:1 表示这个文件的个数
(4)第四部分的:root 表示这个文件的拥有者(这里是root用户)
(5)第五部分的:root 表示文件的拥有组(用户组 ——家族)
(6)第六部分的: 672、2.4k、2.5M等 表示文件大小
(7)第七部分的:Jul 30 17:32 表示创建文件的日期以及时间
(8)第八部分的:1.txt 、 baidu.tt 、file1.txt 等 表示创建文件名称
二、文件的类型( 使用命令 ll -d)
示例:
[root@oldboy ~]# 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 14:30 /dev/log
brw-rw----. 1 root disk 8, 0 Jul 31 14:31 /dev/sda
crw--w----. 1 root tty 4, 1 Jul 31 14:31 /dev/tty1
lrwxrwxrwx. 1 root root 22 Jul 25 17:16 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--. 1 root root 158 Jun 7 2013 /etc/hosts
drwxrwxrwt. 33 root root 4096 Jul 31 14:31 /tmp
[root@oldboy ~]#
(1)- 字符 :表示的文件(压缩包、文件、图片等)
(2)s 字符:表示本地进程与进程之间的一种通信方式
(3)b 字符:表示块设备文件,指的是存储(硬盘,光盘等)
(4)c 字符:表示字符设备,是提供用户输入输出的
(5)l 字符:表示连接文件,相当于Windows的快捷方式
(6)d字符:表示Linux中的目录
三、 file 命令:用于精确的区分文件的类型
示例:
使用 ll 命令查看,不能精确查看文件的类型
[root@oldboy ~]# ll /bin/ls file.txt 1.txt web3_access.log
-rw-r--r--. 1 root root 672 Jul 30 17:32 1.txt
-rwxr-xr-x. 1 root root 117680 Oct 31 2018 /bin/ls
-rw-r--r--. 1 root root 25 Jul 30 15:06 file.txt
-rw-r--r--. 1 root root 58112885 Jul 30 17:57 web3_access.log
[root@oldboy ~]#
使用 file 命令查看,可以精确查看文件的类型
[root@oldboy ~]# file /bin/ls file.txt 1.txt web3_access.log
/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
file.txt: ASCII text
1.txt: ASCII text
web3_access.log: ASCII text, with very long lines
[root@oldboy ~]#
四、链接文件
1.软链接
软链接的创建命令:ln -s ——— 一般应用于目录不用于文件
1)软件的升级 软件的回退
示例:weixin 软件版本的升级 出现问题如何 回退至低版本
[root@oldboy ~]# mkdir weixin-v1.0
[root@oldboy ~]# ln -s /root/weixin-v1.0/ /root/weixin
[root@oldboy ~]#
weixin 的升级
[root@oldboy ~]# mkdir weixin-v1.1
[root@oldboy ~]# rm -f /root/weixin && ln -s /root/weixin-v1.1/ /root/weixin
[root@oldboy ~]# ll
lrwxrwxrwx. 1 root root 17 Jul 31 16:55 weixin -> /root/weixin-v1.1
drwxr-xr-x. 2 root root 6 Jul 31 16:40 weixin-v1.0
drwxr-xr-x. 2 root root 6 Jul 31 16:43 weixin-v1.1
weixin回退至低版本
[root@oldboy ~]# rm -f weixin && ln -s /root/weixin-v1.0/ /root/weixin
[root@oldboy ~]# ll
lrwxrwxrwx. 1 root root 18 Jul 31 16:59 weixin -> /root/weixin-v1.0/
drwxr-xr-x. 2 root root 6 Jul 31 16:40 weixin-v1.0
drwxr-xr-x. 2 root root 6 Jul 31 16:43 weixin-v1.1
[root@oldboy ~]#
2).代码的升级 回退
3).常用于不方便移动的目录
2.硬链接
硬链接的创建命令:ln ——— 一般应用于文件不能用于目录
示例:
[root@oldboy ~]# ln /root/wenjian.txt /root/wenjian1-back
[root@oldboy ~]# ll
-rw-r--r--. 2 root root 0 Jul 31 17:09 wenjian1-back
-rw-r--r--. 2 root root 0 Jul 31 17:09 wenjian.txt
3.软链接和硬链接的区别
1)硬链接用 ln 命令创建;不能对目录硬链接;硬链接不可以跨越分区系统链接;硬链接的文件和源文件inode(索引)相同;对硬链接的文件和源文件删除,删除其中一个,对另一个无影响。
硬链接就像对Windows的中的一个文件复制一个副本,两个内容一样,删除其中一个对另一个没有影响。
2)软链接用 ln -s命令创建;对目录进行软链接;软链接可以跨越分区系统链接;软链接文件与源文件inode不同;删除链接文件的源文件会导致软链接失效;删除链接文件对源文件无影响。
软链接就像对Windows中一个盘(C\: D\: E\:)下的一个软件在桌面建立快捷方式一样,
删除快捷方式对盘下的软件无影响,但删除盘下的软件,快捷方式将会失效。
五、命令执行流程[扩展了解]
- 判断命令是否通过绝对路径执行
- 判断命令是否存在alias别名
- 判断用户输入的是内置命令还是外置命令
- Bash内部命令直接执行,外部命令检测是否存在缓存
- 通过$PATH变量查找命令,有执行,无报错 command not found
总结
- 通过老师对昨天练习题的讲解,发现自己还有很多的不足之处,应该勤加练习使用命令的组合,怎样应用管道实现多命令的组合应用。
- 对于今天所学,需要我们掌握的不是很多,今天主要学了三个命令:file 、ln -s 、ln 。文件的属性:列出一个文件时,我们怎人去看这个文件的信息(如文件的权限,创建的时间日期,文件的名称,文件在哪个目录下面等),通常我们怎样使用软链接(主要用于链接目录),怎样使用软链接进行对软件的升级,出现问题时如何快速的回退到久版本等。