《鳥哥的linux私房菜》基本命令筆記

來源:互聯網
上載者:User

1.以前沒注意過的,略寫的命令option後面只能空格後加參數,而標準option即可以空格也可以等號後跟著參數,如date命令,date -r filename ;; date --reference filename ;; date --reference=filename 都是正確的。


2.對於目錄來說,即使有r,沒有X,也不能進入目錄。
對於檔案來說,x表示這個檔案可以被使用者執行,但能不能執行成功,當然得看本身裡面的內容了。

3.檔案種類:
普通檔案 -
純文字ASCII 檔案,可以使用cat查看的都算
二進位檔案,Linux的可執行檔,舉例來說,cat命令本身就是個二進位檔案,或者使用cat查看一些二進位檔案時是亂碼
資料格式的檔案,如登入記錄的資料,使用cat查看也是亂碼,但可以使用last讀出

目錄 d
串連檔案 l  硬串連與軟串連
裝置檔案
塊裝置 b 如硬碟
字元裝置 c 如串列介面的鍵盤和滑鼠

通訊端 s
管道 p

4.只要開頭不是/ 就是相對路徑的寫法,相對路徑是以“當前路徑的相對位置”來表示的
 ./表示當前路徑
../表示上一層路徑
建議在寫shell時使用絕對路徑,因為絕對不會出錯。

5.根目錄下最好不要直接有檔案,只有目錄,且/etc,/dev,/bin/,/sbin,/lib等5個子目錄只能跟在/ 下面,不能獨立分區。建議獨立的分區如/home,/usr,/var,/tmp等

6.掛載的概念:物理的裝置掛到分類樹上,如/dev/sda2 掛載到/boot上。 另如將window 分區掛載進來時,一般掛在/media/XXX  。。光碟片呢一般在/mnt/cdrom。

7.目錄的相關操作
. 表示目前的目錄
.. 表示上一層目錄
- 表示前一個工作目錄
~ 表示“目前使用者”所在的家目錄
~account 表示account使用者的家目錄
注意simba的家目錄是/home/simba,root的家目錄是/root

8.pwd -P  不會以串連檔案的資料顯示,而是顯示正確的完整路徑
mkdir -p 可以遞迴建立目錄
mkdir -m  711  test 可以設定屬性,否則使用預設屬性。
rmdir 只能刪除空目錄(即目錄內不能有其他目錄或者檔案),即需要一層層地刪除,可以加 -p 遞迴刪除上層空目錄,如果要將所有目錄下的東西都刪除,使用 rm -rf test (危險)
cp -a 將檔案屬性一起複製,且遞迴複製,相當於 -pdr
cp -u 在目標檔案與源檔案有差異時才複製,常用於備份。

9.查看檔案內容
cat: 從第一行開始顯示,-A 顯示分行符號 $ ,-T 顯示tab鍵(^I),-n 顯示行號
tac:從最後一行開始顯示
nl:顯示的時候,輸出行號
more:一頁一頁地顯示檔案內容
less:與more類似,但可以向前翻頁
tail:只看最後幾行
head:只看前面幾行
          顯示~/.bashrc 的第11到第20行
       head -n 20  | tail -n 10

od:以二進位方式讀取檔案內容
more,less可以使用 /字串 進行尋找

touch命令
建立一個空檔案
將某個檔案日期修改為當前日期(atime和mtime)
atime是訪問時間,mtime是修改時間,ctime是狀態改變時間(屬性與許可權)

10.一般使用者的umask為0002,第一個數為特殊許可權所用,root預設umask為0022
建立檔案時預設許可權為  (-rw-rw-rw-) - (-----w--w-)  ==> -rw-r--r--
建立目錄時預設許可權為(drwxrwxrwx)- (d----w--w-) ==> drwxr-xr-x

11.chattr +i 可以讓一個檔案不能被刪除修改寫入等  +a表示只能增加資料,不能被刪除。
 lsattr可以查看檔案的隱藏屬性

12. 尋找檔案
which -a  執行檔案
whereis -bmsu  檔案名稱或者目錄名
locate filename

find  path  -option -action
-atime n  在n天之前的“一天之內”訪問過的檔案
-name filename
-size  +50k    #比50k大的檔案
-type  TYPE
-exec command  #處理搜尋處理的結果,一定以 \ 結束
如find / -name simba -exec ls -l {} \  ;

不知道全名時可以使用萬用字元*


13. export命令輸出環境變數

無論是在系統內容變數追加路徑如#export PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
 還是將自訂變數使用export name=simba 進行輸出,登出再次登陸後這些路徑和變數都將不再存在,即export只對當前登入有效。如果想永久儲存路徑或者變數應在檔案中設定,如

系統設定檔案 /etc/profile  所有使用者都會使用到這個檔案
個人設定值 ~/.bash_profile  只在登入時讀取一次
個人設定值 ~/.bashrc 每次執行指令碼都會讀取
上述三個檔案讀取順序由上到下,故~/.bashrc 是最終讀取的設定值,可將個人設定放於此。


另外不要與/etc/bashrc混淆,這個檔案是確定umask的功能。


中間一行 . ~/.bashrc    小數點表示可以將設定檔案的內容讀進當前的shell環境,使用source也可以實現。


14.命令的執行

執行命令無外乎兩種形式,一種以絕對路徑給出命令,如./name.pl ,/usr/bin/name.pl,另一種則因為設定了環境變數PATH的路徑而可以在任何路徑執行命令,而/bin 目錄下要麼存在著這個命令,要麼告訴系統以/bin目錄下某個組件的功能去執行此命令。舉個例子,自己寫了個test.sh,可以將其放在家目錄下~/bin,然後在PATH=$PATH:~/bin 這樣就能在任何路徑執行指令碼了,另一種方式是直接任意路徑 sh test.sh,此時即告訴系統,要直接以/bin/bash的功能來執行test.sh檔案內的命令。


15.系統和檔案的編碼

查看系統當前編碼 locale
查看系統支援的編碼 iconv -l
查看檔案的編碼  file -i  (注意與type不同,查看命令的類型)
在vim中 :edit  ++enc=utf8/gb18030/gb2312... 但只是編輯時轉碼了,重新開啟還是亂碼的,最好用iconv 轉碼,如windows檔案轉到Linux下,如果使用dos2unix之後(一般只是去掉換行^M而已)還會亂碼,則可以 iconv -f GBK -t UTF-8 file1 -o file2

出現亂碼時解決思路:


系統設定的編碼格式
檔案建立時的編碼格式
編輯器開啟時使用的編碼格式
終端包括串連的如putty的編碼格式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.