# ll - 用于显示指定工作目录下之内容

Linux ls(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。可参考ls命令

ll不是命令,是ls -l的别名。

ll 命令列出的信息更加详细,有时间,是否可读写等信息。

ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls -l只列出显式文件,说明这两个命令还是不等同的!

Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是很方便。

如果要使用此命令,可以作如下修改:

  • 打开~/.bashrc
  • 找到 #alias ll=’ls -l’,去掉前面的#就可以了。(关闭原来的终端才能使命令生效)

这样个人用户可以使用ll命令,当切换成超级用户后,使用ll命令时提示找不到命令,那是因为你只是修改了个人用户的配置,所以,切换成root后做相同的操作即可解决问题。

启示:我们可以通过修改~/.bashrc添加任何其他的命令别名。

# 适用范围

RedHat
RHEL
Ubuntu
CentOS
Debian
Deepin
SUSE
openSUSE
Fedora
Linux Mint
Alpine Linux
Arch Linux

# 语法

ll [options]

# 选项

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-i 输出文件的 i 节点的索引信息。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每个文件名后附上一个字符以说明该文件的类型,
      - “*”表示可执行的普通文件;
      - “/”表示目录;
      - “@”表示符号链接;
      - “|”表示FIFOs;
      - “=”表示套接字(sockets)。
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-A 显示除 “.”和“..”外的所有文件。
-B 不输出以 “~”结尾的备份文件。
-L 列出链接文件名而不是链接到的文件。
-N 不限制文件长度。
-Q 把输出的文件名用双引号括起来。
-R 列出所有子目录下的文件。
-S 以文件大小排序。
-X 以文件的扩展名(最后一个 . 后的字符)排序。
-1 一行只输出一个文件。
--color=no 不显示彩色文件名

--help 在标准输出上显示帮助信息。
--version 在标准输出上输出版本信息并退出。

# 举例

[sogrey@localhost 文档]$ ll
总用量 16
drwx------  3 sogrey sogrey 4096 715 00:09 baidu
-rwxr-xr-x. 1 sogrey sogrey   74 1219 2020 demo.sh
-rw-------. 1 sogrey sogrey  283 1216 2020 demo.txt
-rw-------. 1 sogrey sogrey   39 1217 2020 test.js
[sogrey@localhost 文档]$ 
  • 第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。

    这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。 第一个字母表示文件类型,

    • ”-”,普通文件.
    • ”d”目录,字母”d”,是dirtectory(目录)的缩写.
    • “l”符号链接。请注意,一个目录或者说一个文件夹是一个特殊文件,这个特殊文件存放的是其他文件和文件夹的相关信息.
    • “b”块设备文件。
    • “c”字符设备文件。

    紧接着的3*3个字符分3组,各指示此文件的读、写、执行权限,对于owner、group、others而言。 因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):

       rwx(Owner)r-x(Group)r-x(Other)     
    

    这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。 另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。

  • 第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。

  • 第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。

  • 第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。

  • 第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。

  • 第六个栏位,表示最后一次修改时间。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。

  • 第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。

修改文件权限用,chmod命令

常用的linux文件权限:

444 r--r--r--
600 rw-------
644 rw-r--r--
666 rw-rw-rw-
700 rwx------
744 rwxr--r--
755 rwxr-xr-x
777 rwxrwxrwx

从左至右,1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限。

而具体的权限是由数字来表示的,读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示;

通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)


只列出子目录

ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)

计算当前目录下的文件数和目录数

下面命令可以分别计算当前目录下的文件和目录个数:

ls -l * |grep "^-"|wc -l ---- to count files
ls -l * |grep "^d"|wc -l ----- to count dir

显示彩色目录列表

打开/etc/bashrc, 加入如下一行:

alias ls="ls --color"