主頁 >  其他 > Linux學習記錄

Linux學習記錄

2021-09-10 13:04:58 其他

學習記錄

目錄

  • 學習記錄
        • 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的安裝

image-20210304090359836

2.設定共享檔案夾

image-20210304091839629

3.目錄結構

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

image-20210304090236306

4.Linux下查看IP地址

終端中輸入 ifconfig -a

image-20210304095215728

5.命令列下vim的使用

1).vim的三種模式

從鍵盤上按下esc,而不是輸入

image-20210304091902907

2) vim常用快捷鍵

?

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

image-20210304091915147

6. 關機 & 重啟 命令

image-20210304091942550

-h 指 halt 關機

7. 登錄 & 注銷命令

image-20210304091934815

運行級別3指的是命令列視窗

使用su - 用戶名更換用戶, 輸入密碼只是不顯示, 而不是卡死

用戶名設定成小寫, 否則無法用Xshell遠程登錄

8.用戶管理指令

1) useradd 添加用戶

image-20210304091951255

[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 更改用戶密碼

image-20210304091958518

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

3)userdel 洗掉用戶

image-20210304092005686

[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 查詢用戶資訊

image-20210304092013522

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

image-20210304092021519

[root@yes home]# su - jack // 切換至低權限用戶
上一次登錄:日 221 13:06:01 CST 2021pts/4 上
[jack@yes ~]$ su - root // 切換至高權限用戶, 需要輸入密碼
密碼:
上一次登錄:日 221 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查看當前用戶

image-20210304092029034

[root@yes ~]# who am i
root     pts/4        2021-02-21 12:22 (192.168.31.20)

9. 用戶組指令

同一組中的用戶有相同的權限

image-20210304092036638

1) groupadd 新增組 / 洗掉組

image-20210304092045592

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

image-20210304092052934

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

image-20210304093707053

[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 用戶名

image-20210304093027980

5) 用戶組相關檔案

image-20210304092138484

  • /etc/passwd

    image-20210304092143668

    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

    image-20210304092149560

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

image-20210304092159480

lakers:x:1006:

10. 運行級別指令

image-20210304092207407

img/20210302190750.png  0 → 100644

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密碼

  1. 啟動系統,進入開機界面,在界面中按“e”進入編輯界面

    image-20210304092217953

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

image-20210308172612003

  1. 輸入:mount -o remount,rw /(注意:各個單詞間有空格),完成后按鍵盤的回車鍵

    image-20210308172755902

  2. 在新的一行輸入:passwd, 完成后按鍵盤的回車鍵,輸入密碼,然后再次確認密碼即可 密碼修改成功后,會顯示passwd…的樣式,說明密碼修改成功

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-SGptmjo5-1631107810268)(D:%5CTypora%20Img%5Cimage-20210308173316897.png)]

  3. 接著,在滑鼠閃爍的位置中(最后一行中)輸入:touch /.autorelabel,完成后按鍵盤的回車鍵. 繼續在游標閃爍的位置中輸入:exec /sbin/init,完成后按鍵盤的回車鍵 ,等待系統自動修改密碼,完成后系統會自動重啟, 新的密碼便生效(程序可能有點長,耐心等待,不是死機)

    image-20210308173458914

12. 幫助指令

1) man
[root@yes ~]# man ls 

image-20210304092234069

瀏覽時按空格滾動, 按q退出

[root@yes ~]# man /etc/passwd // 還可以瀏覽組態檔

image-20210304092400520

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

image-20210304092424564

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

image-20210304092417675

13. 檔案目錄類指令

1) pwd

image-20210304092444767

2) ls

image-20210304092450891

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

3) cd

image-20210304092438090

4) mkdir

image-20210304092457107

  1. 創建一級目錄

    [root@yes /]# mkdir /home/harden 
    [root@yes /]# ls home
    davis  harden  hkbelong2chn  james  milan  test
    
  2. 創建多級目錄

    [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

image-20210304092505001

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

image-20210304092558158

rm -rf 用于洗掉非空目錄. rmremove, rrecurrence(遞回) fforce(強制), 洗掉時要謹慎

[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

image-20210304092522779

[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

image-20210304092540146

[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

image-20210304092608526

[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

image-20210304092615862

cat指令只能查看檔案, 不能修改. 更安全

/* 瀏覽檔案 */
[root@yes home]# cat -n /etc/profile
 1	# /etc/profile
 2	...
11) more

image-20210304092622656

[root@yes home]# cat -n /etc/profile | more

|是管道命令, 類似于JAVA中的stream, 就是將上一次操作的結果,接著讓下一個命令處理

12) less

image-20210304092629004

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

13) echo

image-20210304092635740

/* 輸出主機名和環境變數 */
[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

image-20210304092644173

image-20210304092655623

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

15) > & >>

image-20210304092713138

/* 將/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 創建軟鏈接

image-20210304092720001

/*在/home下創建/root的軟鏈接myroot*/
[root@yes home]# ln -s /root myroot

符號鏈接類似于windows下的快捷方式

17) history

image-20210304092727022

18) !

用法: ! 歷史編號x: 執行歷史編號為x的指令

!! // 執行上一條指令
!m // 執行最近一個以指定字串開頭的命令

通過鍵盤上下鍵可以快速找到最近使用過的命令

19) 可執行檔案

可執行檔案是綠色的: image-20210304094101547

如何執行 ?

/*輸入可執行檔案的路徑, 即可執行*/
[root@yes home]# /home/test.sh 
20) source 使剛修改的檔案生效
source filename

14. 時間日期類指令

1) date

image-20210304092850131

[root@yes myroot]# date +%Y-%m-%d // -是分隔符, 可以任意設定
2021-02-23

同步網路時間參考: https://www.cnblogs.com/suiyueshentou/p/7798340.html

設定完時間后, 最好hwclock -w保存一下設定

2) cal

image-20210304092858721

15. 搜索查找類指令

1) find

image-20210304092904691

2) locate

image-20210304092910137

使用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

image-20210304092918420

/* 查找檔案中的內容  查看有沒有 */
[root@yes home]# grep -ni hello /home/hello.txt 
2:hello,

16. 壓縮解壓類指令

1) gzip / gunzip

image-20210304092923923

只能解壓縮檔案, 不能解壓縮目錄(檔案夾)

/* 解壓縮檔案 */
[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的效果:

image-20210304092934364

這是加 -r的效果:

image-20210304092939796

  • unzip 用法

    unzip [選項] 要解壓的檔案
    如: unzip -d /opt/tmp /opt/myhome.zip
    -d: 可以指定解壓的位置
    
3) tar

可以打包/解壓縮檔案/目錄, 通過選項決定打包/解壓/壓縮

打包和解壓的區別點這

image-20210304092956105

關于后綴名tar.gztar的區別

image-20210305212827857

tar -zxvf xxx.tar.gz

tar -xvf xxx.tar

17. 檔案所有者/所在組

中每個用戶都屬于一個組

每個檔案都有一個所有者(創建該檔案的用戶), 一個所在組(該檔案的所有者所在的組), 一個其他組(該檔案所有者不在的組)

1) 查看檔案(目錄)所有者/所在組
ls -ahl
/* -a 顯示隱藏的檔案 -h 檔案大小便于查看(G,M,K) -l 以串列形式顯示詳細資訊

image-20210304093004814

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

image-20210304093823247

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

image-20210304093830363

chgrp [選項,如-R(遞回)] 新組 檔案
[root@yes home]# chgrp [-R] root fox 

18. 用戶對檔案的權限

依次是 所有者 所在組 其他組 的權限

image-20210304093729963

image-20210304093753058

1) rwx權限

image-20210304093738463

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

2) chmod 修改權限

image-20210304093807498

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

image-20210304093813087

19. 通過 crond 進行定時任務調度

1) crontab詳細用法

image-20210304093839870

image-20210304093844994

image-20210304093851401

  • 案例: image-20210304093909530
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

image-20210304093924560

/*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 進行定時任務調度

image-20210304093954080

/* 檢測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

atcrontab不同, 定時任務加入佇列后,只會執行一次(出隊)

用法:
at [選項] [時間]  

image-20210304094007956

image-20210304094013993

案例:
/* 定時任務加入佇列 */
[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) 磁盤磁區

image-20210304094021663

image-20210304094027502

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

image-20210304094046233

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

image-20210304094145801

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

image-20210304094158304

image-20210304094151685

image-20210304094437654

目錄為 /dev/sdb

② 磁區 fdisk
fdisk 磁盤目錄

image-20210304094533016

image-20210304094748719

③ 格式化磁區 mkfs

image-20210304094548382

mkfs -t ext4 /dev/sdb1

mkfs命令點這

image-20210304094604475

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

image-20210304094855616

使用mount是臨時掛載, 重啟后會自動卸載

⑤ 永久掛載

修改/etc/fstb

image-20210304094919797

執行mount -a即可

-a:將 /etc/fstab 中定義的所有檔案系統掛上,

⑥ 卸載 umount
umount 磁區目錄(或掛載點)
[root@yes ~]# umount /dev/sdb1[root@yes ~]# umount /root/newdisk
4) df 顯示磁盤使用情況
[root@yes ~]# df -h

image-20210304094944080

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

image-20210304094953133

image-20210304095008759

22. 網路相關

1). 查看IP地址
  • [root@yes ~]# ifconfig
    

    img/20210301160141.png  0 → 100644

  • WIN10

    C:\Users\12859>ipconfig
    

    img/20210301153320.png  0 → 100644

2). NAT模式示意圖

img/20210301153538.png  0 → 100644

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

img/20210301154224.png  0 → 100644

4). 自動分配IP

img/20210301155015.png  0 → 100644

該模式下如果IP沖突, 會自動分配一個新IP, 但這也意味著,每次登陸后的IP地址不同, 不適合作為服務器使用

5) 手動指定IP (我沒修改成功)
  1. 編輯/etc/sysconfig/network-scripts/ifcfg-ens33

    img/20210301164613.png  0 → 100644

    BOOTPROTO = dhcp 指 動態IP

    BOOTPROTO = static 指 靜態IP

  2. 修改上述檔案

    img/20210301165024.png  0 → 100644

  3. 編輯虛擬機網路配置, 應用后即成功

    img/20210301165757.png  0 → 100644
6). 重啟網路服務
service network restart
7). 設定主機名

img/20210301172135.png  0 → 100644

8). 設定hosts映射

img/20210301194438.png  0 → 100644

img/20210301192621.png  0 → 100644

  • Windows下

    修改hosts檔案添加映射(主機最好是靜態IP)

    img/20210301192748.png  0 → 100644

  • Linux下

    /etc/hosts下添加映射

    img/20210301193817.png  0 → 100644

  • ? windows下查看主機名:

    img/20210301193437.png  0 → 100644

9) 域名決議程序

檢查順序: 瀏覽器快取->本地hosts檔案->DNS服務器->域名不存在

image-20210304084610073

10) netstat 監控網路狀態

img/20210303175050.png  0 → 100644

img/20210303182531.png  0 → 100644

23. 行程管理相關

1) 關于行程

img/20210301200930.png  0 → 100644

2) ps查看當前的行程

img/20210302134327.png  0 → 100644

? ps -aux`:

img/20210302134409.png  0 → 100644

img/20210302134504.png  0 → 100644

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

img/20210302135544.png  0 → 100644

img/20210302135714.png  0 → 100644

img/20210302135623.png  0 → 100644

4) kill | killall 終止行程

img/20210302143017.png  0 → 100644

kill [-9: 強制終止]  11117 
killall sshd // 會將sshd的子行程一并殺掉

通過 /bin/systemctl start sshd.service 可以重啟sshd(遠程登錄)行程

5) pstree 查看行程樹

img/20210302144253.png  0 → 100644

6) top 動態監控行程

類似于windows下的任務管理器

img/20210303174313.png  0 → 100644

注意要區分大小寫

img/20210303173546.png  0 → 100644

  • 監控特定用戶

    img/20210303174440.png  0 → 100644

  • 終止指定行程

    img/20210303174449.png  0 → 100644

    輸入PID后, 要輸入9表示強制終止行程

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ddqsrwDj-1631107810342)(C:%5CUsers%5C12859%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210303174712281.png)]

  • 指定動態監控間隔時間

    img/20210303174458.png  0 → 100644

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

image-20210306153257855

24. 服務管理相關

img/20210302150246.png  0 → 100644

1) service服務管理命令

img/20210302150441.png  0 → 100644

? 以下服務可用service管理

service network restart

img/20210302150657.png  0 → 100644

2) setup查看所有的服務
[root@Yes! ~]# setup

[*] 表示自動啟動的服務

img/20210302151102.png  0 → 100644

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

img/20210302194200.png  0 → 100644

  • 查看各運行級別下的狀態

    [root@Yes! ~]# chkconfig --list
    

    img/20210302194111.png  0 → 100644

  • 設定某運行級別下某服務的狀態

chkconfig --level [0-6] 服務 on/off
4) systemctl服務管理命令
  • 查看systemctl管理的指令

    img/20210302195036.png  0 → 100644

    這種方式只是臨時生效, 想要永久生效需要設定自啟動狀態

  • 設定服務狀態

    img/20210302195140.png  0 → 100644

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

    img/20210302195706.png  0 → 100644

5) firewall 打開關閉指定埠

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

img/20210303163459.png  0 → 100644

[root@Yes! ~]# firewall-cmd --permanent --query-port=23/tcp
no
  • ? 查看埠的協議型別

    [root@Yes! ~]# netstat -anp | more
    

    img/20210303165028.png  0 → 100644

25.rpm 軟體管理

1) 什么是rpm

image-20210304191359204

2) rpm包的格式

image-20210304191708177

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

image-20210304192141808

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

image-20210304193119082

只會卸載軟體, 相應的rpm包并不會被洗掉

6) 通過rpm包安裝相應軟體

image-20210304193225505

image-20210304193641830

該方法安裝軟體, 首先要保證系統中有相應軟體的rpm包

CentOs7中有許多自帶的安裝包,在下圖位置, 但是這個目錄是無法訪問的, 可以從中選擇需要的軟體復制到其他位置(一般是/opt)下進行安裝, 安裝位置系統自動選擇, 一般在/usr

image-20210304193030669

26. yum 軟體管理

1) 什么是 yum

image-20210304194357485

可以自動處理軟體的依賴關系, 需要網路

2) 查詢yum中是否有相應的軟體

image-20210304194412730

3) 通過yum安裝相應軟體

image-20210304194418051

27.搭建JavaEE環境

1) 安裝JDK
  1. 下載解壓jdk8, 并將解壓后的jdk8目錄移動到 /usr/local/java

    image-20210305101056790

  2. 配置環境變數, 修改/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

  3. 重繪環境變數

    source /etc/profile
    

    環境變數添加成功!

    image-20210305104505132

    查看系統中的環境變數 echo $PATH

  4. hello,world測驗一下

    image-20210305105643625

image-20210305105728164

javac xx.java 編譯生成class檔案

java xx 運行java程式

2) 安裝配置Tomcat

image-20210305185038350

? 成功 image-20210305185452295

3) 安裝配置IDEA
  1. 下載相應軟體并解壓至 /opt/idea

  2. 運行 idea/bin下的idea.sh進行安裝后,即可使用

    image-20210305190942457

    不要在虛擬機上運行idea.sh

  3. 啟動idea, 即運行 idea/bin下的idea.sh

    image-20210305194439364

4) 安裝配置mysql 5.7

image-20210305214309098

image-20210305214357969

28.Shell編程入門

1) 什么是Shell

image-20210305214857129

2) 通過Shell輸出hello world

image-20210305215456948

3) Shell變數入門
  • Shell變數的分類

    image-20210306143338239

  • 定義變數的規則

    image-20210306143404801

    image-20210306142641131

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

    image-20210306143054834

    #將命令作為回傳值賦給變數
    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,在該檔案中添加所需環境變數

    image-20210306144414977

    如:

    image-20210306144512671

    所謂環境變數, 就是可以在Linux的任何位置使用,包括可以在shell腳本中使用

4) Shell注釋
  • 單行注釋#內容

    image-20210306145034050

  • 多行注釋:<<! 內容 !:' 內容 '

image-20210306145041265

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

    image-20210306145848488

    注意$*$@的區別

  • 演示:

    image-20210306145820399

    image-20210306145748149

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

    image-20210306151047561

  • 演示:

    image-20210306153759830

    image-20210306150810171

7) Shell運算操作
  • $((運算式))$[運算式]

    image-20210306153417816

  • expr命令

    exprexpression, 運算式

    使用此命令, 運算式各個數之間要有空格, 且進行乘法運算時要使用轉義字符 \*

    image-20210306153513474

8) if 條件判斷
  • 語法

    if [ condition1 ] # 注意空格
    then
        command1
        command2
    elif [ condition2 ]
    then 
        command2
    else
        commandN
    fi # 條件判斷結尾不要忘記添加 fi
    

    更多shell流程控制語法點這

  • 常用判斷條件

    [  ] // 要有空格 為假
    [ 任意內容 ] // 為真
    

    image-20210306155629573

  • 演示:

    image-20210306155719393

    ? image-20210306155733384

    ? image-20210306160526367

9) case...esac 條件判斷
  • 語法

    casein
    模式1)
        command1
        ;; # 類似于break, 不可少
    模式2)
        command1
        command2
        ;;
     *) # 沒有匹配的, 類似于default
     	command1
    esac
    
  • 演示

    image-20210306162712692

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

    image-20210306164641108

  • 語法2

    更符合使用for回圈的習慣

    for((assignment;condition:next))
    do
        command_1
        command_2
    done
    
  • 演示2

    image-20210306165616085

11) while回圈
  • 語法

    while [condition]
    do
    	command1
    	....
    done
    
  • 演示

    image-20210306171241236

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

    image-20210306172047577

  • 演示

    image-20210306171942163

13) 系統函式

簡單介紹兩個內置的系統函式

  • basename 獲取檔案名稱

    # 從檔案路徑過去檔案名稱(如a.txt)
    # 如果指定了后綴會在原有基礎上洗掉后綴
    basename 檔案路徑 [后綴]
    

    image-20210306193052323

  • dirname 獲取檔案絕對路徑中除檔案名的部分

    dirname 檔案絕對路徑
    

    image-20210306193233606

14) 自定義函式

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299058.html

標籤:其他

上一篇:Java獲取真實Ip地址

下一篇:企業級的Https&Nginx實戰部署教學

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more