Linux学习笔记——CentOS
Linux
- 1 介紹
- 2 安裝
- 3 Linux 的目錄結構
- 4 遠程操作工具
- 5 vi 和 vim 編輯器
- 6 用戶管理
- 7 組
- 8 系統命令
- 9 幫助命令
- 10 目錄、文件操作
- 10.1 pwd、ls
- 10.2 cd
- 10.3 mkdir、rmdir
- 10.4 touch
- 10.5 cp
- 10.6 rm
- 10.7 mv
- 10.8 cat
- 10.9 more
- 10.10 less
- 10.11 head
- 10.12 tail
- 10.13 echo
- 10.14 >、>>
- 11 日期與時間
- 12 搜索目錄與文件
- 13 過濾查找
- 14 壓縮
- 14.1 gzip、gunzip
- 14.2 zip、unzip
- 14.3 tar
- 15 文件、目錄與組的關系
- 15.1 修改文件或目錄的所有者
- 15.2 修改文件或目錄的所在組
- 16 權限管理
- 16.1 文件和目錄的權限
- 16.2 查看權限
- 16.3 修改權限
- 16.4 用數字的方式修改權限
- 17 網絡配置
- 18 進程管理
- 19 服務管理
- 20 軟件包管理
- 20.1 RPM 包
- 20.2 YUM 包
- 21 搭建 JavaEE 開發環境
- 21.1 安裝 jdk
- 21.2 安裝 tomcat
- 21.3 安裝 MySQL
VMware虛擬機
Xshell+Xftp
1 介紹
Linux 是一個開源、免費的操作系統,具有很強的穩定性、安全性、以及處理多并發的能力,目前大多數企業級應用甚至是集群項目都部署運行在 Linux 操作系統上,很多軟件公司考慮到開發成本都首選Linux,Linux 在中國軟件公司得到了廣泛的使用。
Linux 的主要發行版本有以下幾種:
Ubuntu(烏班圖)、RedHat(紅帽)、CentOS、Debain(蝶變)、Fedora、SuSE、OpenSUSE、紅旗Linux(國產)。
我們使用 CentOS 進行學習。
2 安裝
3 Linux 的目錄結構
4 遠程操作工具
5 vi 和 vim 編輯器
vi 和 vim 是 Linux 提供的文本編輯器。
| 正常模式 | vim 文件名,進入正常模式。若文件存在,則打開文件;若文件不存在,則新建并打開文件。正常模式下只能進行讀操作。 |
| 編輯模式 | 在正常模式下,按a或i,進入編輯模式,按ESC,退出編輯模式。在編輯模式下可以進行讀寫操作。 |
| 命令模式 | 在正常模式下,輸入:,進入命令模式。命令模式下,輸入q:文件沒有做任何修改時退出;wq:保存并退出;q!:不保存強制退出。 |
| yy | 復制光標所在行 |
| nyy | 復制光標所在行向下 n 行(包括光標所在行) |
| p | 粘貼到光標所在行的下一行 |
| dd | 刪除光標所在行 |
| ndd | 刪除光標所在行向下 n 行(包括光標所在行) |
| u | 撤銷上一次操作 |
| /xxx | 搜索 xxx,在命令模式下使用 |
| set nu | 顯示行號,在命令模式下使用 |
| set nonu | 關閉行號,在命令模式下使用 |
6 用戶管理
root 賬戶,具有 Linux 系統的最高權限,可以進行用戶管理操作。
在 root 賬戶下,使用命令:
該命令執行后,會有三個操作:
(1)創建用戶
(2)創建用戶根目錄 /home/用戶名
(3)創建主組,組名為用戶名,并把該用戶添加到該組中。
也可以在創建用戶時,指定用戶根目錄:useradd -d /home/目錄名 用戶名。
7 組
組是 Linux 中,進行權限管理的基本方式。可以將具有相同權限的用戶放在同一個組中,便于管理。
- groupadd 組名:新建組。
- groupdel 組名:刪除組。
- gpasswd -a 用戶名 組名:將用戶添加到組中。
- gpasswd -d 用戶名 組名:將用戶從組中刪除。
- useradd -g 組名 用戶名:創建用戶時指定用戶所在組(此時不會創建默認組)。
8 系統命令
- shutdown now:立即關機。
- shutdown -h 時間:定時關機。時間可以為數字,單位為分鐘;也可以為具體時間,如17:00。
- shutdown -r now:立即重啟。
- shutdown -c:取消上一條 shutdown 命令。
- reboot:立即重啟。
- sync:把內存的數據同步到磁盤。
9 幫助命令
- man 命令名:查看該命令的系統說明文檔。分屏顯示,Enter:下一行,空格:下一頁,q:退出。
- help 命令名:查看該命令的開發注釋。
10 目錄、文件操作
10.1 pwd、ls
- pwd:查看當前所在目錄的全路徑。
- ls [選項] [目錄名]:查看指定目錄下的所有目錄和文件。
- ls:查看當前目錄。
- ls /home:查看 home 目錄。
- ls -a /home:查看 home 目錄下 (包括隱藏和虛擬的) 所有目錄和文件。
- ls -l /home:以列表形式展示 home 目錄下的所有目錄和文件。
- ls -al /home:以列表形式展示 home 目錄下(包括隱藏和虛擬的)所有目錄和文件。
10.2 cd
10.3 mkdir、rmdir
10.4 touch
- touch 文件名列表(多個文件名用空格隔開):創建一個或多個空文件。如,touch text1.txt text2.txt。創建后,如果需要編寫內容,可以用 vi 或 vim 打開。
vi 或 vim 創建的文件會默認直接打開。如果需要創建之后馬上打開編輯,可以使用 vi 或 vim 創建;如果只需要創建,不需要打開,可以使用 touch 創建。
10.5 cp
- cp [選項] sourceFile dest:將 sourceFile 復制到 dest (復制單個文件)。如,cp text1.txt dir/textcp.txt:將 text.txt 復制到當前目錄下 dir 文件夾下,文件名為 textcp.txt。
- cp -r sourceDir dest:將 sourceDir 以及其中的文件,復制到 dest (復制目錄和目錄中的文件)。如,cp -r dir /home/mcc,將 dir 目錄和其中的文件,復制到 /home/mcc 下。
10.6 rm
- rm 文件名:刪除文件。會提示是否確認刪除。
- rm -f 文件名:強制刪除文件。不提示是否確認刪除。
- rm -r 目錄名:刪除目錄以及目錄中的文件。會提示是否確認刪除。執行流程:先進入到目錄中,刪除目錄中的全部文件,再刪除該目錄。
- rm -rf 目錄名:強制刪除目錄以及目錄中的文件。不提示是否確認刪除。
10.7 mv
| mv file dir | (1)dir 存在,將 file 移動到 dir 下。(2)dir 不存在,將 file 重命名為 dir。 |
| mv dir1 dir2 | (1)dir2 存在,將 dir1,包括其中的子目錄和文件,移動到 dir2 下。(2)dir2 不存在,將 dir1 重命名為 dir2。 |
| mv file1 file2 | 將 file1 重命名為 file2,若 file2 已經存在,則會將 file2 覆蓋。 |
10.8 cat
- cat [選項] 文件名:以只讀形式,查看文件內容。
- cat -n 文件名:顯示行號。
10.9 more
- more 文件名:以只讀、全屏方式,按頁顯示文件內容。
10.10 less
- less 文件名:分屏查看文件內容,功能與 more 指令類似。less 指令在顯示文件內容時,并不是一次將整個文件加載之后才顯示,而是根據顯示加載內容,在顯示大型文件時具有較高的效率。
10.11 head
- head 文件名:默認查看文件的前 10 行內容。
- head -n num 文件名:查看文件的前 num 行內容。如,head -n 5 test.txt:查看 test.txt 的前 5 行內容。
10.12 tail
- tail 文件名:默認查看文件的最后 10 行內容。
- tail -n num 文件名:查看文件的最后 num 行內容。如,tail -n 5 test.txt:查看 test.txt 的最后 5 行內容。
10.13 echo
- echo 輸出內容:在控制臺輸出變量或常量的內容。其中,變量要用$變量名表示。如,echo $PATH:輸出環境變量值;echo Hello, Linux:輸出 Hello, Linux。
10.14 >、>>
- 查看命令 > 文件:寫入。將查看命令查出的結果保存到指定文件中。若文件不存在,則新建文件再保存;若文件存在,則直接保存。若兩次操作指定的文件相同,則后一次查看的結果會覆蓋前一次。如,ls > res.txt:將當前目錄下的所有目錄名和文件名,保存到 res.txt 中。如果再執行,ls test.txt > res.txt:則會覆蓋文件中原有內容,將本次查看結果保存到 res.txt 中。
- 查看命令 >> 文件:追加。與 > 類似,只不過新的查看結果會追加在文件的原有內容之后,不會覆蓋。
11 日期與時間
日期與時間:
- date:查看系統的日期與時間。
- date +%Y:查看年份。
- date +%m:查看月份。
- date +%d:查看日期。
- date '+%Y-%m-%d %H:%M:%S':以 年-月-日 時:分:秒 的格式查看系統日期和時間。
- date -S '年-月-日 時:分:秒':設置系統日期和時間。
日歷:
- cal:查看當前月份的日歷。
- cal 年份:查看某一年的日歷。
12 搜索目錄與文件
find:
- find [搜索范圍] [搜索標準] 關鍵字:按條件搜索。
- 搜索標準:-name:按名稱查找,默認,文件或目錄所在的路徑也在搜索范圍之內。-size:按大小查找。-user:按用戶權限查找。
- 舉例:
- 查找當前目錄下名稱中包含 a 的 txt 文件:find *a*.txt = find -name *a*.txt。其中,*是 Linux 系統中的通配符。
- 查找當前目錄下所有名稱包含 d 的目錄和文件:find *d*。
- 查找 etc 目錄下所有 txt 文件:find /etc *.txt。
- 查找 etc 目錄下文件大小小于 5M 的 txt 文件:find /etc -size -5M -name *.txt。
- 查找 etc 目錄下,所有者是 mcc 的目錄和文件:find /etc -user mcc。
locate:
- locate 關鍵字:在 Linux 系統的目錄樹中查找滿足條件的目錄和文件。
因為新建的目錄和文件不能及時同步到目錄樹中,因此使用該命令之前,需要先同步目錄樹:updatedb,再使用 locate 命令查找。
13 過濾查找
- 查看或搜索命令 |grep [選項] 過濾條件:對查看或搜索的結果進行進一步過濾。
選項:-n,顯示匹配行的行號;-i,匹配時忽略大小寫。 - |:管道符,表示將前一個命令的處理結果,傳遞給后面的命令處理。
- 舉例:
find *.txt |grep a:查找名稱包含 a 的 txt 文件。
cat text.txt |grep -ni abc:查找 text.txt 中的 abc(忽略大小寫),并顯示 abc 所在行號。
14 壓縮
14.1 gzip、gunzip
- gzip 被壓縮文件名:壓縮單個文件,后綴名為.gz,并刪除被壓縮的文件。
- gunzip gz壓縮包名:解壓 gz 壓縮包,解壓完成后刪除壓縮包。
14.2 zip、unzip
- zip 壓縮包名 被壓縮文件或目錄列表:壓縮單個或多個文件和目錄,后綴名為.zip。不會刪除被壓縮的文件和目錄。
- unzip 壓縮包名:將壓縮包解壓到當前目錄下。原壓縮包不會被刪除。
- unzip 壓縮包名 -d 解壓目錄:將壓縮包解壓到指定目錄下。
14.3 tar
- tar -zcvf 壓縮包名 被壓縮文件或目錄列表:壓縮一個或多個文件和目錄,后綴名為.tar.gz。不會刪除被壓縮的文件和目錄。
- tar -zxvf 壓縮包名:將壓縮包解壓到當前目錄下。原壓縮包不會被刪除。
- tar -zxvf 壓縮包名 -C 解壓目錄:將壓縮包解壓到指定目錄下。
- 選項說明:
-c:壓縮
-x:解壓
-z:打包同時壓縮
-f:指定壓縮后的文件名
-v:顯示詳細信息
-C:指定解壓到哪個目錄
15 文件、目錄與組的關系
在 Linux 系統中,每個用戶都有一個主組,主組時是創建用戶時必須要指定的,并且不能修改。每個用戶可以有多個額外組,這些額外組表示用戶的其他權限。
對于文件和目錄來說,每個文件和目錄都有自己的所有者和組,只有所有者和相同組的用戶,才有操作權限。
使用命令ls -l查看文件和目錄的所有者、所在組。
15.1 修改文件或目錄的所有者
- chown 新的所有者 文件或目錄名:不會修改目錄內的文件和目錄的所有者。
- chown -R 新的所有者 文件或目錄名:修改文件或目錄的所有者,包括目錄內的文件和目錄。
- chown [-R] 新的所有者:新的所在組 文件或目錄名:同時修改所有者和所在組。
15.2 修改文件或目錄的所在組
- chgrp 新的所在組 文件或目錄名:不會修改目錄內的文件和目錄的所在組。
- chown -R 新的所在組 文件或目錄名:修改文件或目錄的所在組,包括目錄內的文件和目錄。
16 權限管理
16.1 文件和目錄的權限
對于用戶來說,一個用戶只有一個主組,但可以有多個副組。
對于文件和目錄來說,一個文件或目錄只能有一個所有者,一個所在組。
文件和目錄的權限:
| 文件 | (1)讀 read:查看文件,如 cat、more、less、head、tail 等。(2)寫 write:編輯文件,如 vi、vim 等。(3)執行 execute:運行可執行文件(.sh 文件)。 |
| 目錄 | (1)讀 read:查看目錄內容,如 ls 等。(2)寫 write:在目錄內創建、刪除、重命名子目錄或文件等。如 mkdir。(3)執行 execute:進入該目錄,如 cd 等。 |
16.2 查看權限
使用ls -l查看文件和目錄的權限:
- r:讀權限。
- w:寫權限。
- x:執行權限。
16.3 修改權限
如果要修改一個文件或目錄的權限,那么該用戶必須具有對這個文件或目錄的w權限。
如果要刪除一個文件或目錄,那么該用戶必須具有對這個文件或目錄的上層目錄的w權限。
修改權限:
- chmod:修改文件或目錄權限。
- u、g、o、a:分別對應所有者、同組用戶、其他組用戶、所有用戶。
- +、-、=:分別對應添加、刪除、設置某個權限。
- r、w、x:分別對應讀、寫、執行權限。
- 舉例:
(1)刪除 test.txt 同組用戶的編輯權限:chmod g-w test.txt;
(2)刪除 test.txt 同組用戶的讀取和編輯權限:chmod g-rw test.txt;
(3)為 test.txt 的同組用戶添加執行權限,并刪除其他用戶的讀取權限:chmod g+x,o-r test.txt。
16.4 用數字的方式修改權限
rwx 權限可以用數字的和來表示:r-4, w-2, x-1
若權限為讀和寫,則可以使用 6,來代替 rw。
注意,如果使用數字設置權限,則必須將 u、g、o 的權限同時設置,也就是說必須三組數字一起使用。
舉例:
將 test.txt 所有者權限設置為 rwx,同組用戶為 rw,其他用戶沒有任何權限:chmod 760 test.txt。
17 網絡配置
獲取 ip 地址,網關,DNS。如果是自己的電腦,按照下面的方法查看,如果是公司服務器,則公司會提供,只需設置進去就可以。
網絡的配置文件在 /etc/sysconfig/network-scripts 目錄下:cd /etc/sysconfig/network-scripts
使用 vi 或 vim 編輯器打開配置文件,進行配置。
配置完成后,要重啟 Linux 系統,才會生效:reboot。
配置完成后,可以使用:ifconfig,查看 ip 地址。
18 進程管理
查看進程:
查看 Linux 系統正在運行的進程:ps -ef。
可以通過過濾功能,查看指定進程是否運行:ps -ef | grep xxx。
關閉進程:
使用命令:ps -ef,查看進程的 PID
使用命令:kill -9 PID,關閉 PID 進程。
19 服務管理
systemctl [start|stop|restart|reload|status|enable] 服務名稱
start:開啟服務。
stop:停止服務。
restart:重啟服務。
reload:重新加載數據、配置文件等。
status:查看服務狀態。
enable:將服務設置為開機啟動。
防火墻服務:firewalld
20 軟件包管理
20.1 RPM 包
- 查看當前系統中已經安裝的 RPM 包:rpm -qa,查看是否安裝 xxx 包:rpm -qa | grep xxx。
- 安裝 RPM 包:rpm -ivh xxx.rpm。
- 卸載 RPM 軟件:rpm -e 軟件名稱。
20.2 YUM 包
YUM 包基于 RPM 包,類似于 Maven,不需要處理軟件包之間的依賴關系,通過執行 YUM 命令,系統會自動去 YUM 服務器上下載所有依賴。不需要預先將軟件包下載到本地。
- 查看當前系統中已經安裝的 RPM 包:yum list installed,查看是否安裝 xxx 包:yum list installed | grep xxx。
- 安裝 RPM 包:yum install 軟件名稱。
- 卸載 RPM 軟件:yum remove 軟件全名。
21 搭建 JavaEE 開發環境
21.1 安裝 jdk
21.2 安裝 tomcat
21.3 安裝 MySQL
(1)登入 mysql 后,使用命令:grant all privileges on *.* to 用戶名@'%' identified by '密碼';,授權遠程訪問。其中*.* 的第一個*表示所有數據庫,第二個*表示所有的數據表,% 表示 ip 地址,也可以指定具體的 ip 地址,如 root@localhost、root@192.168.235.130 等。
(2)更新權限信息,使用命令:flush privileges;,刷新權限。
(3)關閉防火墻:systemctl stop firewalld。可以使用:systemctl status firewalld,查看防火墻是否關閉成功(Active inactive(dead))。
(4)遠程連接 mysql。在其他計算機的數據庫軟件上,如 Windows 上的 SQLyog,輸入 Linux 系統的 ip 地址,端口號:3306,授權了遠程訪問的用戶名和密碼,即可遠程連接 Linux 上的 mysql。
總結
以上是生活随笔為你收集整理的Linux学习笔记——CentOS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python format函数保留两位小
- 下一篇: Linux 学习笔记