主頁 > 作業系統 > Linux系統基礎優化及常用命令

Linux系統基礎優化及常用命令

2020-10-06 20:34:20 作業系統

目錄
  • 1.Linux基礎系統優化
    • 1.1網卡組態檔詳解
    • 1.2ifup,ifdown命令
    • 1.3ifconfig命令
    • 1.4ifup,ifdown命令
    • 1.5ip命令
  • 2.用戶管理與檔案權限篇
    • 2.1root的權利
    • 2.2root為什么叫root?
    • 2.3用戶組GID
    • 2.4創建普通用戶
    • 2.5切換用戶
      • 2.5.1groupadd命令
    • 2.6userdel洗掉用戶
    • 2.7sudo命令
    • 2.6設定主機名
  • 3.檔案與目錄權限
    • 3.1什么是權限
    • 3.2Linux權限的觀察
    • 3.3檔案權限
  • 4.目錄權限
    • 4.1查看用戶權限命令
    • 4.2修改檔案權限屬性
    • 4.3檔案權限
    • 4.4修改權限的命令
  • 5.軟連接
    • 5.1PS1變數
  • 6.打包及解壓命令
    • 6.1tar解壓命令
    • 6.2gzip命令
  • 7.網路命令
    • 7.1netstat命令
    • 7.2DNS
    • 7.3查看Linux的dns,唯一組態檔
    • 7.4本地強制dns決議檔案/etc/hosts
    • 7.5nslookup命令
    • 7.6ps命令
    • 7.7Kill命令
    • 7.8killall命令
    • 7.9SELinux功能
    • 7.10iptables防火墻
  • 8.Linux中文顯示設定(防止中文亂碼)
    • 8.1df命令
  • 9.tree命令
  • 10.計劃任務crond服務
  • 11.軟體包管理
    • 11.1軟體包是什么
    • 11.2windows程式
    • 11.3macos程式
    • 11.4RPM軟體包管理器
      • 11.4.1rpm安裝軟體
      • 11.4.2rpm查詢軟體
      • 11.4.3 rpm升級軟體
      • 11.4.4rpm卸載軟體
      • 11.4.5rpm的依賴問題,因此不太好用
    • 11.5yum命令
    • 11.5.1yum源配置
  • 12.系統服務管理命令
  • 13.必須掌握的/etc下的linux目錄知識
  • 14.Linux下安裝程式的方法
    • 11.1安裝Lrzsz
  • 15.服務器無法上網錯誤

1.Linux基礎系統優化

Linux的網路功能相當強悍,一時之間我們無法了解所有的網路命令,在配置服務器基礎環境時,先了解下網路引數設定命令,

  • ifconfig  查詢、設定網卡和ip等引數
  • ifup,ifdown 腳本命令,更簡單的方式啟動關閉網路
  • ip  符合指令,直接修改上述功能
在我們剛裝好linux的時候,需要用xshell進行遠程連接,那就得獲取ip地址,有時候網卡默認是沒啟動的,Linux也就拿不到ip地址,因此我們得手動啟動網卡
#編輯網卡組態檔
vim /etc/sysconfig/network-scripts/ifcfg-eth0 
#修改配置引數
ONBOOT=yes	#在系統啟動時是否激活網卡,只有在激活狀態的網卡才能去連接網路,進行網路通訊

1.1網卡組態檔詳解

網路組態檔:
/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地址;

1.2ifup,ifdown命令

啟動/關閉一塊網卡
ifup eth0
ifdown eth0

---
如果關閉網卡,xshell會怎樣?

1.3ifconfig命令

ifconfig 查看網卡的ip地址

直接輸入ifconfig會列出已經啟動的網卡,也可以輸入ifconfig eth0單獨顯示eth0的資訊
各選項解釋是:
eth0    網卡的代號 
lo        回環地址loopback
inet    IPv4的Ip地址
netmask    子網掩碼
broadcast    廣播地址
RX/TX     流量發/收情況     tx是發送(transport),rx是接收(receive)
packets     資料包數
errors     資料包錯誤數
dropped    資料包有問題被丟棄的數量
collisions    資料包碰撞情況,數值太多代表網路狀況差

1.4ifup,ifdown命令

ifup和ifdown是直接連接到/etc/sysconfig/network-scripts目錄下搜索對應的網卡檔案,例如ifcfg-eth0然后加以設定

1.5ip命令

ip是一個命令,不是TCP/IP那個ip,這個ip命令是結合了ifconfig和route兩個命令的功能,ip addr show #查看ip資訊

了解了如何查看網卡資訊,接下來查看系統資訊,

你的系統是什么版本?

#查看系統版本資訊
cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
#查看內核版本號
uname -r
3.10.0-693.el7.x86_64
#查看系統多少位
uname -m
x86_64
#查看內核所有資訊
uname -a

2.用戶管理與檔案權限篇

現代作業系統一般屬于多用戶的作業系統,也就是說,同一臺機器可以為多個用戶建立賬戶,一般這些用戶都是為普通用戶,這些普通用戶能同時登錄這臺計算機,計算機對這些用戶分配一定的資源,普通用戶在所分配到的資源內進行各自的操作,相互之間不受影響,但是這些普通用戶的權限是有限制的,且用戶太多的話,管理就不便,從而引入root用戶,此用戶是唯一的,且擁有系統的所有權限,root用戶所在的組稱為root組,“組”是具有相似權限的多個用戶的集合,

2.1root的權利

Linux系統的特性就是可以滿足多個用戶,同時作業,因此Linux系統必須具備很好的安全性,在安裝RHEL7時設定的root管理員密碼,這個root管理員就是所有UNIX系統中的超級用戶,它擁有最高的系統所有權,能夠管理系統的各項功能,如添加/洗掉用戶,啟動/關閉行程,開啟/禁用硬體設備等等,因此“能力越大,責任越大”,root權限必須很好的掌握,否則一個錯誤的命令可能會摧毀整個系統,

2.2root為什么叫root?

在Linux系統中,用戶也有自己的UID身份賬號且唯一
系統管理員UID為0
系統用戶UID為1~999    Linux安裝的服務程式都會創建獨有的用戶負責運行,
普通用戶UID從1000開始:由管理員創建

2.3用戶組GID

為了方便管理屬于同一組的用戶,Linux 系統中還引入了用戶組的概念,通過使用用 戶組號碼(GID,Group IDentification),我們可以把多個用戶加入到同一個組中,從而方 便為組中的用戶統一規劃權限或指定任務,假設有一個公司中有多個部門,每個部門中又 有很多員工,如果只想讓員工訪問本部門內的資源,則可以針對部門而非具體的員工來設 置權限,例如,可以通過對技術部門設定權限,使得只有技術部門的員工可以訪問公司的 資料庫資訊等,
Linux管理員在創建用戶時,將自動創建一個與其同名的用戶組,這個用戶組只有該用戶一個人

Linux/unix是一個多用戶、多任務的作業系統,

root:默認在Unix/linux作業系統中擁有最高的管理權限,可以理解為qq群的群主

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

2.4創建普通用戶

添加用戶
useradd oldboy 
#設定密碼       
passwd redhatroot用戶可以修改其他所有人的密碼,且不需要驗證

2.5切換用戶

su命令可以切換用戶身份的需求,
su - username

su命令中間的-號很重要,意味著完全切換到新的用戶,即環境變數資訊也變更為新用戶的資訊

#先看下當前用戶(我是誰)
whoami
#切換用戶
su - oldboy#退出用戶登錄logoutctrl + d

  • 一般情況下,在生產環境避免直接用root用戶,除非有特殊系統維護需求,使用完立刻退回普通用戶
  • 非互動式設定密碼(echo "redhat"|passwd --stdin oldboy && history -c)
Tip:
1.超級用戶root切換普通用戶無需密碼,例如“群主”想踢誰就踢誰
2.普通用戶切換root,需要輸入密碼
3.普通用戶權限較小,只能基本查看資訊
4.$符號是普通用戶命令提示符,#是超級管理員的提示符
root是當前用戶,oldboyedu是主機名,~代表當前路徑,也是家目錄

2.5.1groupadd命令

group命令用于創建用戶組,為了更加高效的指派系統中各個用戶的權限,在作業中常常添加幾個用戶到一個組里面,這樣可以針對一類用戶安排權限,例如超哥以前在公司里,就負責添加openLDAP用戶管理,偶爾臺灣,美國的同事去上海協作,我就得給他們添加到it部門組里面,以至于他們有對服務器操作的權限,groupadd it_dep

2.6userdel洗掉用戶

-f     強制洗掉用戶
-r    同事洗掉用戶以及家目錄
userdel -r pyyu 

2.7sudo命令

sudo命令用來以其他身份來執行命令,預設的身份為root,在/etc/sudoers中設定了可執行sudo指令的用戶,若其未經授權的用戶企圖使用sudo,則會發出警告的郵件給管理員,用戶使用sudo時,必須先輸入密碼,之后有5分鐘的有效期限,超過期限則必須重新輸入密碼,

語法

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

這個sudo命令用在什么時候呢?

怎么辦?權限不夠,這時候需要sudo ls /root 以root身份去運行,chaoge權利小,root總可以了吧!!

這是由于配置sudo必須編輯/etc/sudoers檔案,并且只有root才能修改,咱們可以通過visudo命令直接編輯sudoers檔案,使用這個命令還可以檢查語法,比直接編輯 vim /etc/sudoers更安全

visudo 編輯sudoers檔案
寫入
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
chaoge  ALL=(ALL)       ALL   #允許chaoge在任何地方,執行任何命令

此時切換chaoge用戶#su命令用于切換當前用戶身份到其他用戶身份,變更時須輸入所要變更的用戶帳號與密碼,su - chaoge已經可以使用sudo ls /root 命令

2.6設定主機名

[root@yugo /tmp 11:04:42]#hostnamectl set-hostname pyyuc
[root@pyyuc ~ 11:05:12]#hostname
pyyuc

3.檔案與目錄權限

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

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

  • user/owner 檔案使用者,檔案屬于哪個用戶
  • group 屬組,檔案屬于哪個組
  • others 既不是user,也不再group,就是other,其他人

3.1什么是權限

在Linux中,每個檔案都有所屬的所有者,和所有組,并且規定了檔案的所有者,所有組以及其他人對檔案的,可讀,可寫,可執行等權限,

對于目錄的權限來說,可讀是讀取目錄檔案串列,可寫是表示在目錄內新增,修改,洗掉檔案,可執行表示可以進入目錄

3.2Linux權限的觀察

使用一條命令查看權限

ls -l /var/log/mysqld.log 

解讀上圖:

  1. 權限,第一個字母為檔案型別,后續9個字母,每3個一組,是三種身份的權限
  2. 檔案鏈接數
  3. 檔案擁有者-屬主
  4. 檔案擁有組-屬組
  5. 檔案大小
  6. 最后一次被修改的時間日期
  7. 檔案名

先來分析一下檔案的型別

-    一般檔案
d    檔案夾
l    軟連接(快捷方式)
b    塊設備,存盤媒體檔案為主
c    代表鍵盤,滑鼠等設備

3.3檔案權限

r    read可讀,可以用cat等命令查看
w    write寫入,可以編輯或者洗掉這個檔案
x    executable    可以執行

4.目錄權限

權限這里測驗不要用root實驗!!!!root太牛逼了

請用普通用戶執行!!!!!測驗檔案、檔案夾權限操作,請用普通用戶!

r    可以對此目錄執行ls列出所有檔案
w    可以在這個目錄創建檔案
x    可以cd進入這個目錄,或者查看詳細資訊

權限與數字轉化

ls -l /var/log/mysqld.log 
-rw-r--r-- 1 mysql mysql 6735642 8月  11 14:19 /var/log/mysqld.log
這個就代表mysqld.log檔案屬主是mysql,屬組是mysql,只有mysql用戶可以讀取撰寫這個檔案,其他人只能讀此檔案,

4.1查看用戶權限命令

id指令查看用戶所屬群主
[root@oldboy_python ~ 16:34:52]#id root
uid=0(root) gid=0(root) 組=0(root)

4.2修改檔案權限屬性

普通用戶只能修改自己的檔案名,時間與權限(注意)
因此修改其他用戶權限,只能用最nb的root用戶

#切換root用戶

[pyyu@oldboy_python root]$ su -

當前/tmp/pyyu.txt檔案以存在,且資訊是
-rw-rw-r-- 1 pyyu pyyu    0 8月  11 16:41 pyyu.txt

修改屬主為root

chown

[root@oldboy_python /tmp 16:43:12]#chown root pyyu.txt 

查看資訊

[root@oldboy_python /tmp 16:43:42]#ll pyyu.txt 
-rw-rw-r-- 1 root pyyu 0 8月  11 16:41 pyyu.txt

修改屬組

chgrp

[root@oldboy_python /tmp 16:43:42]#ll pyyu.txt 
-rw-rw-r-- 1 root pyyu 0 8月  11 16:41 pyyu.txt
[root@oldboy_python /tmp 16:44:59]#chgrp root pyyu.txt 
[root@oldboy_python /tmp 16:45:51]#ll pyyu.txt 
-rw-rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt

4.3檔案權限

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

r    read          4
w    write        2
x    execute     1

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

因此三種身份,最高權限是777,最低是000

-rw-rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt
因此可知pyyu.txt的權限是
屬主是6 r+w(4+2)
屬組是6 r+w(4+2)
其他人是4 r(4)

4.4修改權限的命令

chmod

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

當前權限
-rw-rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt
方法1
減去屬主的寫權限
chmod u-w pyyu.txt
查看權限
-r--rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt

方法2
屬主添加可讀可寫可執行權限
chmod 700 pyyu.txt

屬主可讀可寫可執行
屬組可讀可執行
其他人可讀可執行
chmod 755 pyyu.txt

修改檔案名,修改檔案更改日期

mv pyyu.txt chaoge.txt#觸摸,修改時間
touch chaoge.txt

usermod

將用戶加入某個組 ,把這個用戶,加入檔案的屬組里面,也就有相應的權限了 

usermod -G feng yang # 將yang的這個組加在feng的組里 G代表組

usermod -G yang yang 

5.軟連接

軟連接也叫做符號鏈接,類似于windows的快捷方式,

常用于安裝軟體的快捷方式配置,如python,nginx等

ln -s 目標檔案  軟連接名

1.存在檔案/tmp/test.txt
[root@master tmp]# ls -l
-rw-r--r-- 1 root root     10 10月 15 21:23 test.txt

2.在/home目錄中建立軟連接,指向/tmp/test.txt檔案
ln -s /tmp/test.txt my_test

3.查看軟連接資訊
lrwxrwxrwx 1 root root 13 10月 15 21:35 my_test -> /tmp/test.txt4.通過軟連接查看檔案cat my_testmy_test只是/tmp/test.txt的一個別名,因此洗掉my_test不會影響/tmp/test.txt,但是洗掉了本尊,快捷方式就無意義不存在了

5.1PS1變數

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

[root@oldboy_python ~]# echo $PS1
[\u@\h \W]\$

可以自行調整全域變數/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=新內容 重新賦值

變數賦值,查看
name='chaoge'
echo $name

PS1顯示ip地址
export PS1="[\u@\h `/sbin/ifconfig ens33 | sed -nr 's/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'` \w]\$"

6.打包及解壓命令

6.1tar解壓命令

人們發明了各種各樣的包,無論是雙肩包,或者是裝在口袋,都是為了讓“檔案”更方便攜帶,linux的檔案打包工具最出名的是tar,

 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=<范本樣式>:排除符合范本樣式的檔案,

實體

tar -zxvf Python-3.7.0b3.tgz #解壓
tar -czvf oldboy.txt.tar.gz oldboy.txt #壓縮oldboy.txt  上述命令等于 以下兩條命令
tar -cvf oldboy.tar oldboy.txtgzip oldboy.tartar -cf all_pic.tar *.jpg #壓縮當前目錄所有jpg結尾的檔案
tar -xjf xx.tar.bz2  #解壓縮bz2結尾的檔案

6.2gzip命令

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.gztar -cf my.tar my_first.pygzip -r my.tar

7.網路命令

7.1netstat命令

netstat命令用來列印Linux中網路系統的狀態資訊,可讓你得知整個Linux系統的網路情況,

語法【選項】

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

實體

[root@oldboy_python ~ 10:21:59]#netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      814/sshd            
tcp6       0      0 :::111                  :::*                    LISTEN      2703/rpcbind        
tcp6       0      0 :::3306                 :::*                    LISTEN      29269/mysqld        
udp        0      0 0.0.0.0:758             0.0.0.0:*                           2703/rpcbind        
udp        0      0 0.0.0.0:111             0.0.0.0:*                           2703/rpcbind        
udp        0      0 10.141.32.137:123       0.0.0.0:*                           484/ntpd            
udp        0      0 127.0.0.1:123           0.0.0.0:*                           484/ntpd            
udp        0      0 0.0.0.0:123             0.0.0.0:*                           484/ntpd            
udp6       0      0 :::758                  :::*                                2703/rpcbind        
udp6       0      0 :::111                  :::*                                2703/rpcbind        
udp6       0      0 :::123                  :::*                                484/ntpd  

7.2DNS

DNS(Domain Name System,域名系統),萬維網上作為域名和IP地址相互映射的一個分布式資料庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串,通過域名,最終得到該域名對應的IP地址的程序叫做域名決議(或主機名決議),

7.3查看Linux的dns,唯一組態檔

組態檔
cat /etc/resolv.conf#dns服務器地址
nameserver 119.29.29.29
nameserver 223.5.5.5

7.4本地強制dns決議檔案/etc/hosts

指定本地決議:
/etc/hosts
主機IP    主機名    主機別名
127.0.0.1        www.pyyuc.cn        

7.5nslookup命令

nslookup命令是常用域名查詢工具,就是查DNS資訊用的命令,

nslookup4有兩種作業模式,即“互動模式”和“非互動模式”,在“互動模式”下,用戶可以向域名服務器查詢各類主機、域名的資訊,或者輸出域名中的主機串列,而在“非互動模式”下,用戶可以針對一個主機或域名僅僅獲取特定的名稱或所需資訊,

進入互動模式,直接輸入nslookup命令,不加任何引數,則直接進入互動模式,此時nslookup會連接到默認的域名服務器(即/etc/resolv.conf的第一個dns地址),或者輸入nslookup -nameserver/ip,進入非互動模式,就直接輸入nslookup 域名就可以了,

#決議nslookup www.oldboyedu.com

7.6ps命令

ps 命令用于查看系統中的行程狀態,格式為“ps [引數]”,

ps  命令常用引數
-a     顯示所有行程
-u     用戶以及其他詳細資訊
-x    顯示沒有控制終端的行程

7.7Kill命令

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

7.8killall命令

通常來講,復雜軟體的服務程式會有多個行程協同為用戶提供服務,如果逐個去結束這 些行程會比較麻煩,此時可以使用 killall 命令來批量結束某個服務程式帶有的全部行程,
例如nginx啟動后有2個行程
killall nginx 

7.9SELinux功能

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配置后,想要生效還得重啟系統,技巧就是(修改組態檔+命令列修改,達到立即生效)
生產環境的服務器是禁止隨意重啟的!!!!

7.10iptables防火墻

在學習階段,關閉防火墻可以更方便的學習,在企業環境中,一般只有配置外網ip的linux服務器才會開啟防火墻,但是對于高并發流量的業務服務器仍然是不能開啟的,會有很大性能損失,因此需要更nb的硬體防火墻,

關閉防火墻具體操作如下:

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

8.Linux中文顯示設定(防止中文亂碼)

此項優化為可選項,根據個人情況選擇是否調整Linux系統的字符集,字符集就是一套文字符號以及編碼,

Linux下常用字符集有:

  • GBK  實際企業應用較少
  • UTF-8  廣泛支持,MYSQL也使用UTF-8,企業廣泛使用
#查看系統當前字符集echo $LANGlocale#檢查xshell crt的字符集#命令修改字符集
# vim /etc/profile.d/locale.sh
export LC_CTYPE=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8

# vim /etc/locale.conf
LANG=zh_CN.UTF-8

# vim /etc/sysconfig/i18n
LANG=zh_CN.UTF-8

# vim /etc/environment
LANG=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8

英文版本

# vim /etc/profile.d/locale.sh
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

# vim /etc/locale.conf
LANG=en_US.UTF-8

# vim /etc/sysconfig/i18n
LANG=en_US.UTF-8

# vim /etc/environment
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
 
2.更改后查看系統語言變數locale

亂碼核心解決辦法

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

8.1df命令

df命令用于顯示磁盤磁區上的可使用的磁盤空間,默認顯示單位為KB,可以利用該命令來獲取硬碟被占用了多少空間,目前還剩下多少空間等資訊,

語法
df(選項)(引數)
-h或--human-readable:以可讀性較高的方式來顯示資訊;
-k或--kilobytes:指定區塊大小為1024位元組;
-T或--print-type:顯示檔案系統的型別;
--help:顯示幫助;
--version:顯示版本資訊,

示例

查看系統磁盤設備,默認是KB為單位:
df
使用-h選項以KB以上的單位來顯示,可讀性高:
df -h

9.tree命令

tree命令以樹狀圖列出目錄的內容,

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

10.計劃任務crond服務

你每天是怎么起床的?有的人有女朋友,,或是男朋友,,而我是被窮醒的,,,

什么是計劃任務:
后臺運行,到了預定的時間就會自動執行的任務,前提是:事先手動將計劃任務設定好,這就用到了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服務運行

systemctl status cron

ps -ef|grep crond

檢測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 * * * 命令
#沒周六、日的1:30執行命令30 1 * * 6,0 命令#每周一到周五的凌晨1點,清空/tmp目錄的所有檔案0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
#每晚的21:30重啟nginx30 21 * * * /opt/nginx/sbin/nginx -s reload#每月的1,10,22日的4:45重啟nginx45 4 1,1,10,22 * * /opt/nginx/sbin/nginx -s reload
#每個星期一的上午8點到11點的第3和15分鐘執行命令3,15 8-11 * * 1 command

11.軟體包管理

11.1軟體包是什么

程式(軟體)組成部分:
    二進制程式  可執行命令
    庫     .so檔案
    組態檔    .conf
    幫助檔案    readme    /usr/share/man

11.2windows程式

11.3macos程式

軟體包顧名思義就是將應用程式、組態檔和資料打包的產物,所有的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

在早期系統運維中,安裝軟體是一件非常費事費力的事情,系統管理員不得不下載軟體源代碼編譯軟體,并且為了系統做各種調整,

盡管源代碼編譯形式的軟體增強了用戶定制的自由度,但是在小軟體上耗費精力是缺乏效率的,于是軟體包應運而生,

軟體包管理可以將管理員從無休止的兼容問題中釋放,yum工具就可以自動搜索依賴關系,并執行安裝,

11.4RPM軟體包管理器

軟體包管理器核心功能

1.制作軟體包  .rpm
2.安裝、卸載、升級、查詢、校驗

  在 RPM(紅帽軟體包管理器)公布之前,要想在 Linux 系統中安裝軟體只能采取原始碼包 的方式安裝,早期在 Linux 系統中安裝程式是一件非常困難、耗費耐心的事情,而且大多數 的服務程式僅僅提供源代碼,需要運維人員自行編譯代碼并解決許多的軟體依賴關系,因此 要安裝好一個服務程式,運維人員需要具備豐富知識、高超的技能,甚至良好的耐心,而且在 安裝、升級、卸載服務程式時還要考慮到其他程式、庫的依賴關系,所以在進行校驗、安裝、 卸載、查詢、升級等管理軟體操作時難度都非常大,

RPM 機制則為解決這些問題而設計的,RPM 有點像 Windows 系統中的控制面板,會建 立統一的資料庫檔案,詳細記錄軟體資訊并能夠自動分析依賴關系,

實體

#現在要安裝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

11.4.1rpm安裝軟體

#下載軟體包wget https://rpmfind.net/linux/centos/7.5.1804/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
#安裝軟體包
[root@yugo /tmp 11:03:42]#rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:lrzsz-0.12.20-36.el7             ################################# [100%]

11.4.2rpm查詢軟體

rpm -q lrzsz  #查詢lrzsz是否安裝
rpm -qi lrzsz #查詢lrzsz包的說明資訊
rpm -ql lrzsz #查詢lrzsz包生成的檔案串列
rpm -qc nginx  #查詢nginx安裝生成后的組態檔路徑
rpm -qf /etc/nginx/fastcgi.conf  #查看這個檔案由哪個rpm包安裝

11.4.3 rpm升級軟體

rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果裝有老版本的,則升級;否則,則安裝;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果裝有老版本的,則升級;否則,退出;

11.4.4rpm卸載軟體

rpm -e PACKAGE_NAME需要手動解決依賴不如 yum remove

11.4.5rpm的依賴問題,因此不太好用

其一,難以洗掉

[root@pyyuc /tmp 11:42:01]#rpm -e nginx
error: Failed dependencies:
    nginx is needed by (installed) nginx-mod-mail-1:1.12.2-2.el7.x86_64
    nginx is needed by (installed) nginx-mod-http-perl-1:1.12.2-2.el7.x86_64
    nginx is needed by (installed) nginx-mod-http-xslt-filter-1:1.12.2-2.el7.x86_64
    nginx is needed by (installed) nginx-mod-http-image-filter-1:1.12.2-2.el7.x86_64
    nginx is needed by (installed) nginx-mod-stream-1:1.12.2-2.el7.x86_64
    nginx is needed by (installed) nginx-mod-http-geoip-1:1.12.2-2.el7.x86_64

其二,難以安裝

[root@pyyuc /tmp 11:45:07]#rpm -ivh zsh-5.6.2-9.6.2.aarch64.rpm
warning: zsh-5.6.2-9.6.2.aarch64.rpm: Header V3 RSA/SHA256 Signature, key ID 3dbdc284: NOKEY
error: Failed dependencies:
    ld-linux-aarch64.so.1()(64bit) is needed by zsh-5.6.2-9.6.2.aarch64
    ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) is needed by zsh-5.6.2-9.6.2.aarch64
    libdl.so.2(GLIBC_2.17)(64bit) is needed by zsh-5.6.2-9.6.2.aarch64
    libm.so.6(GLIBC_2.17)(64bit) is needed by zsh-5.6.2-9.6.2.aarch64
    libncursesw.so.6()(64bit) is needed by zsh-5.6.2-9.6.2.aarch64
    libtinfo.so.6()(64bit) is needed by zsh-5.6.2-9.6.2.aarch64

11.5yum命令

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

盡管 RPM 能夠幫助用戶查詢軟體相關的依賴關系,但問題還是要運維人員自己來解決, 而有些大型軟體可能與數十個程式都有依賴關系,在這種情況下安裝軟體會是非常痛苦的, Yum 軟體倉庫便是為了進一步降低軟體安裝難度和復雜度而設計的技術,Yum 軟體倉庫可以 根據用戶的要求分析出所需軟體包及其相關的依賴關系,然后自動從服務器下載軟體包并安 裝到系統,

Yum 軟體倉庫中的 RPM 軟體包可以是由紅帽官方發布的,也可以是第三方發布的,當 然也可以是自己撰寫的,

對比windows下的軟體管理工具

yum提供了查找、安裝、洗掉某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記,

yum(選項)(引數)
-h:顯示幫助資訊;
-y:對所有的提問都回答“yes”;
-c:指定組態檔;
-q:安靜模式;
-v:詳細模式;
-d:設定除錯等級(0-10);
-e:設定錯誤等級(0-10);
-R:設定yum處理一個命令的最大等待時間;
-C:完全從快取中運行,而不去下載或者更新任何頭檔案,

實體

部分常用的命令包括:

自動搜索最快鏡像插件    yum install yum-fastestmirror

11.5.1yum源配置

什么是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.獲取阿里云的yum源
打開網址https://opsx.alibaba.com/mirror

3.找到第一個倉庫
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

4.下載第二個倉庫
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

5.清空yum快取并且生成新的yum快取,加速以后下載yum clean allyum makecache

6.安裝軟體擴展源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 軟體包組    安裝軟體包組

12.系統服務管理命令

如果大家之前學習或者使用過RHEL6系統,應該已經習慣了service、chkconfig等命令來管理系統服務,但是在RHEL7系統中改變了systemctl來管理系統服務,

設定開機啟動相關

13.必須掌握的/etc下的linux目錄知識

etc:這個目錄用來存放所有的系統管理所需要的組態檔和子目錄,

#網卡組態檔/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 

14.Linux下安裝程式的方法

  • rpm -ivh 包名.rpm  需要手動解決依賴關系
  • yum install 包名 yum自動處理依賴關系
  • 編譯安裝(原始碼安裝)

11.1安裝Lrzsz

#安裝此軟體,即可拖拽上傳下載linux代碼到windowsyum install lrzsz

15.服務器無法上網錯誤

1.yum報錯
    Error couldn't resolve host 'mirrorlist.centos.org'
2.ping www.baidu.com 看是否能上網
3.如果百度不通,ping ip通了
ping 119.29.29.29  ,說明dns有問題

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/160067.html

標籤:Linux

上一篇:[WSL] WSL(Windows Subsystem for Linux) Ubuntu 下byobu狀態欄錯誤的問題

下一篇:Exchange學習筆記一:Exchange Server 2013安裝

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • CA和證書

    1、在 CentOS7 中使用 gpg 創建 RSA 非對稱密鑰對 gpg --gen-key #Centos上生成公鑰/密鑰對(存放在家目錄.gnupg/) 2、將 CentOS7 匯出的公鑰,拷貝到 CentOS8 中,在 CentOS8 中使用 CentOS7 的公鑰加密一個檔案 gpg -a ......

    uj5u.com 2020-09-10 00:09:53 more
  • Kubernetes K8S之資源控制器Job和CronJob詳解

    Kubernetes的資源控制器Job和CronJob詳解與示例 ......

    uj5u.com 2020-09-10 00:10:45 more
  • VMware下安裝CentOS

    VMware下安裝CentOS 一、軟硬體準備 1 Centos鏡像準備 1.1 CentOS鏡像下載地址 下載地址 1.2 CentOS鏡像下載程序 點擊下載地址進入如下圖的網站,選擇需要下載的版本,這里選擇的是Centos8,點擊如圖所示。 決定選擇Centos8后,選擇想要的鏡像源進行下載,此 ......

    uj5u.com 2020-09-10 00:12:10 more
  • 如何使用Grep命令查找多個字串

    如何使用Grep 命令查找多個字串 大家好,我是良許! 今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字串。 簡單介紹一下,grep 命令可以理解為是一個功能強大的命令列工具,可以用它在一個或多個輸入檔案中搜索與正則運算式相匹配的文本,然后再將每個匹配的文本用標準輸出的格式 ......

    uj5u.com 2020-09-10 00:12:28 more
  • git配置http代理

    git配置http代理 經常遇到克隆 github 慢的問題,這里記錄一下幾種配置 git 代理的方法,解決 clone github 過慢。 目錄 git配置代理 git單獨配置github代理 git配置全域代理 配置終端環境變數 git配置代理 主要使用 git config 命令 git單獨 ......

    uj5u.com 2020-09-10 00:12:33 more
  • Linux npm install 裝包時提示Error EACCES permission denied解

    npm install 裝包時提示Error EACCES permission denied解決辦法 ......

    uj5u.com 2020-09-10 00:12:53 more
  • Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包

    Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包。 18 (flaskApi) [root@67 flaskDemo]# yum -y install nginx 19 已加載插件:fastestmirror, langpacks 20 Loading ......

    uj5u.com 2020-09-10 00:13:13 more
  • Linux查看服務器暴力破解ssh IP

    在公網的服務器上經常遇到別人爆破你服務器的22埠,用來挖礦或者干其他嘿嘿嘿的事情~ 這種情況下正確的做法是: 修改默認ssh的22埠 使用設定密鑰登錄或者白名單ip登錄 建議服務器密碼為復雜密碼 創建普通用戶登錄服務器(root權限過大) 建立堡壘機,實作統一管理服務器 統計爆破IP [root ......

    uj5u.com 2020-09-10 00:13:17 more
  • CentOS 7系統常見快捷鍵操作方式

    Linux系統中一些常見的快捷方式,可有效提高操作效率,在某些時刻也能避免操作失誤帶來的問題。 ......

    uj5u.com 2020-09-10 00:13:31 more
  • CentOS 7作業系統目錄結構介紹

    作業系統存在著大量的資料檔案資訊,相應檔案資訊會存在于系統相應目錄中,為了更好的管理資料資訊,會將系統進行一些目錄規劃,不同目錄存放不同的資源。 ......

    uj5u.com 2020-09-10 00:13:35 more
最新发布
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:43:21 more
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:42:36 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:26:53 more
  • 設定Windows主機的瀏覽器為wls2的默認瀏覽器

    這里以Chrome為例。 1. 準備作業 wsl是可以使用Windows主機上安裝的exe程式,出于安全考慮,默認情況下改功能是無法使用。要使用的話,終端需要以管理員權限啟動。 我這里以Windows Terminal為例,介紹如何默認使用管理員權限打開終端,具體操作如下圖所示: 2. 操作 wsl ......

    uj5u.com 2023-04-19 09:25:49 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:19:04 more
  • Linux學習筆記

    IP地址和主機名 IP地址 ifconfig可以用來查詢本機的IP地址,如果不能使用,可以通過install net-tools安裝。 Centos系統下ens33表示主網卡;inet后表示IP地址;lo表示本地回環網卡; 127.0.0.1表示代指本機;0.0.0.0可以用于代指本機,同時在放行設 ......

    uj5u.com 2023-04-18 06:52:01 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:50 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:01 more
  • 你是不是暴露了?

    作者:袁首京 原創文章,轉載時請保留此宣告,并給出原文連接。 如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了。 沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的 ......

    uj5u.com 2023-04-05 16:52:56 more
  • 細節拉滿,80 張圖帶你一步一步推演 slab 記憶體池的設計與實作

    1. 前文回顧 在之前的幾篇記憶體管理系列文章中,筆者帶大家從宏觀角度完整地梳理了一遍 Linux 記憶體分配的整個鏈路,本文的主題依然是記憶體分配,這一次我們會從微觀的角度來探秘一下 Linux 內核中用于零散小記憶體塊分配的記憶體池 —— slab 分配器。 在本小節中,筆者還是按照以往的風格先帶大家簡單 ......

    uj5u.com 2023-04-05 16:44:11 more