1.ls
(1) 列出當前目錄下所有檔案
ls
(2) 列出/home目錄下所有檔案
ls /home
(3) 列出當前目錄下所有檔案,並顯示許可權資訊
#(也可以使用別名「ll」)
ls -l
(4) 列出當前目錄下所有檔案(包括隱藏檔案),並顯示許可權資訊
ls -al
2.cd
(1) 切換到使用者主目錄
#或者直接"cd"
cd ~/
(2) 切換到指定目錄/usr
cd /usr
(3) 切換到當前目下的子目錄lib
cd lib
(4) 切換到上級目錄
cd ../
3.cat
(1) 輸出test.txt檔案資訊
cat test.txt
4.mkdir
(1) 在當前目錄下建立目錄test
mkdir test
(2) 在當前目錄下級聯建立目錄test/test1/test2
mkdir -p test/test1/test2
5.chmod
(1) 設定test.txt檔案許可權爲777
chmod 777 test.txt
(2) 將testdirt目錄下所有檔案和目錄許可權設定爲777
chmod 777 testdirt/*
(3) 將testdirt目錄下所有檔案、目錄及其子目錄許可權設定爲777
chmod -R 777 testdirt/*
6.chown
(1) 將test.txt檔案擁有者修改爲test使用者
chown test test.txt
(2) 將testdirt目錄下所有檔案和目錄擁有者修改爲test使用者
chown test testdirt/*
(3) 將testdirt目錄下所有檔案、目錄及其子目錄擁有者修改爲test使用者
chown -R test testdirt/*
7.chgrp
(1) 將test.txt檔案所屬羣組修改爲test使用者組
chgrp test test.txt
(2) 將testdirt目錄下所有檔案和目錄所屬羣組修改爲test使用者
chgrp test testdirt/*
(3) 將testdirt目錄下所有檔案、目錄及其子目錄所屬羣組修改爲test使用者
chgrp -R test testdirt/*
8.輸出重定向>和>>
(1) 輸出檔案test.txt資訊"覆蓋"到test1.txt
cat test.txt>test1.txt
(2) 輸出檔案test.txt資訊"追加"到test1.txt
cat test.txt>>test1.txt
9.echo
(1) 輸出字串
echo 'hello shell'
(2) 輸出變數
a='hello shell';echo $a
10.vi
vi 編輯器有 3 種基本工作模式,分別是命令模式、文字輸入模式和末行模式。下面 下麪詳 細介紹這 3 種模式。
該模式是進入 vi 編輯器後的預設模式。任何時候,不管使用者處於何種模式,按下Esc鍵即可進入命令模式。
在命令模式下,使用者可以輸入 vi 命令,用於管理自己的文件。此時從鍵盤上輸入的任何字元都被當做編輯命令來解釋。若輸入的字元是合法的 vi 命令,則 vi 在接受使用者命令之後完成相應的動作。
但需注意的是,所輸入的命令並不會顯在螢幕上。若輸入的字元不是 vi 的合法命令,vi 會響鈴報警。
在命令模式下輸入插入命令i、附加命令a、開啓命令o、修改命令c、取代命令r或替換命令s都可以進入文字輸入模式。
在該模式下,使用者輸入的任何字元都被 vi 當做檔案內容儲存起來,並將其顯示在螢幕上。在文字輸入過程中,若想回到命令模式下,按下Esc鍵即可。
末行模式也稱 ex 跳脫模式。
命令列模式常用快捷鍵
進入文字輸入模式:i (在遊標處開始編輯)
進入文字輸入模式:a (在遊標處下一個字元開始編輯)
遊標切換到檔案最後一行:shift+g
遊標切換到當前行最後一個字元:shift+$
複製當前行:yy
貼上複製行:p
回退上一個操作:u
撤銷回退:ctrl+r
末行模式常用命令(所有命令需按enter鍵執行)
顯示行數:set nu
退出:q
儲存退出:wq
強制儲存退出:q!
切換到第n行:n
匹配查詢字串str:/str (按enter執行後 按n向後查詢,按N向前查詢)
11.grep
(1) 搜尋檔案test.txt中包含字串aaa的行
grep 'aaa' test.txt
(2) 搜尋檔案test.txt中不包含字串aaa的行
grep -v 'aaa' test.txt
(3) 搜尋檔案test.txt中包含字串aaa的行,並輸出行號
grep -n 'aaa' test.txt
(4) 搜尋當前目錄下所有包含字串aaa的檔案(遇到目錄會報錯,該問題可以使用find命令解決)
grep 'aaa' *
12.find
(1) 搜尋/home目錄下所有名稱包含’aaa’的檔案及目錄
find /home -name "*aaa*"
(2) 搜尋/home目錄下所有名稱包含’aaa’的檔案
find /home -name "*aaa*" -type f
(3) 搜尋/home目錄下所有名稱包含’aaa’的目錄
find /home -name "*aaa*" -type d
(4) 搜尋/home目錄下所有名稱包含’aaa’的檔案,並檔案內容包含"bbb"的檔案
find /home -name "*aaa*" -type f | xargs grep 'bbb'
13.tail
(1) 檢視檔案test.txt最後10行
tail test.txt
(2) 檢視檔案test.txt最後n行(以下例子n=15)
tail -15f test.txt
(3) 持續輸出檔案最後10行
tailf
14.more
說明:more 命令類似 cat ,不過會以一頁一頁的形式顯示,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似)。
(1) 按頁顯示test.txt檔案
more test.txt
(2) 從第20行按頁顯示test.txt檔案
more +20 test.txt
15.useradd
(1) 建立使用者test
useradd test
16.userdel
(1) 刪除使用者test
userdel test
17.passwd
(1) 修改當前使用者密碼
passwd
(2) 修改test使用者間
passwd test
18.cp
(1) 複製檔案a.txt到b.txt
cp a.xtx b.txt
(2) 複製目錄a到目錄b
cp -r a b
19.mv
(1) 剪下檔案a.txt到檔案b.txt
mv a.txt b.txt
(2) 剪下目錄a到目錄b
mv a b
20.rm
(1) 刪除檔案a.txt
rm a.txt
(2) 強制刪除檔案a.txt
rm -f a.txt
(3) 強制目錄a及其目錄下所有目錄和檔案(慎用)
rm -rf a
(1) sh執行一個shell 指令碼
sh test.sh
(2) ./執行一個shell指令碼
./test.sh
(3) sh後臺執行一個shell指令碼
nohup sh test.sh &
(4) ./後臺執行一個shell指令碼
nohup ./test.sh &
22.tar
(1) 解壓test.tar.gz檔案到當前目錄
tar -zxvf test.tar.gz
(2) 解壓test.tar.gz檔案到/home目錄
tar -zxvf test.tar.gz -C /home
(3) 只檢視test.tar.gz內的檔案資訊但是不解壓檔案
tar -tf test.tar.gz
(4) 將test目錄壓縮爲test.tar.gz檔案
tar -zcvf test.tar.gz test
23.unzip
(1) 解壓一個zip檔案test.zip
unzip test.zip
24.ssh
(1) 使用當前登錄使用者遠程登錄到bigdata5.zhenglihan.com伺服器
ssh bigdata5.zhenglihan.com
(2) 使用root使用者遠程登錄到bigdata5.zhenglihan.com伺服器
ssh root@bigdata5.zhenglihan.com
25.scp
(1) 使用當前使用者將當前目錄下的test.txt檔案拷貝到遠端伺服器bigdata5.zhenglihan.com的/home目錄下
scp test.txt bigdata5.zhenglihan.com:/home
(2) 使用root使用者將當前目錄下的test.txt檔案拷貝到遠端伺服器bigdata5.zhenglihan.com的/home目錄下
scp test.txt root@bigdata5.zhenglihan.com:/home
26.jar
(1) 解壓test.jar檔案
jar -xvf test.jar
(2) 檢視test.jar檔案的內容,但是不解壓
jar -tf test.jar
27.ip
(1) 檢視伺服器ip資訊
ip addr
28.hostname
(1) 檢視伺服器域名
hostname
29.lsof
(1) 檢視mysql埠進程資訊
lsof -i:3306
30.ps
(1) 搜尋含有java資訊的進程
ps -ef | grep 'java'
31.rpm
(1) 安裝test.rpm包
rpm -ivh test.rpm
32.yum
(1) 安裝mysql服務
yum install -y mysql-server
(2) 解除安裝mysql服務
yum remove -y mysql-server
33.lsb_release
(1) 檢視操作系統資訊
lsb_release -a
34.df
(1) 檢視磁碟掛載資訊
df -h
35.du
(1) 檢視當前目錄下所有目錄大小
du
(2) 檢視當前目錄下所有目錄大小總和
du -sh
36.sed
(1) 將test.txt中的所有ooo字串替換成kkk並輸出到控制檯(不修改檔案)
sed 's!ooo!kkkk!g' test.txt
(2) 將test.txt中的所有ooo字串替換成kkk(修改檔案)
sed -i 's!ooo!kkkk!g' test.txt
37.cut
(1) 將test.txt中所有行按逗號分隔並輸出第一,二列
cut -f1,2 -d"," test.txt
38.paste
(1) 將test.txt test2.txt 按行合併並按逗號分隔輸出到控制檯
paste -d ',' test.txt test2.txt
39.awk
(1) 將test.txt中所有行按逗號分隔並輸出第一列
awk -F ',' '{print $1}' test.txt
40.systemctl
(1) 設定開機啓動mysql服務
systemctl enable mysqld
(2) 啓動mysql服務
systemctl start mysqld
(3) 關閉mysql服務
systemctl stop mysqld
41.wget
(1) 下載檔案
wget https://www.baidu.com/
42.pwd
顯示當前目錄
pwd
本文主要列舉了hadoop最常用的命令,更爲深度的講解請掃描底部二維條碼關注公衆號,關注後續博文,一起學習hadoop大數據!