1. 程式人生 > >11-Linux基礎入門(九)-Linux的通配符

11-Linux基礎入門(九)-Linux的通配符

cal echo 微信公眾平臺 當前 技術分享 vertical hub font not

一、概述

Linux的通配符和正則表達式是不一樣的,因此代表的意義也是有較大區別的。通配符一般用於用戶命令行bash環境,而Linux正則表達式用於grep、sed、awk場景。

符號

代表含義

*

所有(0到多個)字符

任意一個字符

連續不同命令的分隔符

#

配置文件註釋

|

管道

~

當前用戶的家目錄

-

上一次所在的路徑

$

變量前需要加的符號

/

路徑分隔符號,也是根的意思

>或1>

重定向(覆蓋原原有數據)

>>

追加重定向(追加內容文件尾部)

<

輸入重定向(xargs、tr)

<<

追加輸入重定向(cat)

單引號:不具有變量置換功能,輸出時候所見即所得

"

雙引號:具有變量置換功能,解析變量後輸出,不加引號相當於雙引號,常用雙引號

`

反引號(TAB上邊的按鍵):兩個``中間為命令,會先執行,等價於$()

{}

中間為命令區塊組合或內容序列

!

邏輯運算中的“非”(NOT)

&&

並且(AND):當前一個指令執行成功時,執行後一個指令

||

或者(OR):當前一個指令執行失敗時,執行後一個指令

..

上一級目錄

.

當前目錄

二、一些通配符的應用舉例

1、*號

[root@centos ~]# mkdir test

[root@centos ~]# cd test

[root@centos test]# touch test.sh zhangyujia.sh zhangyj.sh

[root@centos test]# ls

test.sh zhangyj.sh zhangyujia.sh

[root@centos test]# ls *.sh #在當前文件夾查詢以.sh結尾的所有文件

test.sh zhangyj.sh zhangyujia.sh

[root@centos test]# touch zhangyujia.txt

[root@centos test]# ls * #列出當前文件夾的所有文件

test.sh zhangyj.sh zhangyujia.sh zhangyujia.txt

2、?號

[root@centos test]# ls ????.sh #代表四個字符

test.sh

[root@centos test]# touch a.sh

[root@centos test]# ls ?.sh #代表一個字符

a.sh

註意:?號匹配且只匹配一個字符。

3、;號兩個命令之間的分隔符

[root@centos test]# ls;ls

a.sh test.sh zhangyj.sh zhangyujia.sh zhangyujia.txt

a.sh test.sh zhangyj.sh zhangyujia.sh zhangyujia.txt

4、{}內容序列舉例

#按需生成你想要的東西

[root@centos test]# echo zhangyujia{1,2,3}

zhangyujia1 zhangyujia2 zhangyujia3

[root@centos test]# echo zhangyujia{1..5}

zhangyujia1 zhangyujia2 zhangyujia3 zhangyujia4 zhangyujia5

[root@centos test]# echo zhangyujia{a..z}

zhangyujiaa zhangyujiab zhangyujiac zhangyujiad zhangyujiae zhangyujiaf zhangyujiag zhangyujiah zhangyujiai zhangyujiaj zhangyujiak zhangyujial zhangyujiam zhangyujian zhangyujiao zhangyujiap zhangyujiaq zhangyujiar zhangyujias zhangyujiat zhangyujiau zhangyujiav zhangyujiaw zhangyujiax zhangyujiay zhangyujiaz

#備份文件

[root@centos test]# cp a.txt{,.bak}

[root@centos test]# ls a*

a.sh a.txt a.txt.bak

#創建文件夾

[root@centos test]# mkdir /data/{1,2}/data -p

[root@centos test]# tree /data/

/data/

├── 1

│ └── data

└── 2

└── data

4 directories, 0 files


歡迎關註
新浪微博:https://weibo.com/yougazhang0506
微信公眾平臺:張雨嘉
技術分享圖片
我的網站:http://www.zhangyujia.cn
51CTO博客:http://blog.51cto.com/11099293
CSDN博客:http://blog.csdn.net/u013260195
GitHub:https://github.com/zhangyujia0506/


11-Linux基礎入門(九)-Linux的通配符