第三週

1、shell腳本編程基礎python

內容:1. 編程基礎 2. 腳本基本格式3. 變量4.運算5.條件測試6.條件判斷if 7.條件判斷case 8.配置用戶環境正則表達式

shell腳本:包含一些命令或聲明,並符合必定格式的文本文件
格式要求:首行shebang機制
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl
shell腳本的用途有:
自動化經常使用命令
執行系統管理和故障排除
建立簡單的應用程序
處理文本或文件
bash中變量的種類
局部變量:生效範圍爲當前shell進程;對當前shell以外的其它shell進程,包括當前shell的子shell進程均無效
環境變量:生效範圍爲當前shell進程及其子進程
本地變量:生效範圍爲當前shell進程中某代碼片段,一般指函數
位置變量:$1, $2, ...來表示,用於讓腳本在腳本代碼中調用經過命令行傳遞給它的參數
特殊變量:$?, $0, $, $@, $#,$$
算術運算和邏輯運算
算術運算:help let
+, -,
, /, %取模(取餘), *(乘方)
邏輯運算true (0), false(1)
條件測試
斷某需求是否知足,須要由測試機制來實現專用的測試表達式須要由測試命令輔助完成測試過程
test EXPRESSION
[ EXPRESSION ]
[[ EXPRESSION ]]
COMMAND1 && COMMAND2 而且,短路與,表明條件性的AND THEN
COMMAND1 || COMMAND2 或者,短路或,表明條件性的OR ELSE
! COMMAND 非
如:[ -f 「$FILE」 ] && [[ 「$FILE」=~ .
.sh$ ]]
使用read來把輸入值分配給一個或多個shell變量
條件選擇if語句
單分支
if 判斷條件;then
條件爲真的分支代碼
fi
雙分支
if 判斷條件; then
條件爲真的分支代碼
else
條件爲假的分支代碼
fi
case語句算法

2、文件查找和壓縮shell

文件查找
在文件系統上查找符合條件的文件
文件查找:locate, find
非實時查找(數據庫查找):locate
實時查找:find
locate查詢系統上預建的文件索引數據庫
locate KEYWORD
find實時查找工具,經過遍歷指定路徑完成文件查找
find [OPTION]... [查找路徑] [查找條件] [處理動做]
壓縮、解壓縮及歸檔工具
tar zcvf file.tar.gz /etc/ file.tgz
tar jcvf file.tar.bz2 /etc/
tar Jcvf file.tar.xz /etc
tar Jxvf file.tar.xz -C /data/
tar xvf file.tar.xz 數據庫

3、處理文本的工具sed編程

Stream EDitor, 行編輯器
sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩衝區中,稱爲「模式空間」(pattern space),接着用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往屏幕。而後讀入下行,執行下一個循環。若是沒有使諸如‘D’的特殊命令,那會在兩個循環之間清空模式空間,但不會清空保留空間。這樣不斷重複,直到文件末尾。文件內容並無改變,除非你使用重定向存儲輸出。 bash

功能:主要用來自動編輯一個或多個文件,簡化對文件的反覆操做,編寫轉換程序等
用法:sed [option]... 'script' inputfile..
經常使用選項:
-n 不輸出模式空間內容到屏幕,即不自動打印
-e 多點編輯
-f /PATH/SCRIPT_FILE 從指定文件中讀取編輯腳本
-r 支持使用擴展正則表達式
-i.bak 備份文件並原處編輯
編輯命令:
d 刪除模式空間匹配的行,並當即啓用下一輪循環
p 打印當前模式空間內容,追加到默認輸出以後
a []text 在指定行後面追加文本,支持使用\n實現多行追加
i []text 在行前面插入文本
c []text 替換行爲單行或多行文本
w /path/file 保存模式匹配的行至指定文件
r /path/file 讀取指定文件的文本至模式空間中匹配到的行後
= 爲模式空間中的行打印行號
! 模式空間中匹配行取反處理
sed工具
s/// 查找替換,支持使用其它分隔符,s@@@;s###
替換標記:
g 行內全局替換
p 顯示替換成功的行
w /PATH/FILE 將替換成功的行保存至文件中
四,查找工具和文件壓縮
  文件查找介紹了locate和find,其中locate是按數據庫非實時查找的,一些地方欠缺,通常使用較少,find命令在生產中使用較多,find命令支持多種條件查找,文件壓縮介紹的工具就比較多了,每一種都有它的不一樣的壓縮算法,compress是一款較老的壓縮工具了,它的後綴是.Z的,目前市面上用這款的比較少,gzip的後綴是.gz 還有bzip2後綴是.bz2,這兩款是如今比較流行的,xz後綴爲.xz是一款比較新的壓縮工具,壓縮效果比較好。 這幾種壓縮工具只能對文件進行壓縮,對於文件夾就無能無力了,zip後綴爲.zip是一款打包壓縮的工具,能夠對文件夾進行打包壓縮,使用也是比較普遍的。
  tar是一款歸檔工具,能夠結合壓縮工具歸檔並壓縮。split是一款能夠把一個文件切割成多份的工具。
cpio命令能夠複製文件到歸檔編輯器

相關文章
相關標籤/搜索