Linux重點(diǎn)知識

## SSH(secure shell)協(xié)議 ? ? ? ? 單詞含義 ?安全的外殼 ??

SSH客戶端<-------------------------->SSH服務(wù)器

數(shù)據(jù)傳輸是加密的,可以防止信息泄露;

數(shù)據(jù)傳輸是壓縮的,可以提高傳輸速度。

域名

是IP地址的別名,方便記憶查詢。

例如百度的ip地址為163.177.151.110 ? ? ? ?但輸入域名www.baidu.com更方便

端口號

SSH服務(wù)器 ? ? ? ? ? ?端口 ? ?22

Web服務(wù)器 ? ? ? ? ? ? ? ? ? ? ? ?80

HTTPS服務(wù)器 ? ? ? ? ? ? ? ? ? 443

FTP服務(wù)器 ? ? ? ? ? ? ? ? ? ? ? ? 21 ? ? ? ? ? ? ? ?Windows用


ssh [-p port] user@remote ? ? ? ? ? ? ? ? ? ?ssh -p 22 Python@169.254.46.170

user ? ?????指在遠(yuǎn)程機(jī)器的用戶名,默認(rèn)為當(dāng)前用戶

remote ? ?是遠(yuǎn)程機(jī)器的地址,可以是IP / 域名,或別名(下面有解析)

port ? ? ? ? 是SSH Server監(jiān)聽的端口,如果不指定,就為默認(rèn)值 22

注意:

ssh 這個終端命令只能在Linux和Unix系統(tǒng)下使用

若要在Windows中使用,需下載安裝PuTTY或者XShell客戶端軟件 www.xshellcn.com

退出用戶連接 ? ?輸入 ?exit ?即可


##SCP ? (secure copy) ? ? 在Linux下遠(yuǎn)程拷貝文件

命令格式與SSH基本相同 ? ? ?但此處的 -P ? ?必須是大寫的

把本地當(dāng)前目錄下的01.py文件復(fù)制到遠(yuǎn)程家目錄下的Desktop/01.py下

注意“:”后面的路徑如果不是絕對路徑,則以用戶的家目錄作為參照路徑

scp -P port 01.py user@remote:Desktop/01.py

反過來把遠(yuǎn)程家目錄下的01.py文件復(fù)制到本地當(dāng)前目錄下的01.py

scp -P port user@remote:Desktop/01.py 01.py

加上 -r 可以傳送文件夾

把當(dāng)前目錄下的demo文件夾復(fù)制到遠(yuǎn)程家目錄下的Desktop

scp -P ?port -r demo user@remote:Desktop

反之亦然

scp -P port -r user@remote:Desktop/demo demo

注意:

scp同樣只能在Linux和Unix下使用,在Windows下載PuTTy使用pscp命令同樣功能,或安裝

FileZilla使用FTP服務(wù)進(jìn)行文件傳輸 ? ? ? ? ? ?端口為21


但以上每次登陸服務(wù)器或遠(yuǎn)程計算機(jī)都需要輸入密碼,所以配置密鑰可以免密碼登錄

配置公鑰

在.ssh目錄下輸入 ssh-keygen 即可生成鑰匙,一路回車即可,會生成公鑰私鑰兩個文件

上傳公鑰到服務(wù)器

執(zhí)行 ssh-copy-id -p port user@remote ?可以讓遠(yuǎn)程服務(wù)器記住我們的公鑰

id_rsa.pub 為公鑰

id_rsa 為私鑰 ? ? ? ? ? ? ? ?<----------------> ? ? ? ? ? ? ??????authorized_keys

?SSH客戶端 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SSH服務(wù)器 ?

本地使用私鑰對數(shù)據(jù)進(jìn)行加密/解密

服務(wù)器使用公鑰對數(shù)據(jù)進(jìn)行加密/解密

##非對稱加密算法:

使用公鑰加密的數(shù)據(jù),需要使用私鑰解密;

使用私鑰加密的數(shù)據(jù),則需要使用公鑰解密。

運(yùn)行原理:

客戶端使用私鑰對數(shù)據(jù)進(jìn)行加密 -> 通過網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送給服務(wù)器 -> 服務(wù)器使用公鑰對接收到的數(shù)據(jù)進(jìn)行解密 -> 服務(wù)器使用公鑰對數(shù)據(jù)進(jìn)行加密 -> 通過網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送給客戶端 -> 客戶端再使用私鑰對數(shù)據(jù)進(jìn)行解密


配置別名

因為每次輸入ssh -p port user@remote: ? 會比較繁瑣,因此將ssh 后面用別名代替

先在~/.ssh目錄下創(chuàng)建config文件

touch config

在config文件中編輯以下內(nèi)容

Host 別名名稱

? ? HostName 服務(wù)器IP地址即remote

? ? User 服務(wù)器用戶名

? ? Port 端口

保存之后就可以用ssh 別名名稱 代替了

例如 ? ssh myserver ? ? ? ?等于 ? ? ? ?ssh -p port user@remote

#scp 使用同理 ? ? ? 若要復(fù)制文件夾需加 -r ? ? 且別名后必須加“:”

例如 ? scp -r ~/Desktop myserver:~/Desktop/sources



用戶 和 權(quán)限 的基本概念

讀 ? ? ? ? ? ? ? ?read ? ? ? ? ? ? ? ?r ? ? ? ? ? ? ? ?數(shù)字代號????4

寫 ? ? ? ? ? ? ? ?write ? ? ? ? ? ? ? w ? ? ? ? ? ? ? ????????????????????2

執(zhí)行 ? ? ? ? ? ?excute ? ? ? ? ? ?x ? ? ? ? ? ? ? ?????????????????????1


一共十個字母 ? ?往后每三個字母一組區(qū)分看 ? ?意思為 “可讀 ? ?可寫 ? ?可執(zhí)行”

第一個字母為“d”,表示為文件夾;若為“-”,表示為文件。

①對應(yīng)用戶的權(quán)限 ? ?②對應(yīng)組的權(quán)限 ? ?③對應(yīng)其他用戶的權(quán)限

而③到用戶中間的數(shù)字意思為 ? ?硬鏈接數(shù)

表示有多少種方式可以訪問到當(dāng)前目錄/文件 ? ? ?簡單理解為目錄/文件夾總數(shù) + 1



chmod的使用 ? ? ?增減權(quán)限

chmod +/- rwx 文件名/目錄名

例如chmod +w 01.py ? ? ? ? ? ?chmod -rw 02.py


##在Mac終端不一樣的用法

chmod 用戶+操作+權(quán)限 文件

用戶部分:使用字母 u 表示文件擁有者(user),g 表示擁有者所在群組(group),o 表示其他用戶(other),a 表示全部用戶(all,包含前面三種用戶范圍);

操作部分:“+” 符號表示增加權(quán)限,“-” 符號表示取消權(quán)限,“=” 符號表示賦值權(quán)限;

權(quán)限部分:“r” 符號表示可讀(read),“w” 表示可寫(write),“x” 表示可執(zhí)行權(quán)限(execute);

文件部分:如不指定文件名,表示操作對象為當(dāng)前目錄下的所有文件。

例如 chmod g+w 123.txt ? ?chmod o-r,g+x 123.txt

#但測試過 ? ?u ? 無效 ????? ?就是用戶的權(quán)限修改不了

可以用數(shù)字方式修改,下拉有方法 ? ?例如 chmod 755 01.py



超級用戶 root

root賬號通常用于系統(tǒng)的維護(hù)和管理,對操作系統(tǒng)的所有資源具有所有訪問權(quán)限

sudo ? ? ? ?(substitute user) ? ? ? ? 表示使用另一個用戶的身份

使用sudo命令表示使用了超級用戶root的身份,但需要輸入密碼,每次有效期5分鐘。


組管理

添加組/刪除組 的命令都需要通過sudo執(zhí)行

sudo groupadd 組名 ? ? ? ? ? ? ? ?添加組

sudo grouddel 組名 ? ? ? ? ? ? ? ? 刪除組

cat /etc/group ? ? ? ? ? ? ? ?查看組信息 ? ? ? ?etc目錄存放的大都是系統(tǒng)文件

chgrp -R 組名 目錄/文件名 ? ? ? ?遞歸修改目錄/文件的所屬組

若沒加sudo,會提示權(quán)限不夠


用戶管理

useradd -m -g 用戶名 ? ? ? ? ? ? ? ? ? ? ? ?-m ? ?自動建立用戶家目錄

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -g ? ?指定用戶所在的組,否則會建立同名的組

passwd 用戶名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 設(shè)置密碼,如果是普通用戶,直接用passwd可以修改密碼

userdel -r 用戶名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?刪除用戶, -r 會自動刪除用戶家目錄

cat /etc/passwd | grep 用戶名 ? ? ? ? ? ? ? ?查看用戶信息

id 用戶名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看用戶各種ID


使用useradd添加的用戶,默認(rèn)不在sudo組中,就是沒有sudo權(quán)限。以下添加

usermod -G sudo 用戶名

修改用戶的主組 ? ?(passwd 中的 GID)

usermod -g 組 用戶名

修改用戶的附加組

usermod -G 組 用戶名

修改用戶登錄 Shell

usermod -s /bin/bash


Which ? 查詢命令所保存在的位置????????

例 which ls ? ? ? ? ? ? ? ?which useradd

/etc/passwd ? ? ? ? ? ?用于保存用戶信息的文件

/usr/bin/passwd ? ? ? ?用于修改用戶密碼的程序


/bin ? ?(binary) ? ?是二進(jìn)制執(zhí)行文件目錄,主要用于具體應(yīng)用

/sbin ? ?(system binary) ? ?是系統(tǒng)管理員專用的二進(jìn)制代碼存放目錄,主要用于系統(tǒng)管理

/usr/bin ? ?(user commands for applications) ? ?后期安裝的一些軟件

/usr/sbin ? ?(super user commands for applications) ? ?超級用戶的一些管理程序


切換用戶

su - 用戶名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?加“-”表示切換用戶及目錄,不加保留前用戶目錄


chown ? ? ? ? ? ? ? ? ? ? ? ? ? ?修改擁有者

chgrp ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?修改組

chmod ? ? ? ? ? ? ? ? ? ? ? ? ? ? 修改權(quán)限

修改文件/目錄的擁有者

chown 用戶名 文件名/目錄名

遞歸修改文件/目錄的組 ? ? ? ? ? ? ? ?-R ? ?表示遞歸

chgrp -R 組名 文件名/目錄名

遞歸修改文件權(quán)限

chmod -R 755 文件名/目錄名

“7”表示擁有者權(quán)限 ? ? ????“5”表示組權(quán)限 ? ? ? ?“5”其他用戶權(quán)限


常見數(shù)字組合

777 ? ?-----> ? ? ? ?u=rwx,g=rwx,o=rwx

755 ? ?-----> ? ? ? ?u=rwx,g=rx,o=rx

644 ? ?-----> ? ? ? ?u=rw,g=r,o=r

例如????chmod 755 01.py????



時間和日期

date ? ? ? ? ? ? ? ?查看系統(tǒng)時間

cal ? ? ? ? ? ? ? ? ?calendar 查看日歷,-y 選項可以查看一年的日歷

磁盤信息

df -h ? ? ? ? ? ? ? ?disk free 顯示磁盤剩余空間

du -h 目錄名 ? ? ? ?disk usage顯示目錄下的文件大小

“-h” 以直觀方式顯示文件大小

進(jìn)程信息

ps ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?process status 查看進(jìn)程的詳細(xì)情況

ps aux ? ? ? ? ? ? ? ? ? ? ? ?參數(shù)a,u,x ? ? ? ? ? ?ps a ? ? ? ? ? ? ? ?ps u

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a顯示終端上的所有進(jìn)程,包括其他用戶的進(jìn)程

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? u顯示進(jìn)程的詳細(xì)狀態(tài)

????????????????????????????????????x顯示沒有控制終端的進(jìn)程

top ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?動態(tài)顯示運(yùn)行中的進(jìn)程并且排序 ? ? ? ?退出按“q”

kill [-9]進(jìn)程代號 ? ? ? ? ? 終止指定代號的進(jìn)程,-9表示強(qiáng)行終止



find命令

find 路徑 -name "搜索條件" ? ? ? ? ? ? ? 若不輸入路徑,表示在當(dāng)前目錄搜索

例如 ? ? find Desktop/ -name "*.py"


軟鏈接

ln -s 被鏈接的源文件 鏈接文件 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?類似Windows的快捷方式

必須帶 -s ,否則建立的是硬鏈接文件

源文件要使用絕對路徑,如果使用相對路徑,一旦移動鏈接文件,無法使用

ln -s /Users/xuge/Desktop/01.py kuaijie_dakai

硬鏈接

相當(dāng)于深復(fù)制與淺復(fù)制的概念


打包解包

windows ? ?常用rar

Mac ? ? ? ? ? ?常用zip

Linux ? ? ? ? ? 常用tar.gz

打包文件 ??

tar -cvf 打包文件.tar 被打包的文件 ? ? 例如 tar -cvf py.tar 01.py 02.py

解包文件

tar -xvf 打包文件.tar

參數(shù)c,v,f,x

c ? ?生成檔案文件,創(chuàng)建打包文件

v ? ?列出歸檔解檔的詳細(xì)過程,顯示進(jìn)度

f ? ?指定檔案文件名稱,f后面一定是.tar文件,所以必須放選項最后

x ? ?解開檔案文件

注意:f 選項必須放最后,其他隨意


壓縮/解壓縮

gzip

tar與gzip命令結(jié)合使用可以實(shí)現(xiàn)文件 ?打包和壓縮

①?????tar只負(fù)責(zé)打包不負(fù)責(zé)壓縮

② ? ?用gzip壓縮tar打包后的文件,其擴(kuò)展名一般為“xxx.tar.gz”

在Linux中最常見的壓縮文件格式就是“xxx.tar.gz”

在打包解包時加一個參數(shù)“-z”,可以調(diào)用gzip,方便實(shí)現(xiàn)壓縮與解壓縮

壓縮文件

tar -zcvf 打包文件.tar.gz 被壓縮的文件

解壓縮文件

tar -zxvf 打包文件.tar.gz

解壓縮到指定路徑 ? ?-C

tar -zxvf 打包文件.tar.gz -C 目標(biāo)路徑


bzip2

用法與gzip一樣,但擴(kuò)展名不一樣 ? ? ? ? ? ?xxx.tar.bz2

參數(shù)為 -j

tar -jcvf 打包文件.tar.bz2 被壓縮的文件

tar -jxvf 打包文件.tar.bz2



APT

apt ? ?Advanced Packaging Tool ? ?是Linux下的一款安裝包管理工具

安裝軟件

sudo apt install 軟件包

卸載軟件

sudo apt remove 軟件名

更新已安裝的包

sudo apt upgrade

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容