按此前往linux完整教學目錄

 

 

目錄(資料夾)操作:

(1) pwd選項 目錄名稱:顯示當前所在目錄的路徑。選項可以是:

(1-1) 無選項:若當前目錄是用連結檔來連結,則會顯示連結檔的路徑。

(1-2) -P:若當前目錄是用連結檔來連結,則不會顯示連結檔的路徑,而顯示原始目錄路徑。

pwd,是「Print working directory」的縮寫。

(2) mkdir選項 目錄名稱:建立一個目錄。選項可以是:

(2-1) 無選項:建立單層目錄。

(2-2) -p:建立多層目錄,用法如:

 mkdir -p dir1/dir2/dir3

(2-3) -m:在建立目錄時就設定此目錄的權限,而不使用預設權限。寫法為:

mkdir -m 權限 目錄名稱。其中,權限是三個0~7的正整數,從左到右分別代表擁有者權限、群組權限、外人權限(請參考:六、檔案權限)。例如:

mkdir -m 755 dirtt

(3) rmdir 選項 目錄名稱:刪除該目錄。注意:目錄必須是空的,否則此指令會出錯。選項可以是:

(3-1) 無選項:刪除單層空目錄。

(3-2) -p:刪除多層空目錄。如:rmdir -p dir1/dir2/dir3。系統執行的步驟是:

a. 先判斷dir3資料夾是否為空,是就刪除dir3目錄。

b. 現在dir3目錄已被刪除,再判斷dir2目錄是否為空,是就刪除dir2目錄。

c. 現在dir2目錄已被刪除,再判斷dir1目錄是否為空,是就刪除dir1目錄。

如果在這一連串的步驟中,有哪一層目錄是非空的,那麼就不再進行任何刪除,就此完成此命令的執行。

若要刪除非空目錄,可使用 rm -r 目錄名稱

 

 

上一篇:linux 檔案管理

下一篇:linux path環境變數

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

1. Linux下,所有的檔案和目錄,都是被包含在一個「根目錄(root directory)」之下,這個根目錄沒有父目錄,所有的徑物都是它的子徑物、孫徑物N代子徑物。可用 cd / 命令來進入根目錄,其中 / 就是代表根目錄。

可用 cd 路徑 進入路徑上的目錄。若路徑上徑物是檔案,則這行命令無法執行。此外,cdchange directory的縮寫。

~ 代表家目錄。

 

2. 上述1路徑的寫法,分為絕對路徑與相對路徑:

(1) 絕對路徑:路徑由根目錄開始寫起,如:/var/tmp 表示根目錄下的var目錄、又再其下的tmp目錄。

(2) 相對路徑:路徑的寫法,與當前目錄有關。用點號 . 表示當前目錄,用兩個點號..表示當前目錄的父目錄。如:../aaa/bbb.txt 表示當前目錄之父目錄、其下aaa目錄、又再其下的bbb.txt檔。

路徑寫法中,可用 ~ 符號來代表當前使用者的家目錄。

路徑寫法中,可用減號 - 來代表「上一個進入過的目錄」。

路徑寫法中,可用 ~使用者帳號 來代表該名使用者的家目錄。

根目錄底下也有..目錄,不過其代表的卻是根目錄本身。

 

 

上一篇:linux 使用者切換成root身分

下一篇:linux 目錄操作

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

一般使用者變換成root身分,以執行某些命令:

Linux中,有些命令需要root身分才能執行。某些一般使用者被允許可以暫時變換為root來執行命令(執行命令前,需輸入本身的密碼),命令執行完後又馬上恢復原來身分。

(1) 其用法為:

sudo [-b] [-u 帳號] 命令

其中,中括號[]內的選項可寫可不寫,說明如下:

-b:表示將命令放到背景下執行,也就是說其執行過程不會顯示在螢幕上。此項若不寫,表示將放到前景下執行,也就是說其執行過程會顯示在螢幕上。

-u 帳號:表示變換為該帳號之身分來執行命令,而所有的權限也會變更為該帳號之身分的權限。通常用在需變換為系統帳號的身分時。此項若不寫,表示要變換為root身分。

(2) 並不是所有的使用者都被允許使用上述的sudo指令,畢竟這幾乎等於是獲得了root的身分與權限。被允許使用sudo指令的使用者,會被記錄在/etc/sudoers這個檔案中(當然,這檔案只有root才能更改)。這個檔案的紀錄格式,說明如下:

每一行中,若以井字號#為開頭,表示該行為註解。非註解的行,每行代表一個使用者,寫法為:

使用者帳號     使用者主機名稱=(可變換的使用者帳號)     指令句

使用者帳號:表示這個帳號可以使用sudo指令。若此項為%群組,表示該群組成員可使用sudo指令。

使用者主機名稱:若該使用者目前登入的主機是使用者主機名稱,那就允許其使用sudo指令。若此項為ALL,表示在任何主機登入都可使用sudo指令。

可變換的使用者帳號:表示可以用sudo變換的對象之帳號。若此項為ALL,表示可以變換為任何對象。

命令句:表示可以使用sudo來執行的命令。要注意,命令本身必須寫為該執行檔的絕對路徑(mkdir要寫為/bin/mkdir)。若此項為ALL,表示所有形式的命令句都可用sudo來執行。若此項以驚嘆號!為開頭,表示這是不允許使用sudo來執行的命令句之寫法。若此項只有寫命令執行檔的絕對路徑,表示任何以該命令開頭的命令句都可用sudo來執行。另外,此項的寫法可用正規表示法來寫。

/etc/sudoers中,通常預設有:

root  ALL=(ALL)  ALL   #表示root可以用sudo切換為任何人、執行任何指令

%sudo  ALL=(ALL)  ALL    #表示sudo這個群組的成員,可以用sudo切換為任何人、執行任何指令

%admin  ALL=(ALL)  ALL    #表示admin或是Administrator這個群組的成員,可以用sudo切換為任何人、執行任何指令

除了預設之外,其他在應用上的範例如:

kkk  ALL=(root)  /user/bin/passwd, !/user/bin/passwd root

表示使用者kkk可以在任何主機登入時用sudo切換為root,但是不能用sudo更改root本身的密碼,只能用sudo更改其他人的密碼。

※ 註:上述,/user/bin/passwd!/user/bin/passwd root這兩個子項用逗號,隔開,而這兩者是有衝突的。若兩者有衝突的話,寫在後面的子項,其效力就能蓋過其前面子項的效力。因此,若上述的範例寫成:

kkk  ALL=(root)  !/user/bin/passwd root, /user/bin/passwd

那就表示kkk可以用sudo來使用passwd開頭的一切命令句來更改任何人的密碼,自然包括root的密碼。因為/user/bin/passwd的效力把!/user/bin/passwd root覆蓋掉了!

(3) 要修改/etc/sudoers這個檔案的內容,可以輸入:visudo

(4) 使用者在使用sudo指令之後若有輸入本身密碼,則若要在5分鐘之內再次使用sudo指令,就不必再次輸入密碼,直接就可執行。

 

 

上一篇:linux 使用者身分變換

下一篇:linux 檔案管理

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

當前使用者之身分的變換:

在實際的Linux系統管理中,系統管理員未必每次都用root身分進入系統,其通常是用一個一般使用者的身分進入系統進行一些雜務,只在要對系統做設定時,才以root身分進入系統。這便須藉由使用者之身分的變換。

(1) 其命令的寫法為:

su 選項 使用者

可以將當前的身分變換成使用者。若沒有寫使用者,表示要將身分變換成root,接著便要輸入「欲變換之身分」的密碼才能變換成功。若當前使用者是root,則不必輸入密碼。此外,若當前使用者是root,還可以變換身分為系統帳號。

其中,選項有:

-:表示用login-shell的方法,再次登入以變換身分。因此,其環境設定(比如PATHHOME…等環境變數)之值會一同變更為「欲變換之身分」的環境設定之值。

※ 無選項:表示用non-login-shell的方法,不再次登入就變換身分。因此,其環境設定保持為原本的型態,並不改變。若欲進行的是一般使用者變換,則不建議此用法。

-c "命令":表示利用使用者的身分,來執行一次命令,執行完後就恢復原來身分。同樣,若沒有寫使用者,表示要以root執行命令

(2) 在變換身分之後,若又想要變換回原來的身分,可用:exit

 

 

上一篇:linux 一般使用者可用的指令

下一篇:linux 使用者切換成root身分

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

一般使用者可用的指令(管理帳號、查詢其他登入者、發訊):

(1) 一般使用者管理自己的帳號,可用的指令有:

passwd指令,在4.(2-2)說明過,在此不贅述。

finger指令,在4.(6)說明過,在此不贅述。

chfn指令,在4.(7)說明過,在此不贅述。

id 使用者名稱:簡略地查看其他使用者的UIDGID,和其支援群組。直接輸入id可獲得自己的UIDGID,和其支援群組。

chsh -s shell的絕對路徑:可以變換自己所使用的shell為路徑中的shell

(2) 查詢其他登入者:

wwho:可查詢目前在線的登入者。

lastlog:可查詢所有使用者,其最近一次登入的時間。

(3) 發訊:

wirte 使用者:可以發即時訊息給此使用者使用者會立刻收到即時訊息。

※ 即時訊息會打亂目前正在進行的畫面,可以設定要不要顯示即時訊息。輸入mesg,可查詢對於即時訊息的處置方法。若其為is y,表示要顯示即時訊息,若其為is n,表示不顯示即時訊息。若要設定之,可用mesg y表示設定為要顯示即時訊息,可用mesg n表示設定為不要顯示即時訊息。

不過,通常,任何人都無法拒絕root給的即時訊息。

※ 若要廣播訊息給所有在線使用者,可用:

wall "訊息"

有些Linux版本無法用以上的方法,需要用以下方法:

echo "訊息" | wall

 

 

上一篇:linux 用root身分管理群組

下一篇:linux 使用者身分變換

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()