linux命令1-ls命令

来源:互联网 发布:ubuntu linux 能做什么 编辑:程序博客网 时间:2024/05/19 12:13
ls命令是linux下最常用的命令。ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。通过ls命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。ls 命令在日常的linux操作中用的很多!

1. 命令格式:
    ls [选项] [目录名]
    用法:ls [选项]... [文件]...
    列出 FILE 的信息(默认为当前目录)。
    如果不指定-cftuvSUX 或--sort 选项,则根据字母大小排序。
2. 命令功能:
    列出目标目录中所有的子目录和文件。
3. 常用参数:
    -a, --all            不隐藏任何以. 开始的项目
    -A, --almost-all        列出除. 及.. 以外的任何项目
        --author            与-l 同时使用时列出每个文件的作者
    -b, --escape            以八进制溢出序列表示不可打印的字符
        --block-size=大小        块以指定大小的字节为单位
    -B, --ignore-backups        不列出任何以"~"字符结束的项目
    -c                配合-lt:根据ctime 排序并显示ctime(文件
                    状态最后更改的时间)
                    配合-l:显示ctime 但根据名称排序                其他情况:按ctime 排序
    -C                每栏由上至下列出项目
      --color[=WHEN]        控制是否使用色彩分辨文件。WHEN 可以是
                "never"(默认)、"always"或"auto"其中之一
    -d, --directory        当遇到目录时列出目录本身而非目录内的文件
    -D, --dired            产生适合Emacs 的dired 模式使用的结果
    -f                不进行排序,-aU 选项生效,-lst 选项失效
    -F, --classify        加上文件类型的指示符号(*/=@| 其中一个)
        --format=关键字        交错-x,逗号分隔-m,水平-x,长-l,
                    单栏-1,详细-l,垂直-C
        --full-time        即-l --time-style=full-iso
    -g                类似-l,但不列出所有者
        --group-directories-first
                在文件前分组目录。此选项可与--sort 一起使用,
                但是一旦使用--sort=none (-U)将禁用分组
    -G, --no-group        以一个长列表的形式,不输出组名
    -h, --human-readable        与-l 一起,以易于阅读的格式输出文件大小
                    (例如 1K 234M 2G)
        --si            同上面类似,但是使用1000 为基底而非1024
    -H, --dereference-command-line
                    跟随命令行列出的符号链接
        --dereference-command-line-symlink-to-dir
                    跟随命令行列出的目录的符号链接
        --hide=PATTERN             隐藏符合PATTERN 模式的项目
                    (-a 或 -A 将覆盖此选项)
        --indicator-style=方式    指定在每个项目名称后加上指示符号方式:
                    none (默认),classify (-F),file-type (-p)
    -i, --inode            显示每个文件的inode 号
    -I, --ignore=PATTERN        不显示任何符合指定shell PATTERN 的项目
    -k                即--block-size=1K
    -l                使用较长格式列出信息
    -L, --dereference        当显示符号链接的文件信息时,显示符号链接所指示
                    的对象而并非符号链接本身的信息
    -m                所有项目以逗号分隔,并填满整行行宽
    -n, --numeric-uid-gid        类似 -l,但列出UID 及GID 号
    -N, --literal            输出未经处理的项目名称 (如不特别处理控制字符)
    -o                类似 -l,但不列出有关组的信息
    -p,  --indicator-style=slash    对目录加上表示符号"/"
    -q, --hide-control-chars    以"?"字符代替无法打印的字符
        --show-control-chars    直接显示无法打印的字符 (这是默认方式,除非调用
                    的程序名称是"ls"而且是在终端输出结果)
    -Q, --quote-name        将条目名称括上双引号
        --quoting-style=方式    使用指定的quoting 方式显示条目的名称:
                    literal、locale、shell、shell-always、c、escape
    -r, --reverse            排序时保留顺序
    -R, --recursive        递归显示子目录
    -s, --size            以块数形式显示每个文件分配的尺寸
    -S                根据文件大小排序
        --sort=WORD        以下是可选用的WORD 和它们代表的相应选项:
                    extension -X       status   -c
                    none      -U       time     -t
                    size      -S       atime    -u
                    time      -t       access   -u
                    version   -v       use      -u
        --time=WORD        和-l 同时使用时显示WORD 所代表的时间而非修改时
                    间:atime、access、use、ctime 或status;加上
                    --sort=time 选项时会以指定时间作为排序关键字
        --time-style=STYLE    和-l 同时使用时根据STYLE 代表的格式显示时间:
                full-iso、iso、locale、posix-iso、+FORMAT。
                FORMAT 即是"date"所用的时间格式;如果FORMAT
                是FORMAT1<换行>FORMAT2,FORMAT1 适用于较旧
                的文件而FORMAT2 适用于较新的文件;如果STYLE
                以"posix-"开头,则STYLE 仅在POSIX 语系之外
                生效。
    -t                根据修改时间排序
    -T, --tabsize=宽度    指定制表符(Tab)的宽度,而非8 个字符
    -t            按修改时间排序
    -T, --tabsize=COLS    指定制表符(Tab)的宽度,而非8个字符
    -u            同-lt 一起使用:按照访问时间排序并显示
            同-l一起使用:显示访问时间并按文件名排序
            其他:按照访问时间排序
    -U            不进行排序;按照目录顺序列出项目
    -v            在文本中进行数字(版本)的自然排序
    -w, --width=COLS           assume screen width instead of current value
    -x                         list entries by lines instead of by columns
    -X                         sort alphabetically by entry extension
    -1                         list one file per line

    SELinux options:

        --lcontext                 Display security context.   Enable -l. Lines
                             will probably be too wide for most displays.
        -Z, --context              Display security context so it fits on most
                             displays.  Displays only mode, user, group,
                             security context and file name.
        --scontext                 Display only security context and file name.
        --help        显示此帮助信息并退出
        --version        显示版本信息并退出

    SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:
    KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。
    
    使用色彩来区分文件类型的功能已被禁用,默认设置和 --color=never 同时禁用了它。
    使用 --color=auto 选项,ls 只在标准输出被连至终端时才生成颜色代码。
    LS_COLORS 环境变量可改变此设置,可使用 dircolors 命令来设置。


    退出状态:
    0  正常
    1  一般问题 (例如:无法访问子文件夹)
    2  严重问题 (例如:无法使用命令行参数)
4.常用示例
    &&后面即表示后面命令和前面命令执行结果一致
    一:命令:ls        &&ls ./    &&ls -A ./    列出当前目录中所有的子目录和文件。此命令后面省略的参数选项和目录,表示按默认方式显示我们所在目录下的所有文件和文件夹假如在root用户的用户目录下面则表示显示root文件夹下面的所有文件和文件夹    在使用ls命令时要注意命令的格式:在命令提示符后,首先是命令的关键字(ls),接下来是命令参数,在命令参数之前要有一短横线“-”,所有的命令参数都有特定的作用,自己可以根据需要选用一个或者多个参数,在命令参数的后面是命令的操作对象。
    二:命令:ls -l    &&ll    &&ls -l ./
    列出当前目录下详细信息所有文件和目录
    三:命令:ls -l -R /tmp    &&ls -lR /tmp
    这条命令的作用呢 是查看tmp目录下的
    这也是常用命令之一吧,例如我们想查看我们在其他目录下面下面的文件,并复制过来 不用切换目录即可 常和cp /tmp/test.tar.gz ./共同使用。在这条命令中,使用到了两个参数,分别为“l”和“R”,当然,你也可以把他们放在一起使用(-l -R可以写成-lR)
    四:命令:ls -l ./ /tmp
    显示当前目录下面 和tmp目录下面的所有目录和文件。ls后面也可以跟多个目录,同事查看目录下的内容
    五:命令:ls -l t*     列出当前目录中所有以“t”开头的目录或者文件的详细内容。其实,在命令格式中,方括号内的内容都是可以省略的,对于命令ls而言,如果省略命令参数和操作对象,直接输入“ ls ”,则将会列出当前工作目录的内容清单,即命令一
    六:命令:ls -F /tmp |grep /    &&    ls -F /tmp |grep /$
    列出 /tmp 目录下面的子目录
    命令:ls -l /tmp | grep "^d"
    列出 /tmp 文件下面的子目录详细情况
    七:命令:ls -ltr t*
    列出目前工作目录下所有名称是s 开头的文件,愈新的排愈后面。此状态下面我们可以查看我们最近新建的文件的先后,方便查找修改
    八:命令:ls -AF
    列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加"*" 。且显示出. ..之外的任何项目
    九:命令:
    ls -l * |grep "^-"|wc -l ---文件个数  
    ls -l * |grep "^d"|wc -l    ---目录个数
    计算当前目录下的文件数和目录数
    十:命令:ls | sed "s:^:`pwd`/:"
    在ls中列出文件的绝对路径
    例如在root目录下面执行显示
    /root/anaconda-ks.cfg
    /root/break1.py
    /root/continue1.py
    /root/for.py
    /root/function1.py
    /root/if.py
    /root/install.log
    /root/install.log.syslog
    /root/max.py
    /root/max.pyc
    /root/mkdir1.py
    /root/python
    /root/tab.py
    /root/tab.pyc
    /root/while.py
    /root/公共的
    /root/模板
    /root/视频
    /root/图片
    /root/文档
    /root/下载
    /root/音乐
    /root/桌面
    十一:命令:find $PWD -maxdepth 1 | xargs ls -ld
    列出当前目录下的所有文件(包括隐藏文件)的绝对路径, 对目录不做递归
    十二:命令:find $PWD | xargs ls -ld
    递归列出当前目录下的所有文件(包括隐藏文件)的绝对路径
    十三命令:ls -tl --time-style=full-iso
    ls -ctl --time-style=long-iso
    指定文件时间输出格式

    总之呢,命令后面可以接很多参数,也可以接管道|使用。多使用--help查看命令,可以学会很多命令的不同用法,当然我们没必要死记,熟能生巧,用的到了自然就明白了,实践很重要

    扩展:
    1. 显示彩色目录列表
        打开/etc/bashrc, 加入如下一行:
        alias ls="ls --color"
        下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:
        1. 蓝色-->目录
        2. 绿色-->可执行文件
        3. 红色-->压缩文件
        4. 浅蓝色-->链接文件
        5. 灰色-->其他文件
0 0