1. 程式人生 > 其它 >大資料課程-------linux部分

大資料課程-------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人機互動)