首頁 >運維 >linux運維 >linux .(點)是什麼意思

linux .(點)是什麼意思

(*-*)浩
(*-*)浩原創
2019-11-04 09:23:019782瀏覽

linux .(點)是什麼意思

“.”點命令是shell的一個內部命令,它從指定的shell 檔案中讀入所有命令語句並在當前進程中執行。  (建議學習:linux維運

因此當多個shell進程(父子進程或無關進程均可)共享一組變數值時,就可以將這些變數賦值語句定義到一個shell檔案裡,並在需要這些變數值的程式中使用點語句來引用這個shell文件,從而實現變數值共享(對這些變數值的修改只涉及這個shell檔案)。

但要注意的是,這個shell檔案不能包含含有位置參數的語句,也就是不能接受$1、$2等命令列參數。

就拿這個不起眼的點(.)來說吧。當它放在一個需要一個目錄名稱的指令的參數時,表示「目前目錄」:

find . -name "*.jpg"

意思是「在目前目錄(包括子目錄)中尋找以 .jpg 結尾的文件」。

ls . 和 cd . 結果也如你想的那樣,它們分別列舉和「進入」到當前目錄,雖然在這兩種情況下這個點都是多餘的。

而一個緊接著另一個的兩個點呢,在同樣的場景下(即當你的指令期望一個檔案目錄的時候)表示「目前目錄的父目錄」。如果你目前在 /home/your_directory 下並且運作:

cd ..

你就會進入 /home。所以,你可能認為這仍然適合「點代表附近目錄」的敘述,而且毫不複雜,對吧?

那下面這樣會怎麼樣呢?如果你在一個檔案或目錄的開頭加上點,它表示這個檔案或目錄會被隱藏:

$ touch somedir/file01.txt somedir/file02.txt somedir/.secretfile.txt
$ ls -l somedir/
total 0
-rw-r--r-- 1 paul paul 0 Jan 13 19:57 file01.txt
-rw-r--r-- 1 paul paul 0 Jan 13 19:57 file02.txt
$ # 注意上面列举的文件中没有 .secretfile.txt
$ ls -la somedir/
total 8
drwxr-xr-x 2 paul paul 4096 Jan 13 19:57 .
drwx------ 48 paul paul 4096 Jan 13 19:57 ..
-rw-r--r-- 1 paul paul 0 Jan 13 19:57 file01.txt
-rw-r--r-- 1 paul paul 0 Jan 13 19:57 file02.txt
-rw-r--r-- 1 paul paul 0 Jan 13 19:57 .secretfile.txt
$ # 这个 -a  选项告诉 ls 去展示“all”文件,包括那些隐藏的

然後就是你可以將 . 當作指令。是的,你聽我說:. 是真真正正的命令。它是 source命令的代名詞,所以你可以用它在當前shell 中執行一個文件,而不是以某種其它的方式去運行一個腳本文件(這通常指的是Bash 會產生一個新的shell 去運行它)

以上是linux .(點)是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn