linux

linux 操做系統

企業版vmware vsphere esxi服務器python

在線下載資源 wget命令 ,須要安裝mysql

自動下載文件的自由工具linux

yum install wget

img

常識

快捷鍵

xshell快捷鍵
logout 命令退出
ctrl+d 退出用戶登錄
ctrl+shift+f 快速登錄

知識點

登錄默認顯示相對路徑
不區分的空格 多少空格均可以
後面.文件後綴只是文件標識
查找以什麼開頭^
以什麼結尾 $
查找空白符 ^$  
掌握普通用戶登陸後系統的提示符:$
掌握root用戶登陸後系統的提示符:#
Linux終端也稱爲虛擬控制檯,Linux終端採用字符命令方式工做,用戶經過鍵盤輸入命令,經過Linux終端對系統進行控制
Linux是一個多用戶、多任務、支持多線程和多CPU的操做系統
默認端口號
ftp:23
dns:53
http:80
https:443
ssh:22

NAT模式

電腦宿主機的ip在局域網內是惟一的,選擇了NAT模式建立虛擬機,虛擬機就是一個新的局域網nginx

img

橋接模式

用此模式,就是局域網中一臺獨立的主機,它能夠訪問該類網段任意一臺機器,c++

img

僅主機模式

單機模式正則表達式

yum 裝軟件


ifconfig 查看網絡路徑

lo:本機迴環

ens33 inet 鏈接外網的地址

查看幫助

命令 --help
        ls --help 
        
    -用man幫助手冊 
        man  ls 

    -去尋找在線的linux解釋中文網站  http://linux.51yip.com/search/ls

概念性的理解

1.Linux內置解釋器bash 至關於pyhon解釋器
2.Linux的內部大可能是使用python去書寫

雲計算

1.只須要 花錢,買騰訊,阿里雲服務器 
2.專人維護
缺點 容易信息數據泄露

文件目錄結構

linux和window的區別

藍色是文件夾的意思 
綠色 chmod 777 test(文件名)
ls usr/bin 二進制能夠執行命令

Linux不像Windows那樣的系統目錄,Linux使用正斜槓"/"而不是反斜槓""來標識目錄。redis

Windows目錄:sql

img

Linux目錄:shell

/opt 第三方模塊
/etc 放置配置文件
/root  存放root的信息 

/home   /etc  /var  

樹形結構 

根目錄是  斜槓  /

全部目錄都是以根目錄爲開頭

目錄中間的斜槓是,目錄分隔符

img

Linux首先是創建一個根"/"文件系統,全部的目錄也都是由根目錄衍生出來。數據庫

img

img

img

ls / 查看根

img

/bin:
bin是Binary的縮寫, 這個目錄存放着最常用的命令。
/boot:
這裏存放的是啓動Linux時使用的一些核心文件,包括一些鏈接文件以及鏡像文件。
/dev :
dev是Device(設備)的縮寫, 該目錄下存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問文件的方式是相同的。
/etc:
這個目錄用來存放全部的系統管理所須要的配置文件和子目錄。
/home:
用戶的主目錄,在Linux中,每一個用戶都有一個本身的目錄,通常該目錄名是以用戶的帳號命名的。
/lib:
這個目錄裏存放着系統最基本的動態鏈接共享庫,其做用相似於Windows裏的DLL文件。幾乎全部的應用程序都須要用到這些共享庫。
/lost+found:
這個目錄通常狀況下是空的,當系統非法關機後,這裏就存放了一些文件。
/media:
linux系統會自動識別一些設備,例如U盤、光驅等等,當識別後,linux會把識別的設備掛載到這個目錄下。
/mnt:
系統提供該目錄是爲了讓用戶臨時掛載別的文件系統的,咱們能夠將光驅掛載在/mnt/上,而後進入該目錄就能夠查看光驅裏的內容了。
/opt:
 這是給主機額外安裝軟件所擺放的目錄。好比你安裝一個ORACLE數據庫則就能夠放到這個目錄下。默認是空的。
/proc:
這個目錄是一個虛擬的目錄,它是系統內存的映射,咱們能夠經過直接訪問這個目錄來獲取系統信息。
這個目錄的內容不在硬盤上而是在內存裏,咱們也能夠直接修改裏面的某些文件,好比能夠經過下面的命令來屏蔽主機的ping命令,使別人沒法ping你的機器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
該目錄爲系統管理員,也稱做超級權限者的用戶主目錄。
/sbin:
s就是Super User的意思,這裏存放的是系統管理員使用的系統管理程序。
/selinux:
 這個目錄是Redhat/CentOS所特有的目錄,Selinux是一個安全機制,相似於windows的防火牆,可是這套機制比較複雜,這個目錄就是存放selinux相關的文件的。
/srv:
 該目錄存放一些服務啓動以後須要提取的數據。
/sys:
 這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs 。
sysfs文件系統集成了下面3種文件系統的信息:針對進程信息的proc文件系統、針對設備的devfs文件系統以及針對僞終端的devpts文件系統。 
 
該文件系統是內核設備樹的一個直觀反映。
當一個內核對象被建立的時候,對應的文件和目錄也在內核對象子系統中被建立。
/tmp:
這個目錄是用來存放一些臨時文件的。
/usr:
 這是一個很是重要的目錄,用戶的不少應用程序和文件都放在這個目錄下,相似於windows下的program files目錄。
/usr/bin:
系統用戶使用的應用程序。
/usr/sbin:
超級用戶使用的比較高級的管理程序和系統守護程序。
/usr/src:內核源代碼默認的放置目錄。
/var:
這個目錄中存放着在不斷擴充着的東西,咱們習慣將那些常常被修改的目錄放在這個目錄下。包括各類日誌文件。
在linux系統中,有幾個目錄是比較重要的,平時須要注意不要誤刪除或者隨意更改內部文件。
/etc: 上邊也提到了,這個是系統中的配置文件,若是你更改了該目錄下的某個文件可能會致使系統不能啓動。
/bin, /sbin, /usr/bin, /usr/sbin: 這是系統預設的執行文件的放置目錄,好比 ls 就是在/bin/ls 目錄下的。
值得提出的是,/bin, /usr/bin 是給系統用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給root使用的指令。
/var: 這是一個很是重要的目錄,系統上跑了不少程序,那麼每一個程序都會有相應的日誌產生,而這些日誌就被記錄到這個目錄下,具體在/var/log 目錄下,另外mail的預設放置也是在這裏。

linux起步

虛擬機設置

1.首先建立centos 下載

查看ip路徑 ip  addr 能夠簡寫成 ip a

設置一下網絡鏈接和磁盤

Linux一切皆文件
2.ipconfig 不能在centos中使用 使用步驟
    配置好網絡後,安裝網絡工具包
    yum install  net-tools  -y  #
    就可使用
3.若是使用ifconfig看不到ip地址的話,那就得重啓網絡服務

    3.1重啓網絡的步驟
        -確保配置文件正確配置
        vim /etc/sysconfig/network-scripts 

    確保onboot=yes便可

    3.2重啓網絡服務 
    systemctl  restart  network

遠程鏈接linux

1.下載Xshell
2.命令:ssh ip  (默認22端口)
host only 僅主機 單機模式,瞭解便可
電腦pc   >  皇帝
虛擬機   >   老百姓

老百姓被皇帝控制,沒法與外屆通訊





nat模式(網絡地址轉換)
電腦pc  >    皇帝
nat     >    宰相
虛擬機    >    老百姓

老百姓的房子是宰相分配的 與皇帝無關
虛擬機的ip是nat分配的,電腦環境不管怎麼變化,都不會影響虛擬機
好處:
在家,在學校,在公司,使用虛擬機,ip地址都不會變化

橋接
電腦pc    >    皇帝
虛擬機   >    老百姓
只要更換了一波皇帝,老百姓房子都得換
只要換了個教室,插上網線,ip就變了
好處:不用配置
壞處:更換ip麻煩

概念 硬件介紹

虛擬環境 是主機本體''分身''出的多個環境

redis緩存數據庫 放入數據庫

雲計算用於 服務器的租賃

XSHELL 和 虛擬機linux進行關聯

#登錄服務器
ssh 用戶名@路徑 
快捷登錄  
ctrl+shift+f#登錄以後使用 
ctrl+d 快速退出

遠程鏈接

18.查看linux網絡端口的命令

netstat  -tunlp  

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

    #案例
    檢查服務器的80端口是否打開

    netstat  -tunlp  |  grep 80  

    #安裝nginx,且運行nginx,打開80端口
    #安裝   yum install  nginx  -y  
    #啓動   經過yum安裝的軟件,均可以經過系統服務管理命令,去啓動,不管是nginx 仍是mariadb等
    systemctl  start/stop/restart/status  nginx  
    #注意關閉防火牆的命令
    systemctl stop  firewalld       #中止防火牆服務 
    systemctl disable  firewalld    #中止防火牆開機自啓

    iptables -F     #清空防火牆規則

查看主機名

hostname 查看主機名
hostnamectl set-hostname 新的主機名

修改 linux命令提示符

echo $PS1  查看命令提示符的
用於修改每次顯示的權限
示例
#PS1='[\u@\h \t \w]\$'
[root@localhost 04:22:10~]
#\u@\h \w
PS1='[\u@\h \t \w]\$'

參數

\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]\$"

img

語法操做

>       #重定向覆蓋輸出符    如同python的  with open  w模式 
>>      #重定向追加輸出符    a 模式 
<       #重定向寫入覆蓋符       用在mysql數據導入 
<<      #不經常使用 
echo 24{1..6}> b.py#覆蓋寫
cat b.py -n 查看數據並顯示行數
echo 24{1..6}>> b.py#添加寫
cat b.py -n 查看數據並顯示行數
頂點(跟)路徑是絕對
不是頂點(根)路徑是相對

用戶管理 權限

組操做

1.建立組
groupadd  test
增長一個test組
2.修改組 
groupmod -n test2  test 
將test組的名子改爲test2
3.刪除組 
groupdel test2 
刪除 組test2
4.查看組 
    4.1 查看當前登陸用戶所在的組 groups
        groups someuser
        查看apacheuser所在組
    4.2 查看全部組
    cat /etc/group

sodu管理員權限

使用sodu權限要修改文件
visudo 編輯sudoers文件

寫入
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
chaoge  ALL=(ALL)       ALL   
esc :wq保存
#容許chaoge在任何地方,執行任何命令
用於 須要sudo ls /root  以root身份去運行
sodu知識點擴展
sudo 【選項】【參數】
-b:在後臺執行指令;
-h:顯示幫助;
-H:將HOME環境變量設爲新身份的HOME環境變量;
-k:結束密碼的有效期限,也就是下次再執行sudo時便須要輸入密碼;。
-l:列出目前用戶可執行與沒法執行的指令;
-p:改變詢問密碼的提示符號;
-s<shell>:執行指定的shell;
-u<用戶>:以指定的用戶做爲新的身份。若不加上此參數,則預設以root做爲新的身份;
-v:延長密碼有效期限5分鐘;
-V :顯示版本信息。

用戶分類

root 最高用戶
個root管理員就是全部UNIX系統中的超級用戶,它擁有最高的系統全部權,
2.查看全部用戶組 cat /etc/group
3.cat /etc/passwd 能夠查看全部用戶的列表
    cat /etc/passwd|grep 用戶名 #這條命令能夠用來精確查找某個用戶
sudo命令 管理員權限
普通用戶

系統管理員UID爲0
系統自帶用戶是1-999
普通用戶是1000以後
etc/passwd 用戶信息文件
4.$符號是普通用戶命令提示符,#是超級管理員的提示符

建立用戶

建立用戶的的同時會建立用戶組GID

cx 用戶名

useradd cx #建立用戶cx 建立用戶組cx
passwd cx 
#查看當前用戶
whoami
普通用戶能夠在臨時文件 
建立 /tmp默認是臨時文件
passwd  用戶名   #更改用戶密碼

查看用戶的id屬性

uid=0(root) gid=0(root) groups=0(root)
u 當前用戶id 
gid 用戶組id
groups 組

參數

tty    查看當前終端
who am i 僅顯示當前用戶正在使用的終端和登陸時間
w        
查看全部終端(功能最全,顯示用戶名,終端標記,登陸時間,負載等信息)
id 用戶名 #查看用戶的id 和組id

切換用戶

su username #切換用戶
su - 用戶名 #切換用戶
用戶環境變量 
徹底切換到新的用戶


·····························
root 切換普通不須要密碼
su - 普通用戶名
普通 切換root須要密碼
su - root

刪除用戶

userdel -rf cx 徹底刪除用戶
-f     強制刪除用戶
-r    同事刪除用戶以及家目錄

退出登錄

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

文件夾權限

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

root不會被權限擋住(無視權限)

用戶分爲三個等級
u (user)屬主
g (group)屬組
u (others)其餘用戶(不是屬主也不是屬組)
- 第一個符號是文件類型
文件是- 文件夾是d
查看權限
Linux權限的觀察
使用一條命令查看權限
ls -l /var/log/mysqld.log

img

1.權限,第一個字母爲文件類型,後續9個字母,每3個一組,是三種身份的權限
2.文件連接數
3.文件擁有者-屬主
4.文件擁有組-屬組
5.文件大小
6.最後一次被修改的時間日期
7.文件名
文件類型
-    通常文件
d    文件夾
l    軟鏈接(快捷方式)
b    塊設備,存儲媒體文件爲主
c    表明鍵盤,鼠標等設備
文件權限
r    read可讀,能夠用cat等命令查看
w    write寫入,能夠編輯或者刪除這個文件
x    executable    能夠執行
目錄權限
r    能夠對此目錄執行ls列出全部文件
w    能夠在這個目錄建立文件
x    能夠cd進入這個目錄,或者查看詳細信息

img

清空權限命令

chmod 0 清空全部人的權限

img

參數

ls-l 當前文件夾下的詳細信息 簡寫ll
chmod 修改權限
chmod 用戶+權限 文件名
chmod o+w 文件名
chmod 能夠直接修改數字權限
r4 w2 x1  7

文件權限

文件的讀寫執行是:
    順序必須是 讀寫執行 
    r  read   讀
    w   write  寫 
    x    exec可執行 
    -   沒有權限
參數詳細介紹
[root@s24_linux tmp]# ls -l  
#ll
total 0
-rw-r--r--. 1 root root 0 Oct 27 16:36 gg.txt   

 -   這是一個普通文件,   d  表明文件夾  l 表明軟鏈接快捷方式 

 rw-(users   屬主的權限 )  讀  寫  權限 

 r--(group   屬組的權限,在這個組裏面的人,都有)    只讀的權限 

 r-- (  others   當前登陸的用戶,和這個文件不要緊,就是其餘人的身份權限)   只讀的權限
修改用戶權限

chmod

chmod [身份]   [參數]   [文件]
    u(user)   +(添加)  
    g(group)   -(減去)
    o(other)  =(賦值)
    a(all)
增長刪除權限
方法一
u user用戶 o 其餘人權限 g 
chmod  (chang  mode)  #修改權限
chmod  u+x  filename  #給文件的user用戶,添加x可執行權限
chmod o-r gg.txt   #給其餘人去掉r的讀取權限 
方法二 權限與數字轉化
屬主添加可讀可寫可執行權限
chmod 700 pyyu.txt
屬主可讀可寫可執行
屬組可讀可執行
其餘人可讀可執行
chmod 755 pyyu.txt
文件和文件夾的讀寫執行
1.文件的讀寫執行 
    r   cat   more less  讀取文件內容 
    w   vim   echo追加  編輯文件內容
    x   能夠執行的文件 

2.文件夾的讀寫執行 

    r   ls  
    w   在文件夾中 mkdir  或者touch等建立文件,必須有x權限才行
    x    能夠cd進入文件夾
切換屬組
chgrp   wy   filename.txt   
#修改文件的屬組爲wy組
修改文件屬主
chown  wy  filename.txt  #修改文件的主人是 wy
加入組
usermod -G 想要加入的組名 加入的組名
#加入組 須要退出會話,從新登錄才能生效
usermod -G gg wy
#把wy組加入gg組

在文件中yy 是複製 p是打印

chagrp 換組

touch建立文件

touch xxx.py
    1.若是文件已經存在,修改文件的訪問時間
    
    2.若是文件不存在,則建立這個文件

cat寫入建立文件

cat -n ''
EOF 文件結束標識符
tac 倒序輸出
解壓 zxvf


[root@localhost tmp]# cat >> music.txt  <<EOF
    > 左手根我一塊兒畫個龍
    > 右手捧着一個大碗麪
    > EOF
    #在每一行的結尾加上$符
[root@master tmp]# cat -E 1.txt

mkdir

mkdir oldoy(文件夾名) 建立文件夾
mkdir -p oldoy/3344/oopp

sed處理字符的命令

s是替換模式 g 全局替換 -i插入
sed "s/替換的字符/替換成的/g" 路徑

示例

找到passwd文件中全部的root替換爲大寫的ROOT
sed -i "s/root/ROOT/g" passwd

知識點補充

sed是一種流編輯器,它是文本處理中很是中的工具,可以完美的配合正則表達式使用,功能不一樣凡響。處理時,把當前處理的行存儲在臨時緩衝區中,稱爲「模式空間」(pattern space),接着用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往屏幕。接着處理下一行,這樣不斷重複,直到文件末尾。文件內容並無 改變,除非你使用重定向存儲輸出。Sed主要用來自動編輯一個或多個文件;簡化對文件的反覆操做;編寫轉換程序等。

命令格式

sed [options] 'command' file(s)
sed [options] -f scriptfile file(s)
選項

-e<script>或--expression=<script>:以選項中的指定的script來處理輸入的文本文件;
-f<script文件>或--file=<script文件>:以選項中指定的script文件來處理輸入的文本文件;
-h或--help:顯示幫助;
-n或--quiet或——silent:僅顯示script處理後的結果;
-V或--version:顯示版本信息。
-i ∶插入, i 的後面能夠接字串
sed命令

a\ 在當前行下面插入文本。
i\ 在當前行上面插入文本。
c\ 把選定的行改成新的文本。
d 刪除,刪除選擇的行。
D 刪除模板塊的第一行。
s 替換指定字符
h 拷貝模板塊的內容到內存中的緩衝區。
H 追加模板塊的內容到內存中的緩衝區。
g 得到內存緩衝區的內容,並替代當前模板塊中的文本。
G 得到內存緩衝區的內容,並追加到當前模板塊文本的後面。
l 列表不能打印字符的清單。
n 讀取下一個輸入行,用下一個命令處理新的行而不是用第一個命令。
N 追加下一個輸入行到模板塊後面並在兩者間嵌入一個新行,改變當前行號碼。
p 打印模板塊的行。
P(大寫) 打印模板塊的第一行。
q 退出Sed。
b lable 分支到腳本中帶有標記的地方,若是分支不存在則分支到腳本的末尾。
r file 從file中讀行。
t label if分支,從最後一行開始,條件一旦知足或者T,t命令,將致使分支到帶有標號的命令處,或者到腳本的末尾。
T label 錯誤分支,從最後一行開始,一旦發生錯誤或者T,t命令,將致使分支到帶有標號的命令處,或者到腳本的末尾。
w file 寫並追加模板塊到file末尾。  
W file 寫並追加模板塊的第一行到file末尾。  
! 表示後面的命令對全部沒有被選定的行發生做用。  
= 打印當前行號碼。  
# 把註釋擴展到下一個換行符之前。  
sed替換標記

g 表示行內全面替換。  
p 表示打印行。  
w 表示把行寫入一個文件。  
x 表示互換模板塊中的文本和緩衝區中的文本。  
y 表示把一個字符翻譯爲另外的字符(可是不用於正則表達式)
\1 子串匹配標記
& 已匹配字符串標記
sed元字符集

^ 匹配行開始,如:/^sed/匹配全部以sed開頭的行。
$ 匹配行結束,如:/sed$/匹配全部以sed結尾的行。
. 匹配一個非換行符的任意字符,如:/s.d/匹配s後接一個任意字符,最後是d。
* 匹配0個或多個字符,如:/*sed/匹配全部模板是一個或多個空格後緊跟sed的行。
[] 匹配一個指定範圍內的字符,如/[ss]ed/匹配sed和Sed。  
[^] 匹配一個不在指定範圍內的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一個字母開頭,緊跟ed的行。
\(..\) 匹配子串,保存匹配的字符,如s/\(love\)able/\1rs,loveable被替換成lovers。
& 保存搜索字符用來替換其餘字符,如s/love/**&**/,love這成**love**。
\< 匹配單詞的開始,如:/\<love/匹配包含以love開頭的單詞的行。
\> 匹配單詞的結束,如/love\>/匹配包含以love結尾的單詞的行。
x\{m\} 重複字符x,m次,如:/0\{5\}/匹配包含5個0的行。
x\{m,\} 重複字符x,至少m次,如:/0\{5,\}/匹配至少有5個0的行。
x\{m,n\} 重複字符x,至少m次,很少於n次,如:/0\{5,10\}/匹配5~10個0的行。
sed實際用例
#替換oldboy.txt中全部的oldboy變爲oldboy_python
#此時結果輸出到屏幕,不會寫入到文件
sed 's/oldboy/oldboy_python/' /tmp/oldboy.txt
#使用選項-i,匹配每一行第一個oldboy替換爲oldboy_python,並寫入文件
sed -i 's/oldboy/oldboy_python/' /tmp/oldboy.txt
#使用替換標記g,一樣能夠替換全部的匹配
sed -i 's/book/books/g' /tmp/oldboy.txt
#刪除文件第二行
sed -i '2d' /tmp/oldboy.txt
#刪除空白行
sed -i '/^$/d' /tmop/oldboy.txt
#刪除文件第二行,到末尾全部行
sed '2,$d' /tmp/oldboy.txt
#顯示10-30行
-p --print
-n --取消默認輸出
sed -n '10,30p' /tmp/oldboy.txt

把文件改爲可執行文件

chomod 777

cd 跳轉

cd ../ 查看父級的目錄
cd ~ 返回當前用戶的家目錄
cd -返回上一次訪問的目錄

mv(移動和更名)

mv 文件 /文件夾更名
mv x.log xx.log
移動文件 文件夾
mv /home/shahe/oldboy /tmp/chaoyang

mv  文件名  ./路徑
mv  ppt.mp3
mv 新文件 舊文件

alias 別名

把對應的 命令執行的結果進行替換
alias查看 一些命令執行的相應結果進行修改
alias rm="執行命令"
示例
alias   rm="echo  你這個傻蛋,求你別用rm了"



alias   rm="echo 你這個大傻子,求求你別用rm了"

alias  rm="rm -i"   #改回去 

unalias 命令  #取消別名 


unalias rm

du 統計文件夾大小命令

1.ls -h 
2.以du命令爲準 
    -h 顯示mb gb單位
    -s 顯示統計
#統計/var/log文件夾大小
3.du -sh /var/log/
/是根目錄 
./是當前 
/* 是根目錄下全部 
./* 當前全部文件夾
hostname

查看linux網絡端口命令

知識點

netstat  -tunlp  

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

    #案例
    檢查服務器的80端口是否打開

    netstat  -tunlp  |  grep 80  

    #安裝nginx,且運行nginx,打開80端口
    #安裝   yum install  nginx  -y  
    #啓動   經過yum安裝的軟件,均可以經過系統服務管理命令,去啓動,不管是nginx 仍是mariadb等
    systemctl  start/stop/restart/status  nginx  
    #注意關閉防火牆的命令
    systemctl stop  firewalld       #中止防火牆服務 
    systemctl disable  firewalld    #中止防火牆開機自啓

    iptables -F                     #清空防火牆規則
netstat -tunlp
監聽
master process 工做進行
work process 
#檢查nginx的端口是否存活
netstat -tunlp |grep nginx

ln 軟鏈接是什麼

至關於一個別名
快捷方式
ln -s 目標文件 軟鏈接
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.txt

4.經過軟鏈接查看文件
cat my_test

my_test只是/tmp/test.txt的一個別名,所以刪除my_test不會影響/tmp/test.txt,可是刪除了本尊,
快捷方式就無心義不存在了

find 查找

#Linux裏如何找到須要的文件 例如 oldboy.py
find 在哪裏(目錄) 什麼類型(文件類型) 叫什麼名字(文件名)
參數

-name 按照文件名查找文件 
-type 查找某一類型的文件,諸如:
b - 塊設備文件。
d - 目錄 (文件夾)。
c - 字符設備文件。
p - 管道文件。
l - 符號連接文件 (快捷方式)。
f - 普通文件 (文本類型)。
s - socket文件
全局搜索
find / -type 文本類型 -name 文件名(文件夾)
局部搜索
/路徑
find /opt -type 文本類型 -name 文件名(文件夾)


#示例
全局搜索以txt結尾的文件
find / -type f  '*.txt'

find   /    -type  d    -name "python*"    #找出磁盤上全部的以python開頭的文件夾

示例

find /tmp/ -type f  -name "oldboy.py"

#找出/tmp全部以 .txt 結尾的文件
find /tmp/ -type f -name "*.txt"

#找到/etc下全部名字以host開頭的文件
find /etc -name 'host*'

#找到/opt上一個名爲settings.py
find /opt -name 'settings.py'

cat 查看文件的內容

linux 的結束符都是以$結尾
tac 反向查看文件 從最後一行開始讀
cat  -n文件 顯示文件並帶有行數
cat -E 文件 每一行結尾結束符
nl 文件名 同樣
cat 文件 只顯示文件

顯示中文
#!congding:utf-8 加一個頭 須要在文件中加一個頭信息

寫入文件

直接寫入文件
cat >> second.py <<EOF
cat >> shi.txt << EOF

cp(拷貝)

cp是個好命令,操做文件前,先備份
cp main.py main.py.bak

使用方法

複製 > copy > cp
#移動xxx.py到/tmp目錄下
cp xxx.py /tmp/
#移動xxx.py順便更名爲chaoge.py
cp xxx.py /tmp/chaoge.py

把當前文件夾的內容 拷貝到/opt/tmp_back/ 
mkdir /opt/tmp_back 建立一個文件夾
cp -R ./*  /opt/tmp_back/ 

Linux下面不少命令,通常沒有辦法直接處理文件夾,所以須要加上(參數) 
cp -r 遞歸,複製目錄以及目錄的子孫後代
cp -p 複製文件,同時保持文件屬性不變    能夠用stat
cp -a 至關於-pdr
#遞歸複製test文件夾,爲test2
cp -r test test2

echo(顯示)

1.能夠寫入文件
echo 打印
echo 24期{1..999} >
echo 打印{1..999}這個是 打印多個
echo {1...999} >>> (寫入文件) 1.py 
pwd (翻譯全稱print work directory) ,打印當前工做目錄  
2.找出當前PATH的值 $是取值符
echo $PATH  
3.修改PATH PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
#進行冒號隔開
4.清空文件內容
echo ""> 文件名

ls 查看

ls /路徑 ls /opt
ls -l  /opt #顯示對應文件和目錄的詳細資料 
ls -a 顯示指定目錄全部子目錄與文件,包括隱藏文件
ls -h -l以易於閱讀的格式輸出文件大小
pwd 顯示當前路徑
 ls  -l -a -h  /tmp  查看/tmp下所有內容 和所有文件大小

sl命令

好玩的命令

more 分屏顯示

more 文件名 分屏分頁顯示
按下空格space是翻頁
按下b鍵是上一頁
回車鍵向下讀取內容

head tail 查看

head 從頭看 
head -n 4 顯示到第四行
默認顯示前十行
tail 從末尾開始查
默認顯示世行
tail -f 文件名 監測日誌的變化
用於 文件變化會實時生成
#示例
tail -f /var/log/py.log
-3 至關於 -n 3
#輸出文件的10-20行
head -n 4 '文件名' | tail -n 3

ps查看進程命令

|管道符
ps -ef 
ps aux #列出機器全部信息  
ps aux |grep  "文件名" 進行過濾 # "文件名"有關進程

示例

ps aux |  grep  "python"  #找到機器全部和python有關的進程

grep過濾字符串命令

grep -n "查找內容" 文件名 顯示行號
    -i 忽略大小寫
    -v 反轉參數(排除我要找的東西)
    查找以什麼開頭^
    以什麼結尾 $
    查找空白符 ^$ 找出空格  
    |二次過濾 不用再次指定文件名
    E 支持正則語法
#示例
找出文件的有用信息行
#去掉註釋 grep -v "^#"
#去掉空行 grep -v "^$"
grep -v "^#" filename | grep -v "^$"

殺死進程kill

19.殺死進程的命令
​#經過進程id  殺死nginx ​   
1.  檢查pid    ps aux  | grep  nginx ​   
2.殺死進程id      kill  id 號碼

rm刪除

rm 
rm -rf  /tmp/*   強制刪除 
rm -i  文件  #刪除文件且交互式提示,是否刪除 ,系統作了別名,默認加上rm -i 


rm -r  文件夾 #遞歸刪除文件夾 

rm -f  文件  #強制刪除文件,且不提示

清空

clear清除屏幕
> 文件名 清空文件內容

壓縮解壓縮

壓縮

打包 tar -cvf alltmp.tar ./*
        -xvf 解包
        -zcvf 壓縮打包
        -zxvf 解壓縮包

另外一種打包

yum install unzip -y
解壓縮 unzip 壓縮包

yum包下載

是rpm的升級版 能夠把關聯軟件

下載yum源

21.軟件包管理 yum命令 

    軟件包格式都是 

    mysql-xxx.rpm 軟件格式包 

    rpm -ivh  mysql-xxx.rpm  #安裝rpm軟件包 

    python-xx.rpm  


配置yum源的過程
centos的默認yum倉庫路徑是 /etc/yum.repos.d  ,在這目錄下,第一層文件夾中的repo文件會識別爲倉庫文件



1.獲取阿里雲的yum源
打開網址https://opsx.alibaba.com/mirror

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

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


4.生成yum緩存,加速之後下載
yum makecache

至關於python的pip3裝模塊

yum 內置的模塊
例如 yum install vim -y 
yum install wget
由於yum包裏的東西不會自動清空
清除YUM緩存。
yum clean all

文件操做

vim 文本編輯器升級版

1. vi或者vim  文件名  #打開文件,進入命令模式
    2. 輸入  a i o ,其一的字符,進入編輯模式
        a   append 在光標後開始寫入
        i   insert 在光標當前位置開始編輯
        o   在光標下一行開始編輯 
    3.代碼寫完後,退出編輯模式,按下esc,回到命令模式
    4.輸入 冒號,進入底線命令模式  
        :q    直接不保存退出
        :q!   不保存強制退出
        :wq     保存退出
        :wq!  強制寫入內容且退出

top任務管理器

top 能夠顯示當前系統正在執行的進程的相關信息,包括進程ID、內存佔用率、CPU佔用率等

顯示

top命令

top 命令用於動態地監視進程活動與系統負載等信息

img

咱們來分析一下圖片信息

統計信息區

第一行 (uptime)
系統時間 主機運行時間 用戶鏈接數(who) 系統1,5,15分鐘的平均負載
第二行:進程信息
進程總數 正在運行的進程數 睡眠的進程數 中止的進程數 殭屍進程數
第三行:cpu信息
1.5 us:用戶空間所佔CPU百分比
0.9 sy:內核空間佔用CPU百分比
0.0 ni:用戶進程空間內改變過優先級的進程佔用CPU百分比
97.5 id:空閒CPU百分比
0.2 wa:等待輸入輸出的CPU時間百分比
0.0 hi:硬件CPU中斷佔用百分比
0.0 si:軟中斷佔用百分比
0.0 st:虛擬機佔用百分比

第四行:內存信息(與第五行的信息相似與free命令)

  • 8053444 total:物理內存總量
  • 7779224 used:已使用的內存總量
  • 274220 free:空閒的內存總量(free+used=total)
  • 359212 buffers:用做內核緩存的內存量
第五行:swap信息
8265724 total:交換分區總量
33840 used:已使用的交換分區總量
8231884 free:空閒交換區總量
4358088 cached Mem:緩衝的交換區總量,內存中的內容被換出到交換區,而後又被換入到內存,可是使用過的交換區沒有被覆蓋,交換區的這些內容已存在於內存中的交換區的大小,相應的內存再次被換出時可沒必要再對交換區寫入。

參數

-b 批處理
    -c 顯示完整的治命令
    -I 忽略失效過程
    -s 保密模式
    -S 累積模式

    -d<時間> 設置間隔時間
    -u<用戶名> 指定用戶名
    -p<進程號> 指定進程
    -n<次數> 循環顯示的次數

查看文件特殊權限的命令

查看 chattr設置的命令
lsattr 文件名
lsattr test.py
---i-------- /etc/resolv.conf

設置文件特殊權限的命令

chattr +i 文件名 #加鎖 #root用戶都沒有這個權限
chattr -i 文件名 #去掉鎖
#讓某個文件只能往裏面追加數據,但不能刪除,適用於各類日誌文件
chattr +a /var/log/messages

data更新下系統事件

yum ntpdate 須要下載模塊
ntpdate 服務器ip

yum install  ntpdate -y  
ntpdate   ntp.aliyun.com    #和阿里提供的時間服務器,進行時間同步

在線下載wget

yum install wget
wget -r -p yum install  ntpdate -y  
ntpdate   ntp.aliyun.com    #和阿里提供的時間服務器,進行時間同步

關機命令

shutdown 關閉服務器
reboot命令用於重啓機器
poweroff用於關閉系統

scp遠程傳輸

Linux scp命令用於Linux之間複製文件和目錄

scp 你想要的內容 傳輸到哪裏
兩個機器進行鏈接 須要把網絡鏈接變成橋接

語法

scp 你想要的內容 傳輸到哪裏
[當前在機器1]
#把我本地的機器1的/tmp/剛哥.txt 發到遠程機器的/opt/目錄下
scp /tmp/剛哥.txt root@機器的ip:/opt/
#把本身的東西發給別人

#把本地的first.py 發送給root@192.168.16.105這個機器,而後
    1.若是data文件夾存在,則放入data文件夾中
    2.若是沒有data這個文件夾,則把first.py更名爲data
    
scp  ./first.py   root@192.168.16.105:/data 


#把別人的東西拿過來 # root@192.168.16.105:/data/鋼哥的小祕密.txt
scp  root@192.168.16.105:/data/鋼哥的小祕密.txt   /opt 

#發送全部的文件和文件夾給別人  
把當前目錄全部 發給 @192.168.16.105對應目錄下的data目錄
scp  -r ./* root@192.168.16.105:/data/

知識點擴展

 

W開頭的命令

which

查找並顯示給定命令的絕對路徑。
用於查找命令

用法

語法  
which [-a] filename ...
which 文件名
簡介
which命令 用於查找並顯示給定命令的絕對路徑,環境變量PATH中保存了查找命令時須要遍歷的目錄。which指令會在環境變量$PATH設置的目錄裏查找符合條件的文件。也就是說,使用which命令,就能夠看到某個系統命令是否存在,以及執行的究竟是哪個位置的命令。
which 是根據使用者所配置的 PATH 變量內的目錄去搜尋給定命令的絕對路徑。若是所給出的命令是shell 內嵌命令的話,命令是沒法給出絕對路徑。且命令執行失敗。

示例

root@LeeMumu:~# which man
/usr/bin/man
root@LeeMumu:~# which ls
/bin/ls
root@LeeMumu:~# echo $?
root@LeeMumu:~# which cd 
root@LeeMumu:~# echo $?
    which python
    #usr/bin/python

whereis

簡介

查找二進制程序、代碼等相關文件路徑。
whereis 文件 #查找出相關屬性名

詳細介紹

whereis命令 用來定位指令的二進制程序、源代碼文件和man手冊頁等相關文件的路徑。
whereis命令只能用於程序名的搜索,並且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。若是省略參數,則返回全部信息。
和find相比,whereis查找的速度很是快,這是由於linux系統會將 系統內的全部文件都記錄在一個數據庫文件中,當使用whereis和下面即將介紹的locate時,會從數據庫中查找數據,而不是像find命令那樣,通 過遍歷硬盤來查找,效率天然會很高。 可是該數據庫文件並非實時更新,默認狀況下時一星期更新一次,所以,咱們在用whereis和locate 查找文件時,有時會找到已經被刪除的數據,或者剛剛創建文件,卻沒法查找到,緣由就是由於數據庫文件沒有被更新。
語法
whereis [options] [-BMS directory... -f] name...

選項

-b              # 只查找二進制文件
-B<目錄>         # 只在設置的目錄下查找二進制文件
-f              # 不顯示文件名前的路徑名稱
-m              # 只查找說明文件
-M<目錄>         # 只在設置的目錄下查找說明文件
-s              # 只查找原始代碼文件
-S<目錄>         # 只在設置的目錄下查找原始代碼文件
-u              # 查找不包含指定類型的文件

示例

root@LeeMumu:~# whereis man
man: /usr/bin/man /usr/local/man /usr/share/man /usr/share/man/man7/man.7.gz /usr/share/man/man1/man.1.gz
root@LeeMumu:~# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
root@LeeMumu:~# whereis -b ls
ls: /bin/ls
whereis ls 會打印出對應的路徑和壓縮文件
#ls:/user/bin/ls   /usr/share/man/man1/ls.1.gz
which ls #usr/bin/ls
which cd 會輸出對應絕對路徑#/usr/bin/cd

who

要顯示關於誰正在使用本地系統節點的信息

顯示目前登入系統的用戶信息。
要顯示當前用戶名whoami  root  
whoami 我是誰 查看當前用戶明

定時任務

1.檢查定時任務列表 

crontab -l  

2.設置定時任務

crontab  -e   

#語法  ,每分鐘向一個文件中,追加一個信息

知識點

命令要寫絕對路徑
不寫 就是*
- 區間
,第幾和第幾

練習

查看命令的絕對路徑
which rm -a
#每分鐘執行一次命令
*   *   *   *  *     命令的絕對路徑 

#每小時的3,15分組執行命令
*   *   *   *  *     命令的絕對路徑 

3,15    *   *  *  *   




#在下午8-11點的第3和第15分鐘執行

*     *     *   *  *     命令的絕對路徑 
3,15  20-23   *  *  *  


3,5    5-9(早上五點,6點,7點,8點,9點)

第三分鐘和第五分鐘




#每晚21:30執行命令

*     *     *   *  *     命令的絕對路徑

30   21   *  *  *   


#每晚的12點執行命令 

0  0   *  *  *  



#每週6、日的1:30執行命令
*     *     *   *  *     命令的絕對路徑

30    1    *  *   6,0




#每週一到週五的凌晨1點,清空/tmp目錄的全部文件

*     *     *   *  *     命令的絕對路徑

0   1   *  *  1-5   /usr/bin/rm -rf /tmp/*








#每晚的21:30重啓nginx

*     *     *   *  *     命令的絕對路徑

30  21   *  *  *   /usr/bin/systemctl  restart nginx  





#每個月的1,10,22日的下午4:45重啓nginx

*     *     *   *  *     命令的絕對路徑
45   16    1,10,22  *  *   /usr/bin/systemctl  restart nginx  


#每一個星期一的上午8點到11點的第3和15分鐘執行命令

*     *     *   *  *     命令的絕對路徑

3,15  8-11  * *   1

引用雲倉庫

用linux傳輸到windows

yum install lrzsz 下載模塊

支持拖拽 
sz 傳輸
rz 接收

vim和vi

vi是linux 內置的文本編輯器
vim 是具備程序編輯能力的編輯器
使用
vim 須要yum install vim -y 
寫y 直接贊成 若是不寫y會有判斷 是否贊成
安裝以後
vi 和vim同樣
命令模式
1.vi 打開進入文件內部
2.進入命令模式
    #命令模式
3.輸入i insert 
    a append 
    o 光標下一行
4.按下esc回到命令模式
5.輸入:進入底線命令模式
6.輸入
    #底線命令模式
    :wq保存退出 
    :q退出
    :wq保存退出
    :wq!強制寫入內容且推出
    :!q強制退出
    :wq!強制寫入
#輸入模式
字符按鍵以及Shift組合,輸入字符
ENTER,回車鍵,換行
BACK SPACE,退格鍵,刪除光標前一個字符
DEL,刪除鍵,刪除光標後一個字符
方向鍵,在文本中移動光標
HOME/END,移動光標到行首/行尾
Page Up/Page Down,上/下翻頁
Insert,切換光標爲輸入/替換模式,光標將變成豎線/下劃線
ESC,退出輸入模式,切換到命令模式

參數

w 是下一個
b 是上一個
結尾是$ 開頭0
行尾 G 行尾 g
命令模式/從前日後找 查找 ?從後往前找
    查找到了用字母n 查找下一個
    
shift +5 就是% 查看括號的另外一半
想要複製的行數 yy p複製
x刪除光標當前字符
u是撤銷
dd刪除所在行
dG 刪除當前行和下面的全部行
cu 列出行號
:加上行號 就能夠找到對應的行數
#注意不要在第一行輸入賦值內容 容易查詢
vim 文件名 vi文件名
vi/vim編輯器,編輯文件
執行 vim的
#coding=utf-8 能夠識別中文

gcc執行代碼

一.安裝(基於Centos6.5, 其餘系列Linux系統命令有所不一樣)
yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
yum -y install wget httpd-tools vim
1.就把gcc當成c語言編譯器, g++當成c++語言編譯器用就是了.(知乎)
2.wget是一個從網絡上自動下載文件的自由工具, 能夠在用戶退出系統的以後在後臺繼續執行, 直到下載任務完成.(百度百科)

二.測試(查看版本信息, 編譯Helloworld)

1.查看gcc版本信息

gcc --version

img

2.編寫Helloworld

建立名爲ctest.c文件

touch ctest.c

編輯該文件

img

#include <stdio.h>

int main()
{
printf("hello world!\n");
return 0;
}

編譯gcc ctest.c

能夠看到生成了a.out文件

img

執行a.out

./a.out

輸出結果

img

tar打包,壓縮命令

打包命令  
tar   
參數 
-z  調用gzip壓縮
-x  解包
-c  打包
-v 顯示過程 
-f  必須寫參數結尾,指定tar包的名字 
tar zcvf 打包到的路徑 被打包的路徑
tar -cvf 打包

案例

1.把/tmp下全部內容打包成  alltmp.tar 文件 
tar -cvf  alltmp.tar  /tmp/*#打包

2.解包的命令,把alltmp.tar的內容,解壓縮到/tmp目錄下
tar -cvf alltmp.tar
3.打包且壓縮的命令,可以節省60%-70%磁盤空間

tar  -zcvf  alltmp.tar.gz   ./*  

4.解壓縮命令 
tar  -xjf  ../alltmp.tar.gz    ./


17.另外一個打包命令 zip,解包命令unzip

殺死進程

殺死進程的命令

#經過進程id  殺死nginx 

    1.  檢查pid
    ps aux  | grep  nginx 

    2.殺死進程id  
    kill  id 號碼

DNS

配置文件
cat /etc/resolv.conf
#dns服務器地址
nameserver 119.29.29.29
nameserver 223.55.5

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

配置文件
cat /etc/resolv.conf#dns服務器地址
nameserver 119.29.29.29
nameserver 223.5.5.5

本地強制dns解析文件/etc/hosts

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

上課筆記

 

重點記憶

 

問題

若是沒有網絡怎麼辦

1.若是沒有ifconfig命令怎麼辦 

- 使用內置的命令
  ip  addr show  #查看網絡信息對應的ip

   配置好網絡後,安裝網絡工具包
    yum install  net-tools  -y  #

  

2.若是使用ifconfig看不到ip地址的話,那就得重啓網絡服務

3.重啓網絡的步驟
    -確保配置文件正確配置
    vim /etc/sysconfig/network-scripts 

確保onboot=yes便可

4.重啓網絡服務 
systemctl  restart  network

sk 問題

1.服務器有哪些硬件?
主板,CPU,CPU風扇,網卡,顯卡,內存,聲卡,硬盤,電源模塊

2.內存,CPU,硬盤的做用?
內存:RAM,CPU與磁盤之間的緩衝設備,也叫臨時儲存器
CPU:進行運算,邏輯處理
硬盤:數據存儲介質,能夠永久存儲數據信息

3.服務器常見品牌?
IBM 浪潮  DELL  聯想 HP

4.操做系統的做用?
計算機系統中必不可少的基礎系統軟件,它是應用程序運行及用戶操做必備的基礎環境支撐

5.開源軟件的特性,以及開源許可的協議
低風險、高品質、低成本、更透明
許可協議:Apache許可證,MIT許可證,BSD許可證,GPL許可證,Mozilla許可證,LGPLL許可證

6.linux優勢
免費、開源、穩定性強、對數據處理更加友好
使用linux的好處是自由傳播,免費,不會犯法,任意切換圖形/命令終端,安全穩定,不用殺毒軟件,不卡

7.說出常見的linux髮型版
RedHat、CentOS、openSUSE、Debian、Ubuntu、

8.用虛擬機學linux的好處是?
    1.利用虛擬機搭建Linux學習環境簡單方便、容易上手,最重要的是虛擬機模擬的Linux和真實服務器幾乎無區別
    2.搭建Linux集羣或者須要模擬多臺服務器通訊的時候,能夠同時開啓好幾臺虛擬機
    3.免費搭建Linux環境,不須要本身花錢租服務器
    4.需該虛擬機配級方便快捷

資源

1.查看linux的path變量
    echo  $PATH
2.簡述linux的文檔目錄結構
    / 根目錄是頂級目錄
    /opt
    /etc 
    /usr/bin
    絕對  從頂級根目錄開始找到當前位置
    相對路徑    只要不是絕對路徑,就是相對路徑
    
    linux目錄格式是一個倒過來的樹形目錄 
    
    
3.遞歸建立文件夾/tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng}
mkdir -p /tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng}




4.顯示/tmp/下全部內容詳細信息
ls -la /tmp/*

5.簡述 /  ~  - 的含義
/ 在開頭是根目錄 ,在第二個位置起,就是目錄分隔符 
~  用戶家目錄 
-    上一次工做目錄

6.請簡述你如何使用vi命令
    1.  vi  文件 
    2.   輸入i  進入編輯模式
    3.  輸入內容,寫東西
    4.  按下esc  ,推出命令模式,輸入冒號  :wq!  強制寫入內容保存而且退出vim



7.查看/etc/passwd的內容而且打印行號
cat   -n   /etc/passwd 


8.查看文本有哪些命令?
cat   tac  head  tail    more less  

9.linux xshell經常使用快捷鍵?
ctrl + l  等於clear
ctrl + d  快速logout
ctrl +  shift  + r  等於快速登陸

10.如何用echo清空一個文件?
echo > filename  

11.複製/tmp/下全部內容到/home,在修改文件前,先拷貝一份,防止內容被破壞
cp -r  /tmp/*    /home/    # -r遞歸子目錄拷貝內容 

12.重命名test.py爲my.py
mv  test.py  my.py  

13.強制刪除/tmp下內容

rm  -rf  /tmp/   #刪除tmp整個文件夾
rm  -rf  /tmp/*   #刪除tmp文件夾中全部內容 




14.找到服務器上的settings.py

find  從哪找  名字叫什麼 


find  /  -ty  -name   settings.py  




15.找到/etc下的網卡配置文件,提示網卡配置文件名是ifc開頭

find  /etc   -type f  -name  "ifc*"  




這裏題目,請先cp /etc/passwd /tmp/   拷貝文件

16.過濾出/tmp/passwd下有關root的信息


grep  過濾命令 
grep 你想要什麼   從那個文件中過濾

grep -i "root"   /tmp/passwd  #  -i參數是忽略大小寫


17.過濾出/tmp/passwd下除了/sbin/nologin的信息,且打印行號

#從/tmp/passwd這個文件中,找出,除了/sbin/nologin這個信息的行
grep  -v  "/sbin/nologin"    /tmp/passwd  # -v是排除的意思


#去掉空白和註釋行 
grep -v  "^$"  passwd  | grep -v "^#"


18.查看/tmp/passwd前25行

head -25  /tmp/passwd


19.查看/tmp/passwd後3行


tail -3  /tmp/passwd



20.不間斷打印/var/log/py.log的信息

tail  -f  /var/log/mysql.log  




21.替換/tmp/passwd中的全部root爲ROOT

#sed處理字符的命令 
#語法,s是替換模式,g是全局替換 


#
sed "s/你想替換的內容/替換以後的內容/g"  
#把passwd文件中全部的root替換爲大寫的ROOT,  -i參數是將替換結果寫入到文件
sed -i    "s/root/ROOT/g"    passwd




23.配置rm別名爲「禁止你用rm,謝謝」,而後取消別名

alias  rm="echo 常鑫,禁止你使用rm,求求你了"




24.將服務器1的/tmp/my.py遠程傳輸到服務器2的/opt/目錄下

#此時我在服務器2上

scp  你想要的內容  你想放到哪裏去

scp  root@服務器1ip:/tmp/my.py    /opt/


25.將服務器2的/opt/test.py拷貝到服務器1的/home目錄下

#此時我在服務器2上  

scp  root@服務器2ip:/opt/test.py    root@服務器1ip:/home/




26.統計/var/log/文件夾大小

du  -sh  /var/log/   # -s 合計結果  -h 顯示 mb gb單位


27.簡述top的常見參數

28.給settings.py加鎖,禁止刪除
chattr +i settings.py  

29.同步服務器時間到ntp.aliyun.com

ntpdate   -u  ntp.aliyun.com  # -u 更新時間


30.下載http://pythonav.cn/xiaobo.jpg圖片

wget http://pythonav.cn/xiaobo.jpg

明天總攻擊

16.打包,壓縮命令 

    打包命令  
    tar   
    參數 
    -z  調用gzip壓縮
    -x  解包
    -c  打包
    -v 顯示過程 
    -f  必須寫參數結尾,指定tar包的名字 


    1.案例    
    把/tmp下全部內容打包成  alltmp.tar 文件 
    tar -cvf  alltmp.tar  ./*
    
    2.解包的命令,把alltmp.tar的內容,解壓縮到/tmp目錄下
    
    3.打包且壓縮的命令,可以節省60%-70%磁盤空間
    tar  -zcvf  alltmp.tar.gz   ./*  
    
    4.解壓縮命令 
    tar  -zxvf  ../alltmp.tar.gz    ./



17.另外一個打包命令 zip,解包命令unzip  


18.查看linux網絡端口的命令

netstat  -tunlp  

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

#案例
檢查服務器的80端口是否打開

netstat  -tunlp  |  grep 80  

#安裝nginx,且運行nginx,打開80端口
    #安裝   yum install  nginx  -y  
    #啓動   經過yum安裝的軟件,均可以經過系統服務管理命令,去啓動,不管是nginx 仍是mariadb等
    systemctl  start/stop/restart/status  nginx  
#注意關閉防火牆的命令
    systemctl stop  firewalld       #中止防火牆服務 
    systemctl disable  firewalld    #中止防火牆開機自啓
    
    iptables -F                     #清空防火牆規則  
    

19.殺死進程的命令

#經過進程id  殺死nginx 

    1.  檢查pid
    ps aux  | grep  nginx 

    2.殺死進程id  
    kill  id 號碼
相關文章
相關標籤/搜索