Linux
1, 我們學習的linux是免費開源的,感謝一個人 Richard Stallman.
2, linux之父 Linus Torvals
3, 我們學習linux幹什麼? 用于web項目的伺服器
4, 檢視核心版本
uname -r
cat /proc/version
uname -a
5, 記住一個啟動檔案 /etc/rc.d/rc.local
6, 學習一個遠端終端軟體 xshell 和 遠端檔案上傳下載下傳軟體 xftp
7, shell指令
clear 清空螢幕 ( Ctrl + l )
pwd 檢視目前位置的絕對路徑
cd 目錄切換
絕對路徑: 從根目錄/出發找目标
例如: 我在/root内,出發找/usr/local 則指令為 cd /usr/local
相對路徑: 從目前位置出發找目标
例如: 我在/usr/local内,出發找/root 則指令為 cd …/…/root
直接輸入cd回車 傳回到登入使用者的家目錄 和 cd ~ 相同
ls 檢視目前目錄内的内容
ls / 檢視根目錄的内容
ls /usr/local 檢視/usr/local目錄中的内容
ls -l 以詳細資訊的方式檢視檔案
第一個字元:
- 普通檔案
d 表示目錄
l 表示連結檔案
ls -a表示檢視所有檔案,包括隐藏檔案
. 表示目前目錄
… 表示上一級目錄
ls -R 遞歸 方式檢視目錄及其子目錄中的内容
ls -lh 以詳細資訊的方式檢視檔案内容,檔案大小按就近機關顯示.
7.1 檔案操作
touch file 建立file檔案, 如果兩次建立的檔案名相同,則檔案的最後修改時間變化,檔案内容不變
touch file1 file2 同時建立兩個檔案file1和file2
file file1 檢視file1的檔案 類型
cp file1 file2 把file1複制一份叫file2
cp -i file1 file2 以互動模式把file1複制一份叫file2
cp -f file1 file2 以非互動模式把file1複制一份叫file2(root使用者沒有-
f)
cp -p file1 d1/ 把file1檔案複制到d1目錄内,保留修改時間和權限
mv file1 file2 把檔案file1改名叫file2
mv file1 d1/ 把檔案file1移動到d1目錄内
rm f1 删除f1檔案
rm f* 删除所有以f開頭的檔案 表示任意字元,不限字元個數
rm f? 删除所有以f開頭隻有兩個字元的檔案 ?表示一個字元
rm f1 f2 f3 同時删除f1,f2和f3檔案
rm -i f1 以互動模式删除f1檔案
rm -f f1 以非互動模式删除f1檔案
7.2目錄操作
mkdir d1 建立d1目錄
mkdir -p d4/d5/d6 建立多層目錄個
rmdir d4 删除空目錄d4
rm -r d4 遞歸的删除d4和d4内的所有子目錄和檔案
rm -rf d4以非互動模式遞歸的删除d4和d4内的所有子目錄和檔案
cp -a d4 d5 保留連結,保留時間和權限,複制d4,起名叫d5
cp -rv d4 d5 複制目錄,并且顯示複制過程,把d4複制一份叫d5
8,關機重新開機指令
shutdown -h now 立刻關機 (以root身份運作)
shutdown -h 10 10分鐘後關機 (以root身份運作)
shutdown -h 12:35 12點35分關機 (以root身份運作)
shutdown -r now 重新開機 (以root身份運作)
9, vi編輯器
進入編輯模式:
i 光标位置不變
I 光标定位到目前行第一個字元上
a 光标移動後下一個字元上
A 光标定位到目前行最後一個字元上
o 在下面插入一個新行
O 在上面插入一個新行
退出編輯模式(指令模式): ESC
:w 儲存
:q 退出
:q! 強制退出,不儲存
:wq 儲存并退出 相當于 :x
s 進入編輯模式,并删除光标所在字元
S 進入編輯模式,并删除光标所在行
u 撤銷
yy 複制
p 粘貼
dd 剪切
3,11y 複制第3行到第11行内容
/how 從上到下查找how字元串 n表示找下一個
?how 從下往上查找how字元串
10,讀取檔案内容
cat file1 讀取file1檔案中的所有内容
more 按屏讀取檔案,
空格 下一頁
b 上一頁
enter回車 下一行
q 退出
-num 指定螢幕大小
+num 從第幾行開始讀
head 從頭讀
-num 指定讀取的行數
tail 從末尾讀
-num 指定讀取的行數
11 echo 輸出字元串
> 覆寫
>> 追加
echo hello > file1 把hello字元寫到file1中
echo hello >> file1 把hello字元串追加到file1的末尾
12,給linux添加DNS
打開 /etc/resolv.conf
添加一行字元 nameserver 192.168.0.1
ctrl+c 強制結束目前程序.
13, 連網安裝軟體包
yum -y install vim 連網安裝vim工具
14, ctrl+c 強制結束目前正在運作的前台程序.
linux
1, 讀取檔案内容
cat 讀取全部檔案内容
more 按屏(頁)讀取檔案内容
空格: 下一屏(下一頁), b:上一屏, q:退出, 回車: 下一行
more -12 file1 一屏讀取12行
more +12 file1 從第12行開始讀取
head 讀取檔案頭部制定行數的内容 (預設10行)
head file1 讀取file1檔案的前10行内容
head -15 file1讀取file1檔案的前15行内容
tail 讀取檔案末尾制定行數的内容(預設10行)
tail file1 讀取檔案後10行内容
tail -9 file1讀取檔案後9行内容
tail -f file1 時時刻刻讀取file1檔案的内容.(ctrl+c退出)
2, 網絡連接配接方式
橋接bridge : 虛拟機和主控端都在同一個區域網路内.
本地網絡是以太網,則虛拟網絡編輯器選擇PCI
本地網絡是WIFI的則選擇wireless LAN 802.11
NAT: (網絡位址轉換)虛拟機和主控端公用一個IP位址
( 注: 主控端如果 能連網,則虛拟機就能連網. )
host only: 僅主機模式, 虛拟機和主控端單獨組成一個區域網路,這個區域網路内隻有兩台電腦
(注: 沒有網絡時,還想給虛拟機傳輸檔案時用, VMnet1就是主控端的網絡配置,需要設定主機的ip位址.例如: 192.168.88.1 )
3,修改IP
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33
修改
修改完畢後 :wq 儲存退出
重新開機網絡服務 service network restart
用ip addr檢視ip是否修改成功,
用ping 連接配接别人的ip試試能否聯通.
4,修改DNS
vi /etc/resolv.conf 添加 nameserver 192.168.0.1
5, 防火牆
檢視防火牆狀态 systemctl status firewalld.service
啟動防火牆 systemctl enable firewalld.service
開啟防火牆 systemctl start firewalld.service
關閉防火牆 systemctl stop firewalld.service
禁用防火牆 systemctl disable firewalld.service
檢視防火牆開啟的端口 firewall-cmd --list-all
開啟指定的端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
關閉指定的端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
firewall-cmd --reload
6, 軟體包 - 連網安裝
yum check-update 更新本地源,
yum [-y] install 軟體包 安裝
yum [-y] update 軟體包 更新包
yum [-y] remove 軟體包 解除安裝包
7, 軟體包 - 本地安裝
rpm -ivh 安裝本地寶
rpm -e 解除安裝本地寶
rpm -q 檢視本地寶
rpm -qa 檢視本地安裝的所有包
rpm -qa | grep xx 在所有包裡模糊查詢xx包
8, 挂載U盤
未插入U盤前,檢視外接裝置 cat /proc/partitions
插入U盤,輸入指令cat /proc/partitions 會發現多出兩個裝置,sdb4就是U盤
建立一個目錄用于挂載U盤
mkdir upan
mount -t vfat /dev/sdb4 upan
9 , 檢視硬碟用量 df -h
檢視記憶體用量 free -h
10, 遠端檔案傳輸指令scp
例如:把一個檔案 setip.sh傳給192.168.0.29的管理者的使用者目錄内.
scp setip.sh [email protected]:
11, 主機名
修改主機名: hostnamectl set-hostname 主機名
linux
1, 修改主機名:
hostnamectl set-hostname 主機名
檢視修改是否生效 hostnamectl
讓主機名關聯一個ip位址
vi /etc/hosts
填寫: 192.168.0.210 hadoop (注釋: ip 主機名)
su 切換使用者用
su zhangfei 切換到張飛使用者
su 切換到管理者
sudo 臨時用root身份運作指令(前提是使用者必須在visudo檔案内(91行))
2, 程序
檢視正在運作的 所有程序 ps -ef , 或者 ps -avx
動态檢視程序 top q: 退出
結束程序 kill pid
強制結束程序 kill -9 pid
強制結束目前在前台正在運作的程式 ctrl+c
在所有程序中模糊查詢一個程序 ps -ef | grep hello 模糊查詢跟hello有關的程序
3, 使用者群組管理
useradd xx 建立使用者xx
passwd xx 給使用者xx設定密碼 , 如果passwd後面什麼都沒寫,則是給目前使用者設定密碼.
userdel -r xx 删除使用者
存儲使用者資訊的檔案: vim /etc/passwd
組資訊檔案 : vim /etc/group
id xx 檢視使用者id的指令
groupadd xx建立xx組
useradd -g xx username 建立username使用者,指定組為xx
usermod -g xx guanyu 将已有使用者guanyu的組改成xx
groupdel xx 删除一個空組
su 切換使用者
su zhouyu 切換到zhouyu使用者
su 切換到root使用者
4,權限管理
r 可讀, w 可寫, x 可執行
改變使用者權限
chmod u+r f1 給f1添加可讀的權限
chmod u+rw f1 給f1添加可讀,可寫的權限
chmo u-rwx f1 去掉f1檔案的可讀,可寫,可執行的權限.
chmod u+x f1 給f1檔案的使用者添加可執行的權限.
改變組使用者權限
chmod g+r f1 給f1的組使用者添加可讀的權限
chmod g-wx 去掉f1組使用者的可寫,可執行的權限
chmod ug-rwx 給f1檔案的使用者,組使用者 去掉可讀,可寫,可執行的權限
改變其他使用者的權限
chmod o+rwx f1 給f1其他使用者添加可讀,可寫,可執行的權限
chmod o-wx f1 給f1的其他使用者,去掉可寫,可執行的權限
chmod a+rwx 給所有使用者添加可讀,可寫,可執行的權限
chmod -R 755 d1 将d1目錄及其子目錄内所有檔案的權限都改變
以二進制的方式改變權限
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
r w - r - - r - x
1 1 0 1 0 0 1 0 1 = 645
rwx r-x r-x = 111 101 101 = 755 chmod 755 f1
rw- r-- r-- = 110 100 100 = 644 chmod 644 f1
出題: r-x r-x --x , r-- rw- -wx, --x — ---, -wx --x --x.
5, 屬主
chown zhaogang:zhaogang f1 把f1檔案的使用者改成zhaogang, 組改成zhaogang
chown -R zhouyu:1010 d1 将d1目錄及其子目錄所有檔案的屬主,使用者改成zhouyu,組改成1010對應的組
6,檔案壓縮和歸檔
du 指令檢視檔案大小
壓縮 zip 解壓縮 unzip
zip f.zip f1 f2 f3 w* 把f1,f2,f3,和w開始的所有檔案都壓縮到f.zip檔案内
zip -m f.zip f* 把f開頭的所有檔案進行壓縮,壓縮後删除原檔案
zip -r f.zip d1 用遞歸的方式壓縮d1目錄内的所有檔案和子目錄,壓縮後叫f.zip
unzip f.zip 解壓縮f.zip
歸檔 tar
tar -cvf f.tar f1 f2 f3 把f1,f2,f3,進行歸檔,歸檔名叫f.tar
tar -xvf f.tar 解開歸檔檔案f.tar
歸檔後壓縮
tar -zcvf f.tar.gz f1 f2 f3把f1,f2,f3,進行歸檔并壓縮
tar -zxvf f.tar.gz 解開壓縮,并解開歸檔