目錄
- 一、Linux簡介
- 二、shell
- 三、SSH系統服務
- 四、vim編輯器
- 五、Linux常用命令
- 六、文本檔案編輯命令
- 七、檔案目錄管理命令
- 八、打包壓縮命令
- 九、搜索命令
- 十、檔案管理權限命令
一、Linux簡介
Linux是一套免費使用和自由傳播的類Unix作業系統,是一個基于POSIX和UNIX的多用戶、多任務、支持多執行緒和多CPU的作業系統,它能運行主要的UNIX工具軟體、應用程式和網路協議,它支持32位和64位硬體,Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路作業系統,
Linux作業系統誕生于1991年10月5日(第一次正式向外公布時間),Linux存在許多不同的版本,但它們都使用了Linux內核,Linux可安裝在各種計算機硬體設備上,比如手機、平板電腦、路由器、視頻游戲控制臺、臺式計算機、大型機和超級計算機,
嚴格來講,Linux 這個詞本身只表示 Linux 內核,但人們已經習慣了使用 Linux 來形容整個基于 Linux 內核,并且使用GNU工程各種工具和資料庫的作業系統,
Linux 的發行版說簡單點,就是將 Linux 內核與應用軟體做一個打包,
下載地址
二、shell
在計算機科學中,shell 俗稱外殼(用來區別于內核),它類似于Windows的DOS,夠接收用戶的命令并翻譯給作業系統執行,是用戶與作業系統(內核)之間的橋梁(中間人),

shell開機自啟,如果沒有shell,我們無法使用Linux,
- 查看正在使用的shell:echo $SHELL
- 查看系統支持的shell:cat /etc/shells

shell與終端的區別:
終端:接收用戶的輸入,并傳遞給shell程式,接收程式輸出并展示到螢屏
shell:接收并決議用戶的命令給作業系統執行,將結果輸出到終端,
三、SSH系統服務
SSH服務是目前比較可靠,專門為遠程登錄服務器和其他網路服務提供安全的協議,相當于Windows的遠程桌面協議(mstsc),
SSH是標準的網路協議,可用于大多數UNIX作業系統,能夠實作字符界面的遠程登錄管理,它默認使用22號埠,采用密文的形式在網路中傳輸資料,相對于通過明文傳輸的Telnet,具有較高的安全性,
SSH提供了口令和密鑰兩種用戶驗證方式,這兩者都是通過密文傳輸資料的,
SSH對我們主要的作用是:操作遠程服務器系統
Kali配置SSH服務:
1、安裝leafpad
apt-get install leafpad
2、使用編輯器打開SSH配置
leafpad /etc/ssh/sshd_config
(1)搜索PermitRootLogin

將其更改為

更改之后,允許root賬戶登錄
(2)搜索PermitEmptyPasswords

更改為

更改之后,允許空密碼登錄
3、重啟SSH服務
service ssh restart
其他命令:
- 使用命令列模式開啟SSH服務:
service ssh start - 查看服務開啟狀態:
service ssh status
4、登陸測驗
使用xshell、MobaXterm、putty等工具測驗,
使用本機cmd遠程連接:
(1)查看虛擬機IP,在Kali終端允許命令
ip a
(2)打開本機cmd,先查看能否與Kali遠程連接
ping 192.16.2.3
(3)在本機cmd運行以下命令
ssh root @192.16.2.3
輸入遠程連接Kali賬戶的密碼即可,注意密碼是不可見的,輸入回車即可
使用MobaXterm遠程連接:
一般使用MobaXterm,免費,且支持協議較多,安裝簡單,圖形化界面較好,缺點是沒有中文版,
點擊Session,選擇SSH,填入遠程連接地址、賬戶名,輸入密碼


連接好后,就可以將虛擬機掛起,直接通過MobaXterm使用虛擬機了,
虛擬機掛起,IP一般不會改變,可以持續連接,但如果關機了,IP就會改變了,如果IP改變了,重新設定一邊就可以了,
如果出現亂碼,設定一下字體即可,Sessions -> 右鍵IP -> Edit session

使用Xshell遠程連接:
rz:上傳檔案sz:下載檔案
四、vim編輯器
VM編輯器是Unix及Linux系統下標準的編輯器,相當于Windows系統中的記事本,它的強大不遜色于任何文本編輯器,是我們使用Linux系統不可缺少的工具,
vim具有程式編輯的能力,其會依據檔案擴展名或者檔案內的開頭資訊,判斷該檔案的內容,自動執行該程式的語法判斷式,再以顏色顯示程式代碼與一般資訊,可以辨別語法的正確性,
vim加入了許多額外的功能,例如支持正則運算式的搜索、多檔案編輯、塊復制等等,這些功能可以幫助我們在Linux上進行一些組態檔的修改,
vim編輯器模式
命令模式(默認):剛進入vim的時候,默認為命令模式,可以復制行、洗掉行等
輸入模式:可以輸入內容
模式轉換
i:在當前游標所在字符的前面,轉為輸入模式I:在當前游標所在行的行首,轉為輸入模式Esc:輸入模式轉為命令模式a:在當前游標所在字符的后面,轉為輸入模式A:在游標所在行的行尾,轉為輸入模式o:在當前游標所在行的下方,新建一行,轉為輸入模式O:在當前游標所在行的上方,新建一行,轉為輸入模式s:洗掉游標所在字符,轉為輸入模式x:洗掉游標所在字符,留在命令模式dd:洗掉游標所在行r:替換游標所在字符yy:復制一行p:粘貼
命令模式下,關閉、保存檔案
- Shift + 冒號
- w:保存
- q:退出
- wq:保存退出
- x:保存退出
- q!:強制退出
- w!:強制保存,管理員權限
查找
- /正則:從當前位置向后查找
- ?正則:從當前位置向前查找
五、Linux常用命令
幫助命令:在 Linux 環境中,如果遇到困難,可以使用幫助命令來取得幫助
- 輸出cat命令的幫助:
cat --help - 輸出date命令的幫助:
date --help
常用系統作業命令:
系統狀態檢測命令:查看Linux配置系統的基本命令
作業目錄切換命令:在Linux中,作業目錄指的是用戶當前在系統中所處的位置
Linux命令手冊
echo——用于在終端輸出字串或變數提取后的值
- echo [字串]
- echo [$變數]
- 將123寫入到1.txt中(>覆寫內容,>>追加內容):
echo 123 > 1.txt echo $SHELL
rm——洗掉檔案
rm 1.txt
date——用于顯示及設定系統的日期或時間
data [選項] [指定的格式]datedate "+%Y-%m-%d"date -d "1 day ago"date -s 20080808date -s "20080808 01:01:01"
poweroff——用于關閉系統
poweroff
reboot——重啟
init——需要root權限
- 關機:
init0 - 切換為命令列格式:
init3 - 切換為圖形化頁面:
init5 - 重啟:
init6
top——顯示當前系統正在執行的行程的相關資訊,包括行程ID、記憶體占用率等,使用q鍵退出
- top [引數]
- top
PID:行程號
USER:用戶
COMMAND:名稱
kill [行程號]——殺死某個行程
ps——查看行程
ifconfig——用于獲取網卡配置與網路狀態等資訊
ifconfigifconfig [網路設備] [引數]
ip a——可以查看IP
ip add——可以查看IP
uname——用于查看系統內核與系統版本等資訊
- 查看版本:
uname -a - 查看uname幫助檔案:
uname --help
who——用于查看當前登入主機的用戶終端資訊
id——查看當前登入主機的用戶終端資訊
whoami——查看當前登入主機的用戶終端資訊
history——用于顯示歷史執行過的命令
- 執行歷史號為32的命令:
!32
pwd——用于顯示用戶當前所處的作業目錄
cd——用于切換作業路徑
- 切換到root目錄:
cd ~ - 切換到home目錄(主目錄):
cd / - 回到上一級:
cd ..
ls——用于顯示目錄中的檔案資訊,目錄為藍色,普通檔案為白色,壓縮包為白色
- 查看當前目錄的狀態(d開頭代表路徑,l開頭代表目錄,-開頭代表檔案):
ls -l
ll——查看檔案詳情
d目錄-檔案l鏈接r可讀w可寫x可執行
六、文本檔案編輯命令
cat——用于查看純文本檔案(內容較少的)
- 打開a檔案:
cat a - 打開a檔案,在有內容的行前添加行數:
cat a -b - 讀取用戶資訊:
cat /etc/passwd
more——用于查看純文本檔案(內容較多的)
- 回車鍵往下查看內容
- Ctrl + b 往上查看內容
- 等于號顯示當前行數
- 等于號后輸入數字,意味著在當前行數下添加該數字的行數
- v 可以呼叫vim編輯器
- q 退出
head——用于查看純文本檔案的前N行
- 輸出a檔案的前10個字符:
head a -c 10 - 輸出a檔案的前5行:
head a -n 5 - 輸出檔案頭:
head a -q
wc——用于統計指定文本的行數、字數、位元組數
- 統計位元組數:
wc a -c
stat——用于查看檔案的具體存盤資訊和時間等資訊
- 格式化輸出123:
stat -c 123 a
七、檔案目錄管理命令
touch——用于創建空白檔案或設定檔案的時間,創建時間和最近改動時間無法更改
- 創建3個空白檔案:
touch 1.txt 2.txt 3.txt - 將1.txt檔案的時間更改為1天前:
touch -d "1 day ago" 1.txt - 設定時間格式:
touch -t 2008080808.08 1.txt
mkdir——用于創建空白的目錄
- 創建text目錄:
mkdir text - 創建多級目錄:
mkdir hello/test/ -p - 創建test2目錄,設定權限為可讀可寫可執行:
mkdir hello/test2 -m 777
cp——用于復制檔案或目錄
- 將a檔案復制到a2:
cp a a2 - 將hello目錄復制到hello2,r命令是遞回,可以復制檔案:
cp hello/ hello2 -r - p命令可以復制格式、權限:
cp hello/ hello2 -r -p - b命令可以產生備份檔案:
cp hello/ hello2 -r -b
mv——用于移動檔案或將檔案重命名
- 將1.txt檔案移動到hello目錄下:
mv 1.txt hello/ - 將hello2目錄移動到hello目錄下:
mv hello2/ hello/ - 將所有txt檔案移動到hello目錄下:
mv *.txt hello/
file——用于查看檔案的型別
- 查看1.txt檔案的型別:
file 1.txt - 不顯示檔案名稱:
file 1.txt -b - 版本資訊:
file 1.txt -v
八、打包壓縮命令
tar——用于對檔案進行打包壓碩訓解壓,壓縮-cvf,解壓-xvf(c為壓縮,x為解壓,v為路徑,f為檔案)
- 打包(沒有壓縮)當前目錄下的所有txt檔案,放到root目錄下,命名為a.tar.gz:
tar -cvf /root/a.tar.gz *.txt
gzip——一般與tar一起使用,tar只負責打包并未做壓縮,使用 -z 選項可以呼叫gzip壓縮,完成打包壓縮
- 打包壓縮:
tar -zcvf /root/a2.tar.gz *.txt - 打包壓縮:
tar -zcvf abc.tar.gz a.txt b.txt c.txt - 解壓到指定路徑:
tar -xvf a2.tar.gz -C /root/hello
zip——壓縮效率比不上gzip
- 壓縮所有txt檔案為1.zip:
zip 1.zip *.txt - 解壓1.zip:
unzip 1.zip
九、搜索命令
which——用于查找并顯示給定命令的絕對路徑,環境變數PATH中保存了查找命令時需要遍歷的目錄,
使用which命令,可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令,此命令會去搜索$PATH環境變數中的目錄路徑,可以使用echo $PATH 查看,
- 查找id命令:
which id
whereis——與which命令相似,whereis也可以查找到命令的絕對路徑,兩者不同的是,which會列出這個命令的別名記錄,而whereis會顯示出這個命令的幫助檔案所在位置,
whereis id
locate——根據檔案名來搜索檔案的命令,區別于 find 命令,locate 命令無需指定路徑,直接搜索即可,運行速度較快,可以根據關鍵字列出所有檔案,
locate 命令在 mlocate.db 資料庫下搜索,這個資料庫位于 /var/lib/mlocate/mlocate.db,它包含了系統里所有檔案的索引,并且會在每天早上由 cron 工具自動更新,但是 locate 命令有個弊端,它無法搜索當天所創建的檔案,因為它的資料庫一般只在早上更新一次,我們可以使用 updatedb 命令手動去更新它的資料庫,
updatedblocate 1.txt
find——用于在一個目錄(及子目錄)中搜索檔案,可以指定一些匹配條件,如按檔案名、檔案型別、用戶等條件查找檔案,默認從當前路徑開始檢索,其搜索速度比locate慢,
- 查找root目錄下命名為hello的目錄或檔案:
find /root/ -name hello - 不區分大小寫:find /root/ -iname hello
- 指定檔案型別(f表示檔案,d表示目錄):
find /root/ -name 1.txt -type f - 指定權限查找:
find /root/ -name hello.txt -perm 777 -exec command {} \;或-ok command {} \;將查找到的檔案執行command操作,-ok是互動的,需要用戶確認,-exec不用,{}和\;之間有空格,固定格式,{}表示命令的引數,即為所找到的檔案,\是轉義,;表示命令結束
列舉hello路徑下的檔案:find /root/ -name hello -exec ls {} \;
列舉hello所在的路徑:find /root/ -name hello -exec pwd {} \;
直接執行指令:find /root/ -name hello -exec whoami \;
grep——一種強大的文本搜索工具,能使用正則運算式搜索文本,并把匹配的行列印出來,
- 在filename檔案中查找python:
grep "python" filename - 在多個檔案中查找python:
grep "python" filename filename1 filename2 - 顯示所有的行程,匹配所有帶ssh服務的行程(a代表顯示所有的行程,j代表命令格式):
ps -ajx | grep ssh
grep可以與find結合使用
- 列出a目錄下的所有檔案,通過grep匹配出hello(
|是管道符,作用是將左邊的輸出當右邊的輸入,即將find /a命令的輸出結果當作grep hello命令的輸入進行過濾):find /a | grep hello
十、檔案管理權限命令
chmod——進行檔案的權限修改,Linux中檔案和目錄的權限有所不同
檔案的權限:
r:可以讀檔案,數值為4w:可以寫檔案,數值為2x:可以執行檔案,數值為1- 賦予可讀可寫可執行:
chmod 777 檔案名
目錄的權限:
x r:可以復制(cp)和查看(ls)目錄的內容(即檔案和目錄),同時還需要可執行權限x w:可以在目錄里創建檔案(touch)和目錄(mkdir)和洗掉檔案(rm)和目錄(rmdir),同時需要可執行權限x x:可以進入目錄(cd)和執行檔案
Linux用戶及權限管理
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/282417.html
標籤:其他
