一、Vim編譯器
1.什么是vim編譯器
- Vim相當于vi的升級版
- Vim是從 vi 發展出來的一個文本編輯器,代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程式員中被廣泛使用,
- 簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方,
- vim 則可以說是程式開發者的一項很好用的工具,
- 所有的 Unix Like 系統都會內建 vi 文書編輯器,其他的文書編輯器則不一定會存在,
- 連 vim 的官方網站 (http://www.vim.org) 自己也說 vim 是一個程式開發工具而不是文字處理軟體,
- vim 鍵盤圖:

2.三種使用模式(重要)
基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode),這三種模式的作用分別是:
-
命令模式:
用戶剛剛啟動 vi/vim,便進入了命令模式,
此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字符,比如我們此時按下i,并不會輸入一個字符,i被當作了一個命令,
以下是常用的幾個命令:
- i 切換到輸入模式,以輸入字符,
- x 洗掉當前游標所在處的字符,
- : 切換到底線命令模式,以在最底一行輸入命令,如果是編輯模式,需要先退出編輯模式 (ESC)
-
輸入模式:
在命令模式下按下i就進入了輸入模式,
在輸入模式中,可以使用以下按鍵:
- 字符按鍵以及Shift組合,輸入字符
- ENTER,回車鍵,換行
- BACK SPACE,退格鍵,洗掉游標前一個字符
- DEL,洗掉鍵,洗掉游標后一個字符
- 方向鍵,在文本中移動游標
- HOME/END,移動游標到行首/行尾
- Page Up/Page Down,上/下翻頁
- Insert,切換游標為輸入/替換模式,游標將變成豎線/下劃線
- ESC,退出輸入模式,切換到命令模式
-
底線命令模式
在命令模式下按下:(英文冒號)就進入了底線命令模式,
底線命令模式可以輸入單個或多個字符的命令,可用的命令非常多,
在底線命令模式中,基本的命令有(已經省略了冒號):
- q 退出程式
- w 保存檔案
按ESC鍵可隨時退出底線命令模式,
簡單的說,我們可以將這三個模式想成底下的圖示來表示:

測驗

完整的演示說明
新建或者編輯檔案,按 i 進入編譯模式,撰寫內容,撰寫完成后退出編輯模式,esc,退出之后進入底線命令模式
:wq保存退出!
3.Vim按鍵說明(需要時查詢)
第一部分:一般模式可用的游標移動、復制粘貼、搜索替換等
| 移動游標的方法 | 11 |
|---|---|
| h 或 向左箭頭鍵(←) | 游標向左移動一個字符 |
| j 或 向下箭頭鍵(↓) | 游標向下移動一個字符 |
| k 或 向上箭頭鍵(↑) | 游標向上移動一個字符 |
| l 或 向右箭頭鍵(→) | 游標向右移動一個字符 |
| [Ctrl] + [f] | 螢屏『向下』移動一頁,相當于 [Page Down]按鍵 (常用) |
| [Ctrl] + [b] | 螢屏『向上』移動一頁,相當于 [Page Up] 按鍵 (常用) |
| [Ctrl] + [d] | 螢屏『向下』移動半頁 |
| [Ctrl] + [u] | 螢屏『向上』移動半頁 |
| + | 游標移動到非空格符的下一行 |
| - | 游標移動到非空格符的上一行 |
| n< space> | 那個 n 表示『數字』,例如 20 ,按下數字后再按空格鍵,游標會向右移動這一行的 n 個字符,(數字 + 空格) |
| 0 或功能鍵[Home] | 這是數字『 0 』:移動到這一行的最前面字符處 (常用) |
| $ 或功能鍵[End] | 移動到這一行的最后面字符處(常用) |
| H | |
| M | 游標移動到這個螢屏的中央那一行的第一個字符 |
| L | 游標移動到這個螢屏的最下方那一行的第一個字符 |
| G | 移動到這個檔案的最后一行(常用) |
| nG | n 為數字,移動到這個檔案的第 |
| gg | 移動到這個檔案的第一行,相當于 1G 啊!(常用) |
| n< Enter> | n 為數字,游標向下移動 n 行(常用) |
| 搜索替換 | |
|---|---|
| /word | 向游標之下尋找一個名稱為 word 的字串,例如要在檔案內搜尋 vbird 這個字串,就輸入 /vbird 即可!(常用) |
| ?word | 向游標之上尋找一個字串名稱為 word 的字串, |
| n | 這個 n 是英文按鍵,代表重復前一個搜尋的動作,舉例來說, 如果剛剛我們執行 /vbird 去向下搜尋 vbird 這個字串,則按下 n 后,會向下繼續搜尋下一個名稱為 vbird 的字串,如果是執行 ?vbird 的話,那么按下 n 則會向上繼續搜尋名稱為 vbird 的字串! |
| N | 這個 N 是英文按鍵,與 n 剛好相反,為『反向』進行前一個搜尋動作,例如 /vbird 后,按下 N 則表示『向上』搜尋 vbird , |
| 洗掉、復制與粘貼 | |
|---|---|
| x, X | 在一行字當中,x 為向后洗掉一個字符 (相當于 [del] 按鍵), X 為向前洗掉一個字符(相當于 [backspace] 亦即是退格鍵) (常用) |
| nx | n 為數字,連續向后洗掉 n 個字符,舉例來說,我要連續洗掉 10 個字符, 『10x』, |
| dd | 洗掉游標所在的那一整行(常用) |
| ndd | n 為數字,洗掉游標所在的向下 n 行,例如 20dd 則是洗掉 20 行 (常用) |
| d1G | 洗掉游標所在到第一行的所有資料 |
| dG | 洗掉游標所在到最后一行的所有資料 |
| d$ | 洗掉游標所在處,到該行的最后一個字符 |
| d0 | 那個是數字的 0 ,洗掉游標所在處,到該行的最前面一個字符 |
| yy | 復制游標所在的那一行(常用) |
| nyy | n 為數字,復制游標所在的向下 n 行,例如 20yy 則是復制 20 行(常用) |
| y1G | 復制游標所在行到第一行的所有資料 |
| yG | 復制游標所在行到最后一行的所有資料 |
| y0 | 復制游標所在的那個字符到該行行首的所有資料 |
| y$ | 復制游標所在的那個字符到該行行尾的所有資料 |
| p, P | p 為將已復制的資料在游標下一行貼上,P 則為貼在游標上一行!舉例來說,我目前游標在第 20 行,且已經復制了 10 行資料,則按下 p 后, 那 10 行資料會貼在原本的 20 行之后,亦即由 21 行開始貼,但如果是按下 P 呢?那么原本的第 20 行會被推到變成 30 行,(常用) |
| J | 將游標所在行與下一行的資料結合成同一行 |
| c | 重復洗掉多個資料,例如向下洗掉 10 行,[ 10cj ] |
| u | 復原前一個動作,(常用) |
| [Ctrl]+r | 重做上一個動作,(常用) |
第二部分:一般模式切換到編輯模式的可用的按鈕說明
| 進入輸入或取代的編輯模式 | |
|---|---|
| i, I | 進入輸入模式(Insert mode):i 為『從目前游標所在處輸入』, I 為『在目前所在行的第一個非空格符處開始輸入』,(常用) |
| a, A | 進入輸入模式(Insert mode):a 為『從目前游標所在的下一個字符處開始輸入』, A 為『從游標所在行的最后一個字符處開始輸入』,(常用) |
| o, O | 進入輸入模式(Insert mode):這是英文字母 o 的大小寫,o 為『在目前游標所在的下一行處輸入新的一行』;O 為在目前游標所在處的上一行輸入新的一行!(常用) |
| r, R | 進入取代模式(Replace mode):r 只會取代游標所在的那一個字符一次;R會一直取代游標所在的文字,直到按下 ESC 為止;(常用) |
| [Esc] | 退出編輯模式,回到一般模式中(常用) |
第三部分:一般模式切換到指令行模式的可用的按鈕說明
| 指令行的儲存、離開等指令 | |
|---|---|
| :w | 將編輯的資料寫入硬碟檔案中(常用) |
| :w! | 若檔案屬性為『只讀』時,強制寫入該檔案,不過,到底能不能寫入, 還是跟你對該檔案的檔案權限有關啊! |
| :q | 離開 vi (常用) |
| :q! | 若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案,注意一下啊,那個驚嘆號 (!) 在 vi 當中,常常具有『強制』的意思~ |
| :wq | 儲存后離開,若為 :wq! 則為強制儲存后離開 (常用) |
| ZZ | 這是大寫的 Z 喔!若檔案沒有更動,則不儲存離開,若檔案已經被更動過,則儲存后離開! |
| :w [filename] | 將編輯的資料儲存成另一個檔案(類似另存新檔) |
| :r [filename] | 在編輯的資料中,讀入另一個檔案的資料,亦即將 『filename』 這個檔案內容加到游標所在行后面 |
| :n1,n2 w [filename] | 將 n1 到 n2 的內容儲存成 filename 這個檔案, |
| :! command | 暫時離開 vi 到指令行模式下執行 command 的顯示結果!例如 『:! ls /home』即可在 vi 當中看 /home 底下以 ls 輸出的檔案資訊! |
| :set nu | 顯示行號,設定之后,會在每一行的前綴顯示該行的行號 |
| :set nonu | 與 set nu 相反,為取消行號! |
以上標記的需要掌握熟練即可!
二、賬號管理
1.簡介
Linux系統是一個多用戶多任務的分時作業系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然后以這個賬號的身份進入系統,
用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,并控制他們對系統資源的訪問;另一方面也可以幫助用戶組織檔案,并為用戶提供安全性保護,
每個用戶賬號都擁有一個唯一的用戶名和各自的口令,
用戶在登錄時鍵入正確的用戶名和口令后,就能夠進入系統和自己的主目錄,
實作用戶賬號的管理,要完成的作業主要有如下幾個方面:
- 用戶賬號的添加、洗掉與修改,
- 用戶口令的管理,
- 用戶組的管理,
2.用戶賬號的管理
用戶賬號的管理作業主要涉及到用戶賬號的添加、修改和洗掉,
添加用戶賬號就是在系統中創建一個新賬號,然后為新賬號分配用戶號、用戶組、主目錄和登錄Shell等資源,
2.1添加賬號 useradd
語法 : useradd -命令 添加用戶
引數說明:
-c comment 指定一段注釋性描述,
-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄,
-g 用戶組 指定用戶所屬的用戶組,
-G 用戶組,用戶組 指定用戶所屬的附加組,
-m 使用者目錄如不存在則自動建立,
-s Shell檔案 指定用戶的登錄Shell,
-u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號,
[root@localhost home]# useradd -m jihu1 #創建一個用戶
[root@localhost home]# ls
f2 f3 jihu jihu1 jihu.txt lost+found test2 test4
2.2洗掉用戶 userdel
userdel -r 用戶名 洗掉用戶的時候將他的目錄頁一并刪掉!
[root@localhost home]# userdel -r jihu1
[root@localhost home]# ls
f2 f3 jihu jihu.txt lost+found test2 test4
2.3修改用戶 usermod
修改用戶usermod 對應修改的內容 修改那個用戶
[root@localhost home]# usermod -d /home/233 jihu1
修改完畢之后查看組態檔即可!
查看命令: cat /etc/passwd

2.4切換用戶 su
語法 : su username [username是你的用戶名]
root用戶

1.切換用戶的命令為: su username [username是你的用戶名]
2.從普通用戶切換到root用戶,還可以使用: sudo su

3.在終端輸入exit或logout或使用快捷方式ctrl+d,可以退回到原來用戶,其實ctrl+d也是執行的exit命令
4.在切換用戶時,如果想在切換用戶之后使用新用戶的作業環境,可以在su和username之間加-,例如:【su - root】
5.$表示普通用戶,#表示超級用戶,也就是root用戶
修改主機名稱:
[root@jihu ~]# hostname #查看主機名
jihu
[root@jihu ~]# hostname jihu #修改主機名,修改完畢后重新連接即可
3.用戶的密碼設定
我們一般通過root創建用戶的時候! 要配置密碼!
Linux上輸入密碼是不會顯示的,正常輸入就可以了,
如果是超級用戶的話:
passwd username:
new password:
re password:
如果是普通用戶:
passwd
(current) UNIX password:
new password: #密碼不能太過于簡單!
re password:
鎖定賬號!
root,比如張三辭職了! 凍結這個賬號,一旦凍結,這個人就登錄不上系統了,
passwd -l jihu #鎖定之后這個用戶就不能登錄了!
passwd -d jihu #沒有密碼也不能登錄!
4.用戶組管理
屬主 、 屬組
每個用戶都有一個用戶組,系統可以對一個用戶組中的所有用戶進行集中管理,不同Linux 系統對用戶組的規定有所不同,如Linux下的用戶屬于與它同名的用戶組,這個用戶組在創建用戶時同時創建,
用戶組的管理涉及用戶組的添加、洗掉和修改,組的增加、洗掉和修改實際上就是對/etc/group檔案的更新,
4.1 創建一個用戶組 groupadd
[root@jihu home]# groupadd jihu1
[root@jihu home]# cat /etc/group
tcpdump:x:72:
jihu:x:1000:jihu
jihu2:x:1001:
jihu1:x:1002:
創建完用戶組后可以得到一個組的id,這個id是key指定的! '-g 520',如果不指定就是自增1
groupadd -g 520
4.2 洗掉用戶組 groupdel
groupdel jihu1
cat /etc/group
4.3 修改用戶組的權限資訊和名字 groupmod -g -n
groupmod -g 666 -n newjihu1 jihu1

用戶如果要切換用戶組怎么辦?
#登錄當前用戶 jihu
$ newgrp root
5.拓展:檔案的查看(了解)
5.1 /etc/passwd
用戶名:口令(密碼,不可見所以為X):用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell

5.2 /etc/shadow
/etc/shadow中的記錄行與/etc/passwd中的一一對應,它由pwconv命令根據/etc/passwd中的資料自動產生
它的檔案格式與/etc/passwd類似,由若干個欄位組成,欄位之間用":"隔開,這些欄位是:
登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
5.3 /etc/group
-
用戶組的所有資訊都存放在/etc/group檔案中,
-
將用戶分組是Linux 系統中對用戶進行管理及控制訪問權限的一種手段,
-
每個用戶都屬于某個用戶組;一個組中可以有多個用戶,一個用戶也可以屬于不同的組,
-
當一個用戶同時是多個組中的成員時,在/etc/passwd檔案中記錄的是用戶所屬的主組,也就是登錄時所屬的默認組,而其他組稱為附加組,
-
用戶要訪問屬于附加組的檔案時,必須首先使用newgrp命令使自己成為所要訪問的組中的成員,
-
用戶組的所有資訊都存放在/etc/group檔案中,此檔案的格式也類似于/etc/passwd檔案,由冒號(:)隔開若干個欄位,這些欄位有:
組名:口令:組標識號:組內用戶串列
- 組名:是用戶組的名稱,由字母或數字構成,與/etc/passwd中的登錄名一樣,組名不應重復,
- 口令:欄位存放的是用戶組加密后的口令字,一般Linux 系統的用戶組都沒有口令,即這個欄位一般為空,或者是*,
- 組標識號:與用戶標識號類似,也是一個整數,被系統內部用來標識組,
- 組內用戶串列:是屬于這個組的所有用戶的串列/b],不同用戶之間用逗號(,)分隔,這個用戶組可能是用戶的主組,也可能是附加組,
三、磁盤管理
1.概述
-
Linux磁盤管理好壞直接關系到整個系統的性能問題,
-
Linux磁盤管理常用命令為 df、du,
-
df :列出檔案系統的整體磁盤使用量
-
du:檢查磁盤空間使用量
-
df 命令

du 命令

掛載 : mount

卸載 : umount -f [掛載位置] 強制卸載
四、行程管理
Linux中一切皆檔案
(檔案:讀寫執行(查看,創建,洗掉,移動,復制,編輯),權限:(用戶,用戶組),系統:(磁盤,行程))
基本概念
- 在Linux中,每一個程式都是有自己的一個行程,每一個行程都有一個id號!
- 每一個行程呢,都會有一個父行程!
- 行程可以有兩種存在方式:前臺!后臺運行!
- 一般的話服務都是后臺運行的,基本的程式都是前臺運行的!
命令
ps 查看當前系統中正在執行的各種行程的資訊!
ps -xx:
- -a,顯示當前終端運行的所有的行程資訊(當前的行程)
- -u,以用戶的資訊顯示行程
- -x,顯示后臺運行行程的引數
# ps -aux 查看所有的行程
ps -aux | grep mysql
ps -aux | grep redis
# | 在Linux這個叫做管道符 A|B
# grep 查找檔案中符合條件的字串!
ps -ef:可以查看到父行程的資訊
ps -ef | grep mysql #看父行程我們一般可以通過目錄樹結構來查看!
#行程樹
pstree -pu
-p 顯示父id
-u 顯示用戶組

結束行程:kill 殺掉行程
#語法:
kill -9 行程的id
收藏 關注 評論
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/446975.html
標籤:其他
上一篇:WAR中不存在外部JAR
