ls -l文件类型

Linux文件类型常见的有:普通文件(-)、目录(d)、字符设备文件(c)、块设备文件(b)、符号链接文件(l)等;需要注意的是,Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件)。


1 普通文件 

[root@localhost ~]# ls -lh install.log 
-rw-r--r-- 1 root root 53K 03-16 08:54 install.log

我们用 ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 - ,这样的文件在Linux中就是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具... .... 或 cp工具等。这类文件的删除方式是用rm 命令;


2 目录 

[root@localhost ~]# ls -lh 
总计 14M 
-rw-r--r-- 1 root root     2 03-27 02:00 fonts.scale 
-rw-r--r-- 1 root root   53K 03-16 08:54 install.log 
-rw-r--r-- 1 root root   14M 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm 
drwxr-xr-x 2 1000 users 4.0K 04-04 23:30 mkuml-2004.07.17 
drwxr-xr-x 2 root root  4.0K 04-19 10:53 mydir 
drwxr-xr-x 2 root root  4.0K 03-17 04:25 Public

当我们在某个目录下执行,看到有类似 drwxr-xr-x ,这样的文件就是目录,目录在Linux是一个比较特殊的文件。注意它的第一个字符是d。创建目录的命令可以用 mkdir 命令,或cp命令,cp可以把一个目录复制为另一个目录。删除用rm 或rmdir命令。


3 字符设备或块设备文件 

如时您进入/dev目录,列一下文件,会看到类似如下的;

[root@localhost ~]# ls -la /dev/tty 
crw-rw-rw- 1 root tty 5, 0 04-19 08:29 /dev/tty 
[root@localhost ~]# ls -la /dev/hda1 
brw-r----- 1 root disk 3, 1 2006-04-19 /dev/hda1

我们看到/dev/tty的属性是 crw-rw-rw- ,注意前面第一个字符是 c ,这表示字符设备文件。比如猫等串口设备

我们看到 /dev/hda1 的属性是 brw-r----- ,注意前面的第一个字符是b,这表示块设备,比如硬盘,光驱等设备;

这个种类的文件,是用mknode来创建,用rm来删除。目前在最新的Linux发行版本中,我们一般不用自己来创建设备文件。因为这些文件是和内核相关联的。


4 套接口文件 

当我们启动MySQL服务器时,会产生一个mysql.sock的文件。

[root@localhost ~]# ls -lh /var/lib/mysql/mysql.sock 
srwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock

注意这个文件的属性的第一个字符是 s。这个就是一般很少见到的socket文件类型


5 符号链接文件 

[root@localhost ~]# ls -lh setup.log 
lrwxrwxrwx 1 root root 11 04-19 11:18 setup.log -> install.log

当我们查看文件属性时,会看到有类似 lrwxrwxrwx,注意第一个字符是l,这类文件是链接文件。是通过ln -s 源文件名 新文件名 。上面是一个例子,表示setup.log是install.log的软链接文件。怎么理解呢?这和Windows操作系统中的快捷方式有点相似。

符号链接文件的创建方法举例;

[root@localhost ~]# ls -lh kernel-2.6.15-1.2025_FC5.i686.rpm 
-rw-r--r-- 1 root root 14M 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm

[root@localhost ~]# ln -s kernel-2.6.15-1.2025_FC5.i686.rpm  kernel.rpm 
[root@localhost ~]# ls -lh kernel* 
-rw-r--r-- 1 root root 14M 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm 
lrwxrwxrwx 1 root root  33 04-19 11:27 kernel.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm

### 使用 `ls -l` 显示文件详细信息 当使用 `ls -l` 命令时,会以长列表格式输出目录中的每个文件及其更多信息。这种格式提供了关于文件权限、链接数、所有者、组、大小以及最后修改时间等细节。 #### 输出字段解释: 1. **文件类型和权限**:首字符表示文件类型(如 `-` 表示常规文件,`d` 表示目录),后面9个字符分为三组,每组三个字符依次代表属主(user)、所属组(group)和其他人(others)对于该文件的操作权限[rwx]。 2. **硬链接数量**:即指向同一 inode 的不同路径名的数量。 3. **所有者的用户名**:指定了拥有此对象的用户账户名称。 4. **所属群组的名字**:定义了哪个群体可以访问这个项目。 5. **文件大小 (字节)**:显示的是实际占用磁盘空间的数据量单位为B。 6. **最近一次被修改的时间戳**:记录着最后一次更改内容的具体日期与时刻。 7. **文件或目录名字**:这是最终列出的实际条目名称[^1]。 为了更直观地理解这些概念,下面是一个具体的例子展示如何通过终端执行并解读其结果: ```bash $ ls -l /path/to/directory/ drwxr-xr-x 2 user group 4096 Jan 8 14:25 documents -rw-r-- 1 user group 224 Oct 15 10:32 example.txt lrwxrwxrwx 1 user group 7 Mar 4 12:00 shortcut -> target_file ``` 在这个实例中,“documents” 是一个具有读取(r),写入(w), 和进入(x) 权限给它的创建者的目录;而 "example.txt" 则是一般文本文件,只有创建者能够编辑它。“shortcut”则展示了软连接到另一个位置的目标文件的方式[^3]。 此外,在某些环境中颜色编码也可能帮助快速辨认不同类型的内容——比如蓝色通常用来标记目录,绿色加星号(*)可能意味着可执行脚本或程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值