运行ls-al命令,理解各字段含义。
时间: 2023-05-22 08:00:59 浏览: 662
ls -al 命令是用于列出当前目录下所有文件和子目录的详细信息,其中各字段的含义如下:
- 第一列:文件类型和权限,其中第一个字符表示文件类型,d 表示目录,- 表示普通文件,l 表示符号链接,等等。接下来的九个字符表示文件的权限,分别为三组,每组三个字符,分别表示文件所有者、文件所属组和其他用户对该文件的读、写、执行权限。
- 第二列:硬链接数,表示该文件的硬链接数量。
- 第三列:文件所有者的用户名。
- 第四列:文件所属组的组名。
- 第五列:文件大小,以字节为单位。
- 第六列:文件的修改时间。
- 第七列:文件名或目录名。
相关问题
写一篇关于Linux原理与应用的上机实验报告。实验题目是Linux常用命令操作。实验步骤为:1. 浏览文件系统 (1) 运行pwd命令,确定当前工作目录。 (2) 分别运行ls,ls –a,ls –l,ls -al 命令,观察有什么不同。 (3) 运行ls –al命令,理解各字段含义。 (4) 使用cd命令,将工作目录改到根(/)上,运行ls –l命令,了解各目录的作用。 (5) 直接使用cd,观察回到哪个目录中,使用pwd验证。 (6) 用mkdir建立一个子目录subdir。 (7) 将工作目录改到subdir。 2. 文件操作: (1) 验证当前工作目录在subdir。 (2) 运行date > file1,然后运行cat file1,看到什么信息? (3) 运行cat subdir,会有什么结果?为什么? (4) 利用man命令显示date命令的使用说明。 (5) 运行man date >> file1,观察结果;运行cat file1,观察结果。 (6) 运行cp file1 file2,然后ls –l,观察变化;运行mv file2 file3,然后ls –l,观察变化;运行cat f*,观察结果。 (7) 运行rm file3,然后ls –l,观察变化
实验报告:Linux常用命令操作
一、浏览文件系统
1. 运行pwd命令,确定当前工作目录。
在终端中输入pwd,输出当前工作目录为/home/student。
2. 分别运行ls,ls –a,ls –l,ls -al 命令,观察有什么不同。
- ls命令:列出当前工作目录下的所有文件和目录,只显示文件名,不显示文件的详细信息。
- ls -a命令:列出当前工作目录下的所有文件和目录,包括以.打头的隐藏文件。
- ls -l命令:列出当前工作目录下的所有文件和目录,显示文件的详细信息,包括文件类型、权限、所有者、所在组、大小、创建时间等。
- ls -al命令:列出当前工作目录下的所有文件和目录,包括以.打头的隐藏文件,并显示文件的详细信息。
3. 运行ls –al命令,理解各字段含义。
以-rw-r--r-- 1 student student 0 Oct 19 19:33 file1为例,各字段含义如下:
- 第1个字符:文件类型,-表示普通文件,d表示目录,l表示链接文件等。
- 后面9个字符:文件权限,分为3组,每组3个字符,按顺序表示所有者、所在组、其他用户的权限。r表示可读,w表示可写,x表示可执行,-表示无权限。
- 第1个数字:硬链接数。
- 第2个字段:所有者的用户名。
- 第3个字段:所在组的组名。
- 第4个字段:文件大小,单位为字节。
- 第5个字段:文件的创建时间或修改时间。
- 最后一个字段:文件名或目录名。
4. 使用cd命令,将工作目录改到根(/)上,运行ls –l命令,了解各目录的作用。
在终端中输入cd /,将工作目录切换到根目录下,然后运行ls -l命令,列出根目录下的所有文件和目录。其中,常见目录的作用如下:
- bin目录:用于存放系统命令和可执行文件。
- boot目录:用于存放启动系统时所需的文件。
- dev目录:用于存放设备文件。
- etc目录:用于存放系统配置文件。
- home目录:用于存放用户家目录。
- lib目录:用于存放系统库文件。
- media目录:用于挂载可移动存储设备。
- mnt目录:用于挂载其他文件系统。
- opt目录:用于存放第三方应用程序。
- proc目录:虚拟文件系统,用于显示系统运行状态。
- root目录:root用户的家目录。
- run目录:用于存放程序运行时产生的临时文件。
- sbin目录:用于存放系统管理员的命令。
- srv目录:用于存放服务相关的文件。
- sys目录:虚拟文件系统,用于显示系统硬件信息。
- tmp目录:用于存放临时文件。
- usr目录:用于存放用户级应用程序和文件。
- var目录:用于存放系统运行时产生的变化数据。
5. 直接使用cd,观察回到哪个目录中,使用pwd验证。
在终端中直接输入cd,回到用户家目录/home/student中。使用pwd命令验证,输出/home/student。
6. 用mkdir建立一个子目录subdir。
在终端中输入mkdir subdir,创建一个名为subdir的子目录。
7. 将工作目录改到subdir。
在终端中输入cd subdir,将工作目录切换到subdir目录下。
二、文件操作
1. 验证当前工作目录在subdir。
在终端中输入pwd,输出当前工作目录为/home/student/subdir。
2. 运行date > file1,然后运行cat file1,看到什么信息?
在终端中输入date > file1,将当前日期和时间写入文件file1中。然后运行cat file1命令,输出当前日期和时间。
3. 运行cat subdir,会有什么结果?为什么?
在终端中输入cat subdir,会提示subdir是一个目录,无法输出其内容。
4. 利用man命令显示date命令的使用说明。
在终端中输入man date,显示date命令的使用说明。可以查看命令的参数和用法。
5. 运行man date >> file1,观察结果;运行cat file1,观察结果。
在终端中输入man date >> file1,将date命令的使用说明追加到文件file1中。然后运行cat file1命令,输出当前日期和时间及date命令的使用说明。
6. 运行cp file1 file2,然后ls –l,观察变化;运行mv file2 file3,然后ls –l,观察变化;运行cat f*,观察结果。
- 运行cp file1 file2命令,将file1复制成file2。然后运行ls -l命令,可以看到file2的文件权限和文件大小与file1相同,且硬链接数加1。
- 运行mv file2 file3命令,将file2重命名为file3。然后运行ls -l命令,可以看到file3的文件权限和文件大小与file2相同,且硬链接数仍为1。
- 运行cat f*命令,输出file1的内容。
7. 运行rm file3,然后ls –l,观察变化。
运行rm file3命令,删除文件file3。然后运行ls -l命令,可以看到file3不再存在,硬链接数减1。
按年份统计输出ls -al命令下文件和目录的总大小
可以使用 ls 命令结合 awk 命令来按年份统计输出文件和目录的总大小,命令如下:
```
ls -al | awk 'BEGIN {year = ""} {if ($8 ~ /^[0-9]{4}$/) {year = $8} sum[year] += $5} END {for (y in sum) {print y, sum[y]/1024/1024 "MB"}}'
```
其中,ls -al 命令用于列出当前目录下所有文件和目录的详细信息;$8 表示第八个字段,即文件或目录的年份;$5 表示第五个字段,即文件或目录的大小;$8 ~ /^[0-9]{4}$/ 表示判断第八个字段是否为四位数字,如果是,则认为该行记录是文件或目录的信息,记录该行信息所属的年份;sum[year] += $5 表示将该行记录所属年份的大小累加到数组 sum 中;END 为 awk 提供的特殊模式,表示在处理完整个文件后执行的操作;for(y in sum) 表示遍历数组 sum,y 为数组元素的键值,即年份;sum[y]/1024/1024 "MB" 表示将该年份下的文件和目录总大小从字节转换成 MB,并输出。
阅读全文