ls命令设计思想

1 作用

list segment:列出文件块

list directory contents:列举目录内容

2 用法

ls [[email protected]] [file ...]

3 参数

[email protected]

-A  列举(.和..)外的文件和目录。

-a  列举所有的文件和目录。

-B  强制打印非打印字符(换行、制表、空格)。

-b  使用c转义码打印非打印字符。

-C  多列输出。默认参数。

-c  显示使用时间(而不是创建时间)。与-t和-l参数同时使用时生效。

-d  目录会被视为普通的文件(不会递归搜索目录)。显示目录的信息,而不是目录下的文件。

-e  

-F  在相应的文件后添加字符以示区别。目录/,可执行文件*,软链@,socket=,whiteout%,FIFO|。

-f  不排序。该参数会使-a生效。

-G  彩色输出。  

-g  兼容POSIX。

-H  使用软链的真实地址。不与-F,-d,-l同用。

-h  更适合人类阅读的方式。(主要是文件大小)。

-i  打印文件序列号。(inode number)。

-k  块大小的单位是k

-L  

-l  长格式输出。显示文件类型、权限、硬链接的数目、文件拥有者、文件所在的、大小、日期和文件名。

-m  列举文件名,用逗号连接。

-n  显示用户和组的编号。

-O

-o  长格式输出(-l),隐藏组。

-P  符号链接视为普通文件,显示符号链接信息,而不是它指向的文件或目录。使-H和-L参数失效。

-p  目录后添加/。

-q  强制用?代替non-graphic字符。默认参数。

-l  递归显示子目录。

-r  输出反向排序。

-S  按文件大小排序。

-s  列出文件的块大小。

-T  

-t  按修改时间排序。

-U  与-t或-l一起使用时,按文件创建时间排序。

-u  与-t或-l一起使用时,按最后访问时间排序。

-v  non-graphic字符。非终端输出时的默认参数。

-W  显示whiteouts。

-w  non-printable字符。非终端输出时的默认参数。

-x

4 设计思想

设计ls命令时,需要考虑如下问题:

4.1 长格式

-l参数时,需要显示以下信息:

1 文件属性
2 子文件数
3 用户
4 组
5 文件大小
6 月
7 日
8 时间
9 文件名

4.2 文件属性

4.2.1 文件类型

1            b     Block special file.
2            c     Character special file.
3            d     Directory.
4            l     Symbolic link.
5            s     Socket link.
6            p     FIFO.
7            -     Regular file.

4.2.2 文件权限

1 r    readable
2 w    writable
3 -    not readable or not writable
4 S    有用户(组)的读(写)权限,无文件(目录)执行(搜索)权限,且set-user-ID(set-group-ID)已设置。
5 s    有用户(组)的读(写)权限,有文件(目录)执行(搜索)权限,且set-user-ID(set-group-ID)已设置。
6 x    文件可执行或目录可搜索。
7 -     无权限。
8 T     粘滞位(sticky),无文件(目录)执行(搜索)权限
9 t     粘滞位(sticky),有文件(目录)执行(搜索)权限

4.3 输出颜色

4.4 是否输出到终端

4.5 输出排序

4.6 non-printable和non-graphic

4.7 各参数的优先级及turn on(off)策略

时间: 2024-08-28 21:49:31

ls命令设计思想的相关文章

rm命令设计思想

1 作用 remove directory entries 删除目录条目 2 用法 rm [-dfiPRrvW] file ... unlink file 3 参数 -d 删除目录(不包括子目录). -f 强制删除,如文件(目录)不存在也不会返回错误状态. -i 递归删除.会删除子目录. -P 安全删除.删除前会用1,再用0,再用1写文件. -R 递归删除.包含-d参数.如果带上-i参数,删除文件(目录)前会询问,如果没有确认,会跳过该文件(目录). -r 等同-R. -v 打印删除记录. -W

模仿JavaAppArguments.java示例,编写一个程序,此程序从命令行接收多个数 字,求和之后输出结果,写出其的设计思想、程序流程图、源程序代码。

一 设计思想 首先现在file中建立一个类,并把任务名和类名写上(注意类名的大写):第二步则是参数的输入,并且定义求和变量:第三步则是对参数数据类型的要求,要把字符类型转化为整数类型并输出(这也是本道题的重点所在),当然这步要放在输入参数的for循环中:最后就是求和并输出参数的和. 二 程序流程图 三 源程序代码 public class JavaAppArguments { /** * @param args */ public static void main(String[] args)

Linux/Unix设计思想

Mike Gancarz 1.Unix开发基于Multics分时操作系统 2.NIH(Not invented here,非我发明) 3.GPL:GUN公共授权协议,适用于软件的法律协议.开源 4.Unix哲学: 1)小即是美:易理解.维护.低消耗系统资源.易于其他工具结合 2)让每一个程序制作好一件事 3)尽快建立原型(prototyping):"第三个系统"概念 4)舍高效而取可移植性 5)使用纯文本文件来存储数据:二进制严格禁止 6)充分利用软件的杠杆效应:借用代码模块;将一切自

Linux下ls命令显示符号链接权限为777的探索

Linux下ls命令显示符号链接权限为777的探索 --深入ls.链接.文件系统与权限 一.摘要 ls是Linux和Unix下最常使用的命令之一,主要用来列举目录下的文件信息,-l参数允许查看当前目录下所有可见文件的详细属性,包括文件属性.所有者.文件大小等信息.但是,当其显示符号链接的属性时,无论其指向文件属性如何,都会显示777,即任何人可读可写可执行.本文从ls命令源码出发,由浅入深地分析该现象的原因,简略探究了Linux 4.10下的符号链接链接.文件系统与权限的源码实现. 关键词:Li

Java多个数相加源代码流程图设计思想

一.设计思想: 1.理解题目要求,即  编写程序完成多个数字相加并输出结果,题目中的难点就是命令行的参数为字符串,需要经过转化变为数字后进行计算,通过查询互联网得到解决问题方法,用“*.nextInt()”函数即可解决此问题. 2.设计程序的结构,先申请动态空间,完成可输入多个数字的要求. 最后通过输入.计算.输出完成程序. 二.程序流程图 三.源代码 package sum; import java.util.Scanner; public class Text { public static

基于 CSP 的设计思想和 OOP 设计思想的异同

LinkerLin Go语言推崇的CSP编程模型和设计思想,并没有引起很多Go开发者包括Go标准库作者的重视.标准库的很多设计保留了很浓的OOP的味道.本篇Blog想比较下从设计的角度看,CSP和OOP到底有什么区别. 下面,我们来看一个例子,如果我们有一个项目,需要做一个TCP连接中继器(请原谅我的用词).我们先按照OOP来设计下: 系统的结构:需要有一个客户端和一个服务器端.分两个进程分别跑在不同机器上. 系统对象关系拆分(这里有所简化,E-R图等省略):连接中继器类--系统的主类.conf

掌握 Cinder 的设计思想 - 每天5分钟玩转 OpenStack(46)

上一节介绍了 Cinder 的架构,这节讨论 Cinder 个组件如何协同工作及其设计思想. 从 volume 创建流程看 cinder-* 子服务如何协同工作 对于 Cinder 学习来说,Volume 创建是一个非常好的场景,涉及各个 cinder-* 子服务,下面是流程图. 客户(可以是 OpenStack 最终用户,也可以是其他程序)向 API(cinder-api)发送请求:"帮我创建一个 volume" API 对请求做一些必要处理后,向 Messaging(RabbitM

Javascript设计思想!

# 从古代说起 要理解Javascript的设计思想,必须从它的诞生说起. 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版.这是历史上第一个比较成熟的网络浏览器,轰动一时.但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力.比如,如果网页上有一栏"用户名"要求填写,浏览器就无法判断访问者是否真的填写了,只有让服务器端判断.如果没有填写,服务器端就返回错误,要求用户重新填写,这太浪费时间和服务器资源了. ![netscape](images/ne

《深入理解Android内核设计思想》

<深入理解Android内核设计思想> 基本信息 作者: 林学森 出版社:人民邮电出版社 ISBN:9787115348418 上架时间:2014-4-25 出版日期:2014 年5月 开本:16开 页码:687 版次:1-1 所属分类:计算机 > 软件与程序设计 > 移动开发 > Android 更多关于>>><深入理解Android内核设计思想> 编辑推荐 基于Android SDK最新版本 全面细致地剖析了进程/线程模型.内存管理.Bind