學習記錄
目錄
- 學習記錄
- 1.`vmtools`的安裝
- 2.設定共享檔案夾
- 3.目錄結構
- 4.Linux下查看IP地址
- 5.命令列下`vim`的使用
- 1).vim的三種模式
- 2) vim常用快捷鍵
- 3).vim的快捷鍵一覽
- 6. 關機 & 重啟 命令
- 7. 登錄 & 注銷命令
- 8.用戶管理指令
- 1) `useradd` 添加用戶
- 2)`passwd` 更改用戶密碼
- 3)`userdel` 洗掉用戶
- 4) `id` 查詢用戶資訊
- 5)`su - 用戶名`切換用戶
- 6)`who am i`查看當前用戶
- 9. 用戶組指令
- 1) `groupadd` 新增組 / 洗掉組
- 2) `useradd -g` 新增用戶并指定組
- 3) `usermod` 修改用戶的組
- 4) `id` 查看用戶所在的組
- 5) 用戶組相關檔案
- /etc/passwd
- 10. 運行級別指令
- 1) `init` 切換運行級別
- 2) `systemctl` 查看/設定默認運行級別
- 11. 找回root密碼
- 12. 幫助指令
- 1) man
- 2) help
- 13. 檔案目錄類指令
- 1) pwd
- 2) ls
- 3) cd
- 4) mkdir
- 5) rmdir
- 6) rm 洗掉檔案/目錄
- 7) touch
- 8) cp
- 9) mv
- 10) cat
- 11) more
- 12) less
- 13) echo
- 14) head & tail
- 15) > & >>
- 16) ln 創建軟鏈接
- 17) history
- 18) !
- 19) 可執行檔案
- 20) source 使剛修改的檔案生效
- 14. 時間日期類指令
- 1) date
- 2) cal
- 15. 搜索查找類指令
- 1) find
- 2) locate
- 3) which
- 4) grep
- 16. 壓縮解壓類指令
- 1) gzip / gunzip
- 2) zip / unzip
- 3) tar
- 17. 檔案所有者/所在組
- 1) 查看檔案(目錄)所有者/所在組
- 2) chown 修改檔案(目錄)所有者
- 3) chgrp 修改檔案(目錄)所在組
- 18. 用戶對檔案的權限
- 1) rwx權限
- 2) chmod 修改權限
- 19. 通過 `crond ` 進行定時任務調度
- 1) `crontab`詳細用法
- 2) 通過 `crontab` 定時執行命令
- 3) 通過`crontab `定時執行`shell`
- 4) 重啟定時任務
- 20. 通過 at 進行定時任務調度
- **用法:**
- 案例:
- 21. 磁盤相關
- 1) 磁盤磁區
- 2) lsblk 查看設備掛掛載情況
- 3) 操作: 新增一塊硬碟并掛載
- ① 虛擬機添加一塊硬碟
- ② 磁區 `fdisk`
- ③ 格式化磁區 `mkfs`
- ④ 臨時掛載 `mount`
- ⑤ 永久掛載
- ⑥ 卸載 `umount`
- 4) `df` 顯示磁盤使用情況
- 5) `du`顯示指定目錄(檔案)所占空間
- 22. 網路相關
- 1). 查看IP地址
- 2). `NAT`模式示意圖
- 3).` ping` 測驗主機間網路連通性
- 4). `自動分配`IP
- 5) `手動指定`IP (我沒修改成功)
- 編輯`/etc/sysconfig/network-scripts/ifcfg-ens33`
- 6). 重啟網路服務
- 7). 設定主機名
- 8). 設定hosts映射
- 9) 域名決議程序
- 10) `netstat` 監控網路狀態
- 23. 行程管理相關
- 1) 關于行程
- 2) `ps`查看當前的行程
- 3) 查看XXX的父行程
- 4) `kill` | `killall` 終止行程
- 5) `pstree` 查看行程樹
- 6) `top` 動態監控行程
- 7) `&` 后臺運行行程
- 24. 服務管理相關
- 1) `service`服務管理命令
- 2) `setup`查看所有的服務
- 3) checkconfig 設定各運行級別下服務的狀態
- 4) `systemctl`服務管理命令
- 5) `firewall` 打開關閉指定埠
- 25.`rpm` 軟體管理
- 1) 什么是`rpm`
- 2) `rpm`包的格式
- 3) 查詢是否有相關軟體的`rpm`包
- 4) `rpm`的其他查詢指令
- 5) 通過`rpm`包卸載相應軟體
- 6) 通過`rpm`包安裝相應軟體
- 26. `yum` 軟體管理
- 1) 什么是 `yum`
- 2) 查詢`yum`中是否有相應的軟體
- 3) 通過`yum`安裝相應軟體
- 27.搭建JavaEE環境
- 1) 安裝JDK
- 2) 安裝配置`Tomcat`
- 3) 安裝配置IDEA
- 4) 安裝配置mysql 5.7
- 28.`Shell`編程入門
- 1) 什么是`Shell`
- 2) 通過`Shell`輸出`hello world`
- 3) `Shell`變數入門
- 4) `Shell`注釋
- 5) `Shell`位置引數變數
- 6) `Shell`預定義變數
- 7) `Shell`運算操作
- 8) `if` 條件判斷
- 9) `case...esac` 條件判斷
- 10) `for`回圈
- 語法1
- 11) `while`回圈
- 12) `read`讀取控制臺輸入
- 13) 系統函式
- 14) 自定義函式
1.vmtools的安裝

2.設定共享檔案夾

3.目錄結構
熟知的目錄結構, 方便在命令列環境下作業

4.Linux下查看IP地址
終端中輸入 ifconfig -a

5.命令列下vim的使用
1).vim的三種模式
從鍵盤上按下esc,而不是輸入

2) vim常用快捷鍵
?
| 復制從游標起5行 | 5yy |
|---|---|
| 粘貼 | p(paste) |
| 查找word | /word,回車查找,n查找下一個 |
| 撤銷 | u |
| 定位到第一行/最后一行 | gg/G |
| (不)顯示行號 | :set (no)nu |
| 游標定位到20行 | 輸入20, shift+g |
| 保存并退出 | :wq |
| 強制退出 | :q! |
3).vim的快捷鍵一覽

6. 關機 & 重啟 命令

-h 指 halt 關機
7. 登錄 & 注銷命令

運行級別3指的是命令列視窗
使用
su - 用戶名更換用戶, 輸入密碼只是不顯示, 而不是卡死
用戶名設定成
小寫, 否則無法用Xshell遠程登錄
8.用戶管理指令
1) useradd 添加用戶

[root@yes ~]# useradd milan // 添加用戶milan
[root@yes ~]# cd /home // cd 路徑 進入某路徑
[root@yes home]# ls // 即list 列出當前目錄
hkbelong2chn milan tom
[root@yes home]# useradd -d /home/test jack // 添加用戶jack, 指定家目錄: /home/test
[root@yes home]# ls
hkbelong2chn milan test tom
2)passwd 更改用戶密碼

[root@yes home]# passwd // 不指定用戶名默認修改當前登錄的用戶的密碼
更改用戶 root 的密碼 ,
[root@yes home]# passwd jack
更改用戶 jack 的密碼 ,
新的 密碼: // 密碼輸入是不可見的
無效的密碼: 密碼少于 8 個字符 // 只是不建議設定簡單密碼, 但仍可以成功
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新,
3)userdel 洗掉用戶

[root@yes home]# ls
hkbelong2chn milan test tom
[root@yes home]# userdel milan
[root@yes home]# ls
hkbelong2chn milan test tom
[root@yes home]# userdel -r milan
userdel:用戶“milan”不存在 // 說明 成功洗掉 "milan" 但其家目錄依然存在
[root@yes home]# userdel -r tom // 洗掉 "tom", 及其家目錄
[root@yes home]# ls
hkbelong2chn milan test
一般來說, 洗掉用戶時, 推薦保留其家目錄
4) id 查詢用戶資訊

[root@yes home]# id root
uid=0(root) gid=0(root) 組=0(root)
5)su - 用戶名切換用戶

[root@yes home]# su - jack // 切換至低權限用戶
上一次登錄:日 2月 21 13:06:01 CST 2021pts/4 上
[jack@yes ~]$ su - root // 切換至高權限用戶, 需要輸入密碼
密碼:
上一次登錄:日 2月 21 13:15:34 CST 2021:1 上
[root@yes ~]# logout // 登出后, 回傳jack, 而不是退出, 因為root是從jack切換過來的
[jack@yes ~]$ logout // 登出后, 回傳root, 因為jack是從root切換過來的
[root@yes home]#
6)who am i查看當前用戶

[root@yes ~]# who am i
root pts/4 2021-02-21 12:22 (192.168.31.20)
9. 用戶組指令
同一組中的用戶有相同的權限

1) groupadd 新增組 / 洗掉組

[root@yes ~]# groupadd lakers
[root@yes ~]# groupdel lakers
[root@yes ~]# groupdel lakers
groupdel:“lakers”組不存在
2) useradd -g 新增用戶并指定組

[root@yes ~]# useradd -g lakers james
[root@yes ~]# id james
uid=1006(james) gid=1006(lakers) 組=1006(lakers)
3) usermod 修改用戶的組

[root@yes ~]# groupadd cavs
[root@yes ~]# usermod -g cavs james
[root@yes ~]# id james
uid=1006(james) gid=1007(cavs) 組=1007(cavs)
4) id 查看用戶所在的組
id 用戶名

5) 用戶組相關檔案

-
/etc/passwd

root:x:0:0:root:/root:/bin/bash jack:x:1003:1003::/home/test:/bin/bash davis:x:1005:1005::/home/davis:/bin/bash james:x:1006:1007::/home/james:/bin/bash -
/etc/shadow

jack:$6$W.eAmTCD$yjjFF.xVTBVhkPiMlEdwXfk4DOAy0.EOyzDuDXr169bPY80cFhn/iJwEs10n61I6VDBVjpHN6puyJlmz0VCkc1:18679:0:99999:7::: davis:!!:18679:0:99999:7::: james:!!:18679:0:99999:7::: -
/etc/group

lakers:x:1006:
10. 運行級別指令


1) init 切換運行級別
init [0123456]
2) systemctl 查看/設定默認運行級別
Centos7簡化了運行級別, 以下是 /etc/inittab 原文
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default // 查看默認targets
#
# To set a default target, run:
# systemctl set-default TARGET.target // 設定默認targets
演示:
[root@yes ~]# systemctl get-default
graphical.target
[root@yes ~]# systemctl set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
[root@yes ~]# systemctl get-default
multi-user.target
11. 找回root密碼
-
啟動系統,進入開機界面,在界面中按“e”進入編輯界面

-
找到以“
linux16”開頭內容所在的行數,在行的最后面輸入:init=/bin/sh, 輸入完成后,直接按快捷鍵:Ctrl+x進入單用戶模式

-
輸入:
mount -o remount,rw /(注意:各個單詞間有空格),完成后按鍵盤的回車鍵
-
在新的一行輸入:
passwd, 完成后按鍵盤的回車鍵,輸入密碼,然后再次確認密碼即可 密碼修改成功后,會顯示passwd…的樣式,說明密碼修改成功[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-SGptmjo5-1631107810268)(D:%5CTypora%20Img%5Cimage-20210308173316897.png)]
-
接著,在滑鼠閃爍的位置中(最后一行中)輸入:
touch /.autorelabel,完成后按鍵盤的回車鍵. 繼續在游標閃爍的位置中輸入:exec /sbin/init,完成后按鍵盤的回車鍵 ,等待系統自動修改密碼,完成后系統會自動重啟, 新的密碼便生效(程序可能有點長,耐心等待,不是死機)
12. 幫助指令
1) man
[root@yes ~]# man ls

瀏覽時按空格滾動, 按q退出
[root@yes ~]# man /etc/passwd // 還可以瀏覽組態檔

2) help
[root@yes ~]# help cd

注意, help只能查看shell內置命令的幫助資訊

13. 檔案目錄類指令
1) pwd

2) ls

選項可以組合使用(順序無所謂), 如
ls -al
3) cd

4) mkdir

-
創建一級目錄
[root@yes /]# mkdir /home/harden [root@yes /]# ls home davis harden hkbelong2chn james milan test -
創建多級目錄
[root@yes /]# mkdir /home/nba/jokic mkdir: 無法創建目錄"/home/nba/jokic": 沒有那個檔案或目錄 // 因為 /home下沒有nba這個檔案 [root@yes /]# mkdir -p /home/nba/jokic [root@yes /]# ls home/nba jokic
注意路徑. 若在
/home下輸入mkdir /harden,實際上會在/下創建目錄/harden,而不是在/home下
5) rmdir

[root@yes /]# rmdir /home/cba
[root@yes /]# ls home
davis harden hkbelong2chn james milan test
6) rm 洗掉檔案/目錄

rm -rf用于洗掉非空目錄.rm指remove,r指recurrence(遞回)f指force(強制), 洗掉時要謹慎
[root@yes home]# rmdir nba
rmdir: 洗掉 "nba" 失敗: 目錄非空
[root@yes home]# ls
davis harden hkbelong2chn james milan nba test
[root@yes home]# ls nba
jokic
[root@yes home]# rm -rf nba
[root@yes home]# ls
davis harden hkbelong2chn james milan test
7) touch

[root@yes home]# ls
davis harden hkbelong2chn james milan test
[root@yes home]# touch hello.txt // 在當前目錄下創建
[root@yes home]# ls
davis harden hello.txt hkbelong2chn james milan test
[root@yes /]# touch /home/world.txt // 可以指定路徑
[root@yes /]# ls home
davis harden hello.txt hkbelong2chn james milan test world.txt
8) cp

[root@yes home]# cp hello.txt james
[root@yes home]# ls james
hello.txt
[root@yes home]# cp james milan
cp: 略過目錄"james" // cp 不加選項只能復制單一檔案或者空檔案夾
[root@yes home]# ls milan
[root@yes home]# cp -r james milan
[root@yes home]# ls milan
james
9) mv

[root@yes home]# mv hello.txt world.txt // 重命名
/* 移動檔案 */
[root@yes home]# mv world.txt test
[root@yes home]# ls test
world.txt
/* 移動并重命名 */
[root@yes home]# mv test/world.txt /home/hello.txt
[root@yes home]# ls
davis harden hello.txt hkbelong2chn james test
10) cat

cat指令只能查看檔案, 不能修改. 更安全
/* 瀏覽檔案 */
[root@yes home]# cat -n /etc/profile
1 # /etc/profile
2 ...
11) more

[root@yes home]# cat -n /etc/profile | more
|是管道命令, 類似于JAVA中的stream, 就是將上一次操作的結果,接著讓下一個命令處理
12) less

less瀏覽檔案是動態加載內容(看多少.加載多少),瀏覽大型檔案效率高
13) echo

/* 輸出主機名和環境變數 */
[root@yes opt]# echo $HOSTNAME
yes
[root@yes opt]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
/* 輸出任意內容 */
[root@yes opt]# echo hello,world!
hello,world!
14) head & tail


tail -f 檔案名可以實時監控檔案的變化并顯示, 退出監控鍵入Ctrl+D
15) > & >>

/* 將/home的內容按行寫入info.txt(info.txt不存在則自動創建) */
[root@yes home]# ls -l /home > info.txt
/* 將日歷內容追加至mycal.txt */
[root@yes home]# cal >> mycal.txt
cal(calendar)會顯示當前日歷
16) ln 創建軟鏈接

/*在/home下創建/root的軟鏈接myroot*/
[root@yes home]# ln -s /root myroot
符號鏈接類似于windows下的快捷方式
17) history

18) !
用法: ! 歷史編號x: 執行歷史編號為x的指令
!! // 執行上一條指令
!m // 執行最近一個以指定字串開頭的命令
通過鍵盤上下鍵可以快速找到最近使用過的命令
19) 可執行檔案
可執行檔案是綠色的:
如何執行 ?
/*輸入可執行檔案的路徑, 即可執行*/
[root@yes home]# /home/test.sh
20) source 使剛修改的檔案生效
source filename
14. 時間日期類指令
1) date

[root@yes myroot]# date +%Y-%m-%d // -是分隔符, 可以任意設定
2021-02-23
同步網路時間參考: https://www.cnblogs.com/suiyueshentou/p/7798340.html
設定完時間后, 最好
hwclock -w保存一下設定
2) cal

15. 搜索查找類指令
1) find

2) locate

使用
locate檢索之前, 先使用updatedb更新資料庫, 再進行檢索
/* 定位檔案 */
[root@yes ~]# updatedb
[root@yes ~]# locate hello.txt
/home/hello.txt
3) which
用于查看指令所在目錄
/* 查找指令所在目錄 */
[root@yes ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
4) grep

/* 查找檔案中的內容 查看有沒有 */
[root@yes home]# grep -ni hello /home/hello.txt
2:hello,
16. 壓縮解壓類指令
1) gzip / gunzip

只能解壓縮檔案, 不能解壓縮目錄(檔案夾)
/* 解壓縮檔案 */
[root@yes home]# ls
hello.txt
[root@yes home]# gzip hello.txt
[root@yes home]# ls
hello.txt.gz
[root@yes home]# gunzip hello.txt.gz
[root@yes home]# ls
hello.txt
2) zip / unzip
既可以壓縮檔案, 又可以壓縮檔案夾
zip用法:
zip [選項] xxx.zip(壓縮后的檔案名) 檔案所在位置
如: zip -r hello.zip hello.txt
-r: 遞回處理,將指定目錄下的所有檔案和子目錄一并處理;
這是不加 -r的效果:

這是加 -r的效果:

-
unzip用法unzip [選項] 要解壓的檔案 如: unzip -d /opt/tmp /opt/myhome.zip -d: 可以指定解壓的位置
3) tar
可以打包/解壓縮檔案/目錄, 通過選項決定打包/解壓/壓縮
打包和解壓的區別點這

關于后綴名
tar.gz與tar的區別
tar -zxvf xxx.tar.gz
tar -xvf xxx.tar
17. 檔案所有者/所在組
中每個用戶都屬于一個組
每個檔案都有一個
所有者(創建該檔案的用戶), 一個所在組(該檔案的所有者所在的組), 一個其他組(該檔案所有者不在的組)
1) 查看檔案(目錄)所有者/所在組
ls -ahl
/* -a 顯示隱藏的檔案 -h 檔案大小便于查看(G,M,K) -l 以串列形式顯示詳細資訊

2) chown 修改檔案(目錄)所有者

// chown 即 change the ownership
[root@yes home]# chown -R root:root fox
3) chgrp 修改檔案(目錄)所在組

chgrp [選項,如-R(遞回)] 新組 檔案
[root@yes home]# chgrp [-R] root fox
18. 用戶對檔案的權限
依次是
所有者 所在組 其他組的權限


1) rwx權限

如果想要對目錄內的檔案進行操作, 除了對該檔案有相應權限外, 首先需要對該目錄有相應權限
2) chmod 修改權限

[root@yes fox]# chmod u=rwx,g=rx,o=rx fox.txt
相當于
[root@yes fox]# chmod 755 fox.txt

19. 通過 crond 進行定時任務調度
1) crontab詳細用法



- 案例:

2) 通過 crontab 定時執行命令
/* 通過crontab設定定時任務 */
[root@yes home]# crontab -e // 通過vim編輯,:wq保存退出
crontab: installing new crontab
[root@yes home]# crontab -l
*/1 * * * * ls -l /etc > /tmp/to.txt
3) 通過crontab定時執行shell

/*1. 撰寫shell腳本 test.sh */
date >> /home/mycal
cal >> /home/mycal
/*2. 給用戶添加test.sh的執行權限*/
[root@yes home]# chmod u+x test.sh
/*3. 通過crontab定時執行shell腳本*/
[root@yes home]# crontab -e
*/1 * * * * /home/my.sh/
4) 重啟定時任務
sevice crond restart
20. 通過 at 進行定時任務調度

/* 檢測atd行程是否正在運行 */
[root@yes ~]# ps -ef | grep atd // ps -ef 是列出所有行程
root 7706 1 0 05:02 ? 00:00:00 /usr/sbin/atd -f
root 21652 21127 0 10:26 pts/0 00:00:00 grep --color=auto atd
at與crontab不同, 定時任務加入佇列后,只會執行一次(出隊)
用法:
at [選項] [時間]


案例:
/* 定時任務加入佇列 */
[root@yes ~]# at 5pm + 2days
at> ls /home // Ctrl+D結束輸入
job 1 at Sat Feb 27 17:00:00 2021
/* 顯示系統中待執行的任務串列 */
[root@yes ~]# atq
1 Sat Feb 27 17:00:00 2021 a root
/* 洗掉佇列中的任務 atrm 任務編號 */
[root@yes ~]# atq
3 Fri Feb 26 17:00:00 2021 a root
2 Fri Feb 26 17:00:00 2021 a root
1 Sat Feb 27 17:00:00 2021 a root
[root@yes ~]# atrm 1
[root@yes ~]# atq
3 Fri Feb 26 17:00:00 2021 a root
2 Fri Feb 26 17:00:00 2021 a root
21. 磁盤相關
1) 磁盤磁區


2) lsblk 查看設備掛掛載情況
lsblk // list block

lsblk -f // 顯示檔案系統資訊,

3) 操作: 新增一塊硬碟并掛載
① 虛擬機添加一塊硬碟



目錄為
/dev/sdb
② 磁區 fdisk
fdisk 磁盤目錄


③ 格式化磁區 mkfs

mkfs -t ext4 /dev/sdb1
mkfs命令點這

④ 臨時掛載 mount
mount 磁區目錄 掛載點
/* 將/dev/sdb1掛載至/root/newdisk下 */
[root@yes ~]# mount /dev/sdb1 /root/newdisk/

使用
mount是臨時掛載, 重啟后會自動卸載
⑤ 永久掛載
修改/etc/fstb

執行mount -a即可
-a:將/etc/fstab中定義的所有檔案系統掛上,
⑥ 卸載 umount
umount 磁區目錄(或掛載點)
[root@yes ~]# umount /dev/sdb1
或
[root@yes ~]# umount /root/newdisk
4) df 顯示磁盤使用情況
[root@yes ~]# df -h

5) du顯示指定目錄(檔案)所占空間


22. 網路相關
1). 查看IP地址
-
[root@yes ~]# ifconfig
-
WIN10
C:\Users\12859>ipconfig
2). NAT模式示意圖

3).ping 測驗主機間網路連通性

4). 自動分配IP

該模式下如果
IP沖突, 會自動分配一個新IP, 但這也意味著,每次登陸后的IP地址不同, 不適合作為服務器使用
5) 手動指定IP (我沒修改成功)
-
編輯
/etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO = dhcp指 動態IPBOOTPROTO = static指 靜態IP -
修改上述檔案

-
編輯虛擬機網路配置, 應用后即成功
6). 重啟網路服務
service network restart
7). 設定主機名

8). 設定hosts映射


-
Windows下
修改
hosts檔案添加映射(主機最好是靜態IP)
-
Linux下
在
/etc/hosts下添加映射
-
?
windows下查看主機名:
9) 域名決議程序
檢查順序: 瀏覽器快取->本地hosts檔案->DNS服務器->域名不存在

10) netstat 監控網路狀態


23. 行程管理相關
1) 關于行程

2) ps查看當前的行程

? 如ps -aux`:


3) 查看XXX的父行程
ps -ef | grep XXX



4) kill | killall 終止行程

kill [-9: 強制終止] 11117
killall sshd // 會將sshd的子行程一并殺掉
通過
/bin/systemctl start sshd.service可以重啟sshd(遠程登錄)行程
5) pstree 查看行程樹

6) top 動態監控行程
類似于windows下的任務管理器

注意要區分大小寫

-
監控特定用戶

-
終止指定行程

輸入PID后, 要輸入
9表示強制終止行程[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ddqsrwDj-1631107810342)(C:%5CUsers%5C12859%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210303174712281.png)]
-
指定動態監控間隔時間

7) & 后臺運行行程
# 用法 使該命令以后臺方式運行
運行命令 &

24. 服務管理相關

1) service服務管理命令

? 以下服務可用service管理
service network restart

2) setup查看所有的服務
[root@Yes! ~]# setup
[*] 表示自動啟動的服務

3) checkconfig 設定各運行級別下服務的狀態

-
查看各運行級別下的狀態
[root@Yes! ~]# chkconfig --list
-
設定某運行級別下某服務的狀態
chkconfig --level [0-6] 服務 on/off
4) systemctl服務管理命令
-
查看
systemctl管理的指令
這種方式只是臨時生效, 想要永久生效需要設定自啟動狀態
-
設定服務狀態

-
查看/設定服務的自啟動狀態

5) firewall 打開關閉指定埠
打開指定埠主要適用于開啟防火墻的情況下, 打開指定埠, 使外部與之通信

[root@Yes! ~]# firewall-cmd --permanent --query-port=23/tcp
no
-
? 查看埠的協議型別
[root@Yes! ~]# netstat -anp | more
25.rpm 軟體管理
1) 什么是rpm

2) rpm包的格式

3) 查詢是否有相關軟體的rpm包
rpm -qa | grep 軟體
4) rpm的其他查詢指令

5) 通過rpm包卸載相應軟體

只會卸載軟體, 相應的
rpm包并不會被洗掉
6) 通過rpm包安裝相應軟體


該方法安裝軟體, 首先要保證系統中有相應軟體的rpm包
CentOs7中有許多自帶的安裝包,在下圖位置, 但是這個目錄是無法訪問的, 可以從中選擇需要的軟體復制到其他位置(一般是
/opt)下進行安裝, 安裝位置系統自動選擇, 一般在/usr
26. yum 軟體管理
1) 什么是 yum

可以自動處理軟體的依賴關系, 需要網路
2) 查詢yum中是否有相應的軟體

3) 通過yum安裝相應軟體

27.搭建JavaEE環境
1) 安裝JDK
-
下載解壓jdk8, 并將解壓后的jdk8目錄移動到
/usr/local/java下
-
配置環境變數, 修改
/etc/profile在檔案中添加
export JAVA_HOME= jdk所在目錄[/usr/local/java] // 設定jdk目錄的映射 export PATH=$JAVA_HOME/bin:$PATH // 添加環境變數, java和javac在JAVA_HOME/bin下 // :$PATH是在原有PATH上添加環境變數洗掉XXX的環境變數
unset XXX_PATH -
重繪環境變數
source /etc/profile環境變數添加成功!

查看系統中的環境變數
echo $PATH -
hello,world測驗一下

javac xx.java編譯生成class檔案
java xx運行java程式
2) 安裝配置Tomcat

? 成功 
3) 安裝配置IDEA
-
下載相應軟體并解壓至
/opt/idea -
運行
idea/bin下的idea.sh進行安裝后,即可使用
不要在虛擬機上運行
idea.sh -
啟動
idea, 即運行idea/bin下的idea.sh
4) 安裝配置mysql 5.7


28.Shell編程入門
1) 什么是Shell

2) 通過Shell輸出hello world

3) Shell變數入門
-
Shell變數的分類
-
定義變數的規則


-
將指令回傳的結果賦值給變數

#將命令作為回傳值賦給變數 C=`date` echo C=$C D=$(date) echo D=$D #結果: C=2021年 03月 06日 星期六 14:30:30 CST D=2021年 03月 06日 星期六 14:30:30 CST -
設定環境變數
修改
/etc/profile,在該檔案中添加所需環境變數
如:

所謂環境變數, 就是可以在
Linux的任何位置使用,包括可以在shell腳本中使用
4) Shell注釋
-
單行注釋
#內容
-
多行注釋
:<<! 內容 !或:' 內容 '

5) Shell位置引數變數
-
基本用法

注意
$*與$@的區別 -
演示:


6) Shell預定義變數
-
基本用法

-
演示:


7) Shell運算操作
-
$((運算式))或$[運算式]
-
expr命令expr即expression, 運算式使用此命令, 運算式各個數之間要有
空格,且進行乘法運算時要使用轉義字符\*
8) if 條件判斷
-
語法
if [ condition1 ] # 注意空格 then command1 command2 elif [ condition2 ] then command2 else commandN fi # 條件判斷結尾不要忘記添加 fi更多shell流程控制語法點這
-
常用判斷條件
[ ] // 要有空格 為假 [ 任意內容 ] // 為真
-
演示:

?

?

9) case...esac 條件判斷
-
語法
case 值 in 模式1) command1 ;; # 類似于break, 不可少 模式2) command1 command2 ;; *) # 沒有匹配的, 類似于default command1 esac -
演示

10) for回圈
-
語法1
for var in item1 item2 ... itemN # 回圈N次 do command1 command2 ... commandN done -
演示1

-
語法2
更符合使用
for回圈的習慣for((assignment;condition:next)) do command_1 command_2 done -
演示2

11) while回圈
-
語法
while [condition] do command1 .... done -
演示

12) read讀取控制臺輸入
-
語法

-
演示

13) 系統函式
簡單介紹兩個內置的系統函式
-
basename獲取檔案名稱# 從檔案路徑過去檔案名稱(如a.txt) # 如果指定了后綴會在原有基礎上洗掉后綴 basename 檔案路徑 [后綴]
-
dirname獲取檔案絕對路徑中除檔案名的部分dirname 檔案絕對路徑
14) 自定義函式
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299058.html
標籤:其他
上一篇:Java獲取真實Ip地址



