# Linux常用命令
## 1.日常操作指令
### 1.pwd
> 查看當前所在的目錄
### 2.date
> 查看當前系統時間
### 3.who last
> who 查看當前在線 (whoami查看當前登錄的用戶)
>
> last 查看最近的登錄歷史
### 4.ls
> ls / 查看根目錄下的所有內容
>
> ls -l 以列表的方式展示 -a 顯示隱藏文件 -h 顯示文件大小
>
> ll 用的比較多 查看根目錄下的所以內容
## 2.常用操作
### 1.創建文件夾
> 創建文件 。
>
> mkdir abc 相對路徑的寫法
>
> mkdir /home/bb 在home目錄下建一個文件夾bb
>
> mkdir -p aaa/bbb/ccc 可以創建多層文件
>
> mkdir /data 絕對路徑的寫法
### 2.刪除文件夾
> rmdir 可以刪除空目錄
>
> rm -r aaa 可以把整個文件夾以及其中所有的子節點刪除。(帶有刪除提示)
>
> rm:是否進入目錄"aaa"? yesrm:是否進入目錄"aaa/bbb"? yesrm:是否刪除目錄 "aaa/bbb/ccc"?yesrm:是否刪除目錄 "aaa/bbb"?yesrm:是否刪除目錄 "aaa"?yes
>
> 注意:r表示遞歸。
>
> rm -rf aaa 強制刪除(無提示)
>
> rm -rf /home/bb刪除home文件夾下的bb文件夾
### 3.修改文件夾名稱
> mv aaa hhh 修改文件名稱
>
> mv file.1 /data/hello.1 移動文件到指定目錄并修改文件名
### 4.拷貝目錄
要拷貝一個目錄需要使用 cp 命令,語法:cp -r 目錄名稱 拷貝的目標位置。
cp -r aaa /home 將aaa文件夾復制到home文件夾下
cp /file.1 /aaa 將file.1文件復制到aaa文件夾下
需要注意的是,cp 命令不僅可以拷貝目錄還可以拷貝文件,壓縮包等,拷貝文件和壓縮包時不用寫-r 遞歸
### 5.創建文件
> touch file.1 創建一個空文件
>
> echo "hello linux ..." > file.1 利用重定向將輸出內容寫入到file.1文件中
>
> echo "bye,bye!" >> file.1 將指定內容重定向到目標,不覆蓋原有內容
>
> (> 會覆蓋文件原有內容,>> 在文件原有內容的基礎上進行追加)
>
> 可以使用cat 命令查看文件內容。
>
> vi /file.1 cat /file.1
>
> ls > file.2 也是可以的,關于>用法:只要前面有輸出內容都可以重定向到后面的文件中
`使用vi創建文件:`
> vi file.3
>
> 1.一般模式:只接受快捷鍵 ,進入vi編輯器的默認模式。
>
> `gg:`直接跳到首行
>
> `G:`直接跳到尾行
>
> `i:`進入編輯模式
>
> `a:`在光標的后一位開始插入
>
> `A:`在該行的最后插入
>
> `dd:`刪除當前行 3dd 一次刪除光標后3行
>
> `yy:`復制當前行 3yy 一次復制3行 `p:`進行粘貼
>
> `v Ctrl+v Shift+v:`分別對應字符模式,塊模式,行模式。該模式下y復制,p粘貼
>
> 2.編輯模式:Esc退出編輯模式回到一般模式。
>
> 3.底行模式 : 輸入: 表示進入底行模式。
>
> `%s/haha/sbsbsb:`查到所有haha字符并替換成sbsbsb
>
> `/指定內容:`直接查找到指定內容
>
> `wq` 保存文件并退出vi
>
> `wq!` 強制保存文件,并退出vi
>
> q!強制退出
>
> `e!` 放棄所有修改,從上次保存文件開始再編輯
yum如何安裝vim #yum install vim -y #reboot
文件的查看:在 Linux 系統中查看文件可以使用 cat,more,less.tail 命令。
使用 more 查看/etc/sudo.conf 文件,,可以顯示百分比,回車可以向下一行, 空格可以向下一頁,q 可以退出查看。(例如:more /etc/sudo.conf)
### 6.文件權限操作
> 權限解讀:drwxr-xr-x
>
> d:標識節點類型(d:文件夾 -:文件 l:鏈接)
>
> r:可讀 w:可寫 x:可執行
>
> 第一組rwx: 表示這個文件的擁有者對它的權限
>
> 第二組rwx: 表示這個文件的所屬組對它的權限
>
> 第三組rwx: 表示這個文件的其他用戶(相對于上面兩類用戶)對它的權限
>
> 修改權限
文件的類型:d:代表目錄\-:代表文件l:代表鏈接(類似于 window 中的快捷方式)后面的 9 位分為 3 組,每 3 位置一組,分別代表屬主的權限,與當前用戶同組的用戶的權限,其他用戶的權限。r:代表權限是可讀,r 也可以用數字 4 表示 w:代表權限是可寫,w 也可以用數字 2 表示x:代表權限是可執行,x 也可以用數字 1 表示
rwx --7
修改文件/目錄的權限的命令:chmod 命令
> 第一種寫法:chmod 777 /file.1 ll / -rwxrwxrwx. 1 root root 59 11月 20 03:16 file.1
>
> 第二種寫法:chmod u=rwx,g=rwx,o=rwx /file.1
### 7.基本用戶管理
> 1、添加用戶
>
> ? useradd 用戶名
>
> ? passwd 密碼
>
> 2、用戶的切換
>
> ? su 用戶名 切換成指定用戶
>
> ? su 切換成root
>
> ? sudo 執行當前命令的時候使用root權限
>
> ? 權限配置的文件在/etc/sudoers文件中
>
> 3、主機名稱
>
> ? hostname 查看主機名稱
>
> ? /etc/sysconfig/network 可以永久修改主機名稱
>
> 4、IP地址修改
>
> ? ifconfig 查看ip信息
>
> ? /etc/sysconfig/network-scripts/ifcfg-eth0
### 8.掛載
> rpm是由紅帽公司開發的軟件包管理方式,使用rpm我們可以方便的進行軟件的安裝、查詢、卸載、升級等工作。 但是rpm軟件包之間的依賴性問題往往會很繁瑣,尤其是軟件由多個rpm包組成時。
>
> Yum 能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
>
> 1.當有圖形化界面的時候,會自動掛載到/media文件夾中,里面的packages就有我們需要的各種rpm安裝包
>
> 2.當我們安裝非圖形化界面的Linux后則需要手動掛載
>
> ? 1.首先創建掛載后存放光盤內容的目錄。
>
> ? mkdir /mnt/cdrom
>
> ? 2.使用掛載命令,將光盤中的內容掛載到指定目錄。
>
> ? mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
>
> ? (-t 表示文件系統的設備類型,iso9660 為光盤。)
>
> ? (-o 表示文件掛上來后的模式,是可讀還是可寫 ro 只讀)
>
> ? 3.取消掛載
>
> ? umount /mnt/cdrom
### 9.查看文件大小
> du -s /opt 查看匯總之后的文件大小
>
> du -sh /opt 查看匯總之后的人能看懂的。(帶單位)而不是顯示當前文件在linux文件系統中占多少元數據
### 10.查看分區大小
> df -h 查看分區使用情況
### 11.關機,重啟
halt 關機 reboot 重啟
### 12.壓縮和解壓縮文件的操作
1.打包并壓縮文件
Linux 中的打包文件一般是以.tar 結尾的,壓縮的命令一般是以.gz 結尾的。而一般情況下打包和壓縮是一起進行的,打包并壓縮后的文件的后綴名一般.tar.gz。進行文件的打包壓縮使用命令 tar,該命令可以添加的參數有一下幾個:z:調用 gzip 壓縮命令進行壓縮 c:打包文件 v:顯示運行過程 f:指定文件名實例:將根目錄下的aaa目錄中的aaa.txt,bbb.txt和ccc.txt進行打包和壓縮。
tar -zcvf files.tar.gz aaa.txt bbb.txt ccc.txt
\-rw-r--r--. 1 root root 0 11月 20 04:14 aaa.txt\-rw-r--r--. 1 root root 0 11月 20 04:14 bbb.txt\-rw-r--r--. 1 root root 0 11月 20 04:14 ccc.txt\-rw-r--r--. 1 root root 132 11月 20 04:17 files.tar.gz
2.解壓縮命令
解壓縮文件依然使用 tar 命令,只是不再進行打包,而是進行解壓操作,語法:tar –xvf 壓縮文件名稱實例:將根目錄下的aaa 目錄中的 files.tar.gz 文件進行解壓
tar -xvf files.tar.gz(或者tar -zxvf files.tar.gz)
總用量 4\-rw-r--r--. 1 root root 0 11月 20 04:14 aaa.txt\-rw-r--r--. 1 root root 0 11月 20 04:14 bbb.txt\-rw-r--r--. 1 root root 0 11月 20 04:14 ccc.txt\-rw-r--r--. 1 root root 132 11月 20 04:17 files.tar.gz
3.解壓到/home下
tar -zxvf files.tar.gz -C/home
### 13.搜索命令
在 Linux 中藥進行搜索操作可以使用 grep 命令來完成,語法:grep 要搜索的字符串 要搜索的文件。
grep to /etc/sudo.conf
如果需要加上顏色標記,可以添加--color 參數。
grep to /etc/sudo.conf --color
### 14.查看進行命令
查看系統進程使用 ps –ef 命令。
ps -ef
### 15.管道命令
管道命令可以將前一個命令的輸出作為本次目錄的輸入來使用。實例:查看當前系統中所有的進程中包括 usr 字符串的進程
ps -ef | grep usr --color
### 16.殺死進程
在 Linux 中要殺死進程可以通過進程號來殺死進程,語法:kill -9 進程號實例:殺死系統進程中的 iptable 進程如果要根據進程的名稱殺掉進程,可以使用 pkill -9 進程名稱
## 3.SSH免密配置
使用SSH協議完成多臺服務器之間的文件傳遞。
命令 scp 要cp的文件名稱 root@192.168.33.100:/opt/ 輸入密碼即可。
SSH 遠程登錄的安全外殼協議
兩種驗證機制。
1.用戶,密碼驗證。
2.密鑰驗證。
> #### 1.ssh-keygen 生成密鑰對兒
>
> #### 2.ssh-copy-id 192.168.33.100(要免密登錄的主機ip)
克隆后的虛擬器,請修改主機名稱:vi /etc/sysconfig/network
# JDK安裝
## 1.解壓縮文件。
~~~
### 1.使用tar -zxvf JDK安裝包,命令解壓縮文件.
~~~
### 2.配置環境變量.
? vi /ect/profile
? 加入如下代碼。
~~~
export JAVA_HOME=/opt/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
~~~
? 重新加載配置文件
? source /etc/profile
? reboot之后永久生效。
# ZooKeeper安裝
## 1.解壓Zookeeper
? tar -zxvf ...
## 2.關閉防火墻
service iptables stop
chkconfig iptables off
hosts文件修改。vi /etc/hosts
192.168.205.133 hadoop1
192.168.205.130 hadoop2
192.168.205.131 hadoop3
service iptables status 查看防火墻是否關閉。
配置zookeeper配置文件。
1.修改數據存放目錄
? /root/zkdata
2.添加集群配置
? server.1=hadoop1:2888:3888
? server.2=hadoop2:2888:3888
? server.3=hadoop3:2888:3888
3.將本機的id寫入到/root/zkdata/myid 中 。
4.拷貝apps到各個主機
? scp -r apps/ hadoop3:/opt/
? (記得寫入myid)
? echo ID > myid
5.配置成功后可以啟動集群。(注意:沒有配置環境變量需要加入 ./ 不然命令未找到)
? 需要進入zookeeper中bin文件夾中執行命令 ./zkServer.sh start
? ./zkServer.sh status 可以查看當前啟動狀態。
?
? 配置方式。跟配置JDK環境變量類似。
? 首先使用vi進入 /etc/profile中 。
? 添加 ZOOKEEPER\_HOME=/opt/apps
? 然后在path中添加 $ZOOKEEPER\_HOME/bin:
? source /etc/profile 命令使當前終端生效reboot后永久生效。
6.集群開啟成功后可以使用jps命令查看。
\[JPS命令\] https://blog.csdn.net/fwch1982/article/details/7947451
\[kill 與 kill -9 區別\] http://baijiahao.baidu.com/s?id=1583143549389773853&wfr=spider&for=pc