Linux筆記
- 給虛擬機拍攝快照,右鍵某虛擬機 如centOS1,選擇快照-拍攝快照,即可生成快照,下次恢復時可以恢復到相應的快照。
- 日常操作命令:
**查看當前所在的工作目錄
pwd
**查看當前系統的時間
date
**查看有誰在線(哪些人登錄到了服務器)
who 查看當前在線
last 查看最近的登錄歷史記錄
3. 文件系統操作
**
ls / 查看當前目錄下的子節點(文件夾和文件)信息
ll 顯示當前目錄下的文件的詳細信息
ls -al -a顯示隱藏文件 -l 以更詳細的列表形式顯示
** 切換目錄
cd /home
注意:~ /home /root / 區別 在root用戶下,~ = /root 在普通用戶下 ~ = /home/當前的普通用戶名 /是所有文件的根目錄,linux的目錄是樹結構,/是父節點。
**創建文件夾
mkdir aaa 這是相對路徑的寫法
mkdir /data 這是絕對路徑的寫法
mkdir -p xx/xx/xx 創建目錄下的文件夾
**刪除文件夾
rmdir 可以刪除空目錄
rm -r aaa 可以把aaa整個文件夾及其中的所有子節點刪除
rm -rf aaa 強制刪除aaa整個文件夾
rm -rf /* 刪除整個系統 只有root可以進行該操作 很危險!!
**修改文件夾名稱
mv aaa cainainainai 把aaa改名爲cnn 文件裏面的內容不變
注意 mv指令既可以修改文件名稱也可以移動文件!
**創建文件
touch somefile.1 創建一個空文件
echo “I miss you” > somefile.2 利用重定向> 的功能,將一條指令的輸出結果寫入到一個文件中,如果原文件不是空文件,則會覆蓋掉原文件的內容
cat comefile.2 查看文件內容
echo “hellooooo” >> somefile.2 追加內容到文件
*用vim來編輯生成文件 vi somefile.3 會進入到文件,通過vim操作編輯
***************最基本用法(首先掌握這些)
1.首先會進入一般模式,此模式只接受各種快捷鍵,不能編輯文件內容。
2.按i鍵,從一般模式進入插入模式,此模式下,敲入的都是文件內容。
3.再按: , 進入底行命令行模式,輸入wq指令,回車即可保存修改內容並退出,如果按q!則不保存修改內容直接退出。
**************常用快捷鍵
vim有用的快捷鍵: 關於vim更多用法請看另一篇“VIM快速入門“。
a 在光標的後一位開始插入
A 在該行的最後插入
I 在該行的最前面插入
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 刪除行,如果按 5dd 則一次性刪除光標後的5行
yy 複製當前行,複製3行則3yy p 粘貼
v 進入可視模式 選擇完成後,按y複製,按p粘貼
ctr+v 進入塊選擇模式,選擇完成後,按y複製,按p粘貼
shift+v 進入行選擇模式,批量選擇行,選擇完成後,按y複製,按p粘貼
:%s/需要替換的內容/要替換的內容 查找並替換(在底行命令模式中輸入)
:/要查找的內容 查找文件中出現的xxx並定位到第一個找到的地方 n定位下一個,N定位上一個
mv 要移動的文件 移動的目標文件夾位置 如 mv somefile.3 t 移動文件
- 文件權限操作
*******linux文件權限的描述格式解讀
drwxr-xr-x -> d rwx r-x r-x 也可以用二進制表示 111 101 101 -> 十進制: 7 5 5
d: 標識節點類型(d:文件夾 -:文件 l:鏈接)
r:可讀 w:可寫 x:可執行
第一組rwx:表示這個文件的擁有者對它的全寫:可讀可寫可執行
第二組r-x:表示這個文件的所屬組對它的權限,可讀,不可寫,可執行
第三組:表示這個文件的其他用戶(除了上面兩類用戶)對它的權限:可讀,不可寫,可執行
*******修改文件權限
chmod g-rw somefile.3 表示將somefile.3對所屬組的rw權限取消
chmod o-rw somefile.3 表示將somefile.3對其他人的rw權限取消
chmod u+x somefile.3 表示將somefile.3對所屬用戶的權限增加x
因爲drwxr-xr-x也可以用二進制表示 111 101 101 -> 十進制: 7 5 5
所以也可以用數字方式修改權限
chmod 700 somefile.3
chmod 777 somefile.3
如果要將一個文件夾的所有內容權限統一修改,則可以用 -R 參數。
chmod -R 770 yy/
一般採用數字的方式修改權限,這樣比較方便。
注意:對於write權限,如果刪除一個文件,發現可以刪除,這是因爲刪除文件不會改變這個文件的內容,它改變的是這個文件的父文件的內容,因此想要不能刪除一個文件,需要設置的是該文件所在父目錄的w權限。
修改文件的擁有用戶和擁有組:
chown user1:user1 yy/ 只有root權限能執行該命令
- 基本的用戶管理
*****添加用戶(root權限)
useradd user1
passwd user1 修改user1用戶的密碼
*******爲用戶添加sudo權限
由於root很容易做出錯誤操作,一般不會用root用戶進行操作。此時一個普通用戶hadoop想要做一些root操作就需要提升自己的權限,此時使用su指令,輸入root的密碼後可以暫時切換到root用戶。當需要退出時輸入exit退出。但是這樣做同樣可能有危險。因爲在切換到root權限使用的期間可能會做出不當操作。 此時可以使用sudo指令 sudo userasdd sora ,它代表在執行下一條命令時臨時添加一個超級用戶權限的用戶並取名爲sora,當執行完該條指令後會回到當前用戶(hadoop)的身份。
但是通過操作我們會發現結果如下圖:
我們發現並不能臨時添加這樣一個超級權限的用戶,因爲我們事先沒有給hadoop分配這樣的權限,因此需要轉到root用戶,讓其給用戶hadoop在sudoers文件中配置以添加該權限。
使用root用戶 vi /etc/sudoers
修改該文件 爲方便起見,我們直接將用戶hadoop賦予和root一樣的權限,直接跳到文件末尾 然後向上找,找到畫框上一行代碼(注:畫框的是添加的!!),複製粘貼到下一行,將root改爲hadoop,再按輸入:wq!保存退出。因爲該文件是受保護的,因此要加!纔可以修改保存。
此時我們在Hadoop用戶下再次輸入 sudo useradd hanser,就可以執行成功了,如下圖:
接下來就和添加用戶權限一樣了,給hanser賦予密碼:
sudo passwd hanser
設置完密碼後,該超級權限的用戶hanser就建立了。此時我們可以登錄,指令爲
su hanser
如果要退回hadoop用戶,輸入exit即可。
- 系統管理操作
*****查看主機名 hostname
*****修改主機名 重啓後永久生效
vi /etc/sysconfig/network
********修改ip
vi /etc/sysconfig/network-scripts.ifcfg-eth0
******查看系統信息(版本等信息)
uname -a
uname -r
********日期 date
當需要查看某條指令的幫助時 在指令後加 –help
*****掛載外部存儲設備到文件系統中 在圖形界面中,光驅會自動掛載,但是在命令行系統 需要用指令操作掛載。
mkdir /mnt/cdrom 創建一個目錄用來掛載
mount -t iso9660 -o ro /dev/cdrom /mny/cdrom/ 將設備/dev/cdrom掛載到掛載點mnt/cdrom中
umount /mnt/cdrom 取消掛載
**********查看文件大小
正常的ll 或ls 只能看到文件的元大小且不帶單位,人無法識別真正的大小,因此需要用du指令。
du -sh 文件目錄 帶大小單位 du -sh * 把根目錄的所有文件大小全部統計出來
du -ah
查看分區磁盤的空間 df -h
********關機 halt 重啓 reboot 必須是root纔可以操作。
********拷貝文件到另一個目錄
cp somefile.1 /home/hadoop/
********查看文件內容
cat somefile.1 一次性將文件內容全部輸出到控制檯
more somefile.1 可以翻頁查看,空格下翻一頁,b上翻一頁 退出q
less somefile.1 翻頁查看 可以一行行的翻頁 下翻一頁 空格 上翻一頁 b 上翻一行 上箭頭 下翻一行 下箭頭 支持搜索 /xxx(和vi操作一樣)
tail -10 xxx 查看xxx文件的最後10行 一般用於查看追加日誌
tail -f xxx 會一直跟蹤xxx文件 不斷追加日誌 跟蹤文件的唯一inode號,就算文件改名還是跟蹤原來那個文件
tail -F xxx 按照文件名跟蹤,一般用這種
查看文件頭部前10行 head -10 xxx
- ssh免密登錄
ssh協議 遠程登錄安全外殼協議 從一個linux系統訪問另一個linux系統
有兩種身份驗證機制:
a,用戶名+密碼驗證 b,密鑰驗證
centOS1 192.168.159.128 訪問 centOS2 192.168.159.129
ssh 192.168.159.129
exit退出訪問的服務器回到本服務器。
ssh可做遠程文件拷貝和傳送:scp install.log [email protected]:/home/
scp 拷貝的文件 接收目標的身份@目標ip地址:拷貝的目錄
因爲沒做一次ssh協議都要輸入一次對方root的密碼,對於集羣,這種操作就很頻繁很麻煩,因此引入ssh免密登錄,即採用密鑰驗證方式。
主機A生成密鑰指令 ssh-keygen 然後提示要把密鑰存在哪裏 全部默認即可。
主機A將公鑰拷貝給主機B並放入B的authorized_keys中: ssh-copy-id 192.168.159.129
可以在B主機查看authorized_keys中是否存入了A的公鑰。
整個過程見下圖:
主機node1
主機node2
此時node1可以實現node2的ssh免密登錄
- 後臺服務管理
service network status 查看指定服務的狀態
service network stop/start/restart 停止/開啓/重啓服務
service –status-all 查看系統中全部後臺服務
-----系統啓動級別-------
vi /etc/inittab
*********設置後臺服務的自動配置
chkconfig 查看所有服務的配置
chkconfig iptables off/on 關閉/開啓 指定服務的自動啓動
上述是常見的操作,還有更多的指令需要再進一步學習中掌握。