文章目錄
1.Ubuntu 20.04初始化流程
設置 Root 賬戶密碼
sudo passwd root
設置允許遠程登錄 Root
首先檢查Open SSH 是否安裝
apt-cache policy openssh-client openssh-server
vim /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password //註釋此行
PermitRootLogin yes //加入此行
StrictModes yes
重啓服務
service ssh restart
修改國內 APT 數據源
查看Linux版本
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS
Release: 20.04
Codename: focal
注意: Codename 爲 focal
,該名稱爲我們 Ubuntu 系統的名稱,修改數據源需要用到該名稱
編輯數據源
vi /etc/apt/sources.list
刪除全部內容並修改爲
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiversec
更新數據源
apt-get update
3.Ubuntu 教程
這個教程個人建議作爲字典來用,常用命令記牢,其它的命令需要使用的時候再來查詢
3.1.根目錄結構
目錄 | 說明 |
---|---|
bin | 存放二進制可執行文件(ls,cat,mkdir等) |
boot | 存放用於系統引導時使用的各種文件 |
dev | 用於存放設備文件 |
etc | 存放系統配置文件 (裝軟件的配置文件也放這裏 eg:Mysql配置文件) |
home | 存放所有用戶文件的根目錄 |
lib | 存放跟文件系統中的程序運行所需要的共享庫及內核模塊 |
mnt | 系統管理員安裝臨時文件系統的安裝點 |
opt | 額外安裝的可選應用程序包所放置的位置 |
proc | 虛擬文件系統,存放當前內存的映射 |
root | 超級用戶目錄 |
sbin | 存放二進制可執行文件,只有root才能訪問 |
tmp | 用於存放各種臨時文件 |
usr | 用於存放系統應用程序,(比較重要的目錄/usr/local 本地管理員軟件安裝目錄) |
var | 用於存放運行時需要改變數據的文件(存放數據庫的目錄) |
3.2.常用命令
3.2.1.文件操作相關
命令 | 說明 | 語法 | 參數 | 參數說明 |
---|---|---|---|---|
ls | 顯示文件和目錄列表 | ls [-alrtAFR] [name…] | ||
-l | 列出文件的詳細信息 | |||
-a | 列出當前目錄所有文件,包含隱藏文件 | |||
mkdir | 創建目錄 | mkdir [-p] dirName | ||
-p | 父目錄不存在情況下先生成父目錄 | |||
cd | 切換目錄 | cd [dirName] | ||
touch | 生成一個空文件 | |||
echo | 生成一個帶內容文件 | echo abcd > 1.txt,echo 1234 >> 1.txt | ||
cat | 顯示文本文件內容 | cat [-AbeEnstTuv] [–help] [–version] fileName | ||
cp | 複製文件或目錄 | cp [options] source dest | ||
rm | 刪除文件 | rm [options] name… | ||
-f | 強制刪除文件或目錄 | |||
-r | 同時刪除該目錄下的所有文件 | |||
mv | 移動文件或目錄 | mv [options] source dest | ||
find | 在文件系統中查找指定的文件 | |||
-name | 文件名 | |||
grep | 在指定的文本文件中查找指定的字符串 | |||
tree | 用於以樹狀圖列出目錄的內容 | |||
pwd | 顯示當前工作目錄 | |||
ln | 建立軟鏈接 | 相當於快捷方式 | ||
more | 分頁顯示文本文件內容 | |||
head | 顯示文件開頭內容 | |||
tail | 顯示文件結尾內容 | |||
-f | 跟蹤輸出 |
3.2.2.系統管理
控制檯進程:每個應用程序至少需要一個線程
主線程:同步執行
工作線程:異步執行
當內存溢出後,可以將多出的一部分放入磁盤 (這部分稱爲交換空間),系統性能大幅下降,雲服務器沒有交換空間的
命令 | 說明 |
---|---|
stat | 顯示指定文件的相關信息,比ls命令顯示內容更多 |
who | 顯示在線登錄用戶 |
hostname | 顯示主機名稱 |
uname | 顯示系統信息 |
top | 顯示當前系統中耗費資源最多的進程 |
ps | 顯示瞬間的進程狀態 |
du | 顯示指定的文件(目錄)已使用的磁盤空間的總量 |
df | 顯示文件系統磁盤空間的使用情況 |
free | 顯示當前內存和交換空間的使用情況 |
ifconfig | 顯示網絡接口信息 |
ping | 測試網絡的連通性 |
netstat | 顯示網絡狀態信息 |
clear | 清屏 |
kill | 殺死一個進程 |
3.2.3.壓縮與解壓縮
tar
命令 | 語法 | 參數 | 參數說明 |
---|---|---|---|
tar | tar [-cxzjvf] 壓縮打包文檔的名稱 欲打包目錄 | ||
-c | 建立一個歸檔文件的參數指令 | ||
-x | 解開一個歸檔文件的參數指令 | ||
-z | 是否需要用 gzip 壓縮 | ||
-j | 是否需要用 bzip2 壓縮 | ||
-v | 壓縮的過程中顯示文件 | ||
-f | 使用檔名,在 f 之後要立即接檔名 | ||
-tf | 查看歸檔文件裏面的文件 |
- 壓縮文件夾:
tar -zcvf test.tar.gz test\
- 解壓文件夾:
tar -zxvf test.tar.gz
gzip
命令 | 語法 | 參數 | 參數說明 |
---|---|---|---|
gzip | gzip [選項] 壓縮(解壓縮)的文件名 | ||
-d | 解壓縮 | ||
-l | 對每個壓縮文件,顯示壓縮文件的大小,未壓縮文件的大小,壓縮比,未壓縮文件的名字 | ||
-v | 對每一個壓縮和解壓的文件,顯示文件名和壓縮比 | ||
-num | 用指定的數字num調整壓縮的速度,-1或–fast表示最快壓縮方法(低壓縮比),-9或–best表示最慢壓縮方法(高壓縮比)。系統缺省值爲6 |
說明:壓縮文件後綴爲 gz(壓縮算法)
bzip2
命令 | 語法 | 參數 | 參數說明 |
---|---|---|---|
bzip2 | bzip2 [-cdz] | ||
-d | 解壓縮 | ||
-z | 壓縮參數 | ||
-num | 用指定的數字num調整壓縮的速度,-1或–fast表示最快壓縮方法(低壓縮比),-9或–best表示最慢壓縮方法(高壓縮比)。系統缺省值爲6 |
說明:壓縮文件後綴爲 bz2(壓縮算法)
3.2.4.APT軟件包管理
安裝軟件包
apt-get install packagename
刪除軟件包
apt-get remove packagename
apt-get autoremove packagename (刪除軟件的依賴)
更新軟件包列表
apt-get update
升級有可用更新的系統(慎用)
apt-get upgrade
搜索
apt-cache search package
獲取包信息
apt-cache show package
刪除包及配置文件
apt-get remove package --purge
瞭解使用依賴
apt-cache depends package
查看被哪些包依賴
apt-cache rdepends package
安裝相關的編譯環境
apt-get build-dep package
下載源代碼
apt-get source package
清理無用的包
apt-get clean && apt-get autoclean
檢查是否有損壞的依賴
apt-get check
3.3.編輯器
3.3.1.Vi
linux 自帶的命令行編輯器,建議使用vim替代
3.3.2.Vim
運行模式
編輯模式:等待編輯命令輸入
插入模式:編輯模式下,輸入 i
進入插入模式,插入文本信息
命令模式:在編輯模式下,輸入 :
進行命令模式
命令
:q
直接退出vi
:wq
保存後退出vi ,並可以新建文件
:q!
強制退出
:w file
將當前內容保存成某個文件
:set number
在編輯文件顯示行號
:set nonumber
在編輯文件不顯示行號
3.3.3.nano
nano 是一個字符終端的文本編輯器,有點像 DOS 下的 editor 程序。它比 vi/vim 要簡單得多,比較適合 Linux 初學者使用。某些 Linux 發行版的默認編輯器就是 nano。
命令
- 保存:ctrl + o
- 搜索:ctrl + w
- 上一頁:ctrl + y
- 下一頁:ctrl + v
- 退出:ctrl + x
3.4.用戶和組管理
Linux 操作系統是一個多用戶操作系統,它允許多用戶同時登錄到系統上並使用資源。系統會根據賬戶來區分每個用戶的文件,進程,任務和工作環境,使得每個用戶工作都不受干擾。在實際生產操作中,我們基本上都是使用超級管理員賬戶操作 Linux 系統,也就是 Root 用戶,Linux 系統默認是關閉 Root 賬戶的,我們需要爲 Root 用戶設置一個初始密碼以方便我們使用
3.4.1.用戶說明
普通用戶
普通用戶在系統上的任務是進行普通操作
超級管理員
管理員在系統上的任務是對普通用戶和整個系統進行管理。對系統具有絕對的控制權,能夠對系統進行一切操作。用 root 表示,root 用戶在系統中擁有最高權限,默認下 Ubuntu 用戶的 root 用戶是不能登錄的。
切換到root用戶
su
安裝時創建的系統用戶
此用戶創建時被添加到 admin 組中,在 Ubuntu 中,admin 組中的用戶默認是可以使用 sudo
命令來執行只有管理員才能執行的命令的。如果不使用 sudo
就是一個普通用戶
3.4.2.組說明
標準組
當創建一個用戶時可以選定一個標準組,如果一個用戶同時屬於多個組時,登錄後所屬的組爲主組,其他的爲附加組。
私有組
當創建一個用戶時沒有指定屬於哪個組,Linux 就會建立一個與用戶同名的私有組,此私有組只含有該用戶。
3.4.3.賬戶系統文件
/etc/passwd
每一行代表一個賬號,衆多賬號是系統正常運行所必須的,例如 bin,nobody 每行定義一個用戶賬戶,此文件對所有用戶可讀。每行賬戶包含如下信息:
root:x:0:0:root:/root:/bin/bash
- 用戶名: 就是賬號,用來對應 UID,root UID 是 0。
- 口令: 密碼,早期 UNIX 系統密碼存在此字段,由於此文件所有用戶都可以讀取,密碼容易泄露,後來這個字段數據就存放到 /etc/shadow 中,這裏只能看到 X。
- 用戶標示號(UID): 系統內唯一,root 用戶的 UID 爲 0,普通用戶從 1000 開始,1-999 是系統的標準賬戶,500-65536 是可登陸賬號。
- 組標示號(GID): 與 /etc/group 相關用來規定組名和 GID 相對應。
- 註釋: 註釋賬號
- 宿主目錄(主文件夾): 用戶登錄系統後所進入的目錄 root 在 /root/itcast
- 命令解釋器(shell): 指定該用戶使用的 shell ,默認的是 /bin/bash
/etc/shadow
爲了增加系統的安全性,用戶口令通常用 shadow passwords 保護。只有 root 可讀。每行包含如下信息:
root:$6$Reu571.V$Ci/kd.OTzaSGU.TagZ5KjYx2MLzQv2IkZ24E1.yeTT3Pp4o/yniTjus/rRaJ92Z18MVy6suf1W5uxxurqssel.:17465:0:99999:7:::
-
賬號名稱: 需要和 /etc/passwd 一致。
-
密碼:
經過加密,雖然加密,但不表示不會被破解,該文件默認權限如下:
- -rw------- 1 root root 1560 Oct 26 17:20 passwd-
- 只有root能都讀寫
-
最近修改密碼日期: 從1970-1-1起,到用戶最後一次更改口令的天數
-
密碼最小時間間隔: 從1970-1-1起,到用戶可以更改口令的天數
-
密碼最大時間間隔: 從1970-1-1起,必須更改的口令天數
-
密碼到期警告時間: 在口令過期之前幾天通知
-
密碼到期後賬號寬限時間
-
密碼到期禁用賬戶時間: 在用戶口令過期後到禁用賬戶的天數
-
保留
/etc/group
用戶組的配置文件
root:x:0:
- 用戶組名稱
- 用戶組密碼: 給用戶組管理員使用,通常不用
- GID: 用戶組的ID
- 此用戶支持的賬號名稱: 一個賬號可以加入多個用戶組,例如想要 itcast 加入 root 這個用戶組,將該賬號填入該字段即可 root❌0:root, icast 將用戶進行分組是 Linux 對用戶進行管理及控制訪問權限的一種手段。一箇中可以有多個用戶,一個用戶可以同時屬於多個組。該文件對所有用戶可讀。
/etc/gshadow
該文件用戶定義用戶組口令,組管理員等信息只有root用戶可讀。
root:\*::
- 用戶組名
- 密碼列
- 用戶組管理員的賬號
- 用戶組所屬賬號
3.4.4.賬戶管理常用命令
1.增加用戶
useradd 用戶名
useradd -u (UID號)
useradd -p (口令)
useradd -g (分組)
useradd -s (SHELL)
useradd -d (用戶目錄)
如:useradd lusifer
增加用戶名爲 lusifer 的賬戶
2.修改用戶
usermod -u (新UID)
usermod -d (用戶目錄)
usermod -g (組名)
usermod -s (SHELL)
usermod -p (新口令)
usermod -l (新登錄名)
usermod -L (鎖定用戶賬號密碼)
usermod -U (解鎖用戶賬號)
如:usermod -u 1024 -g group2 -G root lusifer
將 lusifer 用戶 uid 修改爲 1024,默認組改爲系統中已經存在的 group2,並且加入到系統管理員組
3.刪除用戶
userdel 用戶名 (刪除用戶賬號)
userdel -r 刪除賬號時同時刪除目錄
如:userdel -r lusifer
刪除用戶名爲 lusifer 的賬戶並同時刪除 lusifer 的用戶目錄
4.組賬戶維護
groupadd 組賬戶名 (創建新組)
groupadd -g 指定組GID
groupmod -g 更改組的GID
groupmod -n 更改組賬戶名
groupdel 組賬戶名 (刪除指定組賬戶)
5.口令維護
passwd 用戶賬戶名 (設置用戶口令)
passwd -l 用戶賬戶名 (鎖定用戶賬戶)
passwd -u 用戶賬戶名 (解鎖用戶賬戶)
passwd -d 用戶賬戶名 (刪除賬戶口令)
gpasswd -a 用戶賬戶名 組賬戶名 (將指定用戶添加到指定組)
gpasswd -d 用戶賬戶名 組賬戶名 (將用戶從指定組中刪除)
gpasswd -A 用戶賬戶名 組賬戶名 (將用戶指定爲組的管理員)
6.用戶和組狀態
su 用戶名(切換用戶賬戶)
id 用戶名(顯示用戶的UID,GID)
whoami (顯示當前用戶名稱)
groups (顯示用戶所屬組)
3.5.文件權限管理
說明:
文檔大小:默認是 bytes
文檔所屬:就是文檔屬於哪個用戶和用戶組。文件所屬用戶和組是可以更改的
連接數:指有多少個文件指向同一個索引節點
3.5.1.文檔類型
d
表示目錄l
表示軟連接–
表示文件c
表示串行端口字符設備文件b
表示可供存儲的塊設備文件- 餘下的字符 3 個字符爲一組。
r
只讀,w
可寫,x
可執行,-
表示無此權限
3.5.2.文件和目錄的權限分析
ls –al使用 ls 不帶參數只顯示文件名稱,通過
ls –al` 可以顯示文件或者目錄的權限信息。
ls -l 文件名
顯示信息包括:文件類型 (d
目錄,-
普通文件,l
鏈接文件),文件權限,文件的用戶,文件的所屬組,文件的大小,文件的創建時間,文件的名稱
-rw-r--r-- 1 hello tom 675 Oct 26 17:20 .profile
-
:普通文件rw-
:說明用戶 tom 有讀寫權限,沒有運行權限r--
:表示用戶組 tom 只有讀權限,沒有寫和運行的權限r--
:其他用戶只有讀權限,沒有寫權限和運行的權限
-rw-r–r-- | 1 | lusifer | lusifer | 675 | Oct 26 17:20 | .profile |
---|---|---|---|---|---|---|
文檔類型及權限 | 連接數 | 文檔所屬用戶 | 文檔所屬組 | 文檔大小 | 文檔最後被修改日期 | 文檔名稱 |
- | rw- | r– | r– |
---|---|---|---|
文檔類型 | 文檔所有者權限(user) | 文檔所屬用戶組權限(group) | 其他用戶權限(other) |
3.5.3.更改文件權限
chown
是 change owner 的意思,主要作用就是改變文件或者目錄所有者,所有者包含用戶和用戶組
chown [-R] 用戶名稱 文件或者目錄
chown [-R] 用戶名稱 用戶組名稱 文件或目錄
-R:進行遞歸式的權限更改,將目錄下的所有文件、子目錄更新爲指定用戶組權限
chmod
改變訪問權限
chmod [who] [+ | - | =] [mode] 文件名
who
表示操作對象可以是以下字母的一個或者組合
- u:用戶 user
- g:用戶組 group
- o:表示其他用戶
- a:表示所有用戶是系統默認的
操作符號
- +:表示添加某個權限
- -:表示取消某個權限
- =:賦予給定的權限,取消文檔以前的所有權限
數字設定法
數字設定法中數字表示的含義
- 0 表示沒有任何權限
- 1 表示有可執行權限 =
x
- 2 表示有可寫權限 =
w
- 4 表示有可讀權限 =
r
也可以用數字來表示權限如 chmod 755 file_name
r w x | r – x | r - x |
---|---|---|
4 2 1 | 4 - 1 | 4 - 1 |
user | group | others |
若要 rwx 屬性則 4+2+1=7
若要 rw- 屬性則 4+2=6
若要 r-x 屬性則 4+1=5