Linux基礎(文件管理、用戶管理、權限管理)

Linux操作系統基礎

(一)文件管理

1. 概述

  • Everything is a File,即Linux系統,本質是一個文件系統,文件目錄結構如下:
    在這裏插入圖片描述
    Linux系統的目錄結構是一個倒樹型,其最大的目錄是 / 根目錄,根目錄其餘的二級目錄大多是在安裝系統時創建的。
  • 使用命令查看系統的目錄結構:
    在這裏插入圖片描述
  • 對目錄的解釋:

/bin:Binary的縮寫,這個目錄存放着最經常使用的命令;
/boot:這裏存放的是啓動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件;
/dev :Device(設備)的縮寫,該目錄下存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問文件的方式是相同的;
/etc:這個目錄用來存放所有的系統管理所需要的配置文件和子目錄;
/home:用戶的主目錄,在Linux中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的;
/lib:這個目錄裏存放着系統最基本的動態連接共享庫,其作用類似於Windows裏的DLL文件。幾乎所有的應用程序都需要用到這些共享庫;
/media:Linux系統會自動識別一些設備,例如U盤、光驅等等,當識別後,linux會把識別的設備掛載到這個目錄下;
/mnt:系統提供該目錄是爲了讓用戶臨時掛載別的文件系統的,我們可以將光驅掛載在/mnt/上,然後進入該目錄就可以查看光驅裏的內容了;
/opt: 這是給主機額外安裝軟件所擺放的目錄。比如你安裝一個ORACLE數據庫則就可以放到這個目錄下,默認是空的;
/proc:這個目錄是一個虛擬的目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統信息;這個目錄的內容不在硬盤上而是在內存裏,我們也可以直接修改裏面的某些文件,比如可以通過下面的命令來屏蔽主機的ping命令,使別人無法ping你的機器:
/root:該目錄爲系統管理員,也稱作超級權限者的用戶主目錄;
/sbin:s就是Super User超戶,這裏存放的是系統管理員使用的系統管理程序;
/sys: 這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs,
sysfs文件系統集成了下面3種文件系統的信息:針對進程信息的proc文件系統、針對設備的devfs文件系統以及針對僞終端的devpts文件系統,該文件系統是內核設備樹的一個直觀反映,當一個內核對象被創建的時候,對應的文件和目錄也在內核對象子系統中被創建;
/tmp:這個目錄是用來存放一些臨時文件的;
/usr: 這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似於windows下的program files目錄;
/usr/bin:系統用戶使用的應用程序;
/usr/sbin:超級用戶使用的比較高級的管理程序和系統守護程序;
/usr/src:內核源代碼默認的放置目錄;
/var:這個目錄中存放着在不斷擴充着的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日誌文件;
/run:是一個臨時文件系統,存儲系統啓動以來的信息,當系統重啓時,這個目錄下的文件應該被刪掉或清除,如果你的系統上有 /var/run 目錄,應該讓它指向 run;

注意
在 Linux 系統中,有幾個目錄是比較重要的,平時需要注意不要誤刪除或者隨意更改內部文件。
/etc: 這個是系統中的配置文件,如果你更改了該目錄下的某個文件可能會導致系統不能啓動;
/bin、/sbin、/usr/bin、/usr/sbin: 這是系統預設的執行文件的放置目錄,比如 ls 就是在/bin/ls 目錄下的;bin, /usr/bin 是給系統用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給root使用的指令。
/var: 這是一個非常重要的目錄,系統上跑了很多程序,那麼每個程序都會有相應的日誌產生,而這些日誌就被記錄到這個目錄下,具體在/var/log 目錄下,另外mail的預設放置也是在這裏。

2.常用命令

cd 切換當前工作目錄至某一目錄;
ll 列出來的結果詳細,有時間、是否可讀寫等信息 ,像windows裏的詳細信息;
ls 只列出文件名或目錄名,就象windows裏的列表;

llls -l 別名 ,ls -l 是 ll 命令的完整命令
我們可以通過 cd /某一個目錄 然後 ls 查看該目錄下的內容;

pwd 目前所在的工作目錄的絕對路徑名稱;
cat 用於連接文件並打印到標準輸出設備上,不能作用於目錄;
touch 用於修改文件或者目錄的時間屬性,包括存取時間和更改時間,若文件不存在,系統會建立一個新的文件;
mkdir 建立一個子目錄;
mv 用來爲文件或目錄改名、或將文件或目錄移入其它位置;

命令 結果
mv 文件名 文件名 將源文件名改爲目標文件名
mv 文件名 目錄名 將文件移動到目標目錄
mv 目錄名 目錄名 目標目錄已存在,將源目錄移動到目標目錄;目標目錄不存在則改名
mv 目錄名 文件名 出錯

rm 用於刪除一個文件或者目錄;

rm test.txt
rm:是否刪除一般文件 “test.txt”? y
rm homework
rm: 無法刪除目錄"homework": 是一個目錄
rm -r homework
rm:是否刪除目錄 “homework”? y
rm -r *:刪除當前目錄下的所有文件及目錄,慎用!

cp 用於複製文件或目錄;

cp file /tmp/:將名爲file文件複製到tmp目錄下;
cp file /tmp/newfile:將名爲file文件複製到tmp目錄下並改名爲newfile;
cp –r test/ newtest:用戶使用該指令複製目錄時,必須使用參數"-r"。

注意: Linux命令太多!我們很難記住,輸入命令開頭一個或幾個字母,再使用 Tab 鍵可以列舉出所有以它開頭的命令,結合命令 --help ,學會使用該命令!

3.vim編輯器

在這裏插入圖片描述

  • 使用 vim 命令進入,i 進入輸入模式(INSERT),編輯完成,ESC進入命令模式,輸入:,再加 q 退出程序,或者 w 保存文件,或者 wq 保存並退出
  • 直接進入vim編輯器:沒有進入指定的文件,即沒有文件名;wq 後需要加文件名!
  • 複製粘貼:在命令模式下,yy 或者 y需要複製的行數y :y3y 即複製三行;p 粘貼,退出INSERT模式下使用,複製行數從你光標處開始算往下數!
  • 剪貼:在命令模式下,dd
  • 撤銷:在命令模式下,u
  • 查找:在底線命令模式下,輸入 / 查找的內容 或者 ?查找的內容,會將所查找的文本標黃;n 鍵往下匹配文本、N 鍵網上匹配文本
  • 替換:在底線命令模式下,輸入 :%s/需要替換的文本/新內容/g
  • 設置行號:在底線命令模式下,:set nu
  • 取消行號:在底線命令模式下,:set nonu
  • 分屏:Ctrl-w s 將當前視窗分割成兩個水平視窗;Ctrl-w v 將當前視窗分割成兩個垂直視窗
  • 取消分屏:在底線命令模式下,:only
  • 使用分屏同時編寫多個文件:vim -O/o file1 file2... ,大O表示垂直分割(vertical),小o表示水平分割(默認horizontal)
  • 移動光標,也就是切換分屏;也可以移動分屏,比如將左分屏移動到右邊。
      ctrl+w 和 h(H):左
      ctrl+w 和 j(J) : 下
      ctrl+w 和 k(K):上
      ctrl+w 和 l(L): 右
      ctrl+w 和 w:各種切換

4.輸入輸出重定向

比如 :我們通過find命令查找etc目錄下的 passwd文件,由於權限問題,會出現以下:
在這裏插入圖片描述
0 是標準輸入(STDIN),1 是標準輸出(STDOUT),2 是標準錯誤輸出(STDERR)

  • 如果希望執行某個命令,但又不希望在屏幕上顯示輸出結果,那麼可以將輸出重定向到 /dev/null:
    find /etc -name passwd 2> /dev/null
    結果:
    在這裏插入圖片描述
  • 將錯誤重定向到/dev/null,將正確的重定向到test中:
    結果:
    在這裏插入圖片描述
  • 重定向追加:>>
    > 使用多次後,它會覆蓋之前的內容,只輸出一次,>> 不會覆蓋內容,多次追加:
    在這裏插入圖片描述
    &>可以將錯誤信息或者普通信息都重定向輸出
  • 輸入重定向:
    在這裏插入圖片描述
  • 管道:|
    | 表示,上一條命令的輸出,作爲下一條命令參數(輸入)
    在這裏插入圖片描述

(二)用戶管理

1. 概述

Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統,每個用戶賬號都擁有一個唯一的用戶名和各自的口令,用戶在登錄時鍵入正確的用戶名和口令後,就能夠進入系統和自己的主目錄。

用戶信息存儲目錄:
/etc/passwd:存儲所有用戶登錄名清單
/etc/group:存儲有關本地用戶組的信息
/etc/shadow:存儲 Linux 系統中用戶的密碼信息(影子文件)
/home/username:用戶的主目錄
/etc/skel:默認的用戶目錄架構

2. 常用命令

  • 增加用戶:
    useradd 用戶名
    在這裏插入圖片描述
    登錄用戶:su - user1
    退出當前用戶:logout/exit/Ctrl+d
  • 增加一個組:
    groupadd 組名
  • 刪除一個組:
    groupdel 用戶組
  • 增加一個用戶放入指定的組中:
    useradd -g user1 user2
    在這裏插入圖片描述
  • 附加組:增加權限,將user1再附加到newgroup組中:
    usermod -G newgroup user1
  • 刪除帳號
    userdel 用戶名
  • 修改密碼
    passwd
    普通用戶修改自己的口令時,passwd命令會先詢問原口令,驗證後再要求用戶輸入兩遍新口令,如果兩次輸入的口令一致,則將這個口令指定給用戶;而超級用戶爲用戶指定口令時,就不需要知道原口令。
    爲了系統安全起見,用戶應該選擇比較複雜的口令,例如最好使用8位長的口令,口令中包含有大寫、小寫字母和數字,並且應該與姓名、生日等不相同。
  • chage命令:修改用戶密碼一些權限
    chage -m 30 -M 90 -W 7 -I 15 -E 2020-12-31 user1
    -m:設置密碼前的最小天數
    -E:將帳戶到期日期設置爲EXPIRE日期
    -M:設置密碼前的最大天數
    -W:設置警告天數
    -I:超過期限,預留的時間
    -d:設置上次密碼的日期

(三)權限管理

1.概述

  • Linux的文件和目錄有以下三種方式:
    r 、w 、x:可讀,可寫 、可執行
    r-可讀(read)
    w-可寫(write)
    x-可執行(execute)
  • 在Linux中,常用的文件類型爲以下三種:
    d :目錄 directory
    - : 二進制文件 binary
    l : 軟鏈接文件 link
  • 如:-rw-r--r--. 1 root root 158 Jun 7 2013 /etc/hosts
    第一個字符表示:文件類型,2-4字符表示:文件所有人權限,5-7字符表示:文件所有組權限,8-10字符表示:其他人權限。
    所以上面可翻譯:這是一個二進制文件,所有者可讀可寫 、不能執行,所屬組可讀 、不能寫 、不能執行,其他人可讀 、不可寫 、不能執行,硬連接數爲1,所有人爲root,所有組爲root,文件大小爲158,創建時間或最後修改時間爲Jun 7 2013,文件名爲/etc/hosts。

2.chmod命令

改變文件或目錄權限

  • 爲了方便表示,linux用了一個很簡單的方法來區別,r用4表示,w用2表示,x用1表示,把他們對號入座:r - 4、 w - 2、 x - 1
    所以第一個字符表示類型是目錄,不考慮,接下來的三個三位數(r-xr-xr-x)就可以這麼轉換:(4+0+1)+(4+0+1)+(4+0+1)= 555
    所以555能代表什麼就懂了~
  • 數字轉權限和權限轉數字
    1)數字—>權限
    例如 764 :對應的就是將7分解爲4 、2 、1,將6分解爲4 、2 、0,將4分解爲4 、0 、0,所有對應權限爲 rwxrw-r--
    654: 6=4+2+0, 5=4+0+1, 4=4+0+0 結果爲:rw-r-xr--
    2)權限—>數字
    例如 drwxrw-r--: 第一位d代表類型,不參與計算,rwx=4+2+1=7,rw-=4+2=0=6, r-- = 4+0+0=4最終結果爲764
    3)演示:創建一個目錄
    在這裏插入圖片描述
    初始值爲:drwxrwxr-x :轉化爲數字的值爲:775
    我們將它權限修改爲:drwxrwxr--,即chmod 774 dir:
    在這裏插入圖片描述

//下篇再見…謝謝
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章