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

1、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

2、Linux命令

1.命令的基本組成

命令體 選項 參數(對象)

命令體:實現功能的小程序
選項:對於這個小程序的配置
參數:文件

2.文件類型

d :目錄,也就是文件夾
f :普通文件
l :連接,快捷方式
b :塊設備,磁盤、光驅
c :字符設備
p :管道
s :套接字

3.命令提示符

#:表示root用戶
[root@oldboy ~]#   

$:普通用戶
[oldguo@oldboy ~]$

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

3、Linux命令分類

1.目錄

目錄結構規範 FSH(文件系統層次化標準)mysql

  • 絕對路徑:從"/"開始一個具體路徑
  • 相對路徑:從當前目錄開始的具體路徑(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 -

linux

# 同時建立多個目錄,必須是連續的數組或字母
mkdir a{1..10}
mkdir dir{a..f}

# 搜索dir開頭的
ls -ld dir*

# 刪除dir開頭的
 rm -rf dir*

2.文件

文件種類:sql

  • 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

4、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表明全局替換

5、文件系統管理

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

6、Raid

1.功能特性

  1. 將多塊磁盤合併成一塊磁盤,提供更大的存儲空間
  2. 能夠把一個文件分紅多份併發存取,能夠提供更高的IO能力
  3. 數據物理層面的高安全

2.工做級別

raid0小程序

優勢:
    條帶化功能,性能極高
    至少兩塊盤,理論上盤越多性能越高
缺點:
    安全性和單盤同樣
    若是有一塊硬盤壞了,那數據就會丟失

raid1vim

優勢:
    鏡像功能,性能沒有明顯提高,就算有硬盤壞了,可是因爲在別的盤有鏡像保存,安全性高
缺點:
    浪費一半空間

raid10windows

優勢:
    鏡像+條帶化 ,至少四快盤,性能和安全兼顧
缺點:
    浪費一半空間

raid5centos

帶有校驗功能的條帶化  
優勢:
    存儲數據時,根據數據計算校驗值,存儲到第三塊盤.
    即便有硬盤損壞,也能夠根據校驗值和僅剩的數據計算出丟失的數據,安全性相比raid0大大提升
    讀數據性能較高
缺點:
    寫入性能較低
    至少三快盤,只容許一塊盤損壞,浪費1/n的磁盤空間

適合於讀多寫少的場景

7、用戶,組,權限

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

8、程序管理

進程

# 顯示進程
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

9、網絡

操做

# 查看IP地址,相似於windows的ipconfig
ip a

# 顯示或配置網絡設備
ifconfig 

# 鏈接網絡
ping 

# 修改網卡IP地址IPADDR
vim /etc/sysconfig/network-scripts/ifcfg-eth0 
# 修改好後重啓
systemctl restart network
相關文章
相關標籤/搜索