假设要将全部的命令以一篇博客持续更新的方式去展现,将来在查找的时候非常不方便。出于这种考虑。将来将非常多命令都分开记录。
这里,一些基础使用方法都不做太多说明。主要记录下平时经经常使用到的一些命令。

命令: 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.txt2 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怎么运行ing,Linux命令笔记ing

    每个人用Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux完成项目的部署相关.在此总结一下,还有一些是其他博主的总结,放在此处,做为笔记,方便自己查看.详细Linux ...

  2. 小白学习 Linux 命令笔记

    Linux学习笔记 一. Linux远程登录 Secure CRT Xshell 二. 文件目录管理 文件和目录名区分大小写[file.File.FILE是三个不同的文件] 创建目录用:mkdir m ...

  3. Linux命令笔记(一)

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

  4. linux 命令笔记

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

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

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

  6. linux学习笔记2——ls命令说明

    ls是list的简写,功能是列出目录的内容,类似于DOS下的dir命令.这篇学习笔记主要介绍ls命令相关知识. 一.Linux下文件目录的特点 蓝色字体代表文件夹,白色字体代表文件 1.Linux文件 ...

  7. Linux命令之 —— grep \ls \ ll \ sed \ bg fg \ ipset \ wc \ ifconfig \ awk

    0. grep命令 1. Linux ls  -ld 1 2. Linux 中ls -l // ll 命令详解  (7个字段):文件属性 1 3. shell中的if判断 4. Linux中 > ...

  8. 一些自己常用的linux命令笔记

    firewall-cmd --list-all   //防火墙 yum search bash-com   //查看常用的shell脚本语言 yum install bash-completion b ...

  9. 【linux命令】linux命令笔记

    1.找某个文件 find / -name  ***.**** 遇到问题: 权限不够: 2.用名字杀死进程 pkill  process* 二.linux下find命令的用法 1. 基本用法:      ...

  10. Linux命令的实现 -- ls pwd cd

    其实这些命令的实现都是 C 语言提供的一些库函数,我们只需要使用这些函数,并对得到的结果进行相应的格式化即可,好的,我们开始吧: ls 用到的函数是 opendir ,readdir,这些都是读目录的 ...

最新文章

  1. 建立自己的voc数据集_一次将自己的数据集制作成PASCAL VOC格式的惨痛经历
  2. linux命令后面常见的/dev/null 和 21 的含义
  3. 儿童猜词游戏图片_超实用的儿童社交游戏分享(听指令、认知、规则)
  4. 瞄准千亿个护市场,纸业龙头们下半场战役已经打响
  5. 苹果x防水测试软件,iPhone终极防水测试 iPhone XR阵亡
  6. 数据库期末复习知识点:(仅供参考)
  7. 只有它才能让云计算、大数据、人工智能大放异彩?它究竟有什么魔力?
  8. Google金山词霸体验小记
  9. 图像处理保研面试_保研(六校面试)
  10. Java实现简单的计算器
  11. Linux下配置MySQL免安装版
  12. [USACO18DEC]The Cow Gathering
  13. FPGA驱动ESP8266 WiFi模块
  14. Web程序设计-客户端表单验证
  15. C++基础之detele和detele[]
  16. 欣赏深圳东部最迷人的东冲海岸线与最纯净的沙滩
  17. 100层楼扔两个鸡蛋的问题
  18. 牛客练习赛53 (E 老瞎眼 pk 小鲜肉) 线段树+离线
  19. 简单计算机java程序_JAVA程序员需要知道的计算机底层基础10-操作系统引导程序的简单...
  20. Today is my brithday~~~~!

热门文章

  1. Unity 利用FFmpeg实现录屏、直播推流、音频视频格式转换、剪裁等功能
  2. 【MM 发票】MM MIRO界面中的ITEM LIST的布局可自己定义(转)
  3. jQuery 事件源码定位
  4. java一个简单的管理系统
  5. 试图删除 xx 和yy之间的关系。但是,关系的其中一个外键 (xx_yy.xxID) 无法设置为 null。...
  6. 8、Python-函数
  7. BZOJ 1014: [JSOI2008]火星人prefix
  8. 如何备份MySql的数据库
  9. 设计模式之单实例模式(Singleton)
  10. ASP.NET导入Excel到数据库(SQL)