Linux瞭解一下

来源:https://www.cnblogs.com/panda-pandeyong/archive/2019/01/04/10171240.html
-Advertisement-
Play Games

VMware與CentOS系統安裝 1, 下載CentOS系統ISO鏡像: 國內鏡像源 2, 安裝VMware虛擬機 虛擬機能讓用戶在一臺機器上模擬出多個操作系統的軟體,一般的機器配置能夠勝任虛擬機的任務. 虛擬機不但可以虛擬出硬體資源,把實驗環境與真機文件分離保證數據安全,還能在刪掉系統核心配置時 ...


VMware與CentOS系統安裝

  1, 下載CentOS系統ISO鏡像:

  國內鏡像源

https://opsx.alibaba.com/mirror#阿裡雲官方鏡像站
iso下載地址(此DVD映像包含可以使用該軟體安裝的所有軟體包安裝程式。這是大多數用戶的推薦圖像):
https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso

 

  2, 安裝VMware虛擬機

  虛擬機能讓用戶在一臺機器上模擬出多個操作系統的軟體,一般的機器配置能夠勝任虛擬機的任務.

  虛擬機不但可以虛擬出硬體資源,把實驗環境與真機文件分離保證數據安全,還能在刪掉系統核心配置時,有'快照'的功能,立即恢復到出錯前的狀態.

  (Windows用戶)VMware Workstation是一款功能強大的桌面虛擬電腦軟體,提供用戶可在單一的桌面上同時運行不同的操作系統,

和進行開發、測試 、部署新的應用程式的最佳解決方案。
  下載激活地址:http://www.zdfans.com/html/5928.html
  (Mac用戶) VMware fusion
  簡單的說,虛擬機(virtual Machine)軟體就是一套特殊的軟體,同時可以用“多個操作系統”
  虛擬出硬體+操作系統==伺服器+OS
  誤區:學Linux不需要再物理機上安裝,費時費力,採用虛擬機是最合適的方式

  Linux學習環境推薦電腦配置:
    筆記本電腦: 記憶體 8G ; 磁碟 500G SATA或者120G SSD ; i3, i5, i7處理器.
  
  Linux是一個多用戶,多任務,支持多線程和多CPU的操作系統
  
  通過VM虛擬機學習Linux的優點:
    利用虛擬機搭建Linux學習環境簡單方便, 容易上手, 最重要的是虛擬機的Linux和真實伺服器
    幾乎無區別;
    搭建Linux集群或者需要模擬多台伺服器通信的時候,可以同時開啟好幾台虛擬機,虛擬機可以滿足多機器的需求;
    自己租伺服器可以搭建Linux環境,用於個人開發學習使用;
    允許修改虛擬(伺服器)機配置,且不會影響自己的電腦,想刪除虛擬機也不會影響電腦,虛擬機只是運行在電腦上的一個程式.

  安裝VM註意:
    1, 秘鑰自己網上搜即可,要配合版本;
    2, 安裝成功後創建新的虛擬機,在新建虛擬機嚮導中選擇'自定義';
    3, 在安裝客戶機操作系統時, 選擇'稍後安裝操作系統';
    4, 在選擇磁碟時,選中 '創建新虛擬磁碟';
    5, 在指定磁碟容量時,選擇'將虛擬機磁碟拆分成多個文件';
    6, 點擊'自動檢測',選擇已經下好的ISO文件
    ...

  root密碼重置:
    在重啟Linux系統主機並出現引導界面時,按下鍵盤上的e鍵進入內核編輯界面

  
    在Linux16參數行的最後追加'rd.break'參數,然後按下Ctrl+X組合鍵來運行修改的內核程式

 

    等待之後,進入系統緊急求援模式

 

    依次輸入以下命令,等待系統重啟操作完畢,然後就可以使用新密碼來登錄Linux系統了   

mount -o remount,rw /sysroot
    chroot /sysroot
    passwd
    touch /.autorelabel
exit reboot

 

  在安裝VM和CentOS過程中可能還有其他問題,如電腦不相容等問題,自行查資料或請教他人解決.

 

遠程連接: 

    這裡只用Xshell軟體進行連接.

       獲取主機IP地址 : 

    

方式1 ip addr
方式2 ifconfig

 

 

   網路模式配置: 

    host only 僅主機,單機模式,電腦控制虛擬令其無法與外界通信

    nat模式(網路地址轉換)

    --- 電腦宿主機的ip在區域網內是唯一的, 選擇了NAT模式創建虛擬機,虛擬機就是一個新的區域網

    --- 虛擬機的IP地址是nat分配的,電腦網路環境改變不會影響虛擬機

    橋接模式: 

    --- 用該模式,就是區域網中一臺獨立的主機,他可以訪問該網段任意一臺機器.

    --- 虛擬機受電腦網路環境的影響,隨時改變ip地址

  埠 

    一臺伺服器可以有一個ip地址,例如是192.168.11.1,伺服器是需要對外提供服務的,例如web服務,FTP服務。那麼僅憑ip地址,主機無法區分不同的服務,ip地址和網路服務是一對多的關係,一個ip提供多個服務,因此就有了“埠號”來區分不同的伺服器的。

    埠(port) 的設計規定是有65536個埠,每個埠對應唯一的程式,0-1024埠之間被操作系統占用,因此開發人員使用的是1024-65536

    如 : ftp : 23    dns: 53   http : 80    https: 443    ssh : 22

  

  協議 : 

    protocol是為網路中的數據交換而建立的規則,標準或者約定,倆個實體要通信,必須要有同一種語言.

    超文本傳輸協議: HTTP ; 文件傳輸協議: FTP ; 簡單郵件傳輸協議: SMTP

    網路通信協議: TCP ; 用戶數據報協議: UDP

 

  連接伺服器: 

    首先打開伺服器,並獲取ip,

    然後,在Xshell中輸入 :  ssh ip,

    隨後輸入伺服器名稱和密碼即可.

    Ctrl+Alt+F[1~6],如果要切換到第二號虛擬機終端, 則同時按Ctrl+Alt+F2

    普通用戶登錄後系統提示符:$ ; root用戶登錄後系統提示符: # 

 

  查看終端信息shell命令

    tty 查看當前終端 ;  

    who am i 僅顯示當前用戶正在使用的終端和登錄時間

    w  查看所有終端, (功能最全,顯示用戶名,登陸時間,負載等信息)

 

Linux 常用命令

  Linux命令就是一個可執行的二進位程式

  網卡配置: 

  裝好Linux後,有的時候網卡預設是沒啟動的,因此需要手動啟動網卡:

    編輯網卡配置文件-- vi /etc/sysconfig/network-scripts/ifcfg-etho

    (註意ifcfg-etho表示ip所在的當前文件夾)

    修改配置參數-- 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地址;

  註意: dhclient 能夠手動獲取ip地址,再使用ip addr 即可查看.

      service network restart   重啟網路即可.

 

  ifup, ifdown命令 

  表示啟動/關閉一塊網卡;

  ifup ens33     ;    ifdown ens33

  他們是直接連接到/etc/sysconfig/network-scripts目錄下搜索對應的網卡文件,如: ifcfg-ens33

  

  ifconfig命名(並非系統自帶,需要下軟體包:yum install net-tools -y)

  ifconfig 查看網卡ip地址

 

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

  ifdown 關閉網卡  

 

   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

 

  ls 查看Linux文件夾信息 list縮寫 , Linux中白色的是普通文件,藍色的是目錄文件

  pwd 列印當前工作目錄--print work

  mkdir 創建文件夾   

    如: mkdir 文件夾名        創建單個文件夾 ; 

       mkdir 文件夾1 文件夾2文件夾3      創建多個文件夾

  cat 查看Linux文本(查看純文本文檔,常用於內容較少的)

  

#查看文件,顯示行號
cat -n xxx.py
#查看文件
cat xxx.py

#在每一行的結尾加上$符
[root@master tmp]# cat -E 1.txt

#追加文字到文件
cat >>/tmp/oldboy.txt << EOF(此處表明退出的標識)
唧唧復唧唧...
(此處寫追加的內容)
EOF

  

 

  cd change 目錄     表示更改目錄  ; cd 目錄   表示切換/更改當前目錄或位置  如: cd /home  

  touch  創建普通文本

    如: touch 文件名

       touch 文件1 文件2 文件3

  echo  顯示變數的值/顯示當前字元串

    如: echo 'pan 是個大傻逼'

  

  cat filename.txt -n 查看文本內容 顯示行號

  more 用於查看大文件

    more 命令查看文本會以百分比的形式顯示已經看了多少,

    回車鍵向下讀取內容 ; 按空格(space)翻頁 ; 按b鍵是上一頁 

  拷貝命令 : cp 文件1 文件2 ;  cp -r 遞歸拷貝文件

  find 查找文件命令   表示從哪找  啥類型 找什麼(find 目錄 類型 名字)   

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

-name 按照文件名查找文件
-type 查找某一類型的文件,諸如:
b - 塊設備文件。
d - 目錄。
c - 字元設備文件。
p - 管道文件。
l - 符號鏈接文件。
f - 普通文件。
s - socket文件


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'

    

  Linux 快捷鍵:

    tab鍵: 用於自動補全命令/文件名/目錄名

    Ctrl + 1 清理終端信息

    clear/cls  清理終端顯示

    Ctrl + c 終止當前操作

  echo : 

    用於在終端輸出字元串或者變數提取後的值,格式是'echo 字元串|$變數'

#預設吧內容顯示到終端上    
echo "pan"
#把“pan”寫入到文件里!
echo "pan" > /tmp/chaoge.txt
echo $PATH #取出列印PATH的值

 

  特殊符號 

    輸出/輸入 重定向符號

     >>  追加重定向,把文字追加到文件的結尾

     >     重定向符號,清空源文件內容, 然後把文字覆蓋到文件末尾

     <   輸入重定向

     <<    將輸入結果輸入重定向

    如: echo 'pan' > /tmp/pan.txt

       echo 'pan66' >> /tmp/pan.txt

       cat >> /tmp/pan.txt << EOF

       把命令執行的結果信息,寫入到文件

      ip addr > /tmp/network.txt  標準輸出重定向 把命令執行結果信息放到文件中

    通配符:   

      ls -l 文件

    

 

  vim 支持編程的文本編輯器(不是系統預設命令,需要下載)

    vim 具有程式編輯能力,可以主動的以字體顏色辨別語法的正確性,方便程式設計. 

    vim filename.txt 進入命令模式後,可以輸入各種命令

    :set nu  顯示行號 (需要先按Esc鍵)

    在游標所在行 yy 複製本行 ; 在游標所在行 dd 刪除本行

    5yy 表示覆制5行 , 5dd 表示刪除5行

 

#方法,命令
vi
vim
使用vi打開oldboy.py,預設是命令模式,需要輸入a/i進入編輯模式,然後輸入文本"Life is short,i use python"
按下esc鍵,回到命令模式
輸入  :wq!  強制保存退出
w write 寫入
q quit 退出
! 強制
或者  :x 保存退出
------
:q  不保存退出
:q! 不保存強制退出

 

  vi   Linux底下的文本編輯器(相當於記事本)

    vi 文件   此時進入一個命令模式,需要先輸入i字母插入指令,便可進行編輯.

    編輯完成後,先按esc回到命令模式,再按下 : 然後輸入wq!  保存退出. w表示write寫入; q 表示 quit 退出 ; ! 表示強制性.   若不保存退出 輸入 q! .

 

  複製 : 

copy ==> cp
#移動xxx.py到/tmp目錄下
cp xxx.py /tmp/
#移動xxx.py順便改名為chaoge.py
cp xxx.py /tmp/chaoge.py

Linux下麵很多命令,一般沒有辦法直接處理文件夾,因此需要加上(參數) 
cp -r 遞歸,複製目錄以及目錄的子孫後代
cp -p 複製文件,同時保持文件屬性不變    可以用stat
cp -a 相當於-pdr
#遞歸複製test文件夾,為test2
cp -r test test2

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

 

  移動命令:

move > mv

cd /home
#把日本的沖繩,搬到南海去
mv /home/riben/chongsheng /tmp/nanhai

文件/文件夾改名
mv x.log xx.log

   

  刪除命令:  

remove ==> rm
參數  -i  需要刪除確認
   -f  強制刪除
     -r  遞歸刪除目錄和內容
     
cd /tmp
rm oldboy.py
#預設有提示刪除,需要輸入y
rm -f oldboy.py #不需要提示,強制刪除
#rm預設無法刪除目錄,需要跟上參數-r
rm -rf /tmp/oldboy/

--------
友情提醒:初學者使用rm命令,隨時快照虛擬機

 

  管道命令:   

Linux提供的管道符“|”將兩條命令隔開,管道符左邊命令的輸出會作為管道符右邊命令的輸入。
常見用法:
#檢查python程式是否啟動
ps -ef|grep "python"

#找到/tmp目錄下所有txt文件
ls /tmp|grep '.txt'

#檢查nginx的埠是否存活
netstat -tunlp |grep nginx

 

  grep 

    是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行列印出來.

語法:
grep [參數] [--color=auto] [字元串] filename
參數詳解:
-i : 忽略大小寫
-n : 輸出行號
-v : 反向選擇
--color = auto : 給關鍵詞部分添加顏色

grep "我要找什麼" /tmp/oldboy.txt
#排除 -v,排除我要找的東西
grep -v "我要找什麼 /tmp/oldboy.txt

  如: 找出目錄下root用戶所在行,以及行號,顯示顏色

    cat /etc/passwd |grep '^root' --color=auto -n

   找出..所有不允許登錄的用戶

    grep /sbin/nologin /etc/passwd

    找出..的所有與mysql有關行,行號

     cat /etc/passwd |grep 'mysql' -n

 

  head, tail命令

head顯示文件前幾行,預設前10行
tail顯示文件後幾行,預設後10行
#查看前兩行
head -2 /tmp/oldboy.txt
#查看後兩行
tail -2 /tmp/oldboy.txt
#持續刷新顯示
tail -f xx.log

#顯示文件10-30行
head -30 /tmp/oldboy.txt |tail -21

 

  別名: 

Linux如何提示你,在使用這些命令時候,提醒你小心呢?
#查看系統別名
alias
預設別名

alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
別名作用是:
我們在linux中使用cp時候相當於執行了cp -i
-i:刪除已有文件或目錄之前先詢問用戶;
#別名用比較危險的操作,防止你犯錯

  設置rm別名 

#讓系統顯示 do not use rm
echo do not use rm
#設置rm別名
alias rm='echo do not use rm'
#設置別名永久生效,寫入到/etc/profile(針對登錄用戶的合同,設置環境變數)
vim /etc/profile #編輯文件
G  快速到達最後一行
o  當前行下一行,創建一個新行,進入編輯模式
source /etc/profile #讀取文件(合同生效)
---------------
#取消別名
unalias rm

 

  which命令: 

which命令用於查找並顯示給定命令的絕對路徑,環境變數PATH中保存了查找命令時需要遍歷的目錄。
which指令會在環境變數$PATH設置的目錄里查找符合條件的文件。
也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
which pwd
which python

which python #python命令在哪
/usr/bin/python #命令文件絕對路徑

    scp 命令: 

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

   scp是secure copy的縮寫,scp是Linux系統下的基於

   語法: scp 參數 本地文件 遠程文件標記

   參數:  

-r :遞歸複製整個目錄
-v:詳細方式輸出
-q:不顯示傳輸進度條
-C:允許壓縮

 

  實例: 

#傳輸本地文件到遠程地址
scp 本地文件  遠程用戶名@遠程ip:遠程文件夾/
scp 本地文件  遠程用戶名@遠程ip:遠程文件夾/遠程文件名

scp /tmp/chaoge.py root@192.168.1.155:/home/
scp /tmp/chaoge.py root@192.168.1.155:/home/chaoge_python.py

scp -r  本地文件夾  遠程用戶名@遠程ip:遠程文件夾/
scp -r /tmp/oldboy root@192.168.1.155:/home/oldboy

#複製遠程文件到本地
scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt
scp -r root@192.168.1.155:/home/oldboy /home/

 

  du命令: 

    Linux du命令用於顯示目錄或文件的大小

    du會顯示指定的目錄或文件所占用的磁碟空間  

用法
du 【參數】【文件或目錄】
-s 顯示總計
-h 以k,M,G為單位顯示,可讀性強

 

    實例:  

顯示目錄或文件所占空間
#什麼都不跟,代表顯示當前目錄所有文件大小
du   

#顯示/home的總大小
du -sh /home

 

  top 命令:

  

第一行 (uptime)
系統時間 主機運行時間 用戶連接數(who) 系統1,5,15分鐘的平均負載
第二行:進程信息
進程總數 正在運行的進程數 睡眠的進程數 停止的進程數 僵屍進程數
第三行:cpu信息
us:用戶空間所占CPU百分比
sy:內核空間占用CPU百分比
ni:用戶進程空間內改變過優先順序的進程占用CPU百分比
id:空閑CPU百分比
wa:等待輸入輸出的CPU時間百分比
hi:硬體CPU中斷占用百分比
si:軟中斷占用百分比
st:虛擬機占用百分比

第四行:記憶體信息(與第五行的信息類似與free命令)
total:物理記憶體總量
used:已使用的記憶體總量
free:空閑的記憶體總量(free+used=total)
buffers:用作內核緩存的記憶體量

第五行:swap信息
total:交換分區總量
used:已使用的交換分區總量
free:空閑交換區總量
cached Mem:緩衝的交換區總量,記憶體中的內容被換出到交換區,然後又被換入到記憶體,但是使用過的交換區沒有被覆蓋,交換區的這些內容已存在於記憶體中的交換區的大小,相應的記憶體再次被換出時可不必再對交換區寫入。

 

  Linux的時間同步

   Linux的date命令可以顯示當前時間或者設置系統時間

   查看當前時間:

    

    格式化輸出:  

-d    --date=string    顯示指定的時間,而不是當前時間
以年-月-日顯示當前時間
date +"%Y-%m-%d"
以年-月-日 時分秒 顯示當前時間
date +"%Y-%m-%d %T"
在Linux下系統時間和硬體時間不會自動同步,在Linux運行過程中,系統時間和硬體時間以非同步的方式運行,互不幹擾。
硬體時間的運行,是靠Bios電池來運行,而系統時間是用CPU tick來維持的。
在系統開機時候,會從Bios中獲取硬體時間,設置為系統時間
硬體始終的查看

[root@localhost ~ 10:19:04]#hwclock
2018年08月27日 星期一 10時23分03秒  -0.528004 秒
同步系統時間和硬體時間,可以用hwclock命令

//以系統時間為基準,修改硬體時間
[root@localhost~ 10:29:07]#hwclock -w

//以硬體時間為基準,修改系統時間
[root@oldboy_python ~ 10:29:21]#hwclock -s

 

  wget命令

    wget 命令用於在終端下載網路文件

    參數是 wget [參數]  下載地址   

wget -r -p http://www.luffycity.com#遞歸下載路飛所有資源,保存到www.luffycity.com文件中

  

  開關機命令: reboot 用於重啟機器 ; poweroff 用於關閉系統.

 

  su - 用戶名 : 表示切換用戶身份   - 表示完全切換,連同環境變數都切換了

    root用戶切換普通用戶不需要密碼, 反之要輸入root密碼

  退出登錄 exit logout 

  

  xshell 快捷鍵 

    ctrl + l 清屏  ctrl + d 退出登錄  ctrl + shift + r 快速登錄

    

  linux命令提示符的變數 PS1變數

  修改命令提示符,添加 絕對路徑,和時間      PS1="[\u@\h \w \t]$"

  用戶組添加  groupadd 用戶組名

  刪除用戶      userdel 用戶名

  用root身份去執行命令 sudo 編輯這個文件,寫入一些配置 vi /etc/sudoers 找到這一行配置:

Allow root to run any commands anywhere

root ALL=(ALL)  ALL
pan     ALL=(ALL)  ALL

 

   修改主機名 :hostnamectl set-hostname s15nb

  文件與目錄許可權:

    r 表示可讀可以對次目錄執行ls列出所有文件 ; w 表示可寫 可以在這個目錄文件創建文件 ; x 表示可執行 可以cd進入這個目錄,或者查看詳細信息 ; - 表示沒有許可權

    r w x 分別對應 4 2 1 那麼可以認為文件夾許可權777 為最高許可權,即: rwxrwxrwx ; 最低許可權為000 即: --------- .

-rw-r--r-- .1 root root 721819 Dec 08:17 girl.gif
許可權相關 軟連接 屬於哪個用戶 屬於哪個組 文件大小 日期 文件名
             

  -rw-r--r--. 1 root root 28 Dec 26 20:57 zhaoyiningnibiewanshoujila

  文件屬主 : root

  屬組: root

  文件類型是 - (普通文件)

  許可權 rw-r--r--

    文件屬主的許可權 rw-

    文件數組的許可權 r--

    其他人的許可權 r--

  文件夾的可讀可寫可執行 : 可讀 : ls ;  可寫 : 在文件夾當中創建文件;  可執行 :cd .

  改變用戶屬主: chown change owner

  更改擁有者:  chown 用戶名 file

  更改屬組 :  chgrp 組名 file

  

  軟連接配置:   

ln命令

ln -s  目標文件絕對地址  快捷方式的絕對路徑地址

ln -s  /opt/cs.txt   /home/cs.txt 

py3  /opt/python36/bin/python3.6  解釋器絕對路徑

python的時候,就去path中尋找

將python3.6的解釋器,添加快捷方式到 /usr/local/sbin/python3.6

當我們輸入python的時候
ln -s /opt/python36/bin/python3.6     /usr/local/sbin/

 

   path添加:  

echo $path
[root@s15fafafa home]# echo $PATH
PATH變數只能添加目錄,不能定位到文件
將某個文件地下所有內容,都加入環境變數 
/usr/local/sbin
:/usr/local/bin
:/usr/sbin
:/usr/bin
:/root/bin

#假設不用這個
:/opt/python36/bin/   這才是正確的添加python環境變數

 

   tar 壓縮解壓 命令

    -c 壓縮參數 ; 

    -x 解壓參數

    -v 顯示過程

    -f 指定文件,改參數要寫在最後

    語法: 壓縮文件== > tar -cf 壓縮文件名 想壓的內容

        解壓文件==>  tar -xf 壓縮文件名

  lrzsz 上傳下載的小工具 

   xftp 文件傳輸工具

  ps -ef | grep 任務       表示查看某任務是否運行有進程

  netstat -tunlp | grep  埠號  表示查看某任務的埠是否啟動

  netstat 參數

    -t 或 --tcp   顯示TCP傳輸協議的連線狀況

    -u 或 --udp 顯示UDP傳輸協議的連線狀況

    -n 或 --numeric  直接使用ip地址,而不通過功能變數名稱伺服器

    -l 或 --listening  顯示監控中的伺服器的Socket

    -p 或 --programs  顯示正在使用Socket的程式識別碼和程式名稱

    -a 或 --all 顯示所有連線中的Socket

  

  同一臺機器的三個ip : 

    0.0.0.0  即暴露應用在對外的ip地址,又暴露在自己的迴環地址;

    127.0.0.1 本機迴環地址,代表機器自己的內部ip ,其他人訪問不到, 並且每個人鬥魚自己的迴環地址;

    192.168.*.*   本地對外可以訪問的ip地址, 每個人都不一樣.

  kill    殺死進程 ;   kill -9    強制殺死進程

    如: kill -9 mysql

 

  selinux 內置的防火牆 

    查詢selinux狀態  : getenforce

    暫時停止selinux :  setenforce 0

    永久關閉selinux :

    ==>vi /etc/selinux/config

      enforcing - SELinux security policy is enforced    # 開啟

      permissive - SELinux prints warnings instead of enforcing   # 臨時關閉

      disabled - No SELinux policy is loaded    # 永久關閉   

      SELINUX=disabled  # 修改該欄位重啟機器 使得selinux永久關閉

 

   軟體防火牆: 

    iptables -F  清空規則

    iptables -L  查看iptable防火牆規則 , 看到只有如下短短的三個鏈,就說明,沒有規則了,關閉防火牆的需求,防止他影響你的服務訪問 :

       Chain INPUT(policy ACCEPT)

     target prot opt source   destination

     Chain FORWARD(policy ACCEPT)

     target prot opt source   destination

     Chain OUTPUT            destination

  停止防火牆:

      systemctl start/restart/stop firewalld  # 開啟/重啟/停止防火牆

   systemctl disable firewalld  # 刪除 iptables 的開機自啟

  修改Linux字元編碼

   編譯字元編碼的文件: 

    vi/etc/locale.conf

    寫如下代碼: LANG="zh_cn.utf-8"

   讀取文件是的變數生效: (source 讀取命令, 是的配置文件在系統中生效)

    source /etc/locale.conf

   查看系統字元編碼:   echo $LANG

  查看磁碟空間 : df -h

  以樹狀圖顯示文件目錄 : tree    (需要下載該命令包--yum install tree -y)

  dns服務 : 

    bind 軟體 , 配置dns 服務

    常見的互聯網dns伺服器: 

       8.8.8.8 谷歌的dns伺服器;

     114.114.114.114   114 dns伺服器地址;

     223.6.6.6  阿裡巴巴的dns伺服器地址;

     119.29.29.29  騰訊的dns伺服器地址

  Linux dns配置文件是 etc/resolve.conf

    cat /etc/resolve.conf

    Generated by NetworkManager

    nameserver 119.29.29.29          主dns

    nameserver 223.5.5.5             備dns

    /etc/host 文件 本地dns強制解析的文件

[root@s15fafafa home]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.13.148  www.baidu.com

 

    dns解析順序 : 

    1 ./etc/hosts

    2 ./etc/resolve.conf

  Linux 用於解析功能變數名稱的命令 : nslookup Pythonav.cn

  

  Linux的定時任務 

    crontab -l  查看任務 ;   crontab -e   編輯任務

    crontab的語法:  分時 日 月 周

例 : 每月的,5,15,25天的晚上5點50重啟nginx

​    50 17 5,15,25 * * /opt/nginx/sbin/nginx -s reload

 

 

Windows 軟體包 : exe 可安裝格式 ; msi  可執行安裝文件 ; .zip 壓縮包格式 ; .rar壓縮包格式.

 

Linux 軟體包管理 : 

  Linux軟體格式分為:

     1, 源碼包格式: 

     下載Python3的源碼包; 解壓源碼包 ; 編譯且安裝 ; 配置環境變數; 使用平原Python3

   2, rpm 二進位包格式(這種安裝方式,需要手動解決依賴關係,有可能裝一個mysql耗時很長) 

     下載軟體的rpm格式包 ; rpm -ivh lrzsz.rpm ; 使用lrzsz工具

     (lrzsz 是軟體包的名字,提供的命令是: rz 接收文件  sz 發送文件)

    補充: 如果直接安裝mysql5.6.rpm,依賴了很多其它軟體包,就得手動逐個解決依賴,所以不建議使用.

   3, yum安裝方式    yum工具,自動搜索下載rpm包,且安裝,且解決依賴關係,自動處理下載其它依賴rpm包

     軟體開發目錄規範: 

      lib  庫文件

      core  核心文件

      bin  可執行文件

      conf  配置文件

      log  日誌文件夾

      readme  使用說明書

    向Python的模塊

    pip3 install -i http://pypi.douban.com/simple flask

 

yum源配置:

yum源的倉庫路徑在
/etc/yum.repos.d/
然後這個目錄底下,只有 以 .repo結尾的文件,才會被識別為yum倉庫

配置國內的yum源
1.在/etc/yum.repos.d/目錄底下,定製我們自己的repo倉庫文件 
2.我們自己沒有yum倉庫,我們就去拿阿裡巴巴的yum倉庫
3.https://opsx.alibaba.com/mirror  這就是阿裡巴巴的鏡像站
4.下載阿裡巴巴的yum倉庫文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget下載文件後,-O參數,指定放到某個目錄,且改名
5.清除yum緩存 
yum clean all 
6.生成新的阿裡雲的yum軟體緩存
yum makecache

再配置epel額外的倉庫源,這個倉庫里就存放了很多第三方軟體,例如redis  mysql  nginx 
1.配置epel倉庫
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.最好再生成yum緩存
yum makecache 
3.請隨心所欲的使用 yum工具

yum示例用法
yum安裝nginx web伺服器軟體

1. yum install nginx  -y       -y 一路都是預設yes
   2.啟動nginx  
   直接輸入nginx命令
   3.

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一,crontab服務的簡介 二、安裝cron服務 檢出cron服務 運行crontab -l 可能會報錯:no crontab for root 解決方法: 在 root 用戶下輸入 crontab -e ,按 Esc 按: wq 回車 ,再輸入 crontab -l 就沒有問題了 主要原因是由於 ...
  • 【作品名稱】 a simple game based on RT-Thread 【背景描述】 學了一段時間的嵌入式操作系統RT-Thread,發現是真的好用。於是想做一個小作品來鍛煉鞏固自己學習的知識。(童年的記憶啊^_^) 【所用物料及實物圖】 實物圖: 主控:STM32F103C8T6 編譯環境 ...
  • 工程基於NXP LPC2468 1 為什麼試用IRAM MODE 2 設置Program algorithm 編程演算法的作用是什麼 3 IRAM和FLASH 模式下IROM和IRAM的地址為什麼不一樣 4 RAM.ini有什麼作用 5 IRAM模式下為什麼用到外部下載器 6 如何設置程式的起始地址, ...
  • 在安裝完CentOS7後,當我每次啟動CentOS並使用SecureCRT鏈接時,都發現CentOS的IP總是在變,這就很苦惱了,總不能每次鏈接的時候都先查一下虛擬機的IP吧,所以打算把它設置成固定IP。這樣使用SecureCRT連接時只需要連接一次以後就不需要反覆更新連接的IP了。 IP地址的設置 ...
  • 一. nginx.conf 文件結構概述 在第一篇中講到nginx的安裝,安裝完後,預設的nginx伺服器配置文件都存在安裝目錄conf中,主配置文件名為nginx.conf。下麵是我linux系統安裝nginx的目錄信息: 下麵將說明nginx.conf原始文件中,各條語句的生效範圍,對指令作用域 ...
  • RT ...
  • 最近在瀏覽亞馬遜, 京東的時候, 發現會自動彈出很多廣告到瀏覽器, 其實是中了病毒MacOSDefender. 這個病毒非常煩人, 會在你瀏覽電商網頁的時候拼命的打開廣告頁面, 而且還會彈出一些提示, 騙你授權safari和chrome給MacOSDefender. 清除的方法也比較簡單, 不需要裝 ...
  • 在命令狀態下對當前行用== (連按=兩次), 或對多行用n==(n是自然數)表示自動縮進從當前行起的下麵n行。你可以試試把代碼縮進任意打亂再用n==排版,相當於一般IDE里的code format。使用gg=G可對整篇代碼進行排版。 vim 選擇文本,刪除,複製,粘貼 文本的選擇,對於編輯器來說,是 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...