liunx必知必會(2)

来源:http://www.cnblogs.com/lspz/archive/2017/08/03/7282473.html
-Advertisement-
Play Games

一.SSH免密登陸配置 1、相關概念 SSH 為 Secure Shell(安全外殼協議) 的縮寫。 很多ftp、pop和telnet在本質上都是不安全的,因為它們在網路上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而SSH就是專為遠程登錄會話和其他網路服務提供安全性的協議。 ...


一.SSH免密登陸配置

1、相關概念
SSH 為 Secure Shell(安全外殼協議) 的縮寫。
很多ftp、pop和telnet在本質上都是不安全的,因為它們在網路上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而SSH就是專為遠程登錄會話和其他網路服務提供安全性的協議。

SSH的具體實現是由客戶端和服務端的軟體組成的
服務端是一個守護進程(sshd),他在後臺運行並響應來自客戶端的連接請求。
客戶端包含ssh程式以及像scp(遠程拷貝)、slogin(遠程登陸)、sftp(安全文件傳輸)等其他的應用程式。

2 密鑰登陸方式配置
假如 A 要登陸 B
在A上操作:
1/ 首先生成密鑰對
ssh-keygen (提示時,直接回車即可)
2/ 再將A自己的公鑰拷貝並追加到B的授權列表文件authorized_keys中
ssh-copy-id B

二.網路管理

1 主機名配置

  • 1/ 查看主機名
    hostname
  • 2/ 修改主機名(重啟後無效)
    hostname hadoop

  • 3/ 修改主機名(重啟後永久生效)
    vi /ect/sysconfig/network

2 IP地址配置
修改IP地址

  • 1/ 方式一:setup
    用root輸入setup命令,進入互動式修改界面

  • 2/ 方式二:修改配置文件(重啟後永久生效)
    vi /etc/sysconfig/network-scripts/ifcfg-eth0

  • 3/ 方式三:ifconfig命令
    (重啟後無效)
    ifconfig eth0 192.168.12.22

3 功能變數名稱映射
/etc/hosts文件 用於在通過主機名進行訪問時做ip地址解析之用
所以,你想訪問一個什麼樣的主機名,就需要把這個主機名和它對應的ip地址配置在/etc/hosts文件中:
vi /etc/hosts

4 網路服務管理

  • 1/ 後臺服務管理
    service network status 查看指定服務的狀態
    service network stop 停止指定服務
    service network start 啟動指定服務
    service network restart 重啟指定服務
    service --status-all 查看系統中所有的後臺服務

  • 2/ 設置後臺服務的自啟配置
    chkconfig 查看所有伺服器自啟配置
    chkconfig iptables off 關掉指定服務的自動啟動
    chkconfig iptables on 開啟指定服務的自動啟動

5 系統中網路進程的埠監聽情況

netstat -nltp

三、防火牆配置

查看防火牆狀態
service iptables status
關閉防火牆
service iptables stop
啟動防火牆
service iptables start
禁止防火牆自啟
chkconfig iptables off

1、列出iptables規則
iptables -L -n
列出iptables規則並顯示規則編號
iptables -L -n --line-numbers

2、列出iptables nat表規則(預設是filter表)
iptables -L -n -t nat

3、清除預設規則(註意預設是filter表,如果對nat表操作要加-t nat)
清除所有規則
iptables -F

重啟iptables發現規則依然存在,因為沒有保存
service iptables restart

保存配置
service iptables save

4、禁止ssh登陸(若果伺服器在機房,一定要小心)
iptables -A INPUT -p tcp --dport 22 -j DROP

刪除規則
iptables -D INPUT -p tcp --dport 22 -j DROP

加入一條INPUT規則開放80埠
iptables -I INPUT -p tcp --dport 80 -j ACCEPT

四、高級文本編輯

1.cut命令

cut語法

[root@www ~]# cut -d'分隔字元' -f fields ## 用於有特定分隔字元

[root@www ~]# cut -c 字元區間 ## 用於排列整齊的信息

選項與參數:
-d:後面接分隔字元。與 -f 一起使用;
-f:依據 -d 的分隔字元將一段信息分割成為數段,用 -f 取出第幾段的意思;
-c:以字元 (characters) 的單位取出固定字元區間;

PATH 變數如下
[root@www ~]# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
1 | 2 | 3 | 4 | 5 | 6 | 7

將 PATH 變數取出,找出第五個路徑。
echo $PATH | cut -d':' -f 5
/usr/local/bin

將 PATH 變數取出,找出第三和第五個路徑。
echo $PATH | cut -d ':' -f 3,5
/sbin:/usr/local/bin

將 PATH 變數取出,找出第三到最後一個路徑。
echo $PATH | cut -d ':' -f 3-
/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games

將 PATH 變數取出,找出第一到第三個路徑。
echo $PATH | cut -d ':' -f 1-3
/bin:/usr/bin:/sbin:

將 PATH 變數取出,找出第一到第三,還有第五個路徑。
echo $PATH | cut -d ':' -f 1-3,5
/bin:/usr/bin:/sbin:/usr/local/bin

實用例子:只顯示/etc/passwd的用戶和shell
cat /etc/passwd | cut -d ':' -f 1,7
root:/bin/bash
daemon:/bin/sh
bin:/bin/sh

2.sed命令

  • 1/ 刪除:d命令

    $ sed '2d' example -----刪除example文件的第二行。
    $ sed '2,$d' example -----刪除example文件的第二行到末尾所有行。
    $ sed '$d' example -----刪除example文件的最後一行。
    $ sed '/test/'d example -----刪除example文件所有包含test的行。

  • 2/ 替換:s命令

    $ sed 's/test/mytest/g' example
    在整行範圍內把test替換為mytest。如果沒有g標記,則只有每行第一個匹配的test被替換成mytest。

    $ sed -n 's/^test/mytest/p' example
    (-n)選項和p標誌一起使用表示只列印那些發生替換的行。也就是說,如果某一行開頭的test被替換成mytest,就列印它。

    $ sed 's/^192.168.0.1/&localhost/' example
    &符號表示追加一個串到找到的串後。所有以192.168.0.1開頭的行都會被替換成它自已加 localhost,變成192.168.0.1localhost。

3.awk命令

awk是一個強大的文本分析工具,相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤為強大。簡單來說awk就是把文件逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。

如果只是顯示最近登錄的5個帳號
last -n 5 | awk '{print $1}'

root

root

root

dmtsai

root

awk工作流程是這樣的:讀入有'\n'換行符分割的一條記錄,然後將記錄按指定的域分隔符劃分域,填充域,$0則表示所有域,$1表示第一個域,$n表示第n個域。預設域分隔符是"空白鍵" 或 "[tab]鍵",所以$1表示登錄用戶,$3表示登錄用戶ip,以此類推。

如果只是顯示/etc/passwd的賬戶

cat /etc/passwd |awk -F ':' '{print $1}'

root

daemon

bin

sys

這種是awk+action的示例,每行都會執行action{print $1}。
-F指定域分隔符為':'

如果只是顯示/etc/passwd的賬戶和賬戶對應的shell,而賬戶與shell之間以tab鍵分割

cat /etc/passwd |awk -F ':' '{print $1"\t"$7}'

root /bin/bash

daemon /bin/sh

bin /bin/sh

sys /bin/sh

如果只是顯示/etc/passwd的賬戶和賬戶對應的shell,而賬戶與shell之間以逗號分割,而且在所有行添加列名name,shell,在最後一行添加"blue,/bin/nosh"。

cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}'

name,shell

root,/bin/bash

daemon,/bin/sh

bin,/bin/sh

sys,/bin/sh

....

blue,/bin/nosh

awk工作流程是這樣的:先執行BEGING,然後讀取文件,讀入有/n換行符分割的一條記錄,然後將記錄按指定的域分隔符劃分域,填充域,$0則表示所有域,$1表示第一個域,$n表示第n個域,隨後開始執行模式所對應的動作action。接著開始讀入第二條記錄······直到所有的記錄都讀完,最後執行END操作。

五. crontab配置

通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script腳本。時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合。這個命令非常適合周期性的日誌分析或數據備份等工作。

2、安裝crontab

yum install crontabs

服務操作說明:

service crond start  ## 啟動服務
service crond stop   ## 關閉服務
service crond restart ## 重啟服務
service crond reload  ## 重新載入配置

查看crontab服務狀態:

service crond status

手動啟動crontab服務:

service crond start

查看crontab服務是否已設置為開機啟動,執行命令:

chkconfig --list

加入開機自動啟動:

chkconfig  --level 35 crond on

3、命令格式

crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]

參數說明:

-u user:用來設定某個用戶的crontab服務,例如,“-u ixdba”表示設定ixdba用戶的crontab服務,此參數一般有root用戶來運行。
file:file是命令文件的名字,表示將file做為crontab的任務列表文件並載入crontab。

-e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。

-l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。

-r:刪除定時任務配置,從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則預設刪除當前用戶的crontab文件。
-i:在刪除用戶的crontab文件時給確認提示。

命令示例:

crontab file [-u user] ## 用指定的文件替代目前的crontab。

必掌握:

crontab -l [-u user] ## 列出用戶目前的crontab.

crontab -e [-u user] ## 編輯用戶目前的crontab.

4、調度配置

4.1 配置說明

基本格式 :

          command
  
分  時  日  月  周  命令

第1列表示分鐘1~59 每分鐘用或者 /1表示

第2列表示小時0~23(0表示0點) 7-9表示:8點到10點之間

第3列表示日期1~31

第4列表示月份1~12

第5列標識號星期0~6(0表示星期天)

第6列要運行的命令

4.2 配置示例

/1 * * * date >> /root/date.txt

上面的例子表示每分鐘執行一次date命令

30 21 * * * /usr/local/etc/rc.d/httpd restart

上面的例子表示每晚的21:30重啟apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/httpd restart

上面的例子表示每月1、10、22日的4 : 45重啟apache。

10 1 * * 6,0 /usr/local/etc/rc.d/httpd restart

上面的例子表示每周六、周日的1 : 10重啟apache。

0,30 18-23 * * * /usr/local/etc/rc.d/httpd restart

上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。

0 23 * * 6 /usr/local/etc/rc.d/httpd restart

上面的例子表示每星期六的11 : 00 pm重啟apache。

  • /1 * * /usr/local/etc/rc.d/httpd restart
  • 上面的例子每一小時重啟apache

  • 23-7/1 * * * /usr/local/etc/rc.d/httpd restart
  • 上面的例子晚上11點到早上7點之間,每隔一小時重啟apache

0 11 4 * mon-wed /usr/local/etc/rc.d/httpd restart

上面的例子每月的4號與每周一到周三的11點重啟apache

0 4 1 jan * /usr/local/etc/rc.d/httpd restart

上面的例子一月一號的4點重啟apache


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在windows server 2008 r2 64位系統安裝MySQL5.6 64位版本的步驟 ...
  • 這是第一次安裝RAC,參考了國外一位大神的安裝文檔,在安裝過程中,也遇到了一些問題,從網上查了相關問題的解決方法,在此感謝。 操作系統是 Oracle Enterprise Linux 5,兩個節點 rac1和rac2,網卡eth0作為public,eth1作為private,假設之前已添加一塊20 ...
  • 停止kafka服務: kafka_2.12-0.10.2.1> bin/kafka-server-stop.sh kafka_2.12-0.10.2.1> bin/zookeeper-server-stop.sh Step 1: 下載Kafka 下載最新的版本並解壓. > tar -xzf kafk ...
  • MySQL導入-導出資料庫-mac版 導出資料庫-表結構,和數據 mysqldump -u 賬號 -p 資料庫名 表 > 文件名.sql 例如:mysqldump -u root -p testdatabase tablename > test.sql 輸入密碼即可 導出表結構 mysqldump ...
  • Apache Spark 記憶體管理詳解 Spark 作為一個基於記憶體的分散式計算引擎,其記憶體管理模塊在整個系統中扮演著非常重要的角色。理解 Spark 記憶體管理的基本原理,有助於更好地開發 Spark 應用程式和進行性能調優。本文旨在梳理出 Spark 記憶體管理的脈絡,拋磚引玉,引出讀者對這個話題的 ...
  • 1> 啟動資料庫 1.1> 依次添加如下目錄: 1.1.1> mongodb-space 1.1.2> mongodb-space/conf 1.1.3> mongodb-space/data 1.1.4> mongodb-space/log 1.2> 在 mongodb-space/conf 目錄 ...
  • 目錄 · 概述 · 手工搭建集群 · 引言 · 安裝Python · 配置文件 · 啟動與測試 · 應用部署 · 參數配置 · Storm命令 · 原理 · Storm架構 · Storm組件 · Stream Grouping · 守護進程容錯性(Daemon Fault Tolerance) · ...
  • LNMP編譯安裝之msyql安裝--圖文詳解 1、前言 本次安裝採用源碼安裝,主要資源包從官網下載,次要依賴則使用yum進行安裝,本篇只涉及mysql的安裝,msyql遠程登錄,不涉及mysql具體配置。該教程純屬安裝,不涉及任何重要知識點,老少皆宜。 2、安裝步驟 2.1、下載boost(只下載不 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...