Linux基礎知識

 

虛擬機Vmware,CentOS7,Xshell安裝

詳情博客:https://www.cnblogs.com/pyyu/articles/9313587.htmlhtml

 

Vmware官網下載地址:用來掛在linux的虛擬機python

CentOS7鏡像下載地址:https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.isomysql

Xshell: 一款用來遠程鏈接服務器的軟件linux

 

在遠程鏈接以前的準備:

  - 配置Linux的網絡設置,這裏使用nat模式nginx

    - 詳情:http://www.javashuo.com/article/p-doowrkfj-dr.html正則表達式

  - 關閉防火牆redis

    systemctl stop firewalld           關閉防火牆服務/軟件sql

    systemctl disable firewalld      永久關閉防火牆,關閉開機自啓mongodb

    iptables -L          查看防火牆的規則shell

    iptables -F          清空防火牆規則

  - 關閉selinux:

    臨時關閉:setenforce 0

    永久關閉:設置/etc/selinux/config 文件中的 SELINUX=enforcing 改成:SELINUX=disabled

      或者: sed -i 's/enforcing/disabled/' /etc/selinux/config

  - 修改配置文件

    - vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static
ONBOOT=yes
IPADDR=10.0.0.10
NETMASK=255.255.255.0
GATEWAY=10.0.0.254
DNS1=119.29.29.29

- 修改了配置文件,重啓網絡服務
  /etc/init.d/network restart

- ping baidu.com  #檢測網絡是否通訊

- 遠程鏈接服務器
  - 經過xshell鏈接,其實也是封裝了 ssh root@10.0.0.10 命令
  - 執行命令 ssh root@10.0.0.10

文檔目錄結構

在Linux中一切皆文件,Linux中全部的文件都是從根目錄開始,每個目錄不止能使用本地的文件系統,也可使用網絡上的文件系統,能夠利用NFS服務器掛載特定目錄。每個文件在此目錄樹中的文件名,包含完整路徑都是獨一無二的。

配置文件以及目錄結構其餘補充鏈接:https://www.cnblogs.com/Fushengliangnian/articles/9816966.html

目錄樹架構:

目錄的解釋:

  • /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的預設放置也是在這裏。

 

 

基礎指令

 詳細指令:https://www.cnblogs.com/pyyu/articles/9314206.html

- 快捷鍵:

1.tab鍵    用於自動補全命令/文件名/目錄名
2.ctrl + l  清理終端顯示 
3.clear/cls  清理終端顯示
4.ctrl + c 終止當前操做

 

- 特殊符號:

  - >      重定向符號,清空原文件全部內容,而後把文字覆蓋到文件末尾

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

  - *      通配符 ,每每用於查找文件等等操做

 

- 路徑切換: cd

  - cd /    : 切換到根目錄

  - cd ~   : 切換到用戶家目錄

  - cd -    : 切換到上次停留的目錄

  - cd 想去的文件的絕對路徑或相對路徑    :切換過去。

 

- 文件夾操做指令:

  - 查看文件: 

    - ls :查看當前工做目錄下的文件

      - ls 文件路徑 : 查看文件路徑下的文件

    - ll  :按照列表的形式查看當前工做目錄下的文件

    - pwd :打印當前工做目錄

  - 增長文件夾:

    - mkdir 文件路徑: 在該路徑下建立文件

      - mkdir -p 文件路徑: 遞歸建立文件

        mkdir -p /tmp/myfile/myfile/{first,two,three}   在/tmp下建立myfile/myfile文件,而且在裏面在建立   first,two,three三個同級文件。

  - 刪除空文件夾:

    - rmdir 文件路徑: 刪除該空文件夾

    

- 文件操做指令:

  - 查看文件內容:

    - cat 用於查看純文本文件(經常使用於內容較少的)

    - more 用於查看內容較多的文本, 查看文本會以百分比形式告知已經看到了多少,使用回車鍵向下讀取內容

    - 加上參數 n 用於顯示行號

  - 建立文件: touch 文件名

    - touch -d "23:00" test.py    修改文件時間戳。

  - 編輯文件內容: 利用vi/vim 指令

  - 刪除文件:rm

    - rm -rf 文件路徑:

      -rf 參數爲:強制刪除

    ps: 注意在使用該命令前最好利用虛擬機的快照功能,保存一下當前服務器的狀態。

 

- vim 編輯器:

  - 命令模式:

    - 啓用vi/vim 後默認進入的是命令模式

    - 移動光標的命令:

w(e)  移動光標到下一個單詞
b    移動到光標上一個單詞

數字0  移動到本行開頭
$    移動光標到本行結尾

H    移動光標到屏幕首行
M    移動到光標到屏幕的中間一行
L    移動光標到屏幕的尾行
gg    移動光標到文檔的首行
G    移動光標到文檔尾行

ctrl + f  下一頁
ctrl + b  上一頁

`.  移動光標到上一次的修改行

      - 查找相關的命令:

/chaoge     在整篇文檔中搜索chaoge字符串,向下查找
?chaoge     在整篇文檔中搜索chaoge字符串,向上查找

*        查找整個文檔,匹配光標所在的全部單詞,按下n查找下一處,N上一處
#        查找整個文檔,匹配光標所在的全部單詞,按下n查找下一處,N上一處

gd        找到光標所在單詞匹配的單詞,並停留在非註釋的第一個匹配上

%    找到括號的另外一半!!

      - 文本操做的命令(複製,粘貼,刪除):

yy    拷貝光標所在行
dd    刪除光標所在行
D     刪除當前光標到行尾的內容
dG    刪除當前行到文檔尾部的內容
p     粘貼yy所複製的內容
x   刪除光標所在的字符
u     撤銷上一步的操做

      - 數字與命令相結合:

3yy    拷貝光標所在的3行
5dd    刪除光標所在5行

 

  - 輸入模式:

    i  :在光標當前位置進行編輯

    o :在光標下一行進行編輯

  - 底線命令模式:

    - 在命令模式下輸入冒號(英文的:),就進入了底線命令模式,在底線命令模式下能夠輸入單個或多個字符的命令,經常使用命令有:

    - :q!    強制退出

    - :wq!   強制寫入並退出

    - :set nu  顯示行號

    - :數字   調到數字那行

    - esc按鍵  退出底線命令模式

 

進階命令

- Linux查詢手冊:

http://linux.51yip.com/
http://man.linuxde.net/
Linux命令查詢手冊
Linux終端下  esc  + .  能夠獲取上次文件名

 

- echo命令: 用於在終端輸出字符串或變量提取後的值,格式是「echo 字符串/$變量

  - 還可快速在文件中添加字符串: echo "xxx" > 文件路徑    將"xxx"覆蓋到該路徑下的文件中    >> 是追加

 

- find命令:用於查找某文件的路徑

find 在哪裏(目錄) 什麼類型(文件類型) 叫什麼名字(文件名)
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'

 

- cp命令 

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

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

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

 

- 管道命令: |      管道符「|」將兩條命令隔開,管道符左邊命令的輸出會做爲管道符右邊命令的輸入;

常見用法:
#檢查python程序是否啓動
ps -ef|grep "python"

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

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

 

- grep命令:(global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。

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

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


示例:
// 找出/etc/passwd下root用戶所在行,以及行號,顯示顏色
cat /etc/passwd |grep '^root' --color=auto -n

// 找出/etc/passwd全部不容許登陸的用戶
grep /sbin/nologin /etc/passwd

//找到/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

// 在主屏幕上持續打印log日誌
#持續刷新顯示
tail -f xx.log

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

 

- sed命令

  sed命令詳解:詳細補充鏈接:https://www.cnblogs.com/Fushengliangnian/articles/9816976.html

  - 簡介:

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

 

- du命令:用於顯示目錄或文件的大小。

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

示例:
顯示目錄或文件所佔空間
#什麼都不跟,表明顯示當前目錄全部文件大小
du   

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

 

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

統計信息區的圖片信息的解析:

第一行 (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:緩衝的交換區總量,內存中的內容被換出到交換區,而後又被換入到內存,可是使用過的交換區沒有被覆蓋,交換區的這些內容已存在於內存中的交換區的大小,相應的內存再次被換出時可沒必要再對交換區寫入。
View Code

 

- which命令:用於查找文件。會在環境變量$PATH設置的目錄裏查找符合條件的文件。

語法:

which 【參數】【文件】


參數:

-n<文件名長度>  指定文件名長度,指定的長度必須大於或等於全部文件中最長的文件名。
-p<文件名長度>  與-n參數相同,但此處的<文件名長度>包括了文件的路徑。
-w  指定輸出時欄位的寬度。
-V  顯示版本信息。


實例:

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

 

- alias命令:用於替換某些命令的實際用處;實際就是給某些指令從新命名,讓其指向別的用處。

#查看系統別名
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

 

- wget命令 :用於在終端上下載網絡文件

用法:
wget命令用於在終端下載網絡文件
參數是 wget [參數] 下載地址


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

 

- seq命令: 用於產生從某個數到另一個數之間的全部整數。

- 語法

seq [選項]... 尾數
seq [選項]... 首數 尾數
seq [選項]... 首數 增量 尾數

- 參數

-f, --format=格式        使用printf 樣式的浮點格式
-s, --separator=字符串   使用指定字符串分隔數字(默認使用:\n)
-w, --equal-width        在列前添加0 使得寬度相同

- 示例

 
#顯示1-50整數
seq 50
#以000方式顯示9-11區間整數 seq -f "%03g" 9 11
#以000方式顯示1-100區間整數
seq -f "%03g" 1 100

 

- 軟鏈接:ln -s 軟鏈接也叫作符號連接,相似於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.txt

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

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

 

- 權限相關命令:

  - Linux權限相關知識詳解:補充內容以及相關命令:https://www.cnblogs.com/Fushengliangnian/articles/9816979.html

  - 建立用戶:

  - 刪除用戶:

  

- 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)
View Code

實例

先用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

 

- 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.txt
        gzip oldboy.tar

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

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

 

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

  語法【選項】

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

實例

// 查找mysql的服務
netstat -tunlp |grep mysql

 

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

語法:

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

示例:

// 先用ps查找進程,而後用kill殺掉:
ps -ef | grep vim

 

- scp命令: 用於服務器之間的文件傳輸;

  - 語法:

scp [參數] [原路徑] [目標路徑]

參數解析:
    -1  強制scp命令使用協議ssh1 

    -2  強制scp命令使用協議ssh2 

    -4  強制scp命令只使用IPv4尋址 

    -6  強制scp命令只使用IPv6尋址 

    -B  使用批處理模式(傳輸過程當中不詢問傳輸口令或短語) 

    -C  容許壓縮。(將-C標誌傳遞給ssh,從而打開壓縮功能) 

    -p 保留原文件的修改時間,訪問時間和訪問權限。 

    -q  不顯示傳輸進度條。 

    -r  遞歸複製整個目錄。 

    -v 詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的調試信息。這些信息用於調試鏈接,驗證和配置問題。  

    -c cipher  以cipher將數據傳輸進行加密,這個選項將直接傳遞給ssh。  

    -F ssh_config  指定一個替代的ssh配置文件,此參數直接傳遞給ssh。 

    -i identity_file  從指定文件中讀取傳輸時使用的密鑰文件,此參數直接傳遞給ssh。   

    -l limit  限定用戶所能使用的帶寬,以Kbit/s爲單位。    

    -o ssh_option  若是習慣於使用ssh_config(5)中的參數傳遞方式,  

    -P port  注意是大寫的P, port是指定數據傳輸用到的端口號  

  -S program  指定加密傳輸時所使用的程序。此程序必須可以理解ssh(1)的選項。

 

  - 示例:從本地服務器複製到遠程服務器

- 從本地服務器複製到遠程服務器:
    複製文件: 
        命令格式: 
            scp local_file remote_username@remote_ip:remote_folder 

            scp local_file remote_username@remote_ip:remote_file 

            scp local_file remote_ip:remote_folder 

            scp local_file remote_ip:remote_file 

第1,2個指定了用戶名,命令執行後須要輸入用戶密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名 

第3,4個沒有指定用戶名,命令執行後須要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名            


    複製目錄:
        命令格式:
            scp -r local_folder remote_username@remote_ip:remote_folder 

            scp -r local_folder remote_ip:remote_folder 

第1個指定了用戶名,命令執行後須要輸入用戶密碼; 

第2個沒有指定用戶名,命令執行後須要輸入用戶名和密碼;    

 

  - 示例:從遠程服務器複製到本地服務器

從遠程複製到本地的scp命令與上面的命令雷同,只要將從本地複製到遠程的命令後面2個參數互換順序就好了。

- 從遠處複製文件到本地目錄
    scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

- 從遠處複製目錄到本地目錄
    scp -r root@192.168.120.204:/opt/soft/mongodb /opt/soft/

 

- yum命令:

  - 概要:

yum命令是在Fedora和RedHat以及SUSE中基於rpm的軟件包管理器,它可使系統管理人員交互和自動化地更細與管理RPM軟件包,
可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟體包,無須繁瑣地一次次下載、安裝。 儘管 RPM 可以幫助用戶查詢軟件相關的依賴關係,但問題仍是要運維人員本身來解決,
而有些大型軟件可能與數十個程序都有依賴關係,在這種狀況下安裝軟件會是很是痛苦的。
Yum 軟件倉庫即是爲了進一步下降軟件安裝難度和複雜度而設計的技術。
Yum 軟件倉庫能夠 根據用戶的要求分析出所需軟件包及其相關的依賴關係,而後自動從服務器下載軟件包並安 裝到系統。 Yum 軟件倉庫中的 RPM 軟件包能夠是由紅帽官方發佈的,也能夠是第三方發佈的,當 然也能夠是本身編寫的。

  

  - yum 詳解(包括與其相關的一切第三方軟件的下載和簡單使用的介紹): 內容補充鏈接:https://www.cnblogs.com/Fushengliangnian/articles/9816985.html

  

  

Linux安裝其餘第三方軟件

- 添加環境變量

  -  軟鏈接方式,生成快捷方式,將執行文件 和 /ues/bin/ 目錄產生鏈接:

     示例:

ln -s /opt/python36/bin/python3 /ues/bin/

  - 在  /etc/profile 文件中添加 PATH

    示例:

// 1. 編輯 /etc/profile 文件
vim /etc/profile

// 2. 在文件的最後追加 PATH=PATH:"/opt/python36/bin"

// 3.從新加載該配置文件
source /etc/profile   

 

- 安裝第三方軟件:

  - 經過yum指令直接安裝:(注意,yum倉庫中必需要有該軟件)

// 1. 經過yum直接安裝
    yum install 軟件名稱

// 2. 經過systemctl 命令進行啓動
    systemctl start 軟件名

// 3. 經過systemctl 命令關閉
    systemctl stop 軟件名

// 3. 經過systemctl 命令重啓
    systemctl restart 軟件名

 

  - 下載源碼包,進行編譯安裝:

1. 在網上找到相對應的源碼包的壓縮文件,利用wget 命令直接下載到本地。

2.  解壓文件
    tar -xzf 文件路徑

3.  找到文件中的 configure 文件,進行編譯:
    ./configure --prefix=指定編譯安裝路徑(在進行編譯以前須要配置一些其餘的依賴文件)
    若是沒有該文件,則不用進行編譯

4. 在解壓後的文件夾下面使用make && make install 指令,進行安裝。

 

- 編譯安裝python示例:

1, 進入 /opt 目錄下面,執行wget命令:
    wget - c https://www.python.org/ftp/python/3.6.7/Python-3.6.7rc2.tar.xz

2, 解壓該文件:
    tar -xzf /opt/Python-3.6.7rc2.tar.xz 或者 tar -xf /opt/Python-3.6.7rc2.tar.xz
3, 進入解壓後的文件進行編譯安裝
  
./configure --prefix=/opt/python36

4, 在當前目錄下執行 make && make install 命令

5, 配置環境變量:
echo "PATH=PATH:/opt/python36/bin" >> /etc/prefile

6, 結束。
 

 

  - 編譯安裝Python前yum python須要的依賴庫的指令:

yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

 

   

 

- yum安裝mysql示例:

  - 在這裏安裝 mariadb 該數據庫是在mysql被收購後爲了不閉源的風險而出現的一個替代品,

  - MariaDB的目的是徹底兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。

  - 使用yum命令前,須要建立 mariadb.repo倉庫文件

# 編輯新建MariaDB.repo文件
vi /etc/yum.repos.d/MariaDB.repo

# 在文件中寫入
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

 

  - yum命令安裝

# yum命令安裝 mysql服務器和客戶端
yum install mariadb-server mariadb


# mariadb數據庫的相關命令是:

systemctl start mariadb  #啓動MariaDB

systemctl stop mariadb  #中止MariaDB

systemctl restart mariadb  #重啓MariaDB

systemctl enable mariadb  #設置開機啓動

# 安裝好後,初始化配置文件
詳情可見:https://www.cnblogs.com/Fushengliangnian/category/1292532.html

 

- 安裝redis示例以及redis基本用法:https://www.cnblogs.com/Fushengliangnian/articles/9825926.html

- 安裝nginx示例以及nginx簡單介紹和基本用法:https://www.cnblogs.com/Fushengliangnian/articles/9825929.html

- 配置 nginx + uwgi django 服務 以及 supervisor 的用法:https://www.cnblogs.com/Fushengliangnian/articles/9825933.html

相關文章
相關標籤/搜索