LINUX常用命令(基礎)
1. man 對你熟悉或不熟悉的命令提供協助解釋
eg:man ls 就可以查看ls相關的用法
註:按q鍵或者ctrl+c退出,在linux下可以使用ctrl+c終止當前程式運行。
2. ls 查看目錄或者檔案的屬*,列舉出任一目錄下面的檔案
eg: ls /usr/man
ls -l
a.d表示目錄(directory),如果是一個"-"表示是檔案,如果是l則表示是一個串連檔案(link)
b.表示檔案或者目錄許可許可權.分別用可讀(r),可寫(w),可運行(x)。
3. cp 拷貝檔案
eg: cp filename1 filename2 //把filename1拷貝成filename2
cp 1.c netseek/2.c //將1.c拷到netseek目錄下命名為2.c
4. rm 刪除檔案和目錄
eg: rm 1.c //將1.c這個檔案刪除
5. mv 移走目錄或者改檔案名稱
eg: mv filename1 filename2 //將filename1 改名為filename2
mv qib.tgz ../qib.tgz //移到上一級目錄
6. cd 改變目前的目錄 pwd 查看當前所在目錄完整路徑
eg: pwd //查看當前所在目錄路徑
cd netseek //進入netseek這個目錄
cd //退出目前的目錄
7. cat,more命令
將某個檔案的內容顯示出來。兩個命令所不同的是:cat把檔案內容一直列印出來,而 more則分屏顯示
eg; cat>1.c //就可以把代碼粘帖到1.c檔案裡,按ctrl+d 儲存代碼。
cat 1.c 或more 1.c //都可以查看裡面的內容。
gcc -o 1 1.c //將1.c編譯成.exe檔案,我們可以用此命編譯出代碼。
8.chmod 命令 許可權修改 用法:chmod 一位8進位數 filename。
eg: chmod u+x filenmame //只想給自己運行,別人只能讀
//u表示檔案主人, g 表示檔案檔案所在組。 o 表示其他人 ;r 表可讀,w 表可寫,x 表可以運行
chmod g+x filename //同組的人來執行
9. clear,date命令
clear:清屏,相當與DOS下的cls;date:顯示目前時間。
10. mount 載入一個硬體裝置
用法:mount [參數] 要載入的裝置 載入點
eg: mount /dev/cdrom
cd /mnt/cdrom //進入光碟片目錄
11. su 在不退出登陸的情況下,切換到另外一個人的身份
用法: su -l 使用者名稱(如果使用者名稱預設,則切換到root狀態)
eg:su -l netseek (切換到netseek這個使用者,將提示輸入密碼)
12.whoami,whereis,which,id
//whoami:確認自己身份
//whereis:查詢命令所在目錄以及協助文檔所在目錄
//which:查詢該命令所在目錄(類似whereis)
//id:列印出自己的UID以及GID。(UID:使用者身份唯一標識。GID:使用者組身份唯一標識。每一個使用者只能有一個唯一的UID和 GID)
eg: whoami //顯示你自已登陸的使用者名稱
whereis bin 顯示bin所在的目錄,將顯示為:/usr/local/bin
which bin
13. grep,find
grep:常值內容搜尋;find:檔案或者目錄名以及許可權屬主等匹配搜尋
eg: grep success * /*尋找目前的目錄下面所有檔案裡面含有success字元的檔案
14. kill 可以殺死某個進行中或者已經是dest狀態的進程
eg; ps ax
15. passwd 可以設定口令
16. history 使用者用過的命令
eg: history //可以顯示使用者過去使用的命令
17. !! 執行最近一次的命令
18. mkdir命令
eg: mkdir netseek //建立netseek這個目錄
19. tar 解壓命令
eg: tar -zxvf nmap-3.45.tgz //將這個解壓到nmap-3.45這個目錄裡
20. finger 可以讓使用者查詢一些其他使用者的資料
eg: finger //查看所用使用者的使用資料
finger root //查看root的資料
add user
所以建立新帳號的過程也就是和這幾個檔案在打交道,不過不要害怕,通過 useradd 命令來建立新帳號,系統會自動與這些檔案進行操作不用咱手動一個一個的來更改,這樣也不用擔心出錯的問題。 呵呵。
useradd 文法結構:
有事找“男人”是Linux最有效方法,咱先來看一下useradd的文法結構,因為本人現在系統是Fedora11,其man語句直接用的中文,雖然方便閱讀卻也難免有錯誤,不過基本還好,大家看到下面的漢字勿怪,呵呵:
名 稱 useradd – 帳 號 建 立 或 更 新 新 使 用 者 的 資 訊
語 法 useradd [-c comment] [-d home_dir]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-m [-k skeleton_dir] | -M] [-s shell]
[-u uid [ -o]] [-n] [-r] username
useradd -D [-g default_group] [-b default_home]
[-f default_inactive] [-e default_expire_date]
[-s default_shell]
首先來說一下這個 -D 參數,如果加上此參數當 useradd 會顯示出現建立新帳號的一些預設值,或是通過指定參數內容來更新預設值。 這個咱們稍候再來討論,暫且略過。
看其沒有-D參數的各個選項,下面簡單為大家描述一二,有個印象,一會兒再看我給列位的樣本時也不至於頭暈。呵呵。
參數名 |
描述 |
-u |
後面接UID,是一組數字。直接給這個帳號指定一個特定的UID。 |
-g |
後面接的使用者組名稱就是之前提到的初始使用者組。 該group ID(GID)會放置到 /etc/passwd 的第四個欄位內。 |
-G |
後面接的使用者組名稱是這個帳號還可以屬於哪些使用者組。 此參數會修改 /etc/group 內的相關資料。 |
-M |
強制不建立家目錄。 |
-m |
強制必須建立家目錄。 |
-c |
就是 /etc/passwd 第五欄的使用者說明資訊,可以隨便設定,各位隨意。 |
-d |
用此參數後面指定的路徑做為新帳號的家目錄,而不使用預設值。 |
-r |
建立的帳號為系統帳號:該帳號的UID會有限制(/etc/login.defs) |
-s |
指定新帳號的預設shell |
useradd 樣本:
說了這麼半天,咱也來動手用 useradd 命令建立幾個帳號,提升一下咱的動手能力。另外,算是做個示範吧,畢竟實踐出真知嘛。呵呵,不過我忘了這是哪位偉人說的話了。嗯。
# 不加任何參數,直接預設建立一個新使用者 chongpig
[ simaopig@ xiaoxiaozi ~] $ useradd chongpig
bash : / usr/ sbin/ useradd: 許可權不夠
[ simaopig@ xiaoxiaozi ~] $ su
密碼:
[ root@ xiaoxiaozi simaopig] # useradd chongpig
[ root@ xiaoxiaozi simaopig] # ls -l /home/
總計 24
drwx------. 4 chongpig chongpig 4096 07-21 21 :58 chongpig
drwx------. 2 root root 16384 07-12 13 :08 lost+found
drwxr-xr-x. 44 simaopig simaopig 4096 07-21 21 :21 simaopig
# 在和使用者相關聯的幾個檔案裡面搜一下chongpig這個帳號
[ root@ xiaoxiaozi simaopig] # grep chongpig /etc/passwd /etc/shadow /etc/group
/ etc/ passwd :chongpig:x:501:501::/ home/ chongpig:/ bin/ bash
/ etc/ shadow:chongpig:!! :14446 :0 :99999 :7 :::
/ etc/ group:chongpig:x:501 :# 建立一個新帳號 simaopig2 ,且看一下 UID 888 不存在,那麼就指定給simaopig2,
# 並且把它加到 mysql 組中
[ root@ xiaoxiaozi simaopig] # grep 888 /etc/passwd
[ root@ xiaoxiaozi simaopig] # useradd -u 888 -g mysql simaopig2
[ root@ xiaoxiaozi simaopig] # grep simaopig2 /etc/passwd /etc/shadow /etc/group
/ etc/ passwd :simaopig2:x:888:27::/ home/ simaopig2:/ bin/ bash
/ etc/ shadow:simaopig2:!! :14446 :0 :99999 :7 :::# 建立一個系統帳號simaopig3 看一下系統帳號有啥不同
[ root@ xiaoxiaozi simaopig] # useradd -r simaopig3
[ root@ xiaoxiaozi simaopig] # grep simaopig3 /etc/passwd /etc/shadow /etc/group
/ etc/ passwd :simaopig3:x:490:484::/ home/ simaopig3:/ bin/ bash
/ etc/ shadow:simaopig3:!! :14446 ::::::
/ etc/ group:simaopig3:x:484 :
系統帳號的 UID 與 GID 竟然不同,而且在 /etc/group 裡面有對應關係。
細心的同學一定會發現,用 useradd 建立的帳號是沒有登入功能的,因為其在 /etc/shadow 中的密碼欄是不可能登入的,以 ! 開頭 。所以近日我們還會討論 Linux 給使用者更改密碼的方法。
useradd 預設值:
上面的樣本可以讓我們瞭解到,系統其實已經規範好了一些新增使用者時的參數了,像我沒有指定使用者的家目錄,也沒有指定使用者的 UID 和 GID 可是系統會幫我們為使用者加上,同時其預設shell被設定成了 /bin/bash ,也讓我知道了,使用 useradd 命令一定要有 root 許可權。那麼, useradd 去新增使用者時,其預設值是多少呢?
使用上面所說的 useradd 的 -D 參數可以顯示出其預設值,各位可以看出,其值完全與 /etc/default/useradd 這個檔案裡面的內容相同。原來在 linux 中使用 useradd 去新增使用者時,一些在 /etc/passwd 中的值是會去參考 /etc/default/useradd 這個檔案的 。其檔案內容基本如下:
# useradd defaults file
# 預設的使用者組
GROUP =100
# 家目錄的地址
HOME =/ home
# 密碼到期的寬限時間,對應 /etc/shadow 的第七欄
INACTIVE =-1
# 帳號失效日期,對應 /etc/shadow 的第八欄
EXPIRE =
# 預設使用的shell
SHELL =/ bin/ bash
# 使用者家目錄裡面的內容參照檔案(裡面基本上全為隱藏檔案——>以“.”開頭的檔案)
SKEL =/ etc/ skel
# 建立使用者的mailbox
CREATE_MAIL_SPOOL =yes
總結及囉嗦:
簡簡單單的先介紹至此,傳說中 linux 建立帳號還可以使用 adduser 命令,其實這與 useradd 是同一個命令的不同名字罷了。因為大家用 man adduser 進入的完全是 useradd 的介紹頁。當然有更簡單的通過圖形介面建立使用者的方法,但是這我就不教大家了。