成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

15 個你非了解不可的 Linux 特殊字符

系統 Linux
不知道大家接觸 Linux 系統有多久了,可曾了解過 Linux 中有哪些特殊的字符呢?其實啊,那些特殊字符都大有用處呢,今天的文章就給大家簡單地科普一下 Linux 中你需要了解的 15 個特殊字符,想學或剛學 Linux 的小伙伴趕緊上車了為!

 不知道大家接觸 Linux 系統有多久了,可曾了解過 Linux 中有哪些特殊的字符呢?其實啊,那些特殊字符都大有用處呢,今天的文章就給大家簡單地科普一下 Linux 中你需要了解的 15 個特殊字符,想學或剛學 Linux 的小伙伴趕緊上車了為!

[[320765]]

~ 主目錄

這個波浪號 ~ 指的是主目錄,也就是我們用戶的個人目錄,無論你身在何方,輸入 cd ~ 它將帶你回家!

 

  1. cd ~ 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

更高端的玩法就是在它后面加上具體的路徑,直接定位到家目錄中的指定位置,是不是很方便呢?

 

  1. cd ~/work/archive 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

  • 當前目錄

英文句號 . 代表當前目錄,我們來看一下當前目錄下的全部文件:

 

  1. ls -al 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

紅圈里的 . 就是指當前目錄,不過這沒什么意義,我們更多的是在命令中使用它,如下:

 

  1. ./script.sh 

這樣做是在告訴 bash 只要在當前目錄中查找并執行 script.sh 文件就好了,不用在路徑中找了。

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

.. 父目錄

兩個英文句號 .. 代表父目錄,也就是當前目錄的上一級目錄。假設我們要回到上一級目錄:

 

  1. cd .. 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

跟前面一樣,你可以在它后面加具體的目錄,這里的意思就是定位到與當前目錄同級的其它目錄:

 

  1. cd ../projects/ 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

/ 路徑目錄分隔符

斜杠 "/" 指的是路徑目錄分隔符,這里沒什么好說的。

 

  1. ls ~/work/tests/ 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

但是,有意思的是,如果 / 路徑目錄分隔符前面沒有東西的話,是不是就是意味著這是最上級的目錄了?由于 Linux 系統的目錄樹均始于 / ,所以僅僅一個 / 代表了我們常說的系統根目錄。

 

  1. cd / 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

# 注釋

以 # 開頭,代表這句話是注釋。

 

  1. # This will be ignored by the Bash shell 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

 

雖然上面那段話就被忽略了,但它還是會添加到您的命令歷史記錄中。

更厲害的做法如下:

先定義一個變量并給它賦值字符串 “amazing alvin”

 

  1. this_string="amazing alvin" 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

 

${this_string#amazing} 返回的是被注釋掉 amazing 的 this_string 字符串變量,可以 echo 輸出看下結果:

 

  1. echo awsome ${this_string#amazing} 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

 

amazing 只是被注釋掉而已,它并未被刪除,去掉注釋它就回來了:

 

  1. echo $this_string 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

? 單字符通配符

問號 "?",指的是單字符通配符。Bash Shell 支持三種通配符。

它代表文件名中任意一個字符的匹配,例如:

 

  1. ls badge?.txt 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

注意,它與 badge.txt 是不匹配滴,因為 badge 后面沒有字符。

正因為 "?" 匹配單個字符,所以這里有個看似很厲害的玩法,就是你想要的找的文件的文件名有多少個字符,你就輸入多少個 "?" 。

 

  1. ls ?????.txt 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

看著挺厲害,不過我怎么感覺這好別扭?????

* 字符序列通配符

星號 * 代表的是任意字符序列,匹配任意字符,包括空字符,以剛才的 badge 為例:

 

  1. ls badge* 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

可以看到,badge.txt 都匹配到了。

匹配任意類型的文件:

 

  1. ls source.* 

[] 字符集通配符

方括號 "[]" 指的是字符集通配符,文件名中的相關字符必須與字符集中的至少一個字符匹配。通過例子來體會一下它的作用吧:

 

  1. ls badge_0[246].txt 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

 

 

  1. ls badge_[01][789].txt 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

 

  1. ls badge_[23][1-5].txt 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

 

; 命令分隔符

這跟我們日常使用的 ";" 差不多,就不細說了,主要是用來分隔命令的。

 

  1. ls > count.txt; wc -l count.txt; rm count.txt 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

 

這里注意,用 ; 分隔命令時,即使第一個命令失敗,第二個命令也會運行,即使第二個命令失敗,第三個命令也會運行,依此類推。

如果要在一個命令失敗的情況下就停止,請使用 "&&" ,如下:

 

  1. cd ./doesntexist && cp ~/Documents/reports/* . 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

 

& 后臺處理

有時候在終端正在運行一個命令時,例如 vim,你想運行另外一個命令怎么辦?這里有個小技巧就是在命令后面加一個 "&" 符號,將這個程序放在后臺啟動,這樣你就能在終端實現后臺多任務的效果了。

 

  1. vim command_address.page & 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

 

上面顯示的是這個后臺進程的 ID 。

< 輸入重定向

許多 Linux 命令接受一個文件作為參數,并從該文件中獲取數據。這些命令中的大多數還可以從流中獲取輸入。要創建一個流,可以使用左尖括號 "<" ,如下將文件重定向到命令中:

 

  1. sort < words.txt 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

上面將 words.txt 文件的內容并進行了排序。

注意:它是不顯示數據來源文件的文件名的。

 

  1. wc words.txt 
  2. wc < words.txt 

 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

> 輸出重定向

輸入和輸出是相反的,很好理解。用右尖括號 ">" 將命令的輸出重定向,通常是重定向到文件中。

 

  1. ls > files.txt 
  2. cat files.txt 

 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

高端玩家還可以和數字一同使用:

 

  1. wc doesntexist.txt 2> errors.txt 
  2. cat errors.txt 

 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

這里的 2 是一個文件描述符,表示標準錯誤(stderr)

大家感興趣的可以去搜索下文件描述符 stdin,stdout,stderr 是什么?

| 連接命令

我們可以將 " | " 看成將命令鏈接在一起的管道。它從一個命令獲取輸出,并將其作為輸入送入下一個命令。管道命令的數量是任意的。

 

  1. cat words.txt | grep [cC] | sort -r 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

 

解釋下,上面先使用 cat 將 words.txt 文件的內容輸入 grep , 然后 grep 提取包含小寫或大寫(C/c)的任何行,接著 grep 將這些行傳遞給 sort ,最后 sort 進行 -r 反向排序。

! 邏輯非

這跟編程語言中的 " ! " 差不多,我們直接拿個例子來說吧:

 

  1. [ ! -d ./backup ] && mkdir ./backup 

第一個命令 -d 判斷當前目錄是否存在 backup 的目錄文件,外面加個邏輯非 ! 判斷,

第二個命令是創建 backup 目錄文件,

中間的 && 上面說過。

總的來說就是當 backup 目錄不存在時,創建 backup 目錄;當不存在時則不執行第二條命令。

不妨看下文件夾的備份狀態:

 

  1. ls -l -d backup 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

" ! " 的另一個用法就是重新運行歷史命令:

 

  1. !24 
  2. !! 

 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

" !! " 是重新運行上一條命令的意思。

$ 變量表達式

"$" 開頭通常表示變量,下面是一些系統變量:

 

  1. echo $USER 
  2. echo $HOME 
  3. echo $PATH 

 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

當然,你也可以自己定義變量然后輸出:

 

  1. ThisDistro=Ubuntu 
  2. MyNumber=2001 
  3. echo $ThisDistro 
  4. echo $MyNumber 

 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

我們還可以通過 "{}" 解鎖更高級的玩法:

先定義一個變量 MyString 并給它賦值 123456qwerty

 

  1. MyString=123456qwerty 

正常輸出

 

  1. echo ${MyString} 

加個 ":6" 返回從索引位置 6 開始的一直到最后的字符串

 

  1. echo ${MyString:6} 

顯示從索引位置從 0 開始往后 6 個字符的字符串

  1. echo ${MyString:0:6} 

顯示從索引位置從 4 開始往后 4 個字符的字符串

  1. echo ${MyString:4:4} 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

引用特殊字符

說了那么多,那么就有個問題了,就是我只想在命令里面將這些特殊字符作為一般的符號顯示怎么辦?這種我們稱之為引用,Linux 中有三種引用方法。

用雙引號 "" 括起來,不過這對 "$" 無效。

 

  1. echo "Today is $(date)" 

用單引號 '' 括起來,停止所有特殊字符的功能。

 

  1. echo 'Today is $(date)' 

反斜杠 \ 轉義,這在很多場合都有通用的。

 

  1. echo "Today is \$(date)" 

 

收藏 | 15 個你非了解不可的 Linux 特殊字符

 

今天的科普文章有點長,大家慢慢消化哈。

責任編輯:華軒 來源: 今日頭條
相關推薦

2020-03-02 00:01:25

Linux字符目錄

2023-12-19 16:39:18

CSS開發前端

2024-03-21 08:57:39

語言軟件開發

2019-07-15 16:10:13

MYSQL開源數據庫

2022-04-18 12:42:44

Linux

2018-03-15 09:29:43

命令Linux輸出

2022-10-26 15:59:16

2024-01-15 17:26:26

JavaScriptWeb開發

2023-07-04 15:52:49

JavaScript數組

2013-10-11 15:26:32

linux網絡監控

2020-01-02 15:22:19

物聯網協議物聯網IOT

2017-01-16 15:20:03

Linux內核Oops

2011-07-18 13:35:14

HTML 5

2009-12-16 14:59:21

紅帽Linux認證

2021-01-12 12:07:34

Linux磁盤系統

2017-12-19 11:00:54

Linux系統日志

2021-09-16 21:22:15

Flutter系統

2016-09-27 13:47:15

Linux網絡命令

2018-04-24 10:59:52

人工智能數據AI

2024-05-20 09:27:00

Web 開發CSS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区 | 色吧色综合 | 午夜免费在线 | 中文字幕第三页 | 欧美一级二级三级视频 | 国产精品国产馆在线真实露脸 | 亚洲视频www | 在线观看国产三级 | 婷婷国产一区二区三区 | 国产日日操 | 精品欧美一区二区中文字幕视频 | 国产精品久久福利 | 亚洲精品乱 | 综合久久综合久久 | 男女啪啪高潮无遮挡免费动态 | 欧美a在线| 欧美日韩亚洲国产 | 久久成人精品一区二区三区 | 欧美午夜一区 | 亚洲精品久久久久久一区二区 | 免费一区二区三区 | 久久伦理中文字幕 | 色桃网 | 日本精品一区二区三区在线观看视频 | 337p日韩 | 国产精久久久久久 | 亚洲二区精品 | 中文字幕一区二区三区在线观看 | 国产乡下妇女做爰 | 中国一级特黄真人毛片 | 一区在线播放 | 日韩一区欧美一区 | 91精品一区二区三区久久久久 | 91美女在线 | 亚洲欧美激情精品一区二区 | 精品久久精品 | 91免费在线 | 91大片| 久久成人亚洲 | 99精品国产一区二区三区 | 亚洲精品视频在线观看免费 |