还在为文件权限挠头?先搞懂liux文件类型有哪些!
ls -l
时的懵圈吗?满屏的drwxr-xr-x
、-rw-r--r--
就像天书,特别是行首那个神秘字符!今天我们就来掰扯清楚这些符号背后的**核心问题:Linux文件类型有哪些**,这绝对是玩转Liux的必修课!ls -l
时行首的第一个字符就是文件类型标识。我们来个实战演示:$ touch regular.txt
$ mkdir test_dir
$ ln -s regular.txt soft_link
$ ls -l
-rw-r--r-- 1 user user 0 Jul 18 regular.txt # '-'开头
drwxr-xr-x 2 user user 4096 Jul 18 test_dir # 'd'开头
lrwxrwxrwx 1 user user 11 Jul 18 soft_link -> regular.txt # 'l'开头
-
表示。无论文本、图片还是二进制程序,本质上都是普通文件。vim
这类专业工具,比Windows记事本更安全可靠,避免编码错误。touch
(它创建普通文件),要用mkdir
命令:$ mkdir project_docs && ls -ld project_docs
drwxr-xr-x 2 user user 4096 Jul 18 project_docs
rm -r
而非单纯rm
,避免误删系统目录引发事故!ln -s
创建:$ ln -s /var/log/syslog syslog_link
-I/path/to/link
指定头文件路径,比绝对路径灵活多了!$ ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 Jul 18 /dev/sda1
dd if=/dev/sda
)风险极高!务必先umount
,数据无价!$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Jul 18 /dev/ttyS0
mkfifo
创建:$ mkfifo my_pipe
$ echo "Hello" > my_pipe & # 后台写入
$ cat < my_pipe # 读取
Hello
$ ls -l /var/run/mysqld/mysqld.sock
srwxrwxrwx 1 mysql mysql 0 Jul 18 mysqld.sock
ls -l
的首字符,还有这些神技能:file 文件名
:文件侦查兵!自动解析文件类型:
$ file /bin/bash
/bin/bash: ELF 64-bit LSB executable, x86-64...
stat 文件名
:获取文件元数据全信息$ find /home -type l | wc -l # 统计/home下的软链接数量
-type
参数支持的正是我们讨论的文件类型标识符(f/d/l/b/c/p/s)文件类型 | 参数 | 应用场景 |
---|---|---|
普通文件 | -type f | 批量修改文本编码 |
目录 | -type d | 清理空目录 |
软链接 | -type l | 检查失效链接 |
ls -l
的输出是不是清晰多了?最后划重点:ls -l
看类型,file
查细节,find -type
精准定位ls -l /dev
,看看能认出几种文件类型吧!遇到奇葩问题欢迎留言,咱们一起拆解~