`
youyu4
  • 浏览: 435833 次
社区版块
存档分类
最新评论

Linux命令学习(1):ls

 
阅读更多

 

ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。ls 命令在日常的linux操作中用的很多!

 

------------------------------------------------------------------------------------------

 

1. 命令格式:

ls [选项] [目录名]

2. 命令功能:

列出目标目录中所有的子目录和文件。

3. 常用参数:

-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件

-A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。

-c  配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序

-C 每栏由上至下列出项目

–color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一

-d, –directory 将目录象文件一样显示,而不是显示其下的文件。

-D, –dired 产生适合 Emacs 的 dired 模式使用的结果

-f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效

-g 类似 -l,但不列出所有者

-G, –no-group 不列出任何有关组的信息

-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)

–si 类似 -h,但文件大小取 1000 的次方而不是 1024

-H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地

–indicator-style=方式 指定在每个项目名称后加上指示符号<方式>none (默认),classify (-F),file-type (-p)

-i, –inode 印出每个文件的 inode 号

-I, –ignore=样式 不印出任何符合 shell 万用字符<样式>的项目

-k 即 –block-size=1K,以 k 字节的形式表示文件的大小。

-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。

-L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息

-m 所有项目以逗号分隔,并填满整行行宽

-o 类似 -l,显示文件的除组信息外的详细信息。   

-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

-t 以文件修改时间排序

-u 配合 -lt:显示访问时间而且依访问时间排序

配合 -l:显示访问时间但根据名称排序

否则:根据访问时间排序

-U 不进行排序;依文件系统原有的次序列出项目

-v 根据版本进行排序

-w, –width=COLS 自行指定屏幕宽度而不使用目前的数值

-x 逐行列出项目而不是逐栏列出

-X 根据扩展名排序

-1 每行只列出一个文件

–help 显示此帮助信息并离开

–version 显示版本信息并离开

 

 

------------------------------------------------------------------------------------------------------------------------------

 

4. 常用范例:

例1:列出/home/peidachang文件夹下的所有文件和目录的详细资料

命令:ls -l -R /home/peidachang

在使用 ls 命令时要注意命令的格式:在命令提示符后,首先是命令的关键字,接下来是命令参数,在命令参数之前要有一短横线“-”,所有的命令参数都有特定的作用,自己可以根据需要选用一个或者多个参数,在命令参数的后面是命令的操作对象。在以上这条命令“ ls -l -R /home/peidachang”中,“ls” 是命令关键字,“-l -R”是参数,“ /home/peidachang”是命令的操作对象。在这条命令中,使用到了两个参数,分别为“l”和“R”,当然,你也可以把他们放在一起使用,如下所示:

命令:ls -lR /home/peidachang

这种形式和上面的命令形式执行的结果是完全一样的。另外,如果命令的操作对象位于当前目录中,可以直接对操作对象进行操作;如果不在当前目录则需要给出操作对象的完整路径,例如上面的例子中,我的当前文件夹是peidachang文件夹,我想对home文件夹下的peidachang文件进行操作,我可以直接输入 ls -lR peidachang,也可以用 ls -lR /home/peidachang。 

 

 

 

例2:列出当前目录中所有以“t”开头的目录的详细内容,可以使用如下命令:

命令:ls -l t*   

可以查看当前目录下文件名以“t”开头的所有文件的信息。其实,在命令格式中,方括号内的内容都是可以省略的,对于命令ls而言,如果省略命令参数和操作对象,直接输入“ ls ”,则将会列出当前工作目录的内容清单。

 

 

 

例3:只列出文件下的子目录

命令:ls -F /opt/soft |grep /$  

列出 /opt/soft 文件下面的子目录

输出

[root@localhost opt]# ls -F /opt/soft |grep /$

jdk1.6.0_16/

subversion-1.6.1/

tomcat6.0.32/

命令:ls -l /opt/soft | grep "^d"

列出 /opt/soft 文件下面的子目录详细情况

输出

[root@localhost opt]#  ls -l /opt/soft | grep "^d"

drwxr-xr-x 10 root root      4096 09-17 18:17 jdk1.6.0_16

drwxr-xr-x 16 1016 1016      4096 10-11 03:25 subversion-1.6.1

drwxr-xr-x  9 root root      4096 2011-11-01 tomcat6.0.32

 

 

 

例4列出目前工作目录下所有名称是s 开头的档案,愈新的排愈后面,可以使用如下命令

命令ls -ltr s*

输出

[root@localhost opt]# ls -ltr s*

src:

总计 0

 

script:

总计 0

 

soft:

总计 350644

drwxr-xr-x  9 root root      4096 2011-11-01 tomcat6.0.32

-rwxr-xr-x  1 root root  81871260 09-17 18:15 jdk-6u16-linux-x64.bin

drwxr-xr-x 10 root root      4096 09-17 18:17 jdk1.6.0_16

-rw-r--r--  1 root root 205831281 09-17 18:33 apache-tomcat-6.0.32.tar.gz

-rw-r--r--  1 root root   5457684 09-21 00:23 tomcat6.0.32.tar.gz

-rw-r--r--  1 root root   4726179 10-10 11:08 subversion-deps-1.6.1.tar.gz

-rw-r--r--  1 root root   7501026 10-10 11:08 subversion-1.6.1.tar.gz

drwxr-xr-x 16 1016 1016      4096 10-11 03:25 subversion-1.6.1

 

 

 

例5:列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加"*" 

命令ls -AF

输出

[root@localhost opt]# ls -AF

log/  script/  soft/  src/  svndata/  web/

 

 

 

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

命令:

ls -l * |grep "^-"|wc -l ---文件个数  

ls -l * |grep "^d"|wc -l    ---目录个数

 

 

 

例7: 在ls中列出文件的绝对路径

命令:ls | sed "s:^:`pwd`/:"

输出

    [root@localhost opt]# ls | sed "s:^:`pwd`/:" 

    /opt/log

    /opt/script

    /opt/soft

    /opt/src

    /opt/svndata

    /opt/web

 

 

 

例8:列出当前目录下的所有文件(包括隐藏文件)的绝对路径, 对目录不做递归

命令:find $PWD -maxdepth 1 | xargs ls -ld

输出

[root@localhost opt]# find $PWD -maxdepth 1 | xargs ls -ld

drwxr-xr-x 8 root root 4096 10-11 03:43 /opt

drwxr-xr-x 2 root root 4096 2012-03-08 /opt/log

drwxr-xr-x 2 root root 4096 2012-03-08 /opt/script

drwxr-xr-x 5 root root 4096 10-11 03:21 /opt/soft

drwxr-xr-x 2 root root 4096 2012-03-08 /opt/src

drwxr-xr-x 4 root root 4096 10-11 05:22 /opt/svndata

drwxr-xr-x 4 root root 4096 10-09 00:45 /opt/web

 

 

 

例9:递归列出当前目录下的所有文件(包括隐藏文件)的绝对路径

命令: find $PWD | xargs ls -ld 

 

 

 

例10:指定文件时间输出格式

命令:

 ls -tl --time-style=full-iso

输出:

[root@localhost soft]# ls -tl --time-style=full-iso 

总计 350644

drwxr-xr-x 16 1016 1016 4096 2012-10-11 03:25:58.000000000 +0800 subversion-1.6.1

 

 ls -ctl --time-style=long-iso

输出

[root@localhost soft]# ls -ctl --time-style=long-iso

总计 350644

drwxr-xr-x 16 1016 1016      4096 2012-10-11 03:25 subversion-1.6.1

 

 

扩展:

1. 显示彩色目录列表

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

    alias ls="ls --color"

    下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:

    1. 蓝色-->目录

    2. 绿色-->可执行文件

    3. 红色-->压缩文件

    4. 浅蓝色-->链接文件

    5. 灰色-->其他文件

分享到:
评论

相关推荐

    linux系统命令详解:1、ls命令

    在Linux操作系统中,掌握基本的命令行操作是至关重要的,其中`ls`命令是最常用的之一。这个命令用于列出目录中的文件和子目录,是Linux用户日常工作中不可或缺的一部分。本篇文章将详细解析`ls`命令的各种用法和选项...

    实验80-Linux命令:ls命令1

    Linux命令行工具是系统管理员和开发者的日常工具,其中`ls`命令是最基本且不可或缺的一部分。这个命令用于列出目录中的内容,提供了丰富的选项来定制输出信息。本文将深入讲解`ls`命令的基本用法和常见参数。 ### `...

    Linux命令ls详解

    ### Linux命令ls详解 #### ls命令简介 `ls`(list)是最基本的目录处理命令之一,也是学习Linux操作系统中最常用的命令。其英文原意为“列表”或“清单”,用于展示当前工作目录下的文件及目录,或者指定路径中的...

    linux命令学习笔记.docx

    Linux 命令学习笔记 本笔记将涵盖 Linux 命令的基本概念、虚拟机的概念、Linux 主要目录结构、Linux 命令速查表、文件和目录常用命令等几个方面。 一、Linux 概念 Linux 是一种免费、开放源代码的操作系统,广泛...

    Linux命令学习手册

    Linux命令学习手册是一份专为初学者设计的资源,它涵盖了Linux操作系统中常用的各种命令,帮助用户更好地理解和操作Linux环境。Linux是一种免费且开源的操作系统,广泛应用在服务器、超级计算机和个人计算机上。学习...

    linux命令学习资料

    Linux命令是Linux操作系统中进行文件管理、系统控制和任务自动化的主要工具。对于初学者来说,掌握这些基本命令是至关重要的。...学习Linux命令是一个持续的过程,随着经验的增长,你将逐渐熟悉更多高级和专业的命令。

    Linux教程,主要内容:Linux 命令、Linux 系统运维、软件运维、精选常用Shell脚本

    学习 Linux 的第一步:当然是从 Linux 命令 入手: 查看 Linux 命令帮助信息 - 关键词:help, whatis, info, which, whereis, man Linux 文件目录管理 - 关键词:cd, ls, pwd, mkdir, rmdir, tree, touch, ln, ...

    linux命令学习chm文件

    本资源包提供了四份关于Linux命令学习的CHM(Microsoft帮助文件)文档,分别是"大学生攻克Linux系统教程(又名天下没有难学的Linux)"、"Linux基础命令教程豪华版"、"Linux常用命令全集"以及"Linux命令大全"。...

    Linux学习:Linux基本命令

    【Linux学习:Linux基本命令】 Linux是一个开源操作系统,它的强大在于其命令行界面,通过一系列基本命令进行系统管理和操作。本篇文章将详细讲解Linux的基本命令,包括登录和退出、文件命令、目录和层次命令、查找...

    linux ls命令 源代码

    Linux系统中的`ls`命令是日常操作中最常用的命令之一,用于列出目录中的文件和子目录。这个命令在Unix-like系统中具有悠久的历史,是任何Linux用户必须掌握的基础工具。源代码的学习可以帮助我们深入理解它的运作...

    linux-Linux命令大全内容包含Linux命令手册详解学习搜集

    本资源"Linux命令大全"包含了516个Linux命令的详细资料,对于学习和理解Linux操作系统至关重要。下面,我们将深入探讨这个资源中涉及的一些关键知识点。 1. **命令手册**: - 在Linux世界中,命令手册(man pages...

    linux命令学习模拟器.rar

    Linux命令学习模拟器是一款专为Linux初学者设计的实用工具,它可以帮助用户在不实际操作Linux系统的情况下,熟悉和掌握各种Linux命令的使用。这款模拟器可能是基于网页或者桌面应用程序的形式,提供了一个仿真的...

    自定义函数实现linux ls -a -l 命令_ls函数linux_自定义函数实现linux命令_

    为了更好地理解和学习Linux系统,了解如何自定义函数来实现`ls -a -l`的功能是很有价值的。 首先,让我们解析`ls -a -l`的各个部分: 1. `-a`选项:这个选项告诉`ls`命令显示所有文件,包括通常被隐藏的文件。 2. `...

    Linux命令壁纸带中文.rar

    为了更好地理解和记忆Linux命令,本资源提供了一套“Linux命令壁纸带中文”的学习资料。这些壁纸将常见的Linux命令与精美的图像结合,每张壁纸上都清晰地标注了对应的中文注释,旨在帮助用户在日常使用中加深对命令...

    Linux系统学习心得

    1. 文件管理命令:ls、pwd、cd、mkdir、rmdir、cp、rm、mv、cat、more、less、type 2. 磁盘管理命令:fdisk、df、fsck、crontab 3. 系统管理命令:shutdown、reboot、halt、ps、Chown、chmod、help、man、hostname、...

    1.linux命令集之ls命令

    学习`ls`命令不仅能够帮助用户了解目录结构,还可以通过查看文件的权限和时间戳来追踪文件的改动。对于Linux系统的日常管理和维护,掌握`ls`命令的各种用法是必不可少的。通过不断的实践和尝试,用户可以更高效地在...

    Linux命令学习 chm

    在IT领域,Linux操作系统是许多专业开发者和系统管理...通过阅读和查阅"Linux命令学习.chm"这样的资料,你可以逐步成为一个熟练的Linux用户,并在工作中得心应手。不断实践和探索,你将发现Linux命令行世界的无限魅力。

    Linux网络操作系统基础:常用Linux命令.ppt

    【Linux网络操作系统基础:常用Linux命令】 Linux是一个广泛使用的开源操作系统,它的命令行界面提供了高效且灵活的系统管理工具。本章将深入讲解Linux的基础知识,特别是常用的命令,包括文件和目录的操作,以及...

    Linux内核分析及命令大全

    通过这些资料的学习,你可以深入了解Linux系统的工作机制,熟练掌握日常运维和开发所需的Linux命令,提升你的Linux技能。无论是进行系统优化、性能调试,还是进行应用程序开发,这些知识都将为你提供强大的支持。

Global site tag (gtag.js) - Google Analytics