一天一命令-ls

一天一命令-ls

系统软硬件环境平台:

VMware Workstation Pro 12.5.5 build-5234757

CentOS Linux release 7.3.1611

软件版本:ls (GNU coreutils) 8.22

测试时间:2017年5月26日

ls - list directory contents,显示目录中的文件列表

一、ls基本信息

#ls --version
ls (GNU coreutils) 8.22
#type -a ls
ls is aliased to ‘ls -p --color=auto‘
ls is /usr/bin/ls
#alias | grep ls
alias cls=‘clear‘
alias ls=‘ls -p --color=auto‘
alias lsl=‘ls -l --color=auto‘
alias l.=‘ls -dp .* --color=auto‘
alias l.l=‘ls -dl .* --color=auto‘
alias la=‘ls -ap --color=auto‘
alias ll=‘ls -al --color=auto‘
#which -a ls
alias ls=‘ls -p --color=auto‘
        /usr/bin/ls
#whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
#whatis ls
ls (1)               - list directory contents
ls (1p)              - list directory contents
#/usr/bin/ls  输入原始路径,执行原始ls命令,无颜色
#\ls  转义,功能同上

二、ls命令格式和选项

ls [OPTION]... [FILE]...
-a  显示隐藏文件
-A  显示隐藏文件,但不包含./和../
-d  显示目录本身属性而非目录下的内容
-g  只显示group
-h  显示大小格式为K,M,G
-i  显示inode值
-I  忽略一个指定文件或目录,注意目录后面不要加/,文件名和目录名必须完全匹配,不能使用通配符
-l  以长格式显示额外信息
-m  以逗号(,)为分隔符显示
-n  以数字显示uid和gid
-o  只显示owner
-p  在目录后显示斜杠/
-Q  将列出的每个文件都用("")来引用显示
-r  反转显示(默认排序为按文件名从0-9,a-z)
-R  递归显示
-S  按文件大小排序,默认从大到小
-t  按mtime排序,从新到旧
-u  按atime从新到旧排序,配合-t选项显示
-U  按目录存放顺序显示
-x  文件以行显示,默认为列显示,主要是排序不同
-X  按文件后缀排序
-1  文件显示为1列

三、操作对象

后边可以跟单个或多个文件或目录,也可以两者混合

四、补充:

4.1文件通配符

*  匹配零个或多个字符

?  匹配任何单个字符

~  当前用户家目录

~usera  用户usera家目录

~+  当前工作目录

~-  前一个工作目录

[0-9]匹配数字范围

[a-z]字母,非小写

[A-Z]字母,非大写

[wang]匹配列表中的任何一个字符

[^wang]匹配列表中的所有字符以外的字符

4.2预定义的字符类 man 7 glob查看

[:digit:]  任意数字相当于0-9

[:lower:]  任意小写字母

[:upper:]  任意大写字母

[:alpha:]  任意大小写字母

[:alnum:]  任意数字或字母

[:blank:]  水平空白字符

[:space:]  水平或垂直空白字符

[:punct:]  标点符号

[:print:]  可打印字符

[:cntrl:]  控制(非打印)字符

[:graph:]  图形字符

[:xdigit:] 十六进制字符

五、案例:

#ls --version
ls (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Richard M. Stallman and David MacKenzie.

#ll /etc/chrony.keys
-rw-r-----. 1 root chrony 9 Nov 15  2016 /etc/chrony.keys
#ls -g /etc/chrony.keys
-rw-r-----. 1 chrony 9 Nov 15  2016 /etc/chrony.keys
#ls -o /etc/chrony.keys
-rw-r-----. 1 root 9 Nov 15  2016 /etc/chrony.keys

#touch a,b,c
#ls
2017-04-26.log  aaaaa  abc.tar.gz       a.py   b.txt  history.log  passwd
a/              abc    a.html           a.txt  f5     info.log     sum.sh
a.              a,b,c  anaconda-ks.cfg  a.zip  f汉    pass
#ls -m
2017-04-26.log, a/, a., aaaaa, abc, a,b,c, abc.tar.gz, a.html, anaconda-ks.cfg, a.py, a.txt,
a.zip, b.txt, f5, f汉, history.log, info.log, pass, passwd, sum.sh

#ls -Q
"2017-04-26.log"  "aaaaa"  "abc.tar.gz"       "a.py"   "b.txt"  "history.log"  "passwd"
"a"/              "abc"    "a.html"           "a.txt"  "f5"     "info.log"     "sum.sh"
"a."              "a,b,c"  "anaconda-ks.cfg"  "a.zip"  "f汉"    "pass"

#ls -n
total 68
-rw-r--r--. 1    0 0     0 May 26 17:52 1
-rw-r--r--. 1    0 0     0 May 26 18:06 1.a
-rw-r--r--. 1    0 0     0 May 26 17:52 2
-rw-r--r--. 1    0 0     0 Apr 26 17:29 2017-04-26.log
-rw-r--r--. 1    0 0     0 May 26 17:52 88
-rw-r--r--. 1    0 0     0 May 26 18:06 9.z
drwxr-xr-x. 3    0 0    15 Apr 27 18:26 a/
-rw-r--r--. 1    0 0     0 May 26 16:46 a.
lrwxrwxrwx. 1    0 0     5 May 26 17:09 aaaaa -> a.txt
-rwxr-xr-x. 1 1000 0     0 May 26 19:05 abc

#ls -R
.:
2017-04-26.log  aaaaa  abc.tar.gz       a.py   b.txt  history.log  passwd
a/              abc    a.html           a.txt  f5     info.log     sum.sh
a.              a,b,c  anaconda-ks.cfg  a.zip  f汉    pass
./a:
b/
./a/b:
c/
./a/b/c:
f2  f22  f3

#ll -S
total 76
-rw-r--r--.  1 root  root 20819 May 17 00:03 info.log
-rw-------.  1 root  root 11449 Apr 26 17:48 history.log
drwxr-xr-x.  7 root  root  4096 May 26 19:18 ./
dr-xr-x---. 21 root  root  4096 May 26 11:06 ../
-rw-r--r--.  1 root  root  2235 Feb 20 09:04 passwd
-rw-------.  1 root  root  1940 Feb 20 08:37 anaconda-ks.cfg
-rwxr-xr-x.  1 root  root   167 May 26 11:06 sum.sh
-rwxr-xr-x.  1 root  root   142 Apr 26 16:22 a.py
drwxr-xr-x.  3 root  root    15 Apr 27 18:26 a/
-rw-r--r--.  2 root  root     7 May 26 16:46 a.txt
-rw-r--r--.  2 root  root     7 May 26 16:46 b.txt
drwxr-xr-x.  2 root  root     6 May 26 19:18 .aabb/
lrwxrwxrwx.  1 root  root     5 May 26 17:09 aaaaa -> a.txt
-rw-r--r--.  1 root  root     0 May 26 17:52 2

#ls  //默认为列显示,排序为自上而下
1               2.b  9.z    abc         anaconda-ks.cfg  b/     f5           pass
1.a             3    a/     a,b,c       a.py             b.txt  f汉          passwd
2               3.c  a.     abc.tar.gz  a.txt            c/     history.log  sum.sh
2017-04-26.log  88   aaaaa  a.html      a.zip            dd/    info.log
#ls -x  //以行显示,排序为从左往右
1                1.a   2            2017-04-26.log  2.b   3       3.c         88
9.z              a/    a.           aaaaa           abc   a,b,c   abc.tar.gz  a.html
anaconda-ks.cfg  a.py  a.txt        a.zip           b/    b.txt   c/          dd/
f5               f汉   history.log  info.log        pass  passwd  sum.sh

5.1通配符练习:

touch f{1..5} fa fcd
ls f*
ls f?
touch f汉   //注意汉字也属于一个字符
ls f?
touch ff.txt
ls f?????   //后缀也属于字符长度
ll fa    //不带路径,即当前路径
ll ./fa  //显示为相对路径
ll ~+/fa   //显示为绝对路径
ll f[1-3]  //或者[1,2,3]
ll f[135]  //或者[1,3,5]
touch f{a..f}
touch f{A..F}
ll f[a-c]  //匹配a,A,b,B,c
ll f[a-C]  //匹配a,A,b,B,c,C
ll f[A-C]  //匹配A,b,B,c,C
ll f[ACdf]  //匹配A,C,d,f
ll f[^a-d]  //匹配除了a,A,b,B,c,C,d
ll f[[:lower:]]  匹配小写字母a,b,c,d...
ll f[[:upper:]]  匹配大写字母A,B,C,D...
ls -d /etc/*.d  显示/etc下的所有以.d结尾的文件和目录
ls -d .*/  显示目录下的隐藏目录,包括.和..
ls -d */  显示目录下的非隐藏目录

#ll [[:digit:]]
-rw-r--r--. 1 root root 0 May 26 17:52 1
-rw-r--r--. 1 root root 0 May 26 17:52 2
-rw-r--r--. 1 root root 0 May 26 17:52 3
#ll [[:digit:]]*
-rw-r--r--. 1 root root 0 May 26 17:52 1
-rw-r--r--. 1 root root 0 May 26 18:06 1.a
-rw-r--r--. 1 root root 0 May 26 17:52 2
-rw-r--r--. 1 root root 0 Apr 26 17:29 2017-04-26.log
-rw-r--r--. 1 root root 0 May 26 18:06 2.b
-rw-r--r--. 1 root root 0 May 26 17:52 3
-rw-r--r--. 1 root root 0 May 26 18:06 3.c
-rw-r--r--. 1 root root 0 May 26 17:52 88
-rw-r--r--. 1 root root 0 May 26 18:06 9.z
#ll [[:digit:]].*
-rw-r--r--. 1 root root 0 May 26 18:06 1.a
-rw-r--r--. 1 root root 0 May 26 18:06 2.b
-rw-r--r--. 1 root root 0 May 26 18:06 3.c
-rw-r--r--. 1 root root 0 May 26 18:06 9.z
#ls f*
f1  f2  f23  f3  f4  f4422  f5  f汉
#ls f?
f1  f2  f3  f4  f5  f汉
#ls f??
f23

此文章为个人学习总结,如有任何问题,可发送邮件至[email protected],互相交流。

时间: 2024-10-28 22:46:40

一天一命令-ls的相关文章

一天一命令-命令帮助

一天一命令-命令帮助 如何系统的学习一个bash命令: 需求,了解命令的格式,选项,帮助手册,案例,练习,拓展. 想要达到什么效果,有没有这样的命令,命令的格式和使用方法,有什么其他的选项,系统中的完整的帮助手册,常用的选项和案例有哪些,拓展的命令使用方法. 5w1h方法:what,why,when,where,who,how 1.程序自身的帮助文档:/usr/share/doc/cmd-version 2.发行版官方文档:http://www.redhat.com/docs 3.Google

一天一命令-history

一天一命令-history 系统软硬件环境平台: VMware Workstation Pro 12.5.5 build-5234757 CentOS Linux release 7.3.1611 软件版本:bash --version GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu) 测试时间:2017年5月29日 history-Display or manipulate the history list.(显示或者处

一天一命令-screen

一天一命令-screen screen 多终端窗口管理器,可以通过该软件同时连接多个本地或远程会话,并自由切换 Use: screen [ -options ] [ cmd [ args ] ] screen -r [[pid.]tty[.host]] screen -r sessionowner/[[pid.]tty[.host]] -A 将所有的窗口都调整为目前终端机的大小 -c file 读取指定配置文件 -d 剥离别处正在运行的会话 -D 剥离并退出远程会话 -h 设置回滚的命令历史大小

一天一命令-xargs

一天一命令-xargs xargs 传递标准输入作为下一个命令的参数或者重新格式化并输出 xargs默认命令是echo,默认分隔符是空格.xargs可以将输入文本转换为单行或多行显示,即指定每行显示的个数. Usage: xargs [OPTION]... COMMAND INITIAL-ARGS... -0 显示为一列,默认显示为一行,以空格为分隔符 -a file 从文件读取数据而非标准输入 -d 指定分隔符 -l num 指定每行显示的参数个数 -n num 指定以空格为分隔符显示每行的参

LInux学习之常用命令ls

命令格式与目录处理命令ls 命令格式:  命令[-选项][参数] 例如:  ls -la /etc 说明: 1)个别命令使用不遵循此格式 2)当多个选项时,可以写在一起 3)简化选项与完整选项 -a 等于--all PS:在Linux中“.”代表的是隐藏文件. 目录处理命令:ls 命令名称: ls 命令英文原意: list 命令所在路径: /bin/ls 执行权限: 所有用户 功能描述: 显示目录文件 语法: ls 选项[-ald][文件或目录] -a  显示所有文件,包括隐藏文件 -l  详细

一天一命令-sed

一天一命令-sed sed - stream editor for filtering and transforming text sed 4.2.2 sed是一种流编辑器,读取一行,处理一行,输出一行.sed先读取文件中的一行内容存储到被称为模式空间(pattern space)的临时缓冲区中,接着根据设定的条件来处理缓冲区中的内容,多个条件则多次处理,处理完成后,输出到屏幕,接着读取和处理下一行.源文件内容并没有改变,除非使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对多个文

ls命令 ls -trl

每天一个linux命令(1):ls命令 ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等.ls 命令在日常的linux操作中用的很多! 1. 命令格式: ls [选项] [目录名] 2. 命令功能: 列出目标目录中所有的子目录和文件. 3. 常用参数: -a,

LINUX命令LS -AL 解析

LINUX命令LS -AL 解析 linux命令ls -al 解析 ls是"list"的意思,与早期dos的命令dir功能类似.参数-al则表示列出所有的文件,包括隐藏文件,就是文件前面第一个字符为.的文件.如上所示,在第一次以root身份登录linux时,如果输入命令后,应该出现上面的内容先解析一下上面7个字段的意思,如图所示: 1.第一列便是这个文件的属性: #第一个属性表示这个文件时"目录.文件或链接文件等": [d],则是目录 [-],则是文件 [l],则表

linux 命令——ls

一.  ls命令 ls 命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文 件及文件夹清单. 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等.ls 命令在日常的linux操作中用的很多! 1. 命令格式: ls [选项] [目录名] 2. 命令功能: 列出目标目录中所有的子目录和文件. 3. 常用参数: -a, –all 列出目