Linu之linux系統基礎優化和基本命令

 Linux系統基礎優化和基本命令

網絡參數設定命令

ifconfig: 查詢,設置網卡和ip等參數
ifup,ifdown: 腳本命令,更簡單的方式
ip: 符合指令,直接修改上述功能
編輯網卡配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改配置參數:
ONBOOT=yes

網卡配置文件詳解

網絡配置文件:
/etc/sysconfig/network

網絡接口配置文件:
/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
DEVICE=: 關聯的設備名稱,要與文件名的後半部「INTERFACE_NAME」保持一致; 
BOOTPROTO={static|none|dhcp|bootp}: 引導協議;要使用靜態地址,使用static或none;dhcp表示使用DHCP服務器獲取地址;
IPADDR=: IP地址
NETMASK=:子網掩碼
GATEWAY=:設定默認網關;
ONBOOT=:開機時是否自動激活此網絡接口;
HWADDR=: 硬件地址,要與硬件中的地址保持一致;可省;
USERCTL={yes|no}: 是否容許普通用戶控制此接口;
PEERDNS={yes|no}: 是否在BOOTPROTO爲dhcp時接受由DHCP服務器指定的DNS地址;

ifup,ifdown命令

啓動/關閉一塊網卡:
ifup eth0
ifdown eth0

關閉網卡的話,xshell就會失去鏈接

ifconfig命令

ifconfig: 查看網卡的ip地址

直接輸入ifconfig會列出已經啓動的網卡,也能夠輸入ifconfig eth0的信息
各項解釋是:
eth0        網卡代號
lo            迴環地址loopback
inet        IPv4的Ip地址
netmask    子網掩碼
broadcast    廣播地址
RX/TX    流量發/收狀況  tx是發送(transport),rx是接收(receive)
packets    數據包數
errors    數據包錯誤數
dropped    數據包有問題被丟棄的數量
collisions    數據包碰撞狀況,數據越多表明網絡越差

ip命令

ip是一個命令,不是TCP/IP那個ip,這個ip命令結合了ifconfig和route兩個命令的功能

ip addr show    #查看ip信息

# 查看系統版本信息
cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core) 
# 查看內核版本好
uname -r
3.10.0-862.el7.x86_64
# 查看系統多少位
uname -m
x86_64
# 查看內核全部信息
uname -a
Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

用戶管理和文件權限

  現代操做系統通常屬於多用戶的操做系統,也就是說,同一臺機器能夠爲多個用戶創建帳戶,通常這些用戶都是爲普通用戶,這些普通用戶能同時登陸這臺計算機,計算機對這些用戶分配必定的資源。普通用戶在所分配到的資源內進行各自的操做,相互之間不受影響。可是這些普通用戶的權限是有限制的,且用戶太多的話,管理就不便,從而引入root用戶。此用戶是惟一的,且擁有系統的全部權限。root用戶所在的組稱爲root組。「組」是具備類似權限的多個用戶的集合.前端

root的權利:

  Linux系統的特性就是能夠知足多個用戶,同時工做,所以Linux系統必須具有很好的安全性。
在安裝RHEL7時設置的root管理員密碼,這個root管理員就是全部UNIX系統中的超級用戶,它擁有最高的系統全部權,可以管理系統的各項功能,如添加/刪除用戶,啓動/關閉進程,開啓/禁用硬件設備等等。
所以「能力越大,責任越大」,root權限必須很好的掌握,不然一個錯誤的命令可能會摧毀整個系統。python

root爲何叫root?

  在Linux系統中,用戶也有本身的UID身份帳號且惟一 系統管理員UID爲0 系統用戶UID爲1~999 Linux安裝的服務程序都會建立獨有的用戶負責運行。 普通用戶UID從1000開始:由管理員建立.mysql

用戶組(GID)

  爲了方便管理屬於同一組的用戶,Linux 系統中還引入了用戶組的概念。經過使用用 戶組號碼(GID,Group IDentification),咱們能夠把多個用戶加入到同一個組中,從而方 便爲組中的用戶統一規劃權限或指定任務。
  假設有一個公司中有多個部門,每一個部門中又 有不少員工。若是隻想讓員工訪問本部門內的資源,則能夠針對部門而非具體的員工來設 置權限。
  例如,能夠經過對技術部門設置權限,使得只有技術部門的員工能夠訪問公司的 數據庫信息等。linux

  Linux管理員在建立用戶時,將自動建立一個與其同名的用戶組,這個用戶組只有該用戶一我的nginx

  Linux/unix是一個多用戶、多任務的操做系統。git

root:默認在Unix/linux操做系統中擁有最高的管理權限。redis

普通用戶:是管理員或者具有管理權限的用戶所建立的,只能讀、看,不能增、刪、改。sql

建立普通用戶

# 添加用戶
useradd corn
# 設置密碼
passwd corn ※※※※※  

在當前用戶下直接passwd *****
root用戶下須要指定用戶
root能夠修改全部人的密碼,且不須要驗證

切換用戶

su命令能夠切換用戶身份的需求
su - corn1

su命令中的-很重要,意味着徹底切換到新的用戶,環境變量也切換爲新用戶的信息

# 查看當前用戶(我是誰)
whoami
# 退出當前用戶登陸
exit/logout

或者快捷鍵: ctrl+d

Tip:
1.超級用戶root切換普通用戶無需密碼.
2.普通用戶切換root,須要輸入密碼
3.普通用戶權限較小,只能基本查看信息
4.$符號是普通用戶命令提示符,#是超級管理員的提示符

userdel刪除用戶

-f        強制刪除用戶
-r        同時刪除用戶及其家目錄
userdel -r corn1

sudo命令

  sudo命令用來以其餘身份來執行命令,預設的身份爲root。在/etc/sudoers中設置了可執行sudo指令的用戶。若其未經受權的用戶企圖使用sudo,則會發出警告的郵件給管理員。用戶使用sudo時,必須先輸入密碼,以後有5分鐘的有效期限,超過時限則必須從新輸入密碼。至關於披着羊皮的狼.shell

注:想要使用sudo命令,須要到sudoers文件裏修改參數,畢竟不是隨便用的數據庫

sudo 【選項】【參數】
-b:在後臺執行指令;
-h:顯示幫助;
-H:將HOME環境變量設爲新身份的HOME環境變量;
-k:結束密碼的有效期限,也就是下次再執行sudo時便須要輸入密碼;。
-l:列出目前用戶可執行與沒法執行的指令;
-p:改變詢問密碼的提示符號;
-s<shell>:執行指定的shell;
-u<用戶>:以指定的用戶做爲新的身份。若不加上此參數,則預設以root做爲新的身份;
-v:延長密碼有效期限5分鐘;
-V :顯示版本信息。

接下來去配置sudoers(須要root去配置)

  這是因爲配置sudo必須編輯/etc/sudoers文件,而且只有root才能修改,我們能夠經過visudo命令直接編輯sudoers文件,使用這個命令還能夠檢查語法,比直接編輯 vim /etc/sudoers更安全

這樣就能夠愉快的使用root的命令了

文件與目錄權限

Linux權限的目的是(保護帳戶的資料)

Linux權限主要依據三種身份來決定:

  • user/owner 文件使用者,文件屬於哪一個用戶
  • group 屬組,文件屬於哪一個組
  • others 既不是user,也再也不group,就是other,其餘人

什麼是權限

在Linux中,每一個文件都有所屬的全部者,和全部組,而且規定了文件的全部者,全部組以及其餘人對文件的,可讀,可寫,可執行等權限。 對於目錄的權限來講,可讀是讀取目錄文件列表,可寫是表示在目錄內新增,修改,刪除文件。可執行表示能夠進入目錄

權限查看

ls -l /var/abrt/abrt.conf

權限開頭的第一個字母或符號:

  • - 通常文件
  • d 文件夾
  • l 軟鏈接(快捷方式)
  • b 塊設備,存儲媒體文件爲主
  • c 表明鍵盤,鼠標等設備

文件權限

  • r read可讀,能夠用cat等命令查看
  • w write寫入,能夠編輯或者刪除這個文件
  • x executable 能夠執行 

目錄權限

  • r 能夠對此目錄執行ls列出全部文件
  • w 能夠在這個目錄建立文件
  • x 能夠cd進入這個目錄,或者查看詳細信息

 

權限與數字轉化:

查看用戶權限命令

id指令查看
id root

修改文件權限屬性

普通用戶只能修改本身的文件名,時間與權限(注意) 所以修改其餘用戶權限,只能用最nb的root用戶

# 修改屬主
chown corn a.py

# 修改屬組
chgrp corn a.py

文件權限

咱們已知三種身份權限(屬主,屬組,其餘人),每種身份都有rwx的三種權限,系統還提供了數字計算權限。

r    read          4
w    write        2
x    execute     1

每種身份最低是0分,最高是r+w+x 7分

所以三種身份,最高權限是777,最低是000

屬主:rw(4+2=6)

屬組:r(4)

其餘:r(4)

修改權限的命令

chmod [身份]   [參數]   [文件]
    u(user)   +(添加)  
    g(group)   -(減去)
    o(other)  =(賦值)
    a(all)

軟連接

軟鏈接也叫作符號連接,相似於windows的快捷方式。

經常使用於安裝軟件的快捷方式配置,如python,nginx等

PS1變量

Linux命令提示符由PS1環境變量控制

echo $PS1

能夠自行調整全局變量/etc/profile文件用於永久生效 PS1='[\u@\h \W\t]\$'
\d  日期
\H  完整主機名
\h  主機名第一個名字
\t  時間24小時制HHMMSS
\T  時間12小時制
\A  時間24小時制HHMM
\u  當前用戶帳號名
\v  BASH的版本
\w  完整工做目錄
\W  利用basename取得工做目錄名
\#  下達的第幾個命令
\$  提示字符,root爲#,普通用戶爲$
PS1 > 變量名
$PS1 > 查看變量內容
PS1=新內容 從新賦值

tar解壓命令

你們在Windows上面下載東西時好多都是壓縮文件,簡單的說,就是通過壓縮軟件壓縮的文件叫壓縮文件,壓縮的原理是把文件的二進制代碼壓縮,把相鄰的0,1代碼減小,好比有000000,能夠把它變成6個0 的寫法60,來減小該文件的空間。Windows裏經過各類解壓軟件右鍵解壓就可使用了,那麼Linux中怎麼用的呢?

tar 命令:用來壓縮和解壓文件。tar自己不具備壓縮功能。他是調用壓縮功能實現的
tar(選項)(參數)
-A或--catenate:新增文件到以存在的備份文件;
-B:設置區塊大小;
-c或--create:創建新的備份文件;
-C <目錄>:這個選項用在解壓縮,若要在特定目錄解壓縮,可使用這個選項。
-d:記錄文件的差異;
-x或--extract或--get:從備份文件中還原文件;
-t或--list:列出備份文件的內容;
-z或--gzip或--ungzip:經過gzip指令處理備份文件;
-Z或--compress或--uncompress:經過compress指令處理備份文件;
-f<備份文件>或--file=<備份文件>:指定備份文件;
-v或--verbose:顯示指令執行過程;
-r:添加文件到已經壓縮的文件;
-u:添加改變了和現有的文件到已經存在的壓縮文件;
-j:支持bzip2解壓文件;
-v:顯示操做過程;
-l:文件系統邊界設置;
-k:保留原有文件不覆蓋;
-m:保留文件不被覆蓋;
-w:確認壓縮文件的正確性;
-p或--same-permissions:用原來的文件權限還原文件;
-P或--absolute-names:文件名使用絕對名稱,不移除文件名稱前的「/」號;
-N <日期格式> 或 --newer=<日期時間>:只將較指定日期更新的文件保存到備份文件裏;
--exclude=<範本樣式>:排除符合範本樣式的文件。

 

 Tip:Liunx命令中文手冊:點我

tar -cf all_pic.tar *.jpg #壓縮當前目錄全部jpg結尾的文件

tar -xjf xx.tar.bz2  #解壓縮bz2結尾的文件

gzip命令

gzip用來壓縮文件,是個使用普遍的壓縮程序,被壓縮的以".gz"擴展名 gzip能夠壓縮較大的文件,以60%~70%壓縮率來節省磁盤空間.

語法:
-d或--decompress或----uncompress:解開壓縮文件;
-f或——force:強行壓縮文件。
-h或——help:在線幫助;
-l或——list:列出壓縮文件的相關信息;
-L或——license:顯示版本與版權信息;
-r或——recursive:遞歸處理,將指定目錄下的全部文件及子目錄一併處理;
-v或——verbose:顯示指令執行過程;
壓縮當前目錄全部文件爲.gz文件
gzip * 
把上例中每一個壓縮的文件解壓,並列出詳細的信息
gzip -dv *

顯示壓縮文件的信息,並不解壓
gzip -l *
壓縮一個tar備份文件,擴展名是tar.gz
tar -cf my.tar my_first.py
gzip -r my.tar

netstat命令

netstat命令用來打印Linux中網絡系統的狀態信息,可以讓你得知整個Linux系統的網絡狀況。

語法:
netstat [選項]
-t或--tcp:顯示TCP傳輸協議的連線情況;
-u或--udp:顯示UDP傳輸協議的連線情況;
-n或--numeric:直接使用ip地址,而不經過域名服務器;
-l或--listening:顯示監控中的服務器的Socket;
-p或--programs:顯示正在使用Socket的程序識別碼和程序名稱;
-a或--all:顯示全部連線中的Socket;

ps命令

ps 命令用於查看系統中的進程狀態,格式爲「ps [參數]」。

ps  命令經常使用參數
-a     顯示全部進程
-u     用戶以及其餘詳細信息
-x    顯示沒有控制終端的進程

kill命令

kill命令用來刪除執行中的程序或工做。kill可將指定的信息送至程序。

語法:
-a:當處理當前進程時,不限制命令名和進程號的對應關係;
-l <信息編號>:若不加<信息編號>選項,則-l參數會列出所有的信息名稱;
-p:指定kill 命令只打印相關進程的進程號,而不發送任何信號;
-s <信息名稱或編號>:指定要送出的信息;
-u:指定用戶。

只有第9種信號(SIGKILL)才能夠無條件終止進程,其餘信號進程都有權利忽略,下面是經常使用的信號:

HUP     1    終端斷線
INT     2    中斷(同 Ctrl + C)
QUIT    3    退出(同 Ctrl + \)
TERM   15    終止
KILL    9    強制終止
CONT   18    繼續(與STOP相反, fg/bg命令)
STOP   19    暫停(同 Ctrl + Z)
先用ps查找進程,而後用kill殺掉:
ps -ef | grep vim
root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log
root      3370  2822  0 16:21 pts/0    00:00:00 grep vim

kill 3268

killall命令

一般來說,複雜軟件的服務程序會有多個進程協同爲用戶提供服務,若是逐個去結束這 些進程會比較麻煩,此時可使用 killall 命令來批量結束某個服務程序帶有的所有進程。

SElinux功能

SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對於強制訪問控制的實現,這個功能管理員又愛又恨,大多數生產環境也是關閉的作法,安全手段使用其餘方法。

大多數ssh鏈接不上虛擬機,都是由於防火牆和selinux阻擋了

永久關閉方式:

1.修改配置文件,永久生效關閉selinux
cp /etc/selinux/config /etc/selinux/config.bak #修改前備份
2.修改方式能夠vim編輯,找到
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
3.用sed替換
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
4.檢查狀態
grep "SELINUX=disabled" /etc/selinux/config
#出現結果即表示修改爲功

臨時關閉selinux(命令行修改,重啓失效):

getenforce #獲取selinux狀態
#修改selinux狀態
setenforce 
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
數字0 表示permissive,給出警告,不會阻止,等同disabled
數字1表示enforcing,表示開啓

Tip:

修改selinux配置後,想要生效還得重啓系統,技巧就是(修改配置文件+命令行修改,達到當即生效) 生產環境的服務器是禁止隨意重啓的!!!!

iptables防火牆

在學習階段,關閉防火牆能夠更方便的學習,在企業環境中,通常只有配置外網ip的linux服務器纔會開啓防火牆,可是對於高併發流量的業務服務器仍然是不能開啓的,會有很大性能損失,所以須要更nb的硬件防火牆。

關閉防火牆具體操做以下:

centos7默認已經使用firewall做爲防火牆了
1.關閉防火牆
systemctl status firewalld #查看防火牆狀態
systemctl stop firewalld    #關閉防火牆
systemctl disable firewalld#關閉防火牆開機啓動
systemctl is-enabled firewalld.service#檢查防火牆是否啓動

Linux中文顯示設置(放置中文亂碼)

#查看系統當前字符集
echo $LANG
#檢查xshell crt的字符集
#命令修改字符集
export LANG=en_US.utf8
1.修改配置文件/etc/locale.conf
LANG="zh_CN.UTF-8"
2.更改後查看系統語言變量
locale

亂碼核心解決辦法:

1.系統字符集utf8
2.xshell字符集utf8
3.文件字符集一致zh_CN.UTF-8

df命令

df命令用於顯示磁盤分區上的可以使用的磁盤空間。默認顯示單位爲KB。能夠利用該命令來獲取硬盤被佔用了多少空間,目前還剩下多少空間等信息。

語法:
df(選項)(參數)
-h或--human-readable:以可讀性較高的方式來顯示信息;
-k或--kilobytes:指定區塊大小爲1024字節;
-T或--print-type:顯示文件系統的類型;
--help:顯示幫助;
--version:顯示版本信息。

查看磁盤系統設備

tree命令

-a:顯示全部文件和目錄;
-A:使用ASNI繪圖字符顯示樹狀圖而非以ASCII字符組合;
-C:在文件和目錄清單加上色彩,便於區分各類類型;
-d:先是目錄名稱而非內容;
-D:列出文件或目錄的更改時間;
-f:在每一個文件或目錄以前,顯示完整的相對路徑名稱;
-F:在執行文件,目錄,Socket,符號鏈接,管道名稱名稱,各自加上"*""/""@""|"號;
-g:列出文件或目錄的所屬羣組名稱,沒有對應的名稱時,則顯示羣組識別碼;
-i:不以階梯狀列出文件和目錄名稱;
-l:<範本樣式> 不顯示符號範本樣式的文件或目錄名稱;
-l:如遇到性質爲符號鏈接的目錄,直接列出該鏈接所指向的原始目錄;
-n:不在文件和目錄清單加上色彩;
-N:直接列出文件和目錄名稱,包括控制字符;
-p:列出權限標示;
-P:<範本樣式> 只顯示符合範本樣式的文件和目錄名稱;
-q:用「?」號取代控制字符,列出文件和目錄名稱;
-s:列出文件和目錄大小;
-t:用文件和目錄的更改時間排序;
-u:列出文件或目錄的擁有者名稱,沒有對應的名稱時,則顯示用戶識別碼;
-x:將範圍侷限在現行的文件系統中,若指定目錄下的某些子目錄,其存放於另外一個文件系統上,則將該目錄予以排除在尋找範圍外。

設置主機名

 

DNS

  DNS(Domain Name System,域名系統),萬維網上做爲域名和IP地址相互映射的一個分佈式數據庫,可以使用戶更方便的訪問互聯網,而不用去記住可以被機器直接讀取的IP數串。
  經過域名,最終獲得該域名對應的IP地址的過程叫作域名解析(或主機名解析)。

查看Linux的dns,惟一配置文件

配置文件
cat /etc/resolv.conf

計劃任務crond服務

crond服務相關的軟件包
[root@MiWiFi-R3-srv ~]# rpm -qa |grep cron
cronie-anacron-1.4.11-14.el7.x86_64
crontabs-1.11-6.20121102git.el7.noarch
cronie-1.4.11-14.el7.x86_64

這些包在最小化安裝系統時就已經安裝了,而且會開機自啓動crond服務,併爲咱們提供好編寫計劃任務的crontab命令。

crontab命令被用來提交和管理用戶的須要週期性執行的任務,與windows下的計劃任務相似

crontab (選項)(參數)
-e:編輯該用戶的計時器設置;
-l:列出該用戶的計時器設置;
-r:刪除該用戶的計時器設置;
-u<用戶名稱>:指定要設定計時器的用戶名稱。

存放定時任務的文件
/var/spool/cron

注意:

1 查看計劃任務的執行:tail -f /var/log/cron

2 寫計劃任務時,命令必須加上絕對路徑,不然會出現這種狀況:從日誌中看,確實觸發了計劃任務的執行,可是命令卻沒有執行成功,好比* * * * * reboot就會出現這種狀況,須要將reboot寫成/usr/sbin/reboot

3.  計劃任務執行的命令 是否存在,軟件是否安裝  

4. 確保crontab服務運行  

5. 檢測crontab是否開機啓動

systemctl is-enabled crond

crontab配置文件

在/etc目錄下有一個crontab文件,這個就是系統任務調度的配置文件
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
 分 時  日 月  周
crontab任務配置基本格式:
*  *  *  *  *  command
分鐘(0-59) 小時(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0表明星期天)  命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令

星號(*):表明全部可能的值,例如month字段若是是星號,則表示在知足其它字段的制約條件後每個月都執行該命令操做。
30 08 * * *  天天8.30去上班  
逗號(,):能夠用逗號隔開的值指定一個列表範圍,例如,「1,2,5,7,8,9」
中槓(-):能夠用整數之間的中槓表示一個整數範圍,例如「2-6」表示「2,3,4,5,6」
正斜線(/):能夠用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線能夠和星號一塊兒使用,例如*/10,若是用在minute字段,表示每十分鐘執行一次。
*/3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com  每隔三分鐘執行下時間同步

天天8.30上班
30 08 * * *  去上班
天天12下班回家睡覺
00 00 * * *   回家睡覺
全部命令必定要用絕對路徑來寫!

#每分鐘執行一次命令
* * * * * 命令
#每小時的3,15分組執行命令
3,15 * * * * 命令
#在上午8-11點的第3和第15分鐘執行
3,15 8-11 * * * 命令
#每晚21:30執行命令
30 21 * * * 命令
#沒周6、日的1:30執行命令
30 1 * * 6,0 命令
#每週一到週五的凌晨1點,清空/tmp目錄的全部文件
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
#每晚的21:30重啓nginx
30 21 * * * /opt/nginx/sbin/nginx -s reload
#每個月的1,10,22日的4:45重啓nginx
45 4 1,1,10,22 * * /opt/nginx/sbin/nginx -s reload
#每一個星期一的上午8點到11點的第3和15分鐘執行命令
3,15 8-11 * * 1 command

軟件包

  軟件包顧名思義就是將應用程序、配置文件和數據打包的產物,全部的linux發行版都採用了某種形式的軟件包系統,這使得linux軟件管理和在windows下同樣方便,suse、red hat、fedora等發行版都是用rpm包,Debian和Ubuntu則使用.deb格式的軟件包。 

mysql-5-3-4.rpm
redis-3-4-3.rpm
nginx2-3-2.rpm

rpm軟件包管理工具

#如今要安裝mysql
#下載地址
https://dev.mysql.com/downloads/mysql/
安裝軟件的命令格式                rpm -ivh filename.rpm     # i表示安裝   v顯示詳細過程  h以進度條顯示
升級軟件的命令格式                rpm -Uvh filename.rpm
卸載軟件的命令格式                rpm -e filename.rpm
查詢軟件描述信息的命令格式         rpm -qpi filename.rpm
列出軟件文件信息的命令格式         rpm -qpl filename.rpm
查詢文件屬於哪一個 RPM 的命令格式   rpm -qf filename

rpm安裝軟件

[root@corn opt]# wget https://rpmfind.net/linux/centos/7.5.1804/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
--2018-11-28 21:43:22--  https://rpmfind.net/linux/centos/7.5.1804/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
正在解析主機 rpmfind.net (rpmfind.net)... 195.220.108.108
正在鏈接 rpmfind.net (rpmfind.net)|195.220.108.108|:443... 已鏈接。
已發出 HTTP 請求,正在等待迴應... 200 OK
長度:79376 (78K) [application/x-rpm]
正在保存至: 「lrzsz-0.12.20-36.el7.x86_64.rpm」

100%[===========================================================================================>] 79,376       146KB/s 用時 0.5s   

2018-11-28 21:43:44 (146 KB/s) - 已保存 「lrzsz-0.12.20-36.el7.x86_64.rpm」 [79376/79376])

[root@corn opt]# rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm 
準備中...                          ################################# [100%]
    軟件包 lrzsz-0.12.20-36.el7.x86_64 已經安裝

rpm查詢軟件

rpm -q lrzsz  #查詢lrzsz是否安裝
rpm -qi lrzsz #查詢lrzsz包的說明信息
rpm -ql lrzsz #查詢lrzsz包生成的文件列表
rpm -qc nginx  #查詢nginx安裝生成後的配置文件路徑
rpm -qf /etc/nginx/fastcgi.conf  #查看這個文件由哪一個rpm包安裝

rpm升級軟件

rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 若是裝有老版本的,則升級;不然,則安裝;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:若是裝有老版本的,則升級;不然,退出;

rpm卸載軟件

rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 若是裝有老版本的,則升級;不然,則安裝;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:若是裝有老版本的,則升級;不然,退出;

yum命令

  yum命令是在Fedora和RedHat以及SUSE中基於rpm的軟件包管理器,它可使系統管理人員交互和自動化地更細與管理RPM軟件包,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟體包,無須繁瑣地一次次下載、安裝。

  儘管 RPM 可以幫助用戶查詢軟件相關的依賴關係,但問題仍是要運維人員本身來解決, 而有些大型軟件可能與數十個程序都有依賴關係,在這種狀況下安裝軟件會是很是痛苦的。 Yum 軟件倉庫即是爲了進一步下降軟件安裝難度和複雜度而設計的技術。Yum 軟件倉庫能夠 根據用戶的要求分析出所需軟件包及其相關的依賴關係,而後自動從服務器下載軟件包並安 裝到系統。

  Yum 軟件倉庫中的 RPM 軟件包能夠是由紅帽官方發佈的,也能夠是第三方發佈的,當 然也能夠是本身編寫的。

  yum提供了查找、安裝、刪除某一個、一組甚至所有軟件包的命令,並且命令簡潔而又好記。

yum(選項)(參數)
-h:顯示幫助信息;
-y:對全部的提問都回答「yes」;
-c:指定配置文件;
-q:安靜模式;
-v:詳細模式;
-d:設置調試等級(0-10);
-e:設置錯誤等級(0-10);
-R:設置yum處理一個命令的最大等待時間;
-C:徹底從緩存中運行,而不去下載或者更新任何頭文件。

yum源配置

什麼是yum源?

    • Yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟件包,無須繁瑣地一次次下載、安裝。
    • 說到yum源就必須說到linux系統中特有的依賴關係問題,yum就是爲了解決依賴關係而存在的。yum源就至關是一個目錄項,當咱們使用yum機制安裝軟件時,若須要安裝依賴軟件,則yum機制就會根據在yum源中定義好的路徑查找依賴軟件,並將依賴軟件安裝好。
    • YUM是「Yellow dog Updater, Modified」的縮寫,是一個軟件包管理器,YUM從指定的地方(相關網站的rpm包地址或本地的rpm路徑)自動下載RPM包而且安裝,可以很好的解決依賴關係問題。
    • YUM的基本工做機制以下:
      服務器端:在服務器上面存放了全部的RPM軟件包,而後以相關的功能去分析每一個RPM文件的依賴性關係,將這些數據記錄成文件存放在服務器的某特定目錄內。 
      客戶端:若是須要安裝某個軟件時,先下載服務器上面記錄的依賴性關係文件(可經過WWW或FTP方式),經過對服務器端下載的紀錄數據進行分析,而後取得全部相關的軟件,一次所有下載下來進行安裝。

yum源的目錄

#進入yum源目錄
cd /etc/yum.repos.d/
#查看yum源文件
ls -l

配置阿里雲yum源

1.好習慣,備份yum源
mkdir repo_bak
mv *.repo repo_bak/
2.下載阿里雲repo文件
wget http://mirrors.aliyun.com/repo/Centos-7.repo
3.清空yum緩存而且生成新的yum緩存
yum clean all
yum makecache
4.安裝軟件擴展源
yum install -y epel-release
yum repolist all        列出全部倉庫
yum list all            列出倉庫全部軟件包
yum info 軟件包名            查看軟件包信息
yum install 軟件包名        安裝軟件包
yum reinstall 軟件包名    從新安裝軟件包
yum update    軟件包名        升級軟件包
yum remove    軟件包名        移除軟件包
yum clean all            清楚全部倉庫緩存
yum check-update        檢查能夠更新的軟件包
yum grouplist            查看系統中已安裝的軟件包
yum groupinstall 軟件包組    安裝軟件包組

系統服務管理命令

設置開機啓相關

/etc下的Linux目錄知識

#網卡配置文件
/etc/sysconfig/network-script/ifcfg-eth0
#修改機器名以及網卡,網管等配置
/etc/sysconfig/network
#linux的dns客戶端配置文件,實現域名和ip的互相解析
/etc/resolv.conf
#本地dns解析文件,設定ip和域名的對應解析,開發測試最經常使用的臨時域名解析
/etc/hosts/
#系統全局環境變量永久生效的配置文件,如PATH等
/etc/profile
#用戶的環境變量
~/.bash_profile 
~/.bashrc
#存放可執行程序的目錄,大可能是系統管理命令
/usr/sbin
#存放用戶自編譯安裝軟件的目錄  > 等同於C:\Program files (windows)
/usr/local
#關於處理器的信息,還能夠top指令查看
/proc/cpuinfo
#查看內存信息,還能夠free -m
/proc/meminfo 

服務器沒法上網錯誤

1.yum報錯
    Error couldn't resolve host 'mirrorlist.centos.org'
2.ping www.baidu.com 看是否能上網
3.若是百度不通,ping ip通了
ping 119.29.29.29  ,說明dns有問題
相關文章
相關標籤/搜索