Linux學習之路8(3) 認識和學習bash

2021-08-17 09:20:43 字數 2469 閱讀 2830

乙個命令有了別名的時候,比如:alias echo=」echo -n」。那麼執行echo的時候是執行echo還是echo –n呢?

type –aecho:檢視命令的執行順序。

進入linux的控制台後,會有提示資訊

這些資訊放在/etc/issue這個檔案中。用vim編輯器編輯後儲存,就可以修改這些資訊。

在控制台中登入系統後也會有提示資訊,這些資訊存放在/etc/motd中,用vim編輯器編輯後儲存也可以修改這些資訊。

bash的環境配置檔案:

在登入系統的時候,會有兩個shell:login-shell和no-login shell。

在圖形化介面中啟用終端的時候,不用再登入,這是no-login shell,而在控制台中登入的時候,需要登入,這是login-shell。

登入系統的時候,會先讀取/etc/profile,這個檔案裡面儲存了系統的全域性變數,在讀取/etc/inputrc,在這個檔案中定義了環境變數等。然後在讀取/etc/profile.d。登入完系統後,會讀取.bash_profile這個隱藏檔案,在這個隱藏檔案中定義了關於登入使用者的資訊,然後再將這些資訊定義成環境變數。

修改環境設定時,一般修改.bash_profile這個檔案。

終端機的環境設定:

set –u:在使用變數的時候,如果變數沒有定義,那麼就輸出提示資訊,如果變數定義了,就不顯示。

set +u:與上功能相反。

set –x:系統會跟蹤每乙個操作。一般使用在排錯的時候使用(個人認為像單步除錯)。

萬用字元與特殊符號:

首先,一對中括號 只匹配乙個字元,凡是出現在中括號裡面的都是匹配的。『?』:隨意乙個字元。『!』:否定。『*』:0-n個任意字元。

例:在乙個資料夾中尋找檔案,這個檔案的第乙個字元只能是字母,第二個字元只能是數字,第三個字元隨意,第四個字元不能是數字,之後隨意,最後要以.***結束。

[a-z]:從a到z。[a\-z]:a,-,z這三個字元。

[0-9]:從0到9。

?:隨意乙個字元。

[!0-9]:不是數字。

ls [a-z][0-9]?[!0-9]*.***:上個問題的答案。

資料流的重定向:

在終端中輸入命令,執行後在終端中顯示,但是當命令輸入的很多的時候,就會覆蓋掉以前的命令,系統預設的是從鍵盤輸入命令然後輸出到螢幕上,你可以設定輸入到檔案中,例如:

cal > xx(>兩邊都有空格)。xx是乙個檔案。這樣,就會把cal命令執行後的結果寫入xx中,如果xx中有內容的話,會被覆蓋掉。

如果不想覆蓋掉:cal >> xx。用兩個大於號,這個過程叫追加。

注意:以上只能重定向正確的命令,也就是能夠執行的命令,而對於不能執行的命令,是不能夠重定向的。cal > xx 1>&2。

如果想重定向錯誤的命令:2>,2>>。這個不能重定向真確的命令。如果想重定向正確的:cal 2> xx 2>&1。

&>:不管真確的還是錯誤的都會重定向。

輸入的重定向:

tr 『a-z』『a-z』 < xx:tr是轉義的意思,將xx檔案中的內容按照將小寫轉換成大寫的形式顯示出來。

aa=33333

cat >***x << eof

$aa

ssssssssssssss

eof

<

Linux學習之路8(4) 學習和認識bash

在linux中有乙個容器,它會記入剛剛執行過得命令是否正確,這個容器的大小為1個字元。檢視方式 echo 如果正確,那麼是乙個0,如果不正確,那麼是乙個整數。命令的連線方式 作為連線符的時候,當其中乙個為假是,那麼這個命令不會執行,如果第乙個就錯了,那麼第二個命令直接不會執行。作為連線符的時候,如果...

Linux之認識和學習bash

1.學習shell的主要原因 1.文字介面的shell在各大distribution都一樣,2.遠端管理時文字介面速度較快3.linux內很多控制都是shell寫的 2.系統合法的shell都寫在 etc shells中 3.使用者預設登入取得的shell記錄於 etc passwd的最後乙個字段 ...

ROS學習之路(一)認識ROS

機器代替人力走進各行各業解放人類已經成為一種不可遏制的趨勢,ros便是用來控制這些機器的比較流行的平台,類似於手機中的android。ros建立在linux系統之上,有點像linux的一種特殊軟體。裡面有很多庫,可以用來執行不同功能。我們經常會遇到這樣的情況,機器在下面執行著 比如一輛裝有攝像頭 雷...