目錄linux
記錄一下學習 Linux 以及動手實驗的內容。安全
ls, pwd, cd, cat, touch等bash
按鍵 | 做用 |
---|---|
Ctrl+d | 鍵盤輸入結束或退出終端 |
Ctrl+s | 暫停當前程序,暫停後按下任意鍵恢復運行 |
Ctrl+z | 將當前程序放到後臺運行,恢復到前臺爲命令fg |
Ctrl+a | 將光標移至輸入行頭,至關於Home鍵 |
Ctrl+e | 將光標移至輸入行末,至關於End鍵 |
Ctrl+k | 刪除從光標到行末位置的內容 |
Alt+Backspace | 向前刪除一個單詞 |
Shift+PgUp | 將終端顯示向上滾動 |
Shift+PgUp | 將終端顯示向下滾動 |
通配符是一種特殊語句,主要有星號(*)和問號(?),用來對字符串進行模糊匹配(好比文件名、參數名)。當查找文件夾時,可使用它來代替一個或多個真正字符;當不知道真正字符或者懶得輸入完> 整名字時,經常使用通配符代替一個或多個真正字符。
假設當前目錄底下有asd.txt
和fgh.txt
兩個文件:函數
ls *.txt
輸出:oop
asd.txt fgh.txt
ls as?.txt
輸出:學習
asd.txt
一次性建立多個相似文件:spa
touch file_{1..10}.txt
Shell 經常使用通配符:操作系統
字符 | 含義 |
---|---|
* | 匹配0或多個字符 |
? | 匹配任意一個字符 |
[list] | 匹配list中的任意單一字符 |
[^list] | 匹配除list中字符之外的任意單一字符 |
[c1-c2] | 匹配c1-c2中的任意單一字符,如:[0-9][a-z] |
{string,string2,...} | 匹配string1或string2(或更多)中所有字符串 |
{c1,..,c2} | 匹配c1-c2中所有字符,如{1..10} |
在Linux環境中,若是你遇到困難,可使用man命令,它是Manua1pages的縮寫。
Manual pages是UNIX或類UNIX操做系統中在線軟件文檔的一種廣泛的形式,內容包括計算機程序(包括庫和系統調用)、正式的標準和慣例,甚至是抽象的概念。用戶能夠經過執行man命令調用手冊頁。
你可使用以下方式來得到某個命令的說明和使用方式的詳細介紹:code
man <command_name>
好比你想查看 man 命令自己的使用方式,你能夠輸入:對象
man man
一般狀況下,man 手冊裏面的內容都是英文的,這就要求你有必定的英文基礎。man 手冊的內容不少,涉及了 Linux 使用過程當中的方方面面。爲了便於查找,man 手冊被進行了分冊(分區段)處理,在 > Research UNIX、BSD、OS X 和 Linux 中,手冊一般被分爲8個區段,安排以下:
區段 | 說明 |
---|---|
1 | 通常命令 |
2 | 系統調用 |
3 | 庫函數,涵蓋了C標準庫 |
4 | 特殊文件(一般是/dev中的設備)和驅動程序 |
5 | 文件格式和約定 |
6 | 遊戲和屏保 |
7 | 雜項 |
8 | 系統管理命令和守護進程 |
要查看相應區段的內容,就在 man 後面加上相應區段的數字便可,如:
man 1 ls
想要得到更詳細的幫助,你還可使用info命令,不過一般使用man就足夠了。若是你知道某個命令的做用,只是想快速查看一些它的某個具體參數的做用,那麼你可使用--help參數,大部分命令都會帶> 有這個參數,如:
ls --help
打開終端,輸入:
who am i
輸出的第一列表示打開當前僞終端的用戶的用戶名(要查看當前登陸用戶的用戶名,去掉空格直接使用 whoami 便可),第二列的 pts/0 中 pts 表示僞終端,所謂僞是相對於 /dev/tty 設備而言的,僞終端就是當你在圖形用戶界面使用 /dev/tty7 時每打開一個終端就會產生一個僞終端, pts/0 後面那個數字就表示打開的僞終端序號,你能夠嘗試再打開一個終端,而後在裏面輸入 who am i ,看第二列是否是就變成 pts/1 了,第三列則表示當前僞終端的啓動時間。
who
命令及其餘參數:
|參數|說明|
|-a|打印能打印的所有|
|-d|打印死掉的進程|
|-m|同am i
,mom likes
|
|-q|打印當前用戶數及用戶名|
|-u|打印當前登陸用戶登陸信息|
|-r|打印運行等級|
新建一個叫 lilei 的用戶:
sudo adduser lilei
這個命令不但能夠添加用戶到系統,同時也會默認爲新用戶建立 home 目錄:
ls /home
如今你已經建立好一個用戶,而且你可使用你建立的用戶登陸了,使用以下命令切換登陸用戶:
su -l lilei
在 Linux 裏面每一個用戶都有一個歸屬(用戶組),用戶組簡單地理解就是一組用戶的集合,它們共享一些資源和權限,同時擁有私有資源,就跟家的形式差很少,你的兄弟姐妹(不一樣的用戶)屬於同一個家(用戶組),大家能夠共同擁有這個家(共享資源),爸媽對待大家都同樣(共享權限),你偶爾寫寫日記,其餘人未經容許不能查看(私有資源和權限)。固然一個用戶是能夠屬於多個用戶組的,正如你既屬於家庭,又屬於學校或公司。
在 Linux 中如何查看一個用戶屬於哪些用戶組呢?
方法一:使用groups
命令:
lilei
輸出:
lilei : lilei
其中冒號以前表示用戶,後面表示該用戶所屬的用戶組。這裏能夠看到 shiyanlou 用戶屬於 shiyanlou 用戶組,每次新建用戶若是不指定用戶組的話,默認會自動建立一個與用戶名相同的用戶組(差很少就至關於家長的意思)。
方法2、查看/etc/group
文件:
cat /etc/group | sort
這裏 cat 命令用於讀取指定文件的內容並打印到終端輸出。 | sort 表示將讀取的文本進行一個字典排序再輸出。
可使用命令過濾掉一些你不想看到的結果:
cat /etc/group | grep -E "lilei"
將其餘用戶加到 sudo 用戶組
默認狀況下新建立的用戶是不具備 root 權限的,也不在 sudo 用戶組,可讓其加入 sudo 用戶組從而獲取 root 權限:
sudo usermod -G sudo lilei
使用 usermod 命令能夠爲用戶添加用戶組,一樣使用該命令你必需有 root 權限,你能夠直接使用 root 用戶爲其它用戶添加用戶組,或者用其它已經在 sudo 用戶組的用戶使用 sudo 命令獲取權限來執行該命令。
刪除用戶並移除其 home 目錄:
sudo deluser lilei --remove-home
刪除用戶但不移除其 home 目錄:
sudo deluser lilei --remove-home
文件權限就是文件的訪問控制權限,即哪些用戶和組羣能夠訪問文件以及能夠執行什麼樣的操做。
Unix/Linux系統是一個典型的多用戶系統,不一樣的用戶處於不一樣的地位,對文件和目錄有不一樣的訪問權限。爲了保護系統的安全性,Unix/Linux系統除了對用戶權限做了嚴格的界定外,還在用戶身份認證、訪問控制、傳輸安全、文件讀寫權限等方面做了周密的控制。
在 Unix/Linux中的每個文件或目錄都包含有訪問權限,這些訪問權限決定了誰能訪問和如何訪問這些文件和目錄。
使用ls -l
查看文件權限:
ls -l
輸出:
總用量24 drwxr-xr-x4 hadoop hadoop 4096 9月29 07:45 hadoop drwxr-xr-x9 labex labex 4096 9月29 07:41 labex drwxr-xr-x 2 1001 1001 409612月1520:22 lilei drwxr-xr-x 2 lilwi lilwi 4096 12月1520:22 lilwi drwxr-xr-x 2 shiyanlou shiyanlou 4096 9月29 07:36 project
先建立一個文件如file,而後使用ls -l
查看該文件屬性:
總用量0 -rw-rw-r-- 1 lilei lilei 0 12月15 20:47 file
換回到原用戶,使用如下命令變動文件全部者爲原用戶:
sudo chown usr1 file
再查看屬性:
總用量0 -rw-rw-r-- 1 usr1 lilei 0 12月15 20:47 file
若是你有一個本身的文件不想被其餘用戶讀、寫、執行,那麼就須要對文件的權限作修改,這裏有兩種方式:
方法一:二進制數字表示
每一個文件的三組權限(擁有者,所屬用戶組,其餘用戶,記住這個順序是必定的)對應一個 " rwx ",也就是一個 「 7 」 ,因此若是我要將文件file的權限改成只有我本身能夠用那麼就這樣:
chmod 600 file
方法二:加減賦值操做
chmod [obj][+/=][r/w/x] file
例子:
chmod go-rw file
↑表示去掉 group 和 others 的 rw 權限。
chmod uog+rwx file
↑表示給三種對象都加上 rwx 權限。
chmod ug-wxr file
↑表示去掉 user 和 group 的 rwx 權限。
adduser 和 useradd 的區別是什麼?
答:useradd 只建立用戶,建立完了用 passwd lilei 去設置新用戶的密碼。adduser 會建立用戶,建立目錄,建立密碼(提示你設置),作這一系列的操做。其實 useradd、userdel 這類操做更像是一種命令,執行完了就返回。而 adduser 更像是一種程序,須要你輸入、肯定等一系列操做。
Linux 還有一些關於隱藏權限和特殊權限的內容,想全面瞭解 Linux 權限管理這部份內容的用戶能夠經過其它方式學習。