Linux基礎
這裏主要介紹學習大數據過程中用到的Linux基礎知識,現在主攻的方向是大數據開發,歡迎大家共同交流。
環境
- 推薦安裝VMware虛擬機並安裝CentOS操作系統,具體資源的下載和安裝可以查到,如果踩到坑可以留言討論。
- 通過遠程連接工具可以直接操作虛擬機中的Linux系統,比如Xshell、SecureCRT等,熟悉Linux指令後推薦使用
注:這裏需要將虛擬機網絡設置爲NAT模式:[編輯——>虛擬網絡編輯器]
在主機電腦的[ 網絡共享中心 ]可以查看到VMnet8網絡適配器,其中IPv4地址與虛擬機網絡在同一網段下即可
最後在虛擬機中使用ifconfig
命令查看IP地址,使用遠程連接工具即可連接
常見的Linux指令
history
顯示歷史命令,可使用!命令序號
再次執行ctrl+a/e
讓光標移動到首尾部pwd
查看當前目錄ls
列出當前目錄文件
-l
除文件名稱外,亦將文件型態、權限、擁有者、文件大小等資訊詳細列出
-r
將文件以相反次序顯示
-t
將文件依建立時間之先後次序列出
-a
顯示所有文件及目錄,開頭爲"."的視爲隱藏檔
- vim編輯器的使用
vim test
編輯名爲test的文檔,如果不存在則創建
a/i
進入插入模式開始編輯
ESC鍵
返回到命令行模式
在命令模式下:
:q/:q!
不保存退出/強制退出
:wq
保存並退出
:set nu
顯示行號set nonu
不顯示行號
gg
回到首行
G
跳到尾行
dd
刪除光標所在行
yy
複製光標所在行p
粘貼在下一行,4yy
向下複製四行
wc
即word count命令,可以查閱腳本的行數字節數等信息,可以使用wc --help
查看具體命令
- 文件管理命令:
cat test1 test2 > test3
將文件拼接到另一個文件中cat -n test3
帶行號打印顯示touch
新建文件touch newFile
更改文件編輯時間爲當前touch test3
chmod
更改文件操作權限,可以使用ll
命令查看當前目錄下的個文件權限,依次是文件擁有者、羣組、其他,權限級別分爲w
可寫、r
可讀、x
可執行,可分別用數字4 2 1
代表,例如chmod 777 test3
chown
更改文件擁有者,文件擁有者分爲用戶
和組
注:在root用戶權限下才可執行上述兩條命令su root
find
查找命令,find -name '*.txt'
查找txt文件,通常可以配合管道命令查詢more
類似cat,但一頁一頁展示,使用ctrl+f
向下翻頁less
類似more,但是可以向上翻頁ctrl+b
head -n 5 test3
查看test3文件的前5行,tail -n 5 test3
查看後五行mv
重命名文件mv test1 test4
移動文件或目錄mv test4 /opt
即剪切功能cp
複製文件或目錄,參數-r
表示遞歸複製mkdir
創建目錄mkdir -p a/b/c
遞歸創建目錄a/b/ctar
解壓縮文件
-f
<備份文件>或–file=<備份文件> 指定備份文件
-v
或–verbose 顯示指令執行過程
-x
或–extract或–get 從備份文件中還原文件
-z
或–gzip或–ungzip 通過gzip指令處理備份文件
-C
<目的目錄>或–directory=<目的目錄> 切換到指定的目錄
一般我們使用tar -zxvf XXXX -C /usr/
即可
- 磁盤管理:
df -h
磁盤使用情況mount
掛載Linux系統外的文件 ,umount
卸除文件系統,一般系統外文件掛載在/mnt下
- 用戶管理
useradd
建立用戶賬號
-m
自動建立用戶的登錄目錄
-g
指定用戶所屬的羣組
-d
指定用戶登入時的家目錄
-u 600
在0——499之間表示系統用戶,500——232之間表示普通用戶passwd
更改使用者的密碼kill
殺死執行中的程序或工作,使用kill -l
查看所有進程,kill -9 pid
強制殺死此pid的進程
ssh操作
爲後面的集羣搭建做準備,需要掌握虛擬機之間通過ssh登錄的方法,準備兩臺虛擬機操作系統。
- 使用
ifconfig
命令查看IP地址 - 使用
ping
命令查看是否連通 - 使用
ssh root@IP
登錄,root爲登錄時的用戶名,由於沒有使用免密操作需要輸入密碼,可以使用exit
退出
- 免密操作
- 打開ssh功能
systemctl start sshd.service
,一般默認是打開的 - 啓動root用戶
su root
- 使用命令
ssh-keygen -t rsa
,一路回車,會創建公鑰和私鑰文件 - 將公鑰文件拷給主虛擬機:
ssh-copy-id -i ~/.ssh/id_rsa.pub 目標IP
(注:主虛擬機也要執行此操作,否則無法主從互相免密登錄,相當於向authorized_keys中註冊) - 在主虛擬機的.ssh目錄下可以看到
authorized_keys
,拷貝到各虛擬機即可:scp authorized_keys IP:$PWD
- 現在可以直接使用
ssh 'IP'
登錄另一臺虛擬機
注:由於我們剛纔切換到root用戶進行操作,所以免密登錄對root用戶有效,同理可切換到其他用戶創建密鑰鏈接
scp遠程拷貝
scp命令用於Linux之間複製文件和目錄
使用scp -r 本地路徑 目標路徑
即可,例如:scp -r test3 '192.168.154.11':/tmp
,-r
表示遞歸