文件通配符
* 匹配零個或多個字元
? 匹配任何單個字元
~ 當前用戶家目錄
~mage 用戶mage家目錄
~+ 當前工作目錄
~- 前一個工作目錄
[0-9] 匹配數字范圍
[a-z]:字母(或的關系)就是表示中括弧中的某一個字元
[A-Z]:字母
[a-c]:a A b B c
[A-C]:A b B c C,也就是[]在裡面匹配字母時是以aAbB...這樣排序的
[wang] 匹配列表中的任何的一個字元
[^wang] 匹配列表中的所有字元以外的字元
{}花括弧用來匹配一組用逗號分隔的字元串中的任一個。
左花括弧之前的所有字元稱為前文(preamble),右花括弧之後的所有字元稱為後文(preamble)。
前文和後文都是可選的。花括弧中不能包含不加引號的空白符
預定義的字元類:man 7 glob(通配符)
[:digit:]:任意數字,相當於0-9
[:lower:]:任意小寫字母[:lower:] 這個只相當於a-z,表示的時候必須要在加上中括弧
[:upper:]: 任意大寫字母
[:alpha:]: 任意大小寫字母
[:alnum:]:任意數字或字母
[:blank:]:水平空白字元
[:space:]:水平或垂直空白字元
[:punct:]:標點符號
[:print:]:可列印字元
[:cntrl:]:控制(非列印)字元
[:graph:]:圖形字元
[:xdigit:]:十六進制字元
ls命令的功能:
列出當前目錄的內容或指定目錄
ls命令的用法:
ls [options] [files_or_dirs]
示例:
ls -a 包含隱藏文件
ls -l 顯示額外的信息
ls -r 倒轉排序或者可以說是逆序排列
ls -R 目錄遞歸通過(遞歸會進入到子目錄)
ls -ld 目錄和符號鏈接信息
ls -1 文件分行顯示(列顯示)
ls –S 按從大到小排序(按文件的大小排序)
ls –t 按mtime排序(按文件的修改時間排序)
ls –u 配合-t選項,顯示並按atime從新到舊排序
ls –U 按目錄存放順序顯示(以創建文件的次序進行顯示)
ls –X 按文件後綴排序
ls -d 列出目錄本身並不顯示內容
ls -h 單位換算
ls -I --ignore(忽略)=PATTERN(模式)按著規定的模式去隱藏不進行顯示
實例:
1、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間出現至少一位數
字的文件或目錄
ls -d /var/l*[0-9]*[[:lower:]]
2、顯示/etc目錄下以任意一位數字開頭,且以非數字結尾的文件或目錄
ls -d /etc/[0-9]*[^0-9]
3、顯示/etc/目錄下以非字母開頭,後面跟了一個字母及其它任意長度任意字元
的文件或目錄
ls -d /etc/[^[:alpha:]][[:alpha:]]*
4、顯示/etc/目錄下所有以rc開頭,並後面是0-6之間的數字,其它為任意字元
的文件或目錄
ls -d /etc/rc[0-6]*
5、顯示/etc目錄下,所有以.d結尾的文件或目錄
ls -d /etc/*.d
6、顯示/etc目錄下,所有.conf結尾,且以m,n,r,p開頭的文件或目錄
ls -d /etc/[mnrp]*.conf
7、只顯示/root下的隱藏文件和目錄
ls -d /root/.*
ls -aI "[^.]*" 當前目錄為/root
l. ls -d .* --color=auto 當前目錄為/root
8、只顯示/etc下的非隱藏目錄
ls -d /etc/*/
Ⅱ php如何獲取linux中某個文件的全路徑
用glob函數,全給找出來。
例子:
<?php
foreach(glob("/opt/sftp/web/FTP25_20150914_*.xls")as$filename){
echo$filename."<br/> ";
}