軟體工具:VBOX,Ubuntu
一些常用的Linux學習網站(持續更新):
Linux命令大全-菜鳥教程
學習任務1:LPI-1
常見命令匯總表
| 命令 | 功能 |
|---|---|
cd/ | 進入根目錄 |
cd.. | 回到上級目錄 |
pwd | 當前位置 |
ls -a | 查看目錄中所有檔案包括隱藏的 |
ls -l | 長目錄詳細清單 |
ls -dl | 查看目錄本身,而不是內部 |
ls -R | 遞回的查看目錄內部,巨長(慎) |
ls -id | 查看清單中檔案系統物件的索引節點號 |
mkdir | 創建一個新檔案夾 |
mkdir -p | 快速創建父目錄+子目錄+子目錄 |
touch | 新建檔案 |
echo | 回音,還有重定向用法 |
cat | 顯示檔案內容 |
cp | 復制 |
mv | 重命名,移動 |
ln | 創建硬鏈接 |
ln -s | 創建符號鏈接 |
rm | 洗掉檔案 |
rmdir | 洗掉目錄 |
rm -rf | 洗掉目錄及下面所有檔案 |
Part1 About bash
$這個符號在Linux系統中非常常見,它可能包含系統的主機名、當前的作業目錄名,或者兩者都有,但是不管這個特殊的提示符看起來像什么,有一件事是肯定的,列印出這個提示符的程式叫shell,極有可能您的特殊的 shell 是一個叫 bash 的程式,
查看自己是否在運行bash
$ echo $SHELL
/bin/bash
得到的結果是這樣的:

Bash 是“Bourne-again shell”的首字母縮寫,它是大多數 Linux 系統預設的 shell,shell 的任務是執行您的命令,使您能夠與 Linux 系統進行互動,當您輸完命令,您可以通知 shell 執行 exit 或 logout 命令,在此您將回傳到登錄提示符,
順便提一下,還可以通過在 bash 提示符下按 control-D 來注銷,
查看bash的當前作業目錄:

絕對路徑以/開頭的命令:(使用cd進入這些目錄)
/dev
/usr
/usr/bin
/usr/local/bin
相對路徑不用加/,指相對當前路徑下的路徑:

使用..回到父目錄

使用..去兄弟目錄

理解.:通常用來執行一些當前目錄中的程式:將執行當前目錄下的可執行檔案myprog
$ ./myprog
cd和主目錄:
沒有引數,cd直接轉到主目錄,對于超級用戶來說是 /root,對于一般用戶來說通常是 /home/username
$ cd
如果想要將一個檔案引數傳給 myprog 命令,如果該檔案在主目錄中,我們可以輸入:
$ ./myprog /home/drobbins/myfile.txt
可以使用 ~(代字符)字符來完成同樣的事:
$ ./myprog ~/myfile.txt
Bash 將把單獨的 ~ 擴展為指向主目錄,可以用它來指向其他用戶的主目錄,
例如,如果想要參考 fred 的主目錄中的名為 fredsfile.txt 的檔案,可以輸入:
$ ./myprog ~fred/fredsfile.txt
Part2 使用Linux命令
ls的使用
ls 本身將列出當前作業目錄的內容
通過指定 -a 選項,可以看到目錄中的所有檔案,包括隱藏檔案

長目錄清單
ls -l 選項用來顯示我的 /usr 目錄的完整清單,每列的具體含義如下:
第一欄顯示了每一項的權限資訊,接下來的一欄列出了每個檔案系統物件的鏈接數,第三和第四欄分別列出所有者和組,第五欄列出了物件的大小,第六欄是物件的“最近修改時間”或“mtime”(建立時間),最后一欄是物件的名稱,如果檔案是符號鏈接,將看到后面跟有 -> 以及符號鏈接所指向的路徑,

ls -dl 要查看目錄本身,而不是目錄內部

ls -R 遞回查看該目錄內所有的目錄內部,巨長哦,慎用!

ls -i 可以用來在清單中顯示檔案系統物件的索引節點號:

理解索引節點號

首先呢,用ls -id把/usr/local的索引號顯示出來,再把/usr/local/bin/..的索引號顯示出來,發現兩者是一致的,說明這兩個鏈接都可以指到同一索引號,即同一目錄下,然后看了一下/usr/local/bin/..指向的位置,原來也是/usr/local,查看了該目錄的詳細資訊,看第二欄=10,意思是索引節點 1048582 被參考的總次數是10次,那么從哪兒可以參考到此處呢,應該是他的子目錄:(除去隱藏的man檔案,加起來剛好10個,下面懶沒有列全…)
/usr/local
/usr/local/.
/usr/local/bin/..
/usr/local/games/..
/usr/local/lib/..
/usr/local/sbin/..
/usr/local/share/..
/usr/local/src/..
mkdir命令
創建新目錄:
$ cd /tmp
$ mkdir tic tac toe
如果想要創建目錄 won/der/ful,必須要發出三個單獨的 mkdir 命令:

**mkdir -p**幫助解決了這個問題,可以快速創建這些父目錄:

遇到不會的就…man mkdir啟動幫助手冊
touch命令
新建檔案,如果檔案已經存在,則會更新檔案的第六欄mtime
$ cd /tmp
$ touch copyme
echo命令
普通的echo命令是這個鴨子的,你說啥他就說啥,就是回音的意思嘛

帶有重定向的echo就相當于你把回音存到一個地方了,裝起來了
大于符號告訴 shell 將 echo 的輸出寫到名為 copyme 的檔案中,如果該檔案不存在,將創建這個檔案;如果該檔案存在,將覆寫這個檔案,通過輸入 ls -l,我們可以看到 copyme 檔案為 10 個位元組長,因為它包括 firstfile 這個詞和換行符:

cat和cp命令
cat是用來顯示檔案內容的命令;
可以用cp命令復制檔案,通過觀察,發現他們的索引號不一樣,復制之后是互相獨立的檔案

mv命令
mv可以用來重命名檔案,只要還在同一檔案系統上,重命名之后的索引號就依然不變(就像你原來叫二丫,改完名字叫二傻,只要你還在中國,那你的身份證號還是沒變,只是身份證上的名字變了)

Part3 創建鏈接和洗掉檔案
硬鏈接
當考慮目錄和索引節點之間的關系時,提到的鏈接都是硬鏈接,一個給定的索引節點可以有任意數目的硬鏈接,該索引節點一直存在于檔案系統,直到所有的硬鏈接消失,可以使用ln 命令來創建新的硬鏈接:可以看到他們的索引號都還是一樣的,所以可以鏈接到同一位置

硬鏈接作業于索引節點級別,指向特殊的檔案,在 Linux 系統上,硬鏈接有幾個局限性,
- 第一,您只能給檔案建立硬鏈接,而不能給目錄建立硬鏈接,的確如此;即便 . 和 … 是系統給目錄創建的硬鏈接,也不允許您(“root”用戶也不行)創建任何您自己的硬鏈接,
- 第二,它們不能跨檔案系統,這意味著,如果您的 / 和 /usr 存在于不同的檔案系統,您不能創建從 /usr/bin/bash 到 /bin/bash 的鏈接,
符號鏈接
符號鏈接是一種專門的檔案型別,在這種檔案型別中,鏈接通過名稱參考另一個檔案,而不是直接參考索引節點,符號鏈接不阻止檔案被洗掉;如果目標檔案消失,那么符號鏈接僅僅是不可用,或“被破壞”,

通過將 -s 選項傳給 ln,可以創建符號鏈接,
在 ls -l 輸出中,可以用三種方式區分符號鏈接和一般檔案,
- 請注意第一欄包含一個 l 字符的輸出表明是符號鏈接,
- 符號鏈接的大小是目標檔案(本例是 secondlink)的字符數,
- 輸出的最后一欄顯示目標檔案名,
符號鏈接會比硬鏈接更加的靈活,可以給任何型別的檔案系統物件(包括目錄)創建符號鏈接,符號鏈接是基于路徑的(而不是索引節點)
如下圖所示:使用絕對路徑為/usr/local/bin創建一個符號鏈接bin1

使用相對路徑創建符號鏈接bin2

可以看到,如果把bin2的鏈接移動到另一個目錄,由于相對路徑,它將遭到破壞

雖然相對路徑看來不好創建符號鏈接,但是很多時候,相對的符號鏈接還是很好用的,
假設想為keychain創建一個符號鏈接kc,然后把``/usr/bin/keychain`和kc都移動到另一個目錄下,這時候kc會失效,因為它使用了絕對路徑,該位置已經沒有keychain了

一般情況下,相對路徑或絕對路徑都能作業得很好:

rm命令
用來洗掉檔案的命令

rmdir命令
新建一個目錄mydir,在目錄下新建一個檔案file1,先用 rm洗掉檔案,再用rmdir洗掉目錄

還有一種洗掉目錄及目錄中物件的方法:
rm -rf mydir
rm -rf一般是首選方法,但是要慎用!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/203387.html
標籤:其他
上一篇:Lvs負載均衡
