简介
在这个项目中,你将学习如何创建一个自定义的 ls
命令,以用户友好的格式显示目录大小。这个项目将帮助你理解如何使用 Zsh 脚本在 Linux 环境中检索和格式化文件信息。
👀 预览
$ cd /home/labex
$ sh newls.sh /home/labex
## 示例
drwxr-xr-x 1 labex 6B Oct 13 10:11 Code
drwxr-xr-x 1 labex 120B Oct 13 10:11 Desktop
drwxr-xr-x 1 labex 28B Sep 23 2021 golang
drwxr-xr-x 1 labex 22B Oct 23 10:17 project
🎯 任务
在这个项目中,你将学习:
- 如何创建一个 Zsh 脚本来显示文件和目录信息
- 如何格式化文件大小以提高可读性
- 如何确定文件修改时间的合适日期格式
- 如何以与
ls -lh
命令相同的格式输出文件信息
🏆 成果
完成这个项目后,你将能够:
- 编写一个 Zsh 脚本,该脚本可以显示指定目录中文件和目录的大小
- 格式化文件大小信息以提高可读性
- 根据当前年份和文件的最后修改时间确定文件修改时间的合适日期格式
- 以与
ls -lh
命令匹配的用户友好格式输出文件信息
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
linux(("`Linux`")) -.-> linux/BasicSystemCommandsGroup(["`Basic System Commands`"])
linux(("`Linux`")) -.-> linux/BasicFileOperationsGroup(["`Basic File Operations`"])
linux(("`Linux`")) -.-> linux/FileandDirectoryManagementGroup(["`File and Directory Management`"])
linux(("`Linux`")) -.-> linux/TextProcessingGroup(["`Text Processing`"])
linux(("`Linux`")) -.-> linux/SystemInformationandMonitoringGroup(["`System Information and Monitoring`"])
linux/BasicSystemCommandsGroup -.-> linux/echo("`Text Display`")
linux/BasicFileOperationsGroup -.-> linux/ls("`Content Listing`")
linux/FileandDirectoryManagementGroup -.-> linux/cd("`Directory Changing`")
linux/TextProcessingGroup -.-> linux/awk("`Text Processing`")
linux/SystemInformationandMonitoringGroup -.-> linux/date("`Date/Time Displaying`")
subgraph Lab Skills
linux/echo -.-> lab-301467{{"`定制 Linux 文件列表`"}}
linux/ls -.-> lab-301467{{"`定制 Linux 文件列表`"}}
linux/cd -.-> lab-301467{{"`定制 Linux 文件列表`"}}
linux/awk -.-> lab-301467{{"`定制 Linux 文件列表`"}}
linux/date -.-> lab-301467{{"`定制 Linux 文件列表`"}}
end