1. 程式人生 > >linux學習-DAY1-centos的基本配置,linux的基本命令

linux學習-DAY1-centos的基本配置,linux的基本命令

目錄

一、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.功能特性

  1. 將多塊磁碟合併成一塊磁碟,提供更大的儲存空間
  2. 可以把一個檔案分成多份併發存取,可以提供更高的IO能力
  3. 資料物理層面的高安全

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