大資料課程-------linux部分
【1】linux命令
(1)who查詢登入的使用者
(2)last -n(-3)檢視最近的登陸歷史記錄
(3)關機/重啟
shutdown -h now 立刻關機
shutdown -h +10 10分鐘以後關機
shutdown -h 12:00:00 12點整的時候關機
halt 立刻關機
shutdown -r now重啟
reboot
(4)檢視根目錄:ls /
檢視當前目錄:ls .或者ls ./
檢視加目錄:ls ../
ls -l -h(-h檢視檔案的大小)
ls -lha (-a)展示隱藏檔案
cd ~ 回到使用者主目錄
cd 回到使用者主目錄
cd -回退到上次所在的目錄
分頁檢視一個檔案:more install.log (less install.log)
(5)打包壓縮
gzip壓縮:gzip a.txt 解壓:gunzip a.txt.gz 或者 gzip -d a.txt.gz
bzip2壓縮:bzip2 a 解壓:bunzip2 a.bz2 或者 bzip2 -d a.bz2
打包:將指定檔案或資料夾 tar -cvf bak.tar ./aaa
將/etc/password 追加檔案到bak.tar中(r)tar -rvf bak.tar /etc/password
解壓:tar -xvf bak.tar
打包並壓縮:tar -zcvf a.tar.gz aaa/
解包並解壓縮:tar -zxvf a.tar.gz
解壓到/usr下:tar -zxvf a.tar.gz -C /usr
(6)查詢命令
(7)grep
查詢包含hadoop 的行:grep hadoop /etc/password grep aaa ./*.txt
查詢不包含hadoop的行:grep -v hadoop /etc/password(-v反選)
正則表達包含hadoop:grep 'hadoop' /etc/password
(8)檔案許可權的操作
(8)新增使用者
useradd hulifang
passwd 設定密碼
userdel -r hulifang (加一個-r就表示把使用者及使用者的主目錄都刪除)
(9)掛載,解除安裝:
du -sh /home 統計指定路徑下的所有子目錄和檔案的大小
(10)rpm 安裝包
(11)yum安裝
(12)防火牆
iptables -L -n(檢視防火牆的規則)
禁止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
(13)cut命令
(14)sed 替換s命令
sed 's/test/mytest/g' example(在整行範圍內把test替換成mytest,如果沒有g標記,則只有每行第一個匹配的test被替換成mytest)
(15)last -n 5僅取出前五行
(16)awk命令
(17)crontab定時
分 時 日 月 周 命令
【2】shell指令碼
(1)export A 可把變數提升為當前shell程序中的全域性環境變數,可供其他子shell 程式使用
或者
source 子程序(在同一個程序空間中執行)(source 作用同 .)
(2)
A=`ls -la`反引號,執行裡面的命令,並把結果返回給變數A
A=$(ls -la)等價於反引號
(3)$?表示上一個命令退出的狀態
$$表示當前程序編號
$0表示當前指令碼名稱
$n表示n位置的輸入引數(n代表數字,n>=1)
$#表示引數的個數,常用於迴圈
$*和$@都表示引數列表
(4)算數運算
字串比較:= ,!=,-n(字串長度是不為0,返回true),-z(字串長度是為0,返回true)
if [ -n "aa" ];then echo ok; else echo notok;fi
if [ -n "" ];then echo ok; else echo notok;fi
檔案判斷:-d是否為目錄,-f是否為檔案,-e是否存在
自動化部署指令碼:(except人機互動)