常用shell指令_位置定位


1. ls

ls命令用于显示指定工作目录下之内容。

ls后不加路径参数默认为本目录路径。

1.1. 参数说明:

  • -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间之先后次序列出
  • -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
  • -F 在列出的文件名称后加一符号
  • 斜杠(/)表示目录(或“文件夹”)。
  • 星号(*)表示可执行文件。这包括二进制文件(编译代码)以及脚本(具有可执行权限的文本文件)。
  • 符号(@)表示符号链接(或“别名”)。
  • 等号(=)表示套接字。
  • 在 BSD 上,百分号(%)表示涂改whiteout(某些文件系统上的文件删除方法)。
  • 在 GNU 上,尖括号(>)表示门door(Illumos 和 Solaris上的进程间通信)。
  • 竖线(|)表示 FIFO管道。 这个选项的一个更简单的版本是 -p,它只区分文件和目录。
  • -R 若目录下有文件,则以下之文件亦皆依序列出
  • --color=no 不显示彩色文件名 蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件

1.2. 常用例子:

ls xxx # linux中默认把ls设置为'ls --color'的别名,如果要使用原始的ls,可以用 \ls
ll # linux中默认把ll设置为'ls -l'的别名

2. find

find命令用来在指定目录下查找文件。

默认在当前目录下查找子目录与文件。

2.1. 参数说明:

  • -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
  • -amin n : 在过去 n 分钟内被读取过
  • -anewer file : 比文件 file 更晚被读取过的文件
  • -atime n : 在过去n天内被读取过的文件
  • -cmin n : 在过去 n 分钟内被修改过
  • -cnewer file :比文件 file 更新的文件
  • -ctime n : 在过去n天内被修改过的文件
  • -mtime n: 在过去n天内被创建的文件
  • -empty : 空的文件
  • -gid n or -group name : gid 是 n 或是 group 名称是 name
  • -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
  • -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
  • -size n : 文件大小是 n 单位。
  • -pid n : process id 是 n 的文件
  • -type c : 文件类型是 c 的文件。d: 目录,c: 字型装置文件,b: 区块装置文件,p: 具名贮列,f: 一般文件,l: 符号连结,s: socket

2.2. 常用例子:

find ./xxx # 查找当前目录下的xxx文件夹内所有目录及文件

find . -name xxx.txt # 查找当前目录下名字为xxx.txt文件
find . -name *xxx*.txt # 模糊查找名字带有xxx的txt文件

find . -size 100M	# 文件大小为100M的文件
find . -size +100M # 文件大小大于100M的文件
find . -size -100M # 文件大小小于100M的文件

find . -type f -size 0 -exec ls -l {} \; # 查找目录下所有文件长度为0的普通文件,并列出它们的完整路径

3. locate

locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。

locate与find 不同: find 是去硬盘找,locate 只在数据库中找。故locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db(linux)或/var/db/locate.database(Mac os)中,所以locate的查找并不是实时的。

3.1. 常用例子:

locate xxx.txt # 查找xxx.txt
locate -u # 升级数据库

4. whereis

该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。

4.1. 常用例子:

whereis bash
whereis -b bash # 只查二进制文件
whereis -m bash # 只查man

5. pwd

print work directory,pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。


评论
  目录