ls, dir, vdir - 列目录内容

ls [选项] [文件名...]

POSIX 标准选项: [-CFRacdilqrtu1]

GNU 选项 (短格式):

[-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w cols] [-T cols] [-I pattern] [--full-time] [--format={long,verbose,commas,across,vertical,single-column}] [--sort={none,time,size,extension}] [--time={atime,access,use,ctime,status}] [--color[={none,auto,always}]] [--help] [--version] [--]

描述( DESCRIPTION )

程序ls先列出非目录的文件项,然后是每一个目录中的

“可显示”文件。如果没有选项之外的参数【译注:即
文件名部分为空】出现,缺省为 "." (当前目录)。选
项“ -d
”使得目录与非目录项同样对待。除非“ -a ”
选项出现,文件名以“.”开始的文件不属“可显示”文
件。

以当前目录为准,每一组文件(包括非目录文件项,以及
每一内含文件的目录)分别按文件名比较顺序排序。如果
“ -l
”选项存在,每组文件前显示一摘要行——给出该
组文件长度之和(以 512 字节为单位)。

输出是到标准输出( stdout )。除非以“ -C ”选项要
求按多列输出,输出将是一行一个。然而,输出到终端时,

单列输出或多列输出是不确定的。可以分别用选项“ -1 ”
或“ -C ”来强制按单列或多列输出。

-C
多列输出,纵向排序。
-F
每个目录名加“ / ”后缀,每个 FIFO 名加“ | ”后缀,每个可运行名加“ * ”后缀。
-R
递归列出遇到的子目录。
-a
列出所有文件,包括以 "." 开头的隐含文件。
-c
使用“状态改变时间”代替“文件修改时间”为依据来排序(使用“ -t ”选项时)或列出(使用“ -l ”选项时)。
-d
将目录名象其它文件一样列出,而不是列出它们的内容。
-i
输出文件前先输出文件系列号(即 i 节点号— i-node number)。 -l 列出(以单列格式)文件模式( file mode
),文件的链接数,所有者名,组名,文件大小(以字节为单位),时间信息,及文件名。缺省时,时间信息显示最近修改时间;可以以选项“ -c ”和“ -u
”选择显示其它两种时间信息。对于设备文件,原先显示文件大小的区域通常显示的是主要和次要的号(majorand minor device numbers)。
-q
将文件名中的非打印字符输出为问号。(对于到终端的输出这是缺省的。)
-r
逆序排列。
-t
按时间信息排序。
-u
使用最近访问时间代替最近修改时间为依据来排序(使用 “ -t ”选项时)或列出(使用“ -l ”选项时)。
-1 单列输出。

GNU 细节

如果标准输出是终端,将多列输出(纵向排序)。

dir ( 也被安装为命令 d ) 等同于“ ls -C ”;即,文件
缺省是多列输出,纵向排序。vdir ( 也被安装为命令 v ) 等同于“ ls -l ”; 即,文件缺省是按长格式输出。

GNU 选项

-1, --format=single-column
一行输出一个文件(单列输出)。如标准输出不是到终端,此选项就是缺省选项。

-a, --all
列出目录中所有文件,包括以“.”开头的文件。
-b, --escape
把文件名中不可输出的字符用反斜杠加字符编号(就象在 C 语言里一样)的形式列出。
-c, --time=ctime, --time=status
按文件状态改变时间(i节点中的ctime)排序并输出目录内容。如采用长格式输出(选项“-l”),使用文件的状态改变时间取代文件修改时间。【译注:所谓文件状态改变(i节点中以ctime标志),既包括文件被修改,又包括文件属性(如所有者、组、链接数等等)的变化】

-d, --directory
将目录名象其它文件一样列出,而不是列出它们的内容。
-f
不排序目录内容;按它们在磁盘上存储的顺序列出。同时启动“ -a ”选项,如果在“ -f ”之前存在“ -l ”、“ - -color ”或“ -s
”,则禁止它们。
-g 忽略,为兼容UNIX用。
-i, --inode
在每个文件左边打印 i 节点号(也叫文件序列号和索引号— — file serial number and index
number)。i节点号在每个特定的文件系统中是唯一的。
-k, --kilobytes
如列出文件大小,则以千字节KB为单位。
-l, --format=long, --format=verbose
除每个文件名外,增加显示文件类型、权限、硬链接数、所有者名、组名、大小( byte
)、及时间信息(如未指明是其它时间即指修改时间)。对于6个月以上的文件或超出未来 1 小时的文件,时间信息中的时分将被年代取代。

每个目录列出前,有一行“总块数”显示目录下全部文件所占的磁盘空间。块默认是 1024 字节;如果设置了 POSIXLY_CORRECT
的环境变量,除非用“ -k ”选项,则默认块大小是 512 字节。每一个硬链接都计入总块数(因此可能重复计数),这无疑是个缺点。

列出的权限类似于以符号表示(文件)模式的规范。但是 ls
在每套权限的第三个字符中结合了多位( multiple bits )的信息,如下: s 如果设置了 setuid 位或 setgid
位,而且也设置了相应的可执行位。 S 如果设置了 setuid 位或 setgid 位,但是没有设置相应的可执行位。 t 如果设置了 sticky
位,而且也设置了相应的可执行位。 T 如果设置了 sticky 位,但是没有设置相应的可执行位。 x 如果仅仅设置了可执行位而非以上四种情况。 -
其它情况(即可执行位未设置)。
-m, --format=commas
水平列出文件,每行尽可能多,相互用逗号和一个空格分隔。
-n, --numeric-uid-gid
列出数字化的 UID 和 GID 而不是用户名和组名。
-o
以长格式列出目录内容,但是不显示组信息。等于使用“ --format=long --no-group ”选项。提供此选项是为了与其它版本的 ls 兼容。

-p
在每个文件名后附上一个字符以说明该文件的类型。类似“ -F ”选项但是不标示可执行文件。
-q, --hide-control-chars
用问号代替文件名中非打印的字符。这是缺省选项。
-r, --reverse
逆序排列目录内容。
-s, --size
在每个文件名左侧输出该文件的大小,以 1024 字节的块为单位。如果设置了 POSIXLY_CORRECT 的环境变量,除非用“ -k ”选项,块大小是
512 字节。
-t, --sort=time
按文件最近修改时间( i 节点中的 mtime )而不是按文件名字典序排序,新文件靠前。
-u, --time=atime, --time=access, --time=use
类似选项“ -t ”,但是用文件最近访问时间( i 节点中的 atime )取代文件修改时间。如果使用长格式列出,打印的时间是最近访问时间。
-w, --width cols
假定屏幕宽度是 cols ( cols 以实际数字取代)列。如未用此选项,缺省值是这样获得的:如可能先尝试取自终端驱动,否则尝试取自环境变量
COLUMNS (如果设置了的话),都不行则取 80 。
-x, --format=across, --format=horizontal
多列输出,横向排序。
-A, --almost-all
显示除 "." 和 ".." 外的所有文件。
-B, --ignore-backups
不输出以“ ~ ”结尾的备份文件,除非已经在命令行中给出。
-C, --format=vertical
多列输出,纵向排序。当标准输出是终端时这是缺省项。使用命令名 dir 和 d 时,则总是缺省的。
-D, --dired
当采用长格式(“ -l ”选项)输出时,在主要输出后,额外打印一行: //DIRED// BEG1 END1 BEG2 END2 ...
BEGn 和 ENDn 是无符号整数,记录每个文件名的起始、结束位置在输出中的位置(
字节偏移量)。这使得 Emacs 易于找到文件名,即使文件名包含空格或换行等非正常字符也无需特异的搜索。
如果目录是递归列出的(“ -R ”选项),每个子目录后列出类似一行:
//SUBDIRED// BEG1 END1 ... 【译注:我测试了 TurboLinux4.0 和 RedHat6.1 ,发现它们都是在 “
//DIRED// BEG1... ”之后列出“ //SUBDIRED// BEG1 ... ”,也即只有一个而不是在每个子目录后都有。而且“
//SUBDIRED// BEG1 ... ”列出的是各个子目录名的偏移。】
-F, --classify, --file-type
在每个文件名后附上一个字符以说明该文件的类型。“ * ”表示普通的可执行文件; “ / ”表示目录;“ @ ”表示符号链接;“ | ”表示FIFOs;“
= ”表示套接字 (sockets) ;什么也没有则表示普通文件。
-G, --no-group
以长格式列目录时不显示组信息。
-I, --ignorepattern
除非在命令行中给定,不要列出匹配 shell 文件名匹配式( pattern ,不是指一般表达式)的文件。在 shell 中,文件名以 "."
起始的不与在文件名匹配式 (pattern) 开头的通配符匹配。
-L, --dereference
列出符号链接指向的文件的信息,而不是符号链接本身。
-N, --literal
不要用引号引起文件名。
-Q, --quote-name
用双引号引起文件名,非打印字符以 C 语言的方法表示。
-R, --recursive
递归列出全部目录的内容。
-S, --sort=size
按文件大小而不是字典序排序目录内容,大文件靠前。
-T, --tabsize cols
假定每个制表符宽度是 cols 。缺省为 8。为求效率, ls 可能在输出中使用制表符。若 cols 为 0,则不使用制表符。
-U, --sort=none
不排序目录内容;按它们在磁盘上存储的顺序列出。(选项“ -U ”和“ -f
”的不同是前者不启动或禁止相关的选项。)这在列很大的目录时特别有用,因为不加排序能显著的加快速度。
-X, --sort=extension
按文件扩展名(由最后的 "." 之后的字符组成)的字典序排序。没有扩展名的先列出。
--color[=when]
指定是否使用颜色区别文件类别。环境变量 LS_COLORS 指定使用的颜色。如何设置这个变量见 dircolors(1) 。 when
可以被省略,或是以下几项之一:
none 不使用颜色,这是缺省项。
auto 仅当标准输出是终端时使用。 always 总是使用颜色。指定 --color 而且省略 when 时就等同于 --color=always 。

--full-time
列出完整的时间,而不是使用标准的缩写。格式如同 date(1) 的缺省格式;此格式是不能改变的,但是你可以用 cut(1)
取出其中的日期字串并将结果送至命令 “ date -d ”。
输出的时间包括秒是非常有用的。( Unix 文件系统储存文件的时间信息精确到秒,
因此这个选项已经给出了系统所知的全部信息。)例如,当你有一个 Makefile 文件不能恰当的生成文件时,这个选项会提供帮助。

GNU 标准选项

--help
打印用法信息到标准输出并顺利退出。
--version
打印版本信息到标准输出并顺利退出。
--
结束选项表。 

原文地址:https://www.cnblogs.com/fanweisheng/p/11089246.html

时间: 2024-11-02 19:30:38

ls, dir, vdir - 列目录内容的相关文章

linux命令之ls(list directory contents-->列出目录内容)

ls-->该命令为列出默认当前目录下的文件的相关信息,没有其他特别排序要求外,默认按字母升序排列 格式: ls [选项] [参数] 常用选项: -l长列表的格式列出指定目录下的文件或目录的元数据信息 -h以易读的方式显示 -d显示当前目录自己的元数据信息 -a显示包括隐藏文件(该文件常以点开头) 1 [[email protected] ~]$ ls -l 2 总用量 4 3 -rw-------. 1 root root 1241 5月 8 13:40 anaconda-ks.cfg 4 dr

9.JAVA之GUI编程列出指定目录内容

代码如下: /*列出指定目录内容*/ import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextArea; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAd

windows中用'ls'命令查看项目目录

经常切换于Windows与Linux之间的用户可能都面临一个问题——二者的一些命令是不同的,有时候很容易弄混了,比如Windows下列出目录中的文件与文件夹用命令“dir”,但是在Linux下却是用“ls”的. 解决这个问题在Linux下可以用“alias”建立别名来使用Windows下的命令,例如alias dir=‘ls’,然后你就可以使用dir来代替ls命令了. 但是在Windows下却没有发现有“alias”命令.不过我们可以通过一个非常简单批处理脚本来“建立别名”.脚本内容如下: @e

python3获取指定目录内容的详细信息

不同平台获取指定目录内容的详细信息命令各不相同: Linux中可以通过ls -al获取获取 windows中可以通过dir命令获取 下面是我写的一个通用获取目录内容详细信息的python3脚本: #!/usr/bin/env python3 # -*- coding: utf-8 -*- import os, time, sys from os.path import join, getsize def ListDir(dir_data): ''' :param dir_data: 指定获取内容

Linux 权限和目录更改、移除、更换目录、列出目录内容、使用通配符、移动、重命名

12 chgrp :改变档案.目录所属群组 chgrp -R dirname/filename chown :改变档案/目录拥有者 chown -R 账号名称  dirname/filename chmod :改变档案的权限, SUID, SGID, SBIT等等的特怅 13 权限 r:read :4 ,write:w:2,x:execute:1 更改权限是三个数字相加,没有权限则为0. chmod -R 档案或目录 users=u,group=g,others=o, 14 cp复制档案或目录

Linux系统下的Nginx的缓存设置、压缩配置和自动列目录配置

(本文内所有的centos系统命令均使用斜体加粗表示,以便各位阅读) 注意!本人使用的是Lnmp脚本模式安装的Nginx 1.8.0稳定版,如果是从官网下载的版本,nginx.conf的配置文件有些不同,但是骨架是一模一样的,不耽误阅读. 缓存设置 nginx的服务器缓存能力还是值得肯定的,服务器缓存的意思就是Web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存

C#-拷贝目录内容(文件和子目录)

/// <summary> /// 拷贝目录内容 /// </summary> /// <param name="source">源目录</param> /// <param name="destination">目的目录</param> /// <param name="copySubDirs">是否拷贝子目录</param> public stat

readdir_r()读取目录内容

readdir()在多线程操作中不安全,Linux提供了readdir_r()实现多线程读取目录内容操作. #include <stdio.h> #include <stdlib.h> #include <dirent.h> int main(void) { DIR* dirp; struct dirent *dp1=malloc(sizeof(struct dirent)); struct dirent *dp2=malloc(sizeof(struct dirent

递归读取目录内容

$path='E:/wamp/phplianxi/';$nested_list = readDirSNested($path, 0);echo '<pre>';var_dump($nested_list);/** * 递归读取目录内容 * @param string $path 需要读取的目录内容 * @return void */function readDirSNested($path) { $nested = array();//存储当前目录下所有内容 $handle = opendir