linux命令笔记之ls

时间:2022-11-01 21:14:12

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

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

命令: 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命令笔记

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

  2. linux 命令笔记

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

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

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

  4. Linux命令笔记(一)

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

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

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

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

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

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

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

  8. linux命令总结之ls命令

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

  9. 每天一条linux命令(1):ls命令

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

随机推荐

  1. c/c++中两颗璀璨的明珠

    1.指针: 函数指针做函数参数 回调函数 语法现象 意义 实现什么效果 (1).间接赋值成立的三个条件 a.两个变量 b.建立关联 c. *p-> (2).函数指针做函数参数 a.调用的角度去理 ...

  2. mysql之路【第三篇】

    1,查看表的结构 desc   表名; 查看表的详细结构 show   create  table; show   create  table   \G;   (加上G格式化输出), 2,修改表 2. ...

  3. [Linux]安装phpredis扩展

    1.下载phpredis,解压并进入目录,在目录下运行phpize /usr/local/php/bin/phpize ./configure --enable-redis-igbinary --wi ...

  4. wikioi 1203 判断浮点数是否相等

    /*======================================================================== 1203 判断浮点数是否相等 题目描述 Descr ...

  5. job不自动运行解决方法

    一.plsql.新建命令窗口 用查询语句: show parameter job_queue_processes 看看job_queue_processes的值 如果你的job很多那么将这个值设大,5 ...

  6. C++转义字符 & keyword

    转义字符: 换行符 \n   水平制表符\t 纵向制表符 \v 退格符 \b 回车符 \r   进纸符 \f 报警(响铃)符 \a 反斜线 \\ 疑问号 \? 单引號 \' 双引號 \"   ...

  7. POJ 1329 三角外接圆

    Circle Through Three Points Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3169   Acce ...

  8. 查看linux/AIX系统内存及CPU占用百分比

    1.linux下查看CPU及内存占用情况 查看内存占用百分比: [root@rusky ~]# free -m | sed -n '2p' | awk '{print "used mem i ...

  9. Java自己动手写连接池四

    Java自己动手写连接池四 测试: package com.kama.cn; import java.sql.Connection; public class Test { public static ...

  10. POJ 2876

    #include<iostream> #include<string> using namespace std; ]; int main() { //freopen(&quot ...