假设要将全部的命令以一篇博客持续更新的方式去展现,将来在查找的时候非常不方便。出于这种考虑。将来将非常多命令都分开记录。

这里,一些基础使用方法都不做太多说明。主要记录下平时经经常使用到的一些命令。

命令: ls -[options] [操作对象]

  • 进入文件夹之后反查当前文件夹信息
使用參数d就可以。
eg:
hicode@test:~/lab/dir$ ls
1.md 2.md 3.md 4.md 5.md 6.md 想反查看dir文件夹的信息 hicode@test:~/lab/dir$ ls -ld
drwxrwxr-x 3 hicode hicode 4096 Jul 1 01:17 .

注意的是。目的数不是文件夹时也能够查询。

证明例如以下:

hicode@test:~$ ls -ld test
drwxrwxr-x 2 root root 4096 Jun 26 23:54 test
hicode@test:~$ ls -ld music.raw
-rw------- 1 hicode hicode 1180762112 Dec 24 2013 music.raw
  • 仅列出当前文件夹下的全部一级子文件夹

没有直接命令,使用grep 进行筛选。标志是ls 加上 -p后会给文件夹文件加上/符号

-p, –indicator-style=slash

append / indicator to directories

eg:
hicode@test:~$ ls -lp |grep /
drwxr-xr-x 3 hicode hicode 4096 Dec 27 2013 Desktop/
drwxr-xr-x 2 hicode hicode 4096 Nov 7 2013 Documents/
drwxr-xr-x 2 hicode hicode 4096 Dec 25 2013 Downloads/
drwxrwxr-x 7 hicode hicode 4096 Dec 9 2013 gothonweb/
drwxrwxr-x 3 hicode hicode 4096 Jul 1 01:15 lab/
drwxrwxr-x 4 hicode hicode 4096 Dec 24 2013 labs/

另一种方法是ls -l 显示的记录中,文件夹都是以d 开头的。

ls -l |grep ^d
  • 仅列出文件

可写成ls -lp | grep [^/]$

原理:即列出全部不以/ 结尾的输出,该输出来自ls -lp

hicode@test:~$ ls -lhpa |grep '[^/]$'
total 1.2G
-rw------- 1 hicode hicode 29K Jul 1 00:49 .bash_history
-rw-r--r-- 1 hicode hicode 220 Nov 7 2013 .bash_logout
-rw-r--r-- 1 hicode hicode 3.5K Nov 7 2013 .bashrc
-rw------- 1 hicode hicode 32M Dec 25 2013 core
-rw-r--r-- 1 hicode hicode 34 Jun 26 23:52 .dmrc
-rw-r--r-- 1 hicode hicode 8.3K Nov 7 2013 examples.desktop

或者使用另外的方法:ls -l显示的文件都是以-开头作为文件标志 。因此也能够这么写,这个好理解。

icode@test:~$ ls -l |grep ^-
-rw------- 1 hicode hicode 33206272 Dec 25 2013 core
-rw-r--r-- 1 hicode hicode 8445 Nov 7 2013 examples.desktop
-rw-rw-r-- 1 hicode hicode 279 Aug 1 2005 hosts
-rw-r--r-- 1 hicode hicode 26 Jun 24 22:28 issue
-rw-rw-r-- 1 hicode hicode 176 Jun 24 21:46 log1.txt
-rw-rw-r-- 1 hicode hicode 4617 Jan 12 2009 man.config
  • 查看当前文件夹下文件的数目。在之前的命令上追加管道命令 |wc -l (WordCount -lineNumber)
hicode@test:~$ ls -l |grep ^- |wc -l  (文件)
15
hicode@test:~$ ls -lp |grep ^d |wc -l (文件夹)
19
hicode@test:~$ ls -lp |wc -l (全部)
35 15+19 not eq 35 (34.)
hicode@test:~$ ls -lp |grep ^d |wc -l
19
hicode@test:~$ ls -lp |grep ^[^d] |wc -l
16
hicode@test:~$ ls -l |grep ^[^d-] (soga,原来另一行统计项)
total 1166396 原来另一行

ls 不能显示文件夹树结构,下载tree 就可以。

sudo apt-get install tree

usage:tree --help

非常好用, 和ls一样,默认不输入路径则为当前文件夹

hicode@test:~/lab$ tree
.
├── a.txt
├── b.txt
├── c.txt
├── dir
│ ├── 1.md
│ ├── 2.md
│ ├── 3.md
│ ├── 4.md
│ ├── 5.md
│ ├── 6.md
│ └── sadf
├── d.txt
└── e.txt 2 directories, 11 files
  • 仅列出当前文件夹全部的隐藏文件
ls -d .* |grep ^-

原理:參数.* 为通配符模式,不是正则。

默认在当前文件夹 下通配。. 也能够是隐藏文件夹的标志。

证明例如以下

hicode@test:~$ ls -ld .*|wc -l
40
hicode@test:~$ ls -ld .*|grep ^d |wc -l
26
hicode@test:~$ ls -ld .*|grep ^- |wc -l
14

既然使用-d 能够查看文件,那么用-a 加上通配符.* 是否能起到同样的作用呢

icode@test:~$ ls -la ./.* |wc -l
309

???????

?????

測试的时候发现加上a 之后,后面的通配符选择的是文件夹,而不会是文件。它会把全部的.*能匹配上的文件夹都运行一遍。

也就是说这条命令是非常多条ls -la .aa ,ls -la .. ,ls -la . 等等 命令的集合。加上a 是命令的集合,加上d 却是当前文件夹下条目的集合。

有点意思。

linux命令笔记之ls的更多相关文章

  1. Linux命令系列之ls——原来最简单的ls这么复杂

    Linux命令系列之ls--原来最简单的ls这么复杂 ls命令应该是我们最常用的命令之一了,但是我们可能容易忽略那些看起来最简单的东西. 简介 ls命令的使用格式如下 ls [选项] [具体的文件] ...

  2. 常用Linux命令笔记

    任何脱离业务的架构都是耍流氓 只记录实际常用的Linux命令 常用Linux命令 查找安装路径: whereis nginx 查询nginx进程: ps aux|grep nginx 查看 CentO ...

  3. linux 命令笔记

    linux 命令 创建目录 mkdir XX 列出目录 ls 进入目录 cd .. 进入上层目录 cd xx 进入xx目录 cd ~ 进入用户主目录 删除目录 rm -fr XX 清空目录,谨慎使用 ...

  4. linux命令(1):ls命令

    ls命令是linux下最常用的命令. ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看lin ...

  5. Linux命令笔记(一)

    vi 有三种模式,输入模式,编辑模式,“:”命令模式vi 进入以后默认是编辑模式vi 编辑模式默认的快捷键 上下左右分别是 J K H Lvi 在编辑模式使用 i 可以进入输入模式vi 输入模式只能输 ...

  6. 转:每天一个linux命令(1):ls命令

    ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看linu ...

  7. 【Linux基础】常用Linux命令: cd, cp, ls, mkdir, mv, rm, su, uname

    常用Linux命令:cd, cp, ls, mkdir, mv, rm, su, uname cd命令:切换当前工作目录至 dirName(目录参数) 其中 dirName 可为绝对路径或相对路径.若 ...

  8. 【转】每天一个linux命令(1):ls命令

    ls命令是linux下最常用的命令.ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单.如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单. 通过ls命令不仅可以查看linux ...

  9. linux命令总结之ls命令

    ls命令是linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件,下面我们就来一起看看ls的用法 英文全名:List即列表的意思,当我们学习某种东西的时候要做到知其所 ...

随机推荐

  1. Ubuntu 安装Matlab2010a

    1.挂载ISO 2.到/media/iso内,在终端执行./install 3.可视化安装 4.问题 1)/usr/local/MATLAB/R2010a/bin/util/oscheck.sh:/l ...

  2. CloudStack 4.2 新功能:集成SNMP进行系统监控(原理篇)

    作者微博:http://weibo.com/tianchunfeng CloudStack 4.2 版本发布在即,相信不久后对 4.2 版本新功能(共有13个)的介绍会逐渐多起来.因为无论是从架构底层 ...

  3. 性能测试之LoardRunner 检查点

    概述 1.检查点概念 2.实例 以下是详细介绍 检查点:首先来看一下VuGen确定脚本运行成功的判断条件.在录制编写脚本后,通常就会进行回放,如果回放通过没有错误,就认为脚本是正确的.究竟VuGen怎 ...

  4. 性能测试之LoardRunner工作原理

    概述: 1.VuGen 2.控制器 3.负载发生器 4.分析器 VuGen,它的作用是捕捉用户的业务流,并最终将其录制成一个脚本.在录制脚本前首先选择一种协议,接着在客户端模拟客户实际使用过程中的业务 ...

  5. cocos2dx+lua编译Android项目

    一.简单介绍 cocos2dx版本号:3.2 二.问题及解决方式 1.为项目开启Native支持,把项目转为C++项目. 1>.项目开启C++ Native支持,操作例如以下图 watermar ...

  6. 设计模式六大原则(2):里氏替换原则(Liskov Substitution Principle)

    肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑.事实上原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的. 定义1:假设对每 ...

  7. Swift - 程序进入后台,以及应用终止时调用的方法

    在AppDelegate中有如下两个方法要注意: applicationDidEnterBackground()  当应用进入后台时起作用 applicationWillTerminate()  当应 ...

  8. JDK1.5后的新特性之一:可变参数

    Java中的可变参数 Java1.5后出现了一个新特性,即可变参数,格式为:类型 …参数 例如: 总的来说,可变参数可以当成是数组来用: public void testSum() { System. ...

  9. shell脚本中怎样同时执行多个.sql文件,并把结果写入文件中(转)

    转载:http://joewalker.iteye.com/blog/408879命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名;导出整个数据 ...

  10. android在其他线程中访问UI线程的方法

    1.Activity.runOnUiThread( Runnable ) 2.View.post( Runnable ) 3.View.postDelayed( Runnable, long ) 4. ...