linux學習-DAY1-centos的基本配置,linux的基本命令
阿新 • • 發佈:2019-01-08
目錄
一、centos系統安裝後的基本配置
1.常用軟體安裝
yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc^C
2.主機名和網路
# 1.設定主機名
hostnamectl set-hostname 自定義主機名
# 2.更改/etc/hosts中配置,進入vim編輯
vim /etc/hosts
# 3.新增一句 IP地址 自定義主機名
10.0.0.100 xcq
# 或者不用進入vim
echo "IP地址 自定義主機名">>/etc/hosts
3.關閉防火牆
# 1.顯示出當前使用的 iptables 規則 iptables -L # 2.清除iptables內建規則,但此時並不會永久關閉防火牆,重啟會重新整理 iptables -F # 3.開機禁用防火牆,第一道防火牆成功關閉 systemctl disable firewalld #第二道防火牆 # 4.getenforce 查詢當前狀態。此時狀態,Enforcing:工作狀態 getenforce # 5.臨時關閉防火牆 ,此時狀態,Permissive:關閉狀態 setenforce 0 # 6.為了永久關閉 vim /etc/selinux/config # 7.在config檔案中更改配置 SELINUX=disable
二、Linux命令
1.命令的基本組成
命令體 選項 引數(物件)
命令體:實現功能的小程式
選項:對於這個小程式的配置
引數:檔案
2.檔案型別
d :目錄,也就是資料夾
f :普通檔案
l :連結,快捷方式
b :塊裝置,磁碟、光碟機
c :字元裝置
p :管道
s :套接字
3.命令提示符
#:表示root使用者
[[email protected] ~]#
$:普通使用者
[[email protected] ~]$
4.快捷鍵
# 經常使用
ctrl + c/cancel:取消當前的操作
ctrl + l(小寫字母L)/clear:清屏
ctrl + d:退出當前使用者
ctrl + r:搜尋使用過的命令。或history:顯示所有使用過的命令
[TAB]:
1.命令補全
2.引數補全
# 瞭解
ctrl + a:把游標移動到行首
ctrl + e:把游標移動到行尾
ctrl+ u:把游標到行首的內容刪除/剪下
ctrl + y:貼上
delete:游標所在處從前往後刪除內容
ctrl + k:把游標到行尾的內容刪除/剪下
ctrl + →:向右移動一個單詞
ctrl + ←:向左移動一個單詞
ctrl + s:鎖屏,雖然鎖屏,但是鍵盤還是可以使用的,命令也會執行,所以一般都是先退出當前使用者,再鎖屏,提高安全性
ctrl + q:解鎖
5.幫助命令
# 該命令的詳細幫助
man 命令
# 該命令的簡易幫助
命令 --help
# 該命令的最詳細幫助
info 命令
6.關機重啟命令
# 重啟
reboot
#關機
poweroff
三、Linux命令分類
1.目錄
目錄結構規範 FSH(檔案系統層次化標準)
- 絕對路徑:從"/"開始一個具體路徑
- 相對路徑:從當前目錄開始的具體路徑(pwd可以檢視當前所在目錄)
# 1.建立目錄
# 建立一個目錄
mkdir /test
# 連續建立多個目錄,並且是父子關係
# 建立a目錄,並在a目錄下建立b目錄,在b目錄下建立c目錄
mkdir -p /a/b/c
# 與mkdir -p不同的是mkdir只能建立最後的c目錄,且如果a或b目錄沒有就會報錯
# 2.查詢目錄
# 只列出檔案及目錄
ls 目錄名
# 顯示目錄名,引數以詳細格式列表
ls -l 目錄名
# 只顯示當前目錄名
ls -d 目錄名
# 只顯示當前目錄名的具體資訊
ls -ld 目錄名
# 顯示當前目錄下的所有檔案及資料夾包括隱藏的.和..等的詳細資訊
ls -al 目錄名
# 對輸出檔案進行各種排序
ls -ltr 目錄名
# 以樹的形式顯示目錄及檔案,會顯示所有的
tree 目錄名
# 只顯示n層的目錄及檔案
tree -L n 目錄名
# 3.刪除目錄
rm -rf 目錄名
# 通過檔案控制代碼,有可能可以找回丟失資料(前提:不能重啟,不能有大量資料寫入)
# 4.修改目錄
# 剪下
# mv 來源目錄 目的目錄
mv /root/oldboy/ /tmp
# mv可以實現剪下的同時重新命名
mv /root/oldguo/ /tmp/oldguo.bak
# 相對路徑,在當前目錄,相當於重新命名
mv oldboy old
# 複製
# cp -r 來源目錄 目的目錄
cp -r /tmp/old /
# 複製目錄的同時攜帶屬性
cp -a
# 5.切換目錄
# 切換到指定目錄
cd 目錄名
# 切換到上一層目錄
cd ..
# 切換到上一次目錄
cd -
注
# 同時建立多個目錄,必須是連續的陣列或字母
mkdir a{1..10}
mkdir dir{a..f}
# 搜尋dir開頭的
ls -ld dir*
# 刪除dir開頭的
rm -rf dir*
2.檔案
檔案種類:
- ASCII TEXT:純文字檔案(操作最多的)
- LSB Exe:二進位制的可執行檔案(命令,程式)
- 壓縮檔案:zip tar gz bz2 cpio iso
- 二進位制資料檔案等.
# 1.建立檔案
touch a.txt
# 2.查詢檔案
# ls的操作與目錄的一致
ls 檔名
# 檔案內容檢視
cat a.txt
# 可檢視多個檔案內容
cat a.txt b.txt
# 由 1 開始對所有輸出的行數編號
cat -n a.txt
# 分頁顯示大檔案內容
# 對於一些大檔案,可以只顯示一部分內容,空格可接著顯示沒顯示的部分,只能往下翻頁
more a.txt
# 可上下翻頁
less a.txt
# 檔案前多少行
# 預設顯示前10行
head a.txt
# 顯示前三行,全稱n3,簡稱3
head -n3 a.txt
head -3 a.txt
# 檔案後多少行 預設顯示後10行
# 顯示後2行
tail -2 a.txt
# 監視檔案,會顯示檔案新增的後幾行
tail -f a.txt
# mv 命令和目錄的操作一樣
# cp 命令和目錄的區別不需要加-r (加上也不報錯)
# 3.內容修改
# 覆蓋重定向
# a會被passwd的內容覆蓋
cat /etc/passwd >a.txt
# 追加重定向
# 在a的後面新增上passwd的內容
cat /etc/passwd >>a.txt
四、VIM編輯器
1.使用
vim 檔名
2.模式
- 命令模式/初始模式:進入VIM之後的預設操作
- 編輯模式:可用鍵盤對文字隨意寫入
- 末行模式
3.命令模式
G:游標到達最後一行
gg/1G:游標到達第一行
nG:游標到達第n行
^:游標到達行首
$:游標到達行尾
/:搜尋關鍵字
yy:複製游標所在行
Nyy:複製N行
dd:剪下
Ndd:剪下N行
p:貼上,剪下後不黏貼就是刪除
x(del):刪除游標所在字元
dG:刪除游標到文字末尾
d$:從游標刪除到行尾,包括貫標所在字元
d^:從游標刪除到行首,不包括游標所在字元
r:替換游標所在字元
ZZ:儲存退出
u:撤銷上次操作
4.編輯模式
a:在游標之後錄入資料
i:在游標之前錄入資料
o:在游標下一行開啟新行錄入資料
A:在行尾錄入資料
I:在行首錄入資料
O:在游標上一行開啟新行錄入資料
ESC:退回到命令模式
# 小技巧:為了安全行,建議每編輯完一行就ESC,退回到命令模式
5.行末模式
:q! # 不儲存退出
:wq!# 儲存退出
:set nu # 每行標上序號
:set nonu # 取消序號
:%s/原字元/替代的字元/g # 替換字元 g代表全域性替換
五、檔案系統管理
1.Linux檔案系統型別
- ext2
- ext3
- ext4
- XFS
# 顯示所有的分割槽
ls -l /dev/sd*
2.如何分割槽
# 首先,當你新裝了一塊硬碟,你需要對這塊硬碟分割槽
# 1.檢視你的新裝的硬碟的名字
ls -l /dev/sd*
# 2.假設是/dev/sdb,分割槽
fdisk /dev/sdb
# 3.對/dev/sdb 新建分割槽
n
# 4.對/dev/sdb的新建分割槽命名,預設是1,每份一塊會自增,最多到4
回車
# 5.對/dev/sdb的新建分割槽分配空間的起始位置,開始位置是在上一個分割槽的之後,一般預設
回車
# 6.對/dev/sdb的新建分割槽分空間,也就是結束位置
+10G
回車
# 7.還可以接著分割槽,此時的分割槽還是預分割槽,一旦關閉,是不會儲存的
# 儲存預分割槽
w
# 8.格式化成檔案系統(XFS)
mkfs.xfs /dev/sdb1
# 9.掛載裝置
# 建立掛載點
mkdir /data
mount /dev/sdb1 /data
# 注:此時的掛載,一旦關機就不會有效果,所以要設定開機自動掛載
# 10.自動掛載檔案系統
vim /etc/fstab
# 新建一行
/dev/sdb1 /data xfs defaults 0 0
# 由於,在正真的生產環境中是根據連線順序來排列的,這樣會導致一個問題,和掛載裡的配置名會不一致,所以使用UUID來表示唯一,更加安全
# 顯示當前格式化的所有的硬碟的uuid
blkid
# 在/etc/fstab使用uuid
vim /etc/fstab
UUID=9fb2ec36-6a60-4394-9bfa-369261844d56 /data xfs defaults 0 0
六、Raid
1.功能特性
- 將多塊磁碟合併成一塊磁碟,提供更大的儲存空間
- 可以把一個檔案分成多份併發存取,可以提供更高的IO能力
- 資料物理層面的高安全
2.工作級別
raid0
優點:
條帶化功能,效能極高
至少兩塊盤,理論上盤越多效能越高
缺點:
安全性和單盤一樣
如果有一塊硬碟壞了,那資料就會丟失
raid1
優點:
映象功能,效能沒有明顯提升,就算有硬碟壞了,但是由於在別的盤有映象儲存,安全性高
缺點:
浪費一半空間
raid10
優點:
映象+條帶化 ,至少四快盤,效能和安全兼顧
缺點:
浪費一半空間
raid5
帶有校驗功能的條帶化
優點:
儲存資料時,根據資料計算校驗值,儲存到第三塊盤.
即使有硬碟損壞,也可以根據校驗值和僅剩的資料計算出丟失的資料,安全性相比raid0大大提高
讀資料效能較高
缺點:
寫入效能較低
至少三快盤,只允許一塊盤損壞,浪費1/n的磁碟空間
適合於讀多寫少的場景
七、使用者,組,許可權
1.使用者
作用
- 登入系統
- 管理系統物件
定義
使用者名稱(uid),密碼,家目錄(/home/oldboy),家目錄下會有環境變數檔案等.
每個使用者都必須有一個工作組,建立時沒指定,自動建立一個同名的組
操作
# 建立使用者
# -u 10011:指定使用者ID
# -g dev:指定使用者所屬組是dev,不寫預設會建立一個以使用者名稱命名的組
useradd -u 10011 -g dev oldguo
# 查詢使用者
id oldguo
# 設定使用者密碼
passwd oldguo
# 切換當前使用者
su - oldboy
# 刪除使用者
userdel -r oldboy
# 編輯使用者ID
usermod -u 3000 oldguo
2.組
# 建立組,並指定組ID,若不指定,預設從1000開始
groupadd -g 1001 dev
groupadd -g 1002 sa
groupadd -g 1003 dba
# 查詢組
cat /etc/group
# 查詢組檔案group最後三行,因為新建的組新增在後面
tail -3 /etc/group
# 刪除組
groupdel dba
# 編輯組ID
groupmod -g 10086 dev
3.許可權
定義
許可權是作用在檔案上的屬性.
許可權的分類
- r:可讀,用4代表
- w:可寫,用2代表
- x:可執行,用1代表
目錄 | 檔案 | |
---|---|---|
r | ls命令 | cat,vim等 |
w | 目錄以及目錄下的修改 | vim |
x | 目錄下的所有操作都依賴於x | 可執行程式 |
例項
# 檔案的屬性以及檔名
-rw-r--r-- 1 root root 154 Jan 4 17:38 uwsgi.ini
# -:檔案
當為[ d ]則是目錄
當為[ - ]則是檔案;
若是[ l ]則表示為連結文件(link file);
若是[ b ]則表示為裝置檔案裡面的可供儲存的介面裝置(可隨機存取裝置);
若是[ c ]則表示為裝置檔案裡面的串列埠裝置,例如鍵盤、滑鼠(一次性讀取裝置)。
# rw-r--r--:應該以三個為一組,分成三部分,且均為『rwx』
第1-3位(rw-):該檔案的所有者擁有該檔案的許可權
第4-6位(r--):所有者的同組使用者擁有該檔案的許可權
第7-9位(r--):其他使用者擁有該檔案的許可權
# root root:檔案所有者和檔案所有者的組
使用
# chmod:更改檔案許可權
# Linux檔案屬性有兩種設定方法,一種是數字,一種是符號。Linux檔案的基本許可權就有九個,分別是owner/group/others三種身份各有自己的read/write/execute許可權。檔案的許可權字元為:『-rwxrwxrwx』, 這九個許可權是三個三個一組的!其中,我們可以使用數字來代表各個許可權:
# r:4
# w:2
# x:1
# chmod [-R] xyz 檔案或目錄
# -R:對該目錄下的所有檔案生效
chmod -R 755 /data
# chgrp:更改檔案屬組
# chgrp [-R] 屬組名 檔名
# -R:該目錄下的所有檔案的屬組都會更改。
chgrp -R dev /data
# chown:更改檔案屬主,也可以同時更改檔案屬組
# chown [–R] 屬主名 檔名
# chown [-R] 屬主名:屬組名 檔名
chown -R oldguo /data
chown -R oldguo:dev /data
八、程式管理
程序
# 顯示程序
ps -ef / ps -A
# 過濾
ps -ef|grep mysql
# 停止程序,搜尋條件:程序號
kill 程序號
# 強制停止程序,搜尋條件:程序號
kill -9 程序號
# 停止程序,搜尋條件:程序名
pkill mysqld
服務
# 開啟服務
systemctl start 服務名
# 重啟服務
systemctl restart 服務名
# 暫停服務
systemctl stop 服務名
# 檢視已啟動服務的埠
netstat -tulnp / ss -tulnp
# 可過濾
netstat -tulnp |grep 80
ss -tulnp|grep 80
九、網路
操作
# 檢視IP地址,類似於windows的ipconfig
ip a
# 顯示或配置網路裝置
ifconfig
# 連線網路
ping
# 修改網絡卡IP地址IPADDR
vim /etc/sysconfig/network-scripts/ifcfg-eth0
# 修改好後重啟
systemctl restart network