Linux結構梳理

Type:查看命令的所屬分類

man:查看命令的幫助

help:獲取幫助

 

ls命令

ls -l:顯示文章的詳細信息

ls -a:顯示文章的隱藏文件

ls -r:逆順序顯示文件

ls -R:遞歸顯示

ls -t:按照時間顯示

 

head:顯示文件前幾行

tail:顯示文件後幾行

cat:查看文件信息  cat f 查看文件更新信息

wc:統計文件行數

 

tar:打包命令,配合gzip和bzip可以使用打包和壓縮命令

gzip:壓縮和解壓縮命令,拓展名.gz

bzip2:壓縮與解壓縮命令,擴展名.bz2

 

 

useradd:添加用戶

userdel:刪除命令

Passwd: 設置用戶密碼

usermod:修改用戶信息

groupadd:添加組用戶

groupdel:刪除組用戶

chmod:修改權限

chown:更改主,屬組

chgrp:可以單獨更改屬組,不常用

 

正則表達式

  對字符串操作的一組邏輯公式

  用於對符合規則的字符串進行查找和替換

文本與文件的查找

grep

grep -i 忽略大小寫

grep -v 反轉

grep -a 處理二進制文件

grep -R 遞歸方式

 

find

find -name 按照文件名搜索

find -perm 按照權限查找

find -user 按照屬主搜索

find -type 按照文件類型搜索

 

軟件安裝與更新

rpm -i 安裝

rpm -q 查詢

rpm -U 升級

rpm -e 卸載

./comfigure  make  make install 源碼編譯

yum install 安裝

yum remove 卸載

yum update 升級

 

網絡配置

ifconfig 查看和配置網絡接口

ip addr 查看和配置接口漏油

netstat 查看進程監聽端口狀態

network與NetworkManager 網絡管理腳本

相關配置文件

ifcfg-eth0 eh0網卡配置文件

networking 主機名配置文件

resolv.conf 域名配置文件

 

常用系統日誌

/var/log 系統日誌默認目錄

message 系統日誌

dmesg 內核啓動日誌

secure 安全日誌

 

mount掛載命令

mount -t 指定文件系統類型

mount -ro 只讀掛載

mount -rw 讀寫掛載

remount 重掛載

 

文件系統

fdisk -l 查看分區信息

fdisk /dev/sdx 分區某存儲

df 查看分區使用空間大小

du 查看文件使用空間大小

mkfs.ext4 格式化爲ext4文件系統

mkfs.xfs 格式化爲XFS文件系統

 

邏輯卷與lvm

lvm分三層:PV物理卷 VG卷組 LV邏輯卷

pvcreate 建立PV    pvs 查看PV

vgcreate 建立VG    vgs 查看VG

lvcreate  建立LV    lvs 查看lv

lvextend 擴展LV

 

防火牆

SELinux訪問控制分類:DAC自主訪問控制  MAC強制訪問控制

getenforce 查看SELinux狀態

setenforce 修改訪問狀態

selinux配置文件/etc/selinux/config

enforcing 強制控制

permissive 通知但不強制控制

disable 禁止訪問控制

iptables

表:filter 用於過濾    nat 用於地址轉換

鏈:INPUT 進入本主機方向

OUTPUT 本主機發出方向

FORWARD 轉發方向

PREROUTING 路由前轉換

POSTROUTING 路由後抓換

選項:-i -o 接口

      -s -d ip地址/子網掩碼

      -p tcp/udp協議

         --sport 源端口

 --dport 目的端口

      -j 動作

 ACCEPT 允許此規則匹配的數據包通過

DROP 丟棄此規則匹配的數據包

REJECT 拒絕此規則匹配的數據包並返回rst包

SNAT 源地址轉換

DNAT 目的地址轉換

MASQUERADE 動態源地址轉換

 

tcpdump -r filename 從文件讀取已抓取的數據包

tcpdump -w filename 將抓取的數據包保存至文件

tcpdump -v 顯示詳細信息

tcpdump -n 不將ip地址解析爲主機名

tcpdump -i 接口

tcpdump host 主機

tcpdump port 端口

 

 

系統啓動過程與故障修復

系統啓動過程簡述

BISO 選擇啓動設備

MBR 硬盤可引導扇區

GRUB Linux 系統可引導工具

內核

init或者systemd

service服務或者systemd服務

啓動tty等待用戶登陸

更新內核版本

rpm方式更新

   安裝速度快,沒有最新版本

源碼編譯方式更新

   可以使用最新版本,編譯時間長

 

shell部分

shell是命令解釋器,翻譯用戶的命令給內核執行,並將結果返回給對方

shell腳本好處:組合系統命令實現自動化功能,組成腳本的基本元素是命令,不用深入掌握系統函數庫

內建命令與外部命令:內建命令不會創建子進程,但是對子shell無效,外部命令會創建子進程。

 

管道與重定向

管道符:|

重定向符號:< 輸入重定向

> 輸出重定向

>>輸出重定向,追加方式

join 連接兩個字符串

 

轉義和引用:特殊符號,轉義符 / ,引用符號’’ ”” 

函數:對重複利用的代碼進行封裝,函數的定義方法是 函數名(){}

函數的使用:直接使用函數名

 

運算符

運算符 +-*/ % 加減乘除取餘

shell運算的弊端:支持整數運算,但和編譯語言比起來效率較低,對浮點運算支持不好

 

 

循環

while循環:while循環根據while判斷結果是否繼續執行

判斷結果爲命令的返回值,如果爲0則循環會繼續執行

如果判斷結果一直爲真0,無法到達循環稱死循環

for循環:shell的for循環使用遍歷方式,for...in...格式

for循環支持c語言寫法,需要使用(())格式

支持使用break,continue對循環進行控制

for循環支持嵌套使用

 

 

進程與內存查看

ps/ top 對當前系統的進程信息查看

內存查看命令

   free 查看內存系統使用率

   sar 顯示更詳細的系統運行狀態,用於故障排除

常用第三方系統命令查看

   lftop 查看某一進程的網絡流量

 

變量與環境變量

變量:shell變量無聲明,銷燬變量unset變量

變量的賦值:變量名=變量值

環境變量:PATH命令解釋路徑

環境變量的配置文件

  /etc/profile 系統環境變量的默認保存文件

  /etc/bashrc login shell執行初始化的配置文件

 

計劃任務

一次性計劃任務at

週期性計劃任務cron

  查看週期性計劃任務crontab -l

  編輯週期性任務 contab -e

 

 

測量與判斷

test測試:可以書寫爲[]

可以使用[[]]擴展格式

文件測試

數字比較

if判斷:基本原理:根據命令的返回值是否爲0進行分支判斷

        支持if...else...寫法

        支持if嵌套寫法

case分支:case分支一般作爲if判斷的補充

          case分支的結束符號是”;;”,它是”;”的轉義形式

 

正則表達式與文本搜索

元字符大全

. 單個字符

* 一個(包括零個)它前面的字符

[...] 匹配方括號中的任意字符

^  匹配行開始

$  匹配行結尾

\  轉義特殊字符

{…}  匹配出現次數

+ 匹配前面的正則表達式出現一次或多次

?  匹配前面的正則表達式出現零次或一次

|  並列匹配

()  分組

POSIX  字符類

 

sed基礎

基本語法:sed ‘cmd’ filename

  sed -e ‘cmd’ -e ‘cmd’ filename

sed的工作方式:模式空間

sed命令:s 替換

d 刪除

a 追加

i 插入

c 更改

n 下一步

r 讀文件

w 寫文件

q 退出

y 替換

p 打印

 

sed高級命令

多行命令

N:將多行追加到模式空間進行處理

D:刪除對行模式空間的第一個字符至第一個換行符,並返回到腳本的開頭執行

P:輸出模式空間中的第一個字符至第一個換行符

保持空間模式

h:將模式空間中的內存存儲至保存空間,並覆保持空間的內容

H:將模式空間中內容存儲至保存空間,並追加到保持空間的內容

g:將保持空間的內容存儲至模式空間,並覆蓋模式空間的內容

G:將保持空間的內容存儲至模式空間,並追加至模式空間

x:交換模式空間和保持空間的內容

條件與分支

:標籤

b branch命令用於在腳本中將控制權轉移到另一行,如果沒有指定標籤就轉移腳本的結尾

t 測試命令,如果當前匹配地址的行進行了成功替換,test命令就轉移到標籤處,如果沒有指定標籤就轉移到腳本的結尾

 

AWK

工作方式

BEGIN{} 模式用於處理文件前的預處理

{} 模式用於對文件每行進行處理

BED{}模式用於處理完文件之後的操作

運算符

算數運算符   關係運算符   布爾運算符

循環

支持while循環

支持for循環

支持break循環,continue循環

系統變量

FS字段分隔符

OFS輸出字段分隔符

RS記錄分隔符

ORS輸出記錄分隔符

條件

和c語言用法相似

語法格式爲:if(判斷)

支持if……else……用法

支持if嵌套

函數

算數函數

隨機函數

字符串函數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章