Linux 概念
Linux 內(nèi)核
- 內(nèi)核(kennel)是系統(tǒng)的核心片排,是運行程序和管理磁盤和打印機等硬件設(shè)備的核心程序
- 內(nèi)核版本又分為穩(wěn)定版和開發(fā)版匾寝,兩種版本相互關(guān)聯(lián),相互循環(huán)
Linux 發(fā)行版
- 發(fā)行版通常包含桌面環(huán)境、辦公套件导盅、媒體播放器、數(shù)據(jù)庫等應(yīng)用軟件
- 常見發(fā)行版有:
- Ubuntu
- Redhat
- Cenos
- Debian
- Manjaro
- Arch
Linux 目錄結(jié)構(gòu)
-
/:根目錄揍瑟,一般根目錄只存放目錄
-
/bin白翻、/usr/bin:可執(zhí)行二進制文件的目錄,如常用的命令:
ls
绢片、mv
滤馍、cat
-
/boot:放置Linux啟動時用到的一些文件,如Linux的內(nèi)核文件:
/boot/vmlinuxz
杉畜,系統(tǒng)引導管理器:/boot/grub
-
/dev:存放Linux系統(tǒng)下的外部設(shè)備文件
-
/etc:系統(tǒng)配置文件存放目錄
-
/home:用戶的主目錄纪蜒,目錄名是以用戶的賬號命名的
-
/lib、/usr/lib此叠、/usr/local/lib:系統(tǒng)使用的函數(shù)庫的目錄纯续,程序在執(zhí)行過程中随珠,需要調(diào)用一些額外的參數(shù)時需要的函數(shù)庫的協(xié)助,類似Windows里的DLL文件
-
/lost+fount:一般情況下是空的猬错,當系統(tǒng)異常產(chǎn)生錯誤時窗看,會將一些丟失片段放置在這(比如非法關(guān)機)
-
/mnt、/media:光盤默認掛載點倦炒,通常掛在與/mnt/cdrom下
-
/opt: 這是給主機額外安裝軟件所擺放的目錄显沈。
-
/proc:是一個虛擬的目錄,它是系統(tǒng)內(nèi)存的映射逢唤,我們可以通過直接訪問這個目錄來獲取系統(tǒng)信息拉讯。
-
/root:系統(tǒng)管理員root的主目錄
常用Linux命令的基本使用
命令 |
作用 |
ls |
查看當前文件夾下的內(nèi)容 |
pwd |
查看當前所在文件夾 |
cd [目錄名] |
切換文件夾 |
touch |
如果文件不存在,新建文件 |
mkdir |
創(chuàng)建目錄 |
rm [文件名] |
****刪除指定的文件 |
clear |
清屏 |
-
ctrl+shift + =
放大終端窗口的字體
-
ctrl + -
縮小終端窗口的字體
Linux 終端命令格式
command [-options] [parameter]
- 選項說明
-
[]
:表示可選
-
command
:命令名鳖藕,相應(yīng)功能的英文單詞或縮寫
-
[-options]
:選項魔慷,可用來對命令進行控制,也可以省略
-
[parameter]
:命令參數(shù)著恩,可以是零個院尔,一個或者多個
查閱命令幫助信息
因為查詢的都是英文的,如果工作中遇到問題可以借助網(wǎng)絡(luò)搜索來查詢
命令 |
作用 |
command --help
|
顯示command 命令的幫助信息顯示command 命令的幫助信息 |
man command |
查詢command 的命令使用手冊 |
b |
回滾一屏 |
f |
前滾一屏 |
操作鍵 |
功能 |
q |
退出 |
空格鍵 |
顯示手冊的下一屏 |
Enter鍵 |
一次滾動手冊頁的一行 |
終端實用技巧
1> 自動補全
- 在敲出
文件
/目錄
/命令
的前幾個字母之后喉誊,按下tab
鍵
2> 曾經(jīng)使用過的命令
- 按
上
/下
光標鍵可以在曾經(jīng)使用過的命令之間來回切換
- 如果要推出選擇邀摆,并不想執(zhí)行當前選中的命令,可以按
ctrl+c
文件和目錄常用命令
- 文件和目錄的特點
- Linux文件或者目錄名稱最長可以有
256
個字符
- 以
.
開頭的文件為隱藏文件伍茄,需要用加-a參數(shù)才能顯示
-
./
代表當前目錄
-
../
代表上一級目錄
相對路徑和絕對路徑
-
相對路徑 表示相對當前目錄所在的目錄位置
-
絕對路徑 表示從根目錄/home目錄開始的具體位置
ls 常用選項
參數(shù) |
含義 |
-a |
顯示指定目錄下所有子目錄和文件栋盹,包括隱藏文件 |
-l |
以列表方式顯示文件的詳細信息 |
-h |
配合-l 以人性化的方式顯示文件大小 |
mkdir
參數(shù) |
含義 |
-p |
可以遞歸創(chuàng)建目錄 |
新建目錄的名稱不能與當前目錄中已有的目錄或文件同名
rm
參數(shù) |
含義 |
-f |
強制刪除,忽略不存在的文件幻林,無需提示 |
-r |
遞歸地刪除目錄下的內(nèi)容贞盯,刪除文件夾時必須加此參數(shù) |
使用rm 命令需要小心,因為文件刪除后不能恢復
tree
-
tree
命令可以用樹狀圖列出文件目錄結(jié)構(gòu)
cp
參數(shù) |
含義 |
-f |
已經(jīng)存在的目標文件直接覆蓋沪饺,不會提示 |
-i |
覆蓋文件前提示 |
-r |
遞歸復制該目錄下的所有子目錄和文件躏敢,目錄文件必須為一個目錄名 |
mv
-
mv
命令可以用來移動文件或目錄,也可以給文件或目錄重命名
cat
-
cat
命令可以用來查看文件內(nèi)容整葡、創(chuàng)建文件件余、文件合并、追加文件內(nèi)容等功能
-
cat
會一次顯示所有的內(nèi)容遭居,適合查看內(nèi)容比較少的文本文件
參數(shù) |
含義 |
-b |
對非空輸出行編號 |
-n |
對輸出的所有行編號 |
more
-
more
命令可以用于分屏顯示文件內(nèi)容啼器,每次只顯示一頁內(nèi)容
- 適合
查看內(nèi)容較多
的文本文件
操作鍵 |
功能 |
b |
回滾一屏 |
f |
前滾一屏 |
q |
退出 |
空格鍵 |
顯示文本的下一屏 |
Enter鍵 |
一次滾動文本的一行 |
grep
參數(shù) |
含義 |
-n |
顯示匹配行及行號 |
-v |
顯示不包含匹配文本的所有行 |
-i |
忽略大小寫 |
參數(shù) |
含義 |
^a |
行首,搜尋以a開頭的行 |
a$ |
行尾俱萍,搜尋以a結(jié)尾的行 |
echo 文字內(nèi)容
-
echo
會在終端中顯示參數(shù)指定的文字端壳,通常是和重定向聯(lián)合使用
重定向 > 和 >>
其中
-
\>
表示輸出,會覆蓋文件原有的內(nèi)容
-
\>>
表示追加枪蘑,會將內(nèi)容追加到已有文件的末尾
例:echo ls -lha >> a
管道 |
- Linux 允許將 一個命令的輸出可以通過管道 作為 另一個命令的輸入
- 可以理解現(xiàn)實生活中的管子损谦,管子的一頭塞東西進去岖免,另一頭取出來,這里的
|
的左右分為兩端照捡,左端-寫颅湘,右端-讀
常用的管道命令有:
-
more
:分屏顯示內(nèi)容
-
grep
:在命令執(zhí)行結(jié)果的基礎(chǔ)上查詢指定的文本
用戶權(quán)限相關(guān)命令
- 用戶管理包括用戶與組管理
- 可以指定每一個用戶針對不同的文件和目錄的不同權(quán)限
權(quán)限 |
英文 |
縮寫 |
數(shù)字代號 |
讀 |
read |
r |
4 |
寫 |
write |
w |
2 |
執(zhí)行 |
excute |
x |
1 |
chmod (重要)
-
chmod
可以修改用戶/組對文件/目錄的權(quán)限
命令 |
作用 |
chmod +/-rwx 文件名|目錄名 |
更改文件/目錄的權(quán)限 |
超級用戶
- Linux系統(tǒng)中的root賬戶通常用于系統(tǒng)的維護和管理,對操作系統(tǒng)的所有資源具有訪問權(quán)限
- 不建議使用root賬戶直接登錄系統(tǒng)
sudo
-
su
是substitute use
的縮寫栗精,表示使用另一個用戶的身份
-
sudo
命令是其他身份用來執(zhí)行命令
- 用戶使用
sudo
時必須先輸入密碼闯参,但有五分鐘的有效期限,超時必須重新輸入密碼
組管理
提示:創(chuàng)建組/刪除組的終端命令都需要通過sudo
來執(zhí)行
命令 |
作用 |
groupadd 組名 |
添加組 |
groupdel 組名 |
刪除組 |
cat /etc/group |
確認組信息 |
**chgrp -R **組名 文件/目錄名 |
修改文件/目錄的所屬組 |
用戶管理
創(chuàng)建用戶/刪除用戶/修改其他用戶密碼 的終端命令都需要通過sudo
執(zhí)行
命令 |
作用 |
說明 |
useradd -m -g 組 新建用戶名 |
添加新用戶 |
-m 自動建立用戶目錄 -g 指定用戶所在組 |
passwd 用戶名 |
設(shè)置用戶密碼 |
如果是普通用戶悲立,直接用passwd 修改自己的賬戶密碼 |
userdel - r 用戶名 |
刪除用戶 |
-r 選項會自動刪除用戶目錄 |
cat /etc/passwd | grep 用戶名 |
確認用戶信息 |
用戶信息會保存在/etc/passwd 文件中 |
- 如果創(chuàng)建用戶時鹿寨,如果忘記添加
-m
選項指定新用戶的home目錄—最簡單就是刪除用戶,重新創(chuàng)建
- 創(chuàng)建用戶時级历,忘添加
-g
選項释移,默認會創(chuàng)建一個和用戶名同名的組名
查看用戶信息
命令 |
作用 |
id [用戶名] |
查看用戶UID和GID信息 |
who |
查看當前所有登錄的用戶列表 |
whoami |
查看當前登錄用戶的賬戶名 |
passwd文件
/etc/passwd
文件存放的是用戶的信息眉踱,由6個分好組成的7個信息聂喇,分別是
- 用戶名
- 密碼(x推沸,表示加密的密碼)
- UID(用戶標識)
- GID (組標識)
- 用戶全名或本地賬戶
- 家目錄
- 登錄使用的終端命令(默認是dash)
usermod
- usermod 可以用來設(shè)置用戶的主組 / 附加組 和 登錄shell
- 主組:通常在新建用戶時指定,在/etc/passwd的第四列GID對應(yīng)的組
- 附加組:在/etc/group 中最后一列表示該組的用戶列表嚼贡,用于指定用戶的附加權(quán)限
設(shè)置了用戶附加組后,需要重新登錄才能生效
命令 |
作用 |
usermod -g 組 用戶名 |
修改用戶的主組 |
usermod -G 組 用戶名 |
修改用戶的附加組 |
usermod -s /bin/bash 用戶名 |
修改用戶登錄的shell |
注意:默認使用useradd添加的用戶是沒有權(quán)限使用sudo以root身份執(zhí)行命令的同诫,可以使用以下命令粤策,將用戶添加到sudo 附加組中
usermod -G sudo 用戶名
which (重要)
- which 命令可以查看執(zhí)行命令的所在位置,例如:
whish ls
注意:cd
這個終端命令是內(nèi)置在系統(tǒng)內(nèi)核中的误窖,沒有獨立的文件叮盘,因此用which
無法找到cd
命令的位置
切換用戶
命令 |
作用 |
說明 |
su - 用戶名 |
切換用戶,并且切換目錄 |
- 可以切換到用戶目錄霹俺,否則保持位置不變 |
exit |
退出當前登錄用戶 |
|
-
su
后不跟用戶名柔吼,默認切換到root,但是不推薦使用,因為不安全
修改文件權(quán)限
命令 |
作用 |
chown 用戶名 文件名|目錄名 |
修改擁有者 |
chgrp -R 組名 文件名|目錄名 |
修改組 |
chmod -R 755 文件名|目錄名 |
修改權(quán)限 |
-
chmod
在設(shè)置權(quán)限時丙唧,可以簡單使用三個數(shù)字分別對應(yīng)擁有者 / 組 和其他用戶的權(quán)限
- 常用數(shù)字組合有
-
777
===>u= rwx,g=rwx,o=rwx
-
755
===>u=rwx,g=rx,o=rx
-
644
===>u=rw,g=r,o=r
遠程管理常用命令
shutdown 關(guān)機 / 重啟
-
shutdown
命令可以安全關(guān)閉或者重新啟動系統(tǒng)
命令 |
作用 |
shutdown [選項] [時間] |
關(guān)機/重新啟動 |
-
選項說明
選項 |
含義 |
-r |
重新啟動 |
-c |
取消執(zhí)行 |
不指定選項和參數(shù)愈魏,默認表示1分鐘后關(guān)閉電腦
注意:遠程維護服務(wù)器時,最好是重新啟動系統(tǒng)想际,而不是關(guān)機
ifconfig 查看或配置網(wǎng)卡信息
命令 |
作用 |
ifconfig |
查看/配置計算機當前的網(wǎng)卡配置信息 |
ping ip地址 |
檢測到目標 ip地址的連通性 |
ping 一般用于檢測當前計算機到目標計算機之間的網(wǎng)絡(luò)是否暢通培漏、數(shù)值越大、速度越慢
#查看網(wǎng)卡對應(yīng)的IP地址
$ ifconfig | grep inet
ssh 遠程登錄和復制文件
-
SSH客戶端是一種使用
Secure Shell(SSH)
連接到遠程計算機的軟件程序
-
SSH
是目前較可靠胡本,專為遠程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議
- 利用
SSH協(xié)議
可以有效防止遠程管理過程中的信息泄露
- 通過
SSH協(xié)議
可以對所有傳輸?shù)臄?shù)據(jù)進行加密牌柄,也能防止DNS欺騙和IP欺騙
- 使用
SSH協(xié)議
傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸速度
命令 |
作用 |
ssh 用戶名@ip |
關(guān)機 / 重新啟動 |
scp 用戶名@ip:文件名或路徑 用戶名@ip:文件名或路徑 |
遠程復制文件 |
- SSH這個終端命令只能在Linux和Unix系統(tǒng)下使用侧甫,在Windows上需要使用客戶端軟件才行
- SSH服務(wù)器的端口號很可能不是22,那就使用-p選項珊佣,指定正確的端口號傻昙,否則無法連接服務(wù)器
Windows下SSH客戶端的安裝
xshell
http://www.xshellcn.com/
putty
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
SCP
-
scp
就是secure copy
,是一個在Linux下用來進行遠程拷貝文件的命令
- 它的地址格式與ssh基本相同,需要注意的是彩扔,在指定端口時用的是大寫的-P而不是小寫的
選項 |
含義 |
-r |
復制該目錄下的所有子目錄和文件妆档,目標文件必須是一個目錄名 |
-P |
若遠程SSH 服務(wù)器的端口不是22 |
注意:‘:’后面的路徑如果不是絕對路徑,則以用戶的home目錄作為參照路徑
例:把本地的文件上傳到服務(wù)器
scp -P port test.txt user@remote:Desktop/test.txt
把遠程服務(wù)器的文件下載到本地
scp -P port user@remote:Desktop/test.txt
加上 -r 選項可以傳送文件夾到服務(wù)器
scp -r demo user@remote:Desktop
把服務(wù)器的文件夾下載到本地
scp -r user@remote:Desktop demo
-
scp
這個終端命令只能在Linux或者Unix系統(tǒng)下使用
- 如果在Windows系統(tǒng)中虫碉,可以安裝
FileZilla
使用FTP
進行文件傳輸
SSH 高級
有關(guān)SSH的配置信息都保存在用戶home目錄下的.ssh目錄下
01. 免密碼登錄
- 配置公鑰
- 執(zhí)行ssh-keygen即可生成SSH鑰匙贾惦,之后一路回車即可
- 上傳公鑰到服務(wù)器
- 執(zhí)行ssh-copy-id -p port user@remote,可以讓遠程服務(wù)器保存我們的公鑰
采用非對稱加密算法
- 使用公鑰加密的數(shù)據(jù)敦捧,需要使用私鑰解密
- 使用私鑰加密的數(shù)據(jù)须板,需要使用公鑰解密
02. 設(shè)置別名
每次輸入ssh -p port user@remote
,時間久了就會覺得很麻煩兢卵,而且不好記
當配置完別名后就可以偷懶习瑰,比如:ssh manjaro
來代替上面的一大串
保存之后,即可用ssh manjaro
實現(xiàn)遠程登錄秽荤,scp同樣可以使用
系統(tǒng)信息相關(guān)命令
通過遠程終端維護服務(wù)器時甜奄,查看服務(wù)器當前系統(tǒng)日期和時間 / 磁盤空間占用情況 / 程序執(zhí)行情況
時間和日期
命令 |
作用 |
date |
查看系統(tǒng)時間 |
cal |
查看日歷(默認當前月),-y 選項可以查看一年的日歷 |
磁盤信息
命令 |
作用 |
df -h |
disk free 顯示磁盤剩余空間 |
du - h [目錄名] |
disk usage 顯示目錄下的文件大小 |
參數(shù) |
含義 |
-h |
以人性化的方式顯示文件大小 |
進程信息
- 所謂進程窃款,通俗地說就是 當前正在執(zhí)行的一個程序
命令 |
作用 |
ps aux |
process status 查看進程的詳細狀況 |
top |
動態(tài)顯示運行中的進程并且排序 |
kill [-9] [PID] |
終止指定代號的進程课兄,-9表示強行終止 |
ps
默認只會顯示當前用戶通過終端啟動的應(yīng)用程序
命令 |
含義 |
a |
顯示終端上的所有進程,包括其他用戶的進程 |
u |
顯示進程的詳細狀態(tài) |
x |
顯示沒有控制終端的進程 |
使用kill
命令時晨继,最好只終止當前用戶開啟的進程烟阐,不要終止root
身份開啟的進程,否則會導致系統(tǒng)奔潰
查找文件
命令 |
作用 |
find [路徑] -name "*.py" |
查找路徑下擴展名為py的文件紊扬,包含子目錄 |
軟鏈接
命令 |
作用 |
ls -s [被鏈接的源文件] [鏈接文件] |
建立文件的軟鏈接 |
- 沒有
-s
選項的建立的時一個硬鏈接文件
- 源文件要使用絕對路徑,為了方便移動鏈接文件后能繼續(xù)正常使用
硬鏈接
命令 |
作用 |
ln [被鏈接的源文件] [鏈接文件] |
建立 |
在linux中餐屎,文件名和文件數(shù)據(jù)時分開存儲的
打包壓縮
- 在不同系統(tǒng)中檀葛,常用的打包壓縮方式也是不同的
-
linux常用
tar.gz
-
Mac 常用
zip
-
Windows 常用
rar
-
tar
命令可以把一系列文件打包到一個大文件,也可以把大文件恢復成一個系列文件
打包
命令 |
作用 |
tar -cvf [打包后文件名.tar] [被打包的文件/路徑] |
打包一個文件/目錄 |
解包
命令 |
作用 |
tar -xvf 打包的文件.tar |
解壓文件 |
選項 |
含義 |
c |
生成檔案文件啤挎,創(chuàng)建打包文件 |
x |
解開檔案文件 |
v |
列出歸檔解檔的詳細過程驻谆,顯示進度 |
f |
指定檔案文件名,f 后面要跟著.tar 文件 |
壓縮/解壓
gzip
-
tar
與gizp
一起用可以實現(xiàn)打包和壓縮
- 在
tar
命令中有個選項-z可以直接調(diào)用gzip
,實現(xiàn)快速打包壓縮解壓功能
命令 |
作用 |
tar -zcvf [打包后文件名.tar.gz] [被打包的文件/路徑] |
壓縮文件 |
tar -zxvf 打包的文件.tar.gz |
解壓文件 |
-
解壓選項說明
選項 |
含義 |
-C |
解壓縮到指定目錄(目錄必須存在) |
bzip2
-
tar
與bzip2
也可以實現(xiàn)文件打包壓縮(用法和gzip
一樣)
命令 |
作用 |
tar -jcvf [打包后文件名.tar.gz] [被打包的文件/路徑] |
壓縮文件 |
tar -jxvf 打包的文件.tar.gz |
解壓文件 |
計算機中文件大小的表示方式
單位 |
英文 |
含義 |
字節(jié) |
B (Byte) |
在計算機中作為一個數(shù)字單元庆聘,一般為8位二進制數(shù) |
千 |
K (Kibibyte) |
1KB = 1024B胜臊,千字節(jié) |
兆 |
M (Mebibyte) |
1MB = 1024KB,百萬字節(jié) |
千兆 |
G (Gigabyte) |
1GB = 1024MB伙判,十億字節(jié)象对,千兆字節(jié) |
太 |
T (Terabyte) |
1TB = 1024GB,萬億字節(jié)宴抚,太字節(jié) |
拍 |
P (Petabyte) |
1PB = 1024TB勒魔,千萬億字節(jié)甫煞,拍字節(jié) |
艾 |
E (Exabyte) |
1EB = 1024PB,百億億字節(jié)冠绢,艾字節(jié) |
澤 |
Z (Zettabyte) |
1ZB = 1024EB抚吠,十萬億億字節(jié),澤字節(jié) |
堯 |
Y (Yottabyte) |
1YB = 1024ZB弟胀,一億億億字節(jié)楷力,堯字節(jié) |