Linux叢集免密登錄以及常用命令2

2020-08-09 23:41:57

一、設定虛擬主機與從機別名

  • 首先爲所有虛擬機器設定別名:
    hostnamectl set-hostname HOSTNAME
  • 檢視別名:
    hostname
    在这里插入图片描述

二、虛擬機器之間免密登錄

  • 虛擬機器之間如果需要相互免密登錄,每個虛擬機器要將需要進行免密登錄的虛擬機器相關聯。將虛擬機器的IP地址與設定好的別名相關聯。
    在这里插入图片描述
  • 進入主虛擬機器的根目錄:cd /root
  • 虛擬機器之間相互免密登錄,每個虛擬機器都需要生成一把金鑰,然後將這把金鑰授權,最後分別遠端拷貝給其他虛擬機器,這樣,每個虛擬機器就可以存取其他虛擬機器,而不需要輸入密碼,免密登錄。
  • 生成金鑰:
    ssh-keygen -t rsa -P ‘’
  • 授權金鑰:
    cat id_rsa.pub >> authorized_keys
  • 遠端拷貝金鑰:
    ssh-copy-id -i id_rsa.pub -p22 root@REMOTE_HOSTNAME/IP
    :REMOTE_HOSTNAME/IP爲其他虛擬機器的別名或者IP地址。
  • 免密登錄驗證:
    ssh root@REMOTE_HOSTNAME/IP
    :如果能夠直接連線上遠端虛擬機器,則免密成功。

三、使用者與分組

1、使用者

  • 檢視使用者:cat /etc/passwd
    在这里插入图片描述
  • 新增使用者:useradd USERNAME
  • 使用者加密:passwd USERNAME
  • 檢視當前登錄使用者的資訊:id
  • 切換當前使用者:su USERNAME
  • 檢視當前用過戶:whoami
  • 刪除使用者:userdel
  • 自定義使用者ID:useadd [-u UID] USERNAME
  • 修改使用者:usermod -| NEWNAME OLDNAME
    :每建立一個使用者,會在分組下建立一個與使用者同名的分株,並且使用者與分組id爲同一個。

2、分組

  • 檢視分組:cat /etc/group
  • 增加分組:groupadd [-g GID] GROUPNAME
  • 修改使用者,增加分組,將USERNAME新增到GROUPNAME分組中;
    usermod -a -G GROUPNAME USENAME
    :一個使用者可以掛載在多個分組裏面

四、進程檢視

  • 進程:正在執行的應用程式
    在这里插入图片描述
  • 檢視進程消耗的cpu,記憶體
    ps aux
    在这里插入图片描述
  • 檢視進程編號、資訊
    ps -ef|grep
    在这里插入图片描述
  • 結束進程
    kill -9 PID

五、系統資源檢視

  • 檢視實時資訊
    top
    在这里插入图片描述

  • 查詢網路連線
    netstat

  • 查詢網路連線
    yum search netstat
    yum install net-tools.x86_64

  • 協定型別:-t(傳輸控制協定)/-udp(用戶數據包協定)
    netstat -t/u
    在这里插入图片描述

  • 網絡卡列表
    netstat -i

  • 查詢磁碟分割區
    df [-h]

  • 查詢記憶體
    free
    在这里插入图片描述

六、常用命令

1、列印

  • 常規輸出
    echo
  • 格式化輸出:\t \n %c %cs %d %(.n)f
    printf
    在这里插入图片描述
  • 輸出環境變數
    printenv
    在这里插入图片描述

2、日期時間

  • date +"%Y-%m-%d%H:%M:%S%s"

在这里插入图片描述

  • 日期計算:
    date -d 「±n PART」 + 「FORMAT」
    在这里插入图片描述
  • 修改系統時間
    date -s 「00:00:00 1900-1-1」
  • 糾正時差
    ntpdate -u ntp.api.bz
    在这里插入图片描述
  • date(系統時間)
  • date-u(代表時區)
  • clock(脈衝時鐘)
  • hwclock(硬體時鐘)
    在这里插入图片描述

3、管道命令

  • A|B:A命令的輸出作爲B命令的輸入
    在这里插入图片描述
  • |grep/more/less/head/tail…
  • grep
    1、-i :忽略大小寫
    2、-w:只匹配整個單詞
    3、-n:顯示帶行號的匹配行
    4、-v:顯示匹配行以外的內容
    在这里插入图片描述

5、-l:只列出檔名
6、-r:在當前目錄和子目錄

4、檔案查詢

  • 從某個目錄遞歸向內檢索各子目錄
    find
  • 從某個目錄遞歸向內過濾檢索各子目錄
    find path -xxx value |grep…
  • 按照檔名進行模糊查詢
    find path -name ‘*.log’
  • 按照使用者進行模糊查詢
    find path -user xxx
  • 按照檔案大小 查詢
    find path -size xxx
  • 按照型別查詢:d:目錄 f:普通檔案
    find path -type d/f
    在这里插入图片描述

(1) local

  • 查詢一般檔案 <=>find -name
  • 忽略大小寫
    -i
  • 正則匹配
    -r
    :新建檔案必須在updatedb命令執行方可查詢
  • 查詢可執行檔案位置
    which
  • 查詢二進制檔案、原始碼檔案
    whereis
    在这里插入图片描述

5、流

  • 覆蓋
    stdout >
  • 追加
    stdout >>
  • 覆蓋
    stderr 2>
  • 追加
    stderr 2>>

6、文字處理命令

(1) 文字統計

  • 文字統計
    wc
  • 單詞數量
    -w
  • 行數
    -l
  • 最長行的行數
    -L
    在这里插入图片描述

(2) cut文字內容切割

cut -d ’ ’ -f1,2,3,…n/path/file

1、-d:表示切割fu
2、’ ':表示以空格分開
3、f1,2,3,…n:表示查詢的第幾個文字內容
4、/path/file:表示查詢的目錄檔案
在这里插入图片描述

(3) tr 刪除替換

  • 正則大小寫轉換
    tr ’ a-z’ ’ A-Z’
  • 刪除指定符號
    tr -d ‘0-9’
  • 去重,重複內容只顯示一個
    tr -s ’ 重複內容 ’
    在这里插入图片描述

(4) sed文字編輯器

  • 只顯示需要的內容
    sed -n ’ … ’ file
  • 刪除(不顯示)
    sed ‘…’ file
  • 替換
    sed ‘s/path/g’ file |sed ‘s/info/count/’
    在这里插入图片描述
    在这里插入图片描述

(5) awk

  • awk [-F|-f|-v] ‘BEGIN{}//{COMMAND1;COMMAND2} END{}’ file
  • awk ‘{print $1,$4}’ file
    在这里插入图片描述
  • ls -l| awk ‘BEGIN{sum=0}{sum+=$5} END{print sum}’
    在这里插入图片描述
  • awk -F:’{print $1,$3}’ etc/passwd

    -F:指定分割符
    -f:指定檔案