sed -n 2p
-n 取消默认输出结果 2p 打印第二行
今天
使用ls -l 每一列干什么的
文件的类型,如何确定文件的类型
链接文件
扩展##命令的执行流程
文件属性
-rw-r--r--. 1 root root 672 Jul 30 15:48 1.txt
-rw-r--r--. 1 root root 56M Jul 30 15:45 access.log
-rw-------. 1 root root 1.4K Jul 24 12:04 anaconda-ks.cfg
-rw-r--r--. 1 root root 16 Jul 30 11:32 file1.txt
用户 用户组
-rw-r--r--. 1 root root 672 Jul 30 15:48 1.txt
-rw-r--r--. 1 root root 56M Jul 30 15:45 access.log
-rw-------. 1 root root 1.4K Jul 24 12:04 anaconda-ks.cfg
-rw-r--r--. 1 root root 16 Jul 30 11:32 file1.txt
第一列第一个字符- 文件的类型
rw-r--r-- 权限
1 这个文件被链接次数
root 用户
root 用户组(家庭)
672 文件的大小
jul 30 文件创建的日期
15:48 文件创建的时间
1.txt 文件名称
##PS:Linux系统中不区分文件后缀,后缀只是方便人们辨识
文件的类型
- 文件(文本文档、文件夹、图片、压缩包等)
s socket 套接字文件,本地进程与进程间的一种通信方式(mysql)
b 块设备 (硬盘、光盘、分区)
c 字符设备 提供用户的输入输出(接收用户输入系统的输出的)
l 链接文件
d 目录
file命令,精准查看文件类型
[root@oldboy ~]# file 1.txt rz.zip tt.jpeg access.log 333.xlsx anaconda-ks.cfg
1.txt: ASCII text
rz.zip: Zip archive data, at least v2.0 to extract
tt.jpeg: JPEG image data, JFIF standard 1.01
access.log: ASCII text, with very long lines
333.xlsx: Zip archive data, at least v1.0 to extract
anaconda-ks.cfg: ASCII text
[root@oldboy ~]# file 1.txt rz.zip tt.jpeg access.log anaconda-ks.cfg /etc/hosts /tmp /bin/ls /dev/sda /dev/tty1 /dev/log /etc/grub2.cfg
1.txt: ASCII text #- 文本文件
rz.zip: Zip archive data, at least v2.0 to extract #- 压缩包文件
tt.jpeg: JPEG image data, JFIF standard 1.01 #- JPEG文件
access.log: ASCII text, with very long lines #- 日志文件
anaconda-ks.cfg: ASCII text
/etc/hosts: ASCII text
/tmp: sticky directory #d 目录文件
/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
/dev/sda: block special #b 块设备
/dev/tty1: character special #c 字符设备文件
/dev/log: socket #s 套接字文件
/etc/grub2.cfg: symbolic link to `../boot/grub2/grub.cfg' #l 软链接文件
链接文件
软连接(类似快捷式)
将inode 指向源文件
ln -s 文件 目标位置(很少对文件做软链接)
软链接使用场景
1.软件升级、软件回退
[root@oldboy ~]# mkdir wc_v1
[root@oldboy ~]# ln -s /root/wc_v1 /root/wc
#升级
[root@oldboy ~]# mkdir wc_v2
[root@oldboy ~]# rm -f wc && ln -s ./wc_v2 ./wc
#回退
[root@oldboy ~]# rm -f wc && ln -s ./wc_v1 ./wc
2代码升级、秒级回退
3.不方便移动的目录
硬链接
不支持目录创建硬链接,不支持跨分区创建
ln 文件 目标位置
软链接和硬链接的区别
软链接类似一个快捷式,删除软链接不会影响源文件
硬链接类似一个副本,删除硬链接不影响源文件,删除源文件不会影响硬链接,但软链接也会没有
1)ln命令创建硬链接,ln -s命令创建软链接。
2)目录不能创建硬链接,并且硬链接不可以跨越分区系统。
3)目录软链接特别常用,并且软链接支持跨越分区系统。
4)硬链接文件与源文件的inode相同,软链接文件与源文件inode不 同。
5)删除软链接文件,对源文件及硬链接文件无任何影响。
6)删除文件的硬链接文件,对源文件及链接文件无任何影响。
7)删除链接文件的源文件,对硬链接无影响,会导致软链接失效。
8)删除源文件及其硬链接文件,整个文件会被真正的删除。
命令的执行流程
1) 判断命令是否通过绝对路径执行
2) 判断命令是否存在alias别名
3) 判断用户输入的是内置命令还是外置命令
4) Bash内部命令直接执行,外部命令检测是否存在缓存
5) 通过$PATH变量查找命令,有执行,无报错 command not found
绝对路径--> ailas --> hash缓存 --> $PATH变量别名 --> 有就执行 --> 没有 -报错 command not found
hash
-r 清除所有缓存
-d command 删除缓存的命令
ll -i 显示索引编号,indoe号