筆者使用的是 AliYun 服務器 ECS,鏡像選擇的是 Ubuntu,Ubuntu的詳細版本信息是:Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-91-generic x86_64)
,如何購買雲服務器不在本文討論範圍內,若是隻是學習,那你徹底可使用 virtualbox 安裝 Ubuntu。node
# 鏈接服務器
$ ssh <username>@<hostname>
# 更新系統源
$ apt update
# 升級系統源
$ apt upgrade
複製代碼
# 安裝 git
$ apt install git
複製代碼
# 一、初始化設置
$ git config --global user.name 'youngjuning'
$ git config --global user.email 'youngjuning@aliyun.com'
# 二、將 `color.ui` 設置爲 `auto` 可讓命令的輸出擁有更高的可讀性。
$ git config --global color.ui auto
# 三、git 記住用戶名和密碼
$ git config --global credential.helper store
# 四、core.autocrlf
$ git config --global core.autocrlf input
複製代碼
Linux或Mac系統使用LF做爲行結束符,所以你不想 Git 在簽出文件時進行自動的轉換;當一個以
CRLF
爲行結束符的文件不當心被引入時你確定想進行修正,把core.autocrlf
設置成input
來告訴 Git 在提交時把CRLF
轉換成LF
,簽出時不轉換: 這樣會在 Windows 系統上的簽出文件中保留CRLF
,會在 Mac 和 Linux 系統上,包括倉庫中保留LF
。linux
# 安裝 jre、jdk
$ apt install openjdk-8-jre-headless openjdk-8-jdk-headless
複製代碼
Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行時。咱們使用 n
模塊來維護 Node 的版本:git
$ apt install nodejs npm build-essential
$ sudo npm install -g npm n
# 安裝最新版
$ sudo n latest
## 其餘命令##
# 安裝指定版本
$ sudo n 10.16.0
# 安裝最新的穩定版
$ sudo n lts
# 刪除指定版本
$ n rm 12.10.0
# 除去當前版本之外的全部緩存版本
$ n prune
複製代碼
修改
~/.zshrc
以後都須要執行source ~/.zshrc
命令使之當即生效github
echo $SHLL
能夠查看當前 Shell正則表達式
apt install zsh
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
nano ~/.zshrc
ZSH_THEME="robbyrussell"
,把 robbyrussell
替換爲 ys
chsh -s /bin/zsh
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$HOME/.zsh-syntax-highlighting" --depth 1
echo "source $HOME/.zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> "$HOME/.zshrc"
echo "export EDITOR=nano" >> ~/.zshrc
建議使用:github.com/amix/vimrc算法
$ git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
$ sh ~/.vim_runtime/install_awesome_vimrc.sh
$ echo "set number" >> ~/.vimrc
$ echo "set showcmd" >> ~/.vimrc
$ source ~/.vimrc
複製代碼
/
bin
:包含了會被全部用戶使用的可執行程序boot
:包含與 Linux 啓動密切相關的文件dev
:包含外設。它裏面的子目錄,每個對應一個外設etc
:包含系統的配置文件home
:用戶的私人目錄lib
:包含被程序所調用的庫文件,例如.so
結尾的文件media
:可移動的外設(USB盤,SD卡,DVD,光盤,等等)插入電腦時mnt
:用於臨時掛載一些裝置opt
:可選的應用軟件包,用於安裝多數第三方軟件和插件root
:超級用戶 root 的家目錄sbin
:用於包含系統級的重要可執行程序srv
:包含一些網絡服務啓動以後所須要取用的數據tmp
:普通用戶和程序存放臨時文件的地方usr
:Unix Software Resource,安裝了大部分用戶要調用的程序var
:一般包含程序的數據,好比 log(日誌)文件Linux命令搜索引擎:git.io/linuxshell
reboot
:從新啓動正在運行的Linux操做系統halt
:關閉系統shutdown
:用來系統關機命令。shutdown指令能夠關閉全部程序,並依用戶的須要,進行從新開機或關機的動做。poweroff
:直接運行便可關機history
:用於顯示歷史命令whice
:查找並顯示給定命令的絕對路徑pwd
:顯示當前工做目錄。(Print Working Directory)source
:在當前Shell環境中從指定文件讀取和執行命令,讓文件修改當即生效。updatedb
:建立或更新locate
命令所必需的數據庫文件uname -a
:顯示所有Linux系統信息cat /proc/version
:顯示Linux信息cat /etc/lsb-release
:查看發行版信息echo $SHELL
:當前的shellservice <service> force-reload|reload|restart|start|status|stop
systemctl start|stop|restart|status|reload
:
enable
:開機自動啓動服務disable
:開機不自動啓動服務is-enabled
:查看服務是否開機自動啓動list-unit-files --type=service
:查看各個級別下服務的啓動和禁用狀況ls
:顯示目錄內容列表數據庫
-a
:列出全部文件,包括以 "." 開頭的隱含文件。-l
:除每一個文件名外,增長顯示文件類型、權限、硬連接數、全部者名、組名、大小(byte)及時間信息(如未指明是其它時間即指修改時間),能夠用 ll
代替du
:顯示每一個文件和目錄的磁盤使用空間(Disk Usage)express
-a
或-all
:顯示目錄中個別文件的大小。-h
或--human-readable
:以K,M,G爲單位,提升信息的可讀性。-s
或--summarize
:僅顯示總計,只列出最後加總的值。cat -N
:鏈接多個文件並打印到標準輸出。(concatenate)npm
less -N
head
:顯示文件的開頭部分
tail
:在屏幕上顯示指定文件的末尾若干行
-f
:顯示文件最新追加的內容。-s<秒數>
:與-f
選項連用,指定監視文件變化時間隔的秒數,默認1秒touch
:建立新的空文件
mkdir
:用來建立目錄
-p
或--parents
:若所要創建目錄的上層目錄目前還沒有創建,則會一併創建上層目錄cp
:將源文件或目錄複製到目標文件或目錄中
-r
或-R
:遞歸處理,將指定目錄下的全部文件與子目錄一併處理,recursivemv
:用來對文件或目錄從新命名
rm
:用於刪除給定的文件和目錄
-r
或-R
:遞歸處理,將指定目錄下的全部文件與子目錄一併處理,recursive-f
:強制刪除文件或目錄ln
:用來爲文件建立連接
- 硬連接缺陷:通常狀況下,只能建立指向文件的硬連接,不能建立指向目錄的
- 硬連接指的是使用了同一個
inode
號,可是文件名不同ls -i
:顯示inode
號
-s
, --symbolic
:對源文件創建符號連接,而非硬連接locate
:比 find
好用的文件查找工具,須要配合 updatedb
使用
find
:在指定目錄下查找文件
find [何處] <何物> [作什麼]
-name <範本樣式>
:指定字符串做爲尋找文件或目錄的範本樣式
-size <文件大小>
:查找符合指定的文件大小的文件
-type <文件類型>
:只尋找符合指定的文件類型的文件;
-atime <24小時數>
:查找在指定時間曾被存取過的文件或目錄,單位以24小時計算;
-exec <執行指令>
:假設find指令的回傳值爲True,就執行該指令
find . -name *.txt -exec chmod 600 {} \;
能夠換成
-ok
,ok 會讓你確認操做
sudo su
:切換 root 身份,substitute do
useradd -m
:建立的新的系統用戶自動建立用戶的家目錄
passwd
:用於讓用戶能夠更改本身的密碼
`userdel -r:用於刪除給定的用戶以及與用戶相關的文件
users
:顯示當前登陸系統的全部用戶
usermod
:用於修改用戶的基本信息
-l
:對用戶重命名。/home
中的用戶家目錄名不改變,須要手動修改-g
:修改用戶所在羣組-G
:將用戶添加到多個羣組,多個羣組用,
分割-aG
或 -ag
:不離開原來的羣組進入新的羣組groupadd
:用於建立一個新的工做組
groups
:用來打印指定用戶所屬的工做組
chown
:用來變動文件或目錄的擁有者或所屬羣組
chown <username>[:gruop] <file|dir>
-R
:遞歸處理,將指定目錄下的全部文件及子目錄一併處理chgrp
:用來變動文件或目錄的所屬羣組
chmod
:用來變動文件或目錄的權限
一共有10位,第1位表明文件類型,第2-4位表示全部者的讀、寫和執行權限,第5-7位表示同組用戶的讀、寫和執行權限,第8-10位表示其餘用戶的讀、寫和執行權限。若是沒有權限用
-
佔位。若是開啓 SELinux,則第11位會多一個.
。
- 文件類型
d
:英語 directory 的縮寫,表示目錄l
:英文 link 的縮寫,表示連接-
:文件r
:英語 read 的縮寫,表示讀w
:英文 write 的縮寫,表示寫x
:英語 execute 的縮寫,表示執行/運行。能夠運行這個文件.
:SELinux 的安全標籤,若是第11位有.
,表示啓用了 SELinux
用數字來分配權限
用字母來分配權限
chmod u+rx file
:文件 file 的全部者增長讀和運行的權限
chmod g+r file
:文件 file 的羣組其餘用戶增長讀的權限
chmod o-r file
:文件 file 的其餘用戶移除讀的權限
chmod g+r o-r file
:文件 file 的羣組其餘用戶增長讀的權限,其餘用戶移除讀的權限
chmod go-r file
:文件 file 的羣組其餘用戶和其餘用戶均移除讀的權限
chmod +x file
:文件 file 的全部用戶增長運行的權限
chmod u=rwx,g=r,0=- file
:文件 file 的全部者分配讀,寫和執行的權限;羣組其餘用戶分配讀的權限,不能寫或執行;其餘用戶沒有任何權限
grep (global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。用於過濾/搜索的特定字符。可以使用正則表達式能多種命令配合使用,使用上十分靈活。
-i
--ignore-case
:忽略字符大小寫的差異。-n
--line-number
:在顯示符合範本樣式的那一列以前,標示出該列的編號。-v
--revert-match
:反轉查找。-R/-r
--recursive
:在全部子目錄和子文件中查找,能夠用 rgrep
替代-E
--extended-regexp
:將範本樣式爲延伸的普通表示法來使用,意味着使用能使用擴展正則表達式。能夠用 egrep
代替
grep -E ^p /etc/profile
grep -E [at] /etc/profile
grep -E [0-4] /etc/profile
grep -E [a-zA-Z] /etc/profile
^ # 錨定行的開始 如:'^grep'匹配全部以grep開頭的行。
$ # 錨定行的結束 如:'grep$' 匹配全部以grep結尾的行。
. # 匹配一個非換行符的字符 如:'gr.p'匹配gr後接一個任意字符,而後是p。
* # 匹配零個或多個先前字符 如:'*grep'匹配全部一個或多個空格後緊跟grep的行。
.* # 一塊兒用表明任意字符。
[] # 匹配一個指定範圍內的字符,如'[Gg]rep'匹配Grep和grep。
[^] # 匹配一個不在指定範圍內的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一個字母開頭,緊跟rep的行。
\(..\) # 標記匹配字符,如'\(love\)',love被標記爲1。
\< # 錨定單詞的開始,如:'\<grep'匹配包含以grep開頭的單詞的行。
\> # 錨定單詞的結束,如'grep\>'匹配包含以grep結尾的單詞的行。
x\{m\} # 重複字符x,m次,如:'0\{5\}'匹配包含5個o的行。
x\{m,\} # 重複字符x,至少m次,如:'o\{5,\}'匹配至少有5個o的行。
x\{m,n\} # 重複字符x,至少m次,很少於n次,如:'o\{5,10\}'匹配5--10個o的行。
\w # 匹配文字和數字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G後跟零個或多個文字或數字字符,而後是p。
\W # \w的反置形式,匹配一個或多個非單詞字符,如點號句號等。
\b # 單詞鎖定符,如: '\bgrep\b'只匹配grep。
複製代碼
對文本文件中全部行進行排序。
-o
, --output=FILE
:將結果寫入FILE而不是標準輸出。sort -o name.txt name_sorted.txt
-r
, --reverse
:將結果倒序排列。-R
:--random-sort
隨機排序,但分組相同的行。-n
, --numeric-sort
:根據數字排序。-
時,讀取標準輸入。統計文件的行數、字數、字節數
wc命令 統計指定文件中的字節數、字數、行數,並將統計結果顯示輸出。利用wc指令咱們能夠計算文件的Byte數、字數或是列數,若不指定文件名稱,或是所給予的文件名爲「-」,則wc指令會從標準輸入設備讀取數據。wc同時也給出所指定文件的總統計數。
-c
: 統計字節數,或--bytes
或--chars
:只顯示Bytes數-l
:統計行數,或--lines
:只顯示列數-m
:統計字符數。這個標誌不能與 -c
標誌一塊兒使用-w
:統計字數,或--words
:只顯示字數。一個字被定義爲由空白、跳格或換行字符分隔的字符串-L
:打印最長行的長度顯示或忽略重複的行。uniq
命令有點」呆「,只能將連續的重複行變爲一行
-c
, --count
:在每行開頭增長重複次數-d
, --repeated
:只顯示重複行的值鏈接文件並打印到標準輸出設備上
-c
:僅顯示行中指定範圍的字符,cut -c 2-4 file
-d
:指定字段的分隔符,默認的字段分隔符爲「TAB」。-f
:顯示指定字段的內容。cut -d , -f 1,3 notes.csv
;cut -d , -f 2- notes.csv
黑洞文件
/dev/null
,此文件具備惟一的屬性,它老是空的。它能使發送到/dev/null
的任何數據做廢
>
重定向到文件>>
重定向到文件末尾>>
的做用與>
是相似的,不過它不會像>
那麼危險。它會將重定向的內容寫入到文件末尾,起到追加的做用。若是文件不存在,則建立文件
2>
、2>>
重定向到標準錯誤輸出$ cat not_exist_file.csv > results.txt 2> errors.log
複製代碼
2>&1
組合符合cat not_exist_file_csv > results.txt 2>&1
cat not_exist_file_csv >> results.txt 2>&1
<
從文件中讀取cat notes.csv
cat
命令接受的輸入是 notes.csv 這個文件名cat < notes.csv
cat
命令接受的輸入直接是 notes.csv 這個文件的內容cat
命令只負責將其內容打印cat
命令的工做則交給終端完成<<
從鍵盤讀取<<
符號的做用是將鍵盤的輸入重定向爲某個命令的輸入sort -n << END
|
管道符號將一個命令的輸出做爲另外一個命令的輸入
|
|
符號既然被稱爲」管道符「,其做用就是」創建命令管道「cut -d , -f 1 notes.csv | sort > sorted_names.txt
du -h | sort -n | head
sudo grep log -Ir /var/log | cut -d : -f 1 | sort | uniq
-I
:排除二進制文件-r
:用於遞歸遍歷w
:顯示目前登入系統的用戶信息
uptime
:查看Linux系統負載信息
可以打印系統總共運行了多長時間和系統的平均負載。uptime命令能夠顯示的信息顯示依次爲:如今時間、系統已經運行了多長時間、目前有多少登錄用戶、系統在過去的1分鐘、5分鐘和15分鐘內的平均負載。
tload
:顯示系統負載情況
以圖形化的方式輸出當前系統的平均負載到指定的終端。假設不給予終端機編號,則會在執行tload指令的終端機顯示負載情形
who
:顯示目前登陸系統的用戶信息
顯示目前登陸系統的用戶信息。執行who命令可得知目前有那些用戶登入系統,單獨執行who命令會列出登入賬號,使用的終端機,登入時間以及從何處登入或正在使用哪一個X顯示器。
ps
:報告當前系統的進程狀態 process status
-ef
:列出全部用戶在全部終端的全部進程,能夠配合管道方便查看 ps -ef | less
-efH
:按照喬木狀列出進程-u
:列出此用戶運行的進程-aux
:經過CPU和內存使用來過濾進程
ps -aux --sort -pcpu | less
:根據CPU使用率降序排列ps -aux --sort -pmem | less
:根據內存使用率降序排列ps -axjf
,pstree
:以樹形結構顯示進程用於報告當前系統的進程狀態。能夠搭配
kill
指令隨時中斷、刪除沒必要要的程序。ps命令是最基本同時也是很是強大的進程查看命令,使用該命令能夠肯定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等,總之大部分信息都是能夠經過執行該命令獲得的。
top
:顯示或管理執行中的程序
kill
:根據進程號結束一個進程
-9
:強制結束進程killall
:根據進程名結束全部進程,能夠結合find
$ apt install glances -y
複製代碼
$ apt install htop -y
複製代碼
&
符號:後臺運行進程cp file.txt file-copy.txt &
find / -name "*log" > output_find 2>&1 &
nohup
: 使進程與終端分離不管是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。hangup,掛起
若是當前目錄的 nohup.out 文件不可寫,輸出重定向到$HOME/nohup.out
文件中。若是沒有文件能建立或打開以用於追加,那麼 command 參數指定的命令不可調用。若是標準錯誤是一個終端,那麼把指定的命令寫給標準錯誤的全部輸出做爲標準輸出重定向到相同的文件描述符。
tar
:Linux下的歸檔使用工具,用來打包和備份
-cvf
:建立一個 tar 歸檔,tar -cvf a.tar a/
-tf
:顯示歸檔裏的內容,並不解開歸-xvf
:解開歸檔
-zcvf
:歸檔,而後用 gzip 來壓縮歸檔-zxvf
:解gzip壓縮,而後解開歸檔-jcvf
:歸檔,而後用 bzip2 來壓縮歸檔-jxvf
:解bzip2壓縮,而後解開歸檔zcat
、zmore
、zless
bzcat
、bzmore
、bzless
unzip
、unrar
:apt install zip
date +"%H"
:11date +"%H:%M:%S"
:11:15:51date +"%Y-%m-%d"
:2020-03-29date +"%Y-%m-%d %H:%M:%S"
:2020-03-29 11:15:51date 10121430
at命令 用於在指定時間執行命令。at
容許使用一套至關複雜的指定時間的方法。它可以接受在當天的hh:mm(小時:分鐘)
式的時間指定。假如該時間已過去,那麼就放在次日執行。固然也可以使用midnight
(深夜),noon
(中午),teatime
(飲茶時間,通常是下午4點)等比較模糊的詞語來指定時間。用戶還可以採用12小時計時制,即在時間後面加上AM(上午)或PM(下午)來講明是上午仍是下午。 也可以指定命令執行的具體日期,指定格式爲month day(月 日)
或 mm/dd/yy(月/日/年)
或dd.mm.yy(日.月.年)
。指定的日期必須跟在指定時間的後面。
上面介紹的都是絕對計時法,其實還可以使用相對計時法,這對於安排不久就要執行的命令是頗有好處的。指定格式爲:now + count time-units
,now
就是當前時間,time-units 是時間單位,這裏可以是minutes
(分鐘)、hours
(小時)、days
(天)、weeks
(星期)。count
是時間的數量,到底是幾天,仍是幾小時,等等。 更有一種計時方法就是直接使用today
(今天)、tomorrow
(明天)來指定完成命令的時間。
at 22:10
,會提示讓輸入命令,以<EOT>
結束輸入at 22:10 tomorrow
:明天 22:10 執行at 22:10 03/30/2020
:在 2020年3月20號22:10執行at now +10 minutes
:10分鐘以後執行atq命令 顯示系統中待執行的任務列表,也就是列出當前用戶的at任務列表。
atrm命令 用於刪除待執行任務隊列中的指定任務。
touch file.txt;sleep 10;rm file.txt
&&
、||
、;
&&
:&&
號前的命令執行成功,纔會執行後面的命令||
:||
號前的命令執行失敗,纔會執行後面的命令;
:不論分號前的命令執行成功與否,都執行分號後的命令crontab命令 被用來提交和管理用戶的須要週期性執行的任務,與windows下的計劃任務相似,當安裝完成操做系統後,默認會安裝此服務工具,而且會自動啓動crond進程,crond進程每分鐘會按期檢查是否有要執行的任務,若是有要執行的任務,則自動執行該任務。
-e
:編輯該用戶的計時器設置;-l
:列出該用戶的計時器設置;-r
:刪除該用戶的計時器設置;-u <用戶名稱>
:指定要設定計時器的用戶名稱。m h dom mon dow command
順序口訣:分 時 日 月 周
m:minute 的縮寫,表示」分鐘「(0~59)
h:hour 的縮寫,表示「小時」(0~23)
dom:day of month 的縮寫,表示「一個月的哪一天」(0~31)
mon:month 的縮寫,表示」月份「(1~12)
dow:day of week 的縮寫,表示「星期幾」(0~6,星期日是0)
command:英語「命令」的意思,表示須要定時執行的命令
特殊字符:
必定要換行,不換行不會生效的 重啓 cron 服務:
systemctl cron.service restart
每1分鐘執行一次command
* * * * * command
複製代碼
每小時的第3和第15分鐘執行
3,15 * * * * command
複製代碼
在上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * * command
複製代碼
每隔兩天的上午8點到11點的第3和第15分鐘執行
3,15 8-11 */2 * * command
複製代碼
每一個星期一的上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * 1 command
複製代碼
每晚的21:30重啓smb
30 21 * * * /etc/init.d/smb restart
複製代碼
每個月一、十、22日的4 : 45重啓smb
45 4 1,10,22 * * /etc/init.d/smb restart
複製代碼
每週6、週日的1:10重啓smb
10 1 * * 6,0 /etc/init.d/smb restart
複製代碼
天天18 : 00至23 : 00之間每隔30分鐘重啓smb
*/30 18-23 * * * /etc/init.d/smb restart
複製代碼
每星期六的晚上11:00 pm重啓smb
0 23 * * 6 /etc/init.d/smb restart
複製代碼
每一小時重啓smb
* */1 * * * /etc/init.d/smb restart
複製代碼
晚上11點到早上7點之間,每隔一小時重啓smb
* 23-7/1 * * * /etc/init.d/smb restart
複製代碼
每個月的4號與每週一到週三的11點重啓smb
0 11 4 * mon-wed /etc/init.d/smb restart
複製代碼
一月一號的4點重啓smb
0 4 1 jan * /etc/init.d/smb restart
複製代碼
每小時執行/etc/cron.hourly
目錄內的腳本
01 * * * * root run-parts /etc/cron.hourly
複製代碼
/etc/ssh/ssh_config
~/.ssh/config
~/.ssh
不存在,執行 ssh localhost
nano config
進行編輯/etc/ssh/sshd_config
$ nano ~/.ssh/config
複製代碼
Host aliyun
HostName 47.98.152.68
Port 22
User root
複製代碼
$ ssh aliyun
複製代碼
在客戶機中生成密鑰對(公鑰和私鑰)
ssh-keygen -t rsa -C "youngjuning@aliyun.com"
在 ~/.ssh/
目錄下,會新生成兩個文件
ssh-copy-id
:把本地的 ssh 公鑰文件安裝到遠程主機對應的帳戶下
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@47.98.152.68
複製代碼
ssh-copy-id命令 能夠把本地主機的公鑰複製到遠程主機的
authorized_keys
文件上,ssh-copy-id
命令也會給遠程主機的用戶主目錄(home)和~/.ssh
, 和~/.ssh/authorized_keys
設置合適的權限。
-i
:指定公鑰文件
設置免密碼後仍想使用密碼登陸:
$ ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@47.98.152.68
複製代碼
測試Github是否正確配置免密碼登陸:
ssh -T git@github.com
wget命令 用來從指定的URL下載文件。wget很是穩定,它在帶寬很窄的狀況下和不穩定網絡中有很強的適應性,若是是因爲網絡的緣由下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。若是是服務器打斷下載過程,它會再次聯到服務器上從中止的地方繼續下載。這對從那些限定了連接時間的服務器上下載大文件很是有用。
wget支持HTTP,HTTPS和FTP協議,可使用HTTP代理。所謂的自動下載是指,wget能夠在用戶退出系統的以後在後臺執行。這意味這你能夠登陸系統,啓動一個wget下載任務,而後退出系統,wget將在後臺執行直到任務完成,相對於其它大部分瀏覽器在下載大量數據時須要用戶一直的參與,這省去了極大的麻煩。
用於從網絡上下載資源,沒有指定目錄,下載資源回默認爲當前目錄。wget雖然功能強大,可是使用起來仍是比較簡單:
scp命令 用於在Linux下進行遠程拷貝文件的命令,和它相似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器,並且scp傳輸是加密的。可能會稍微影響一下速度。當你服務器硬盤變爲只讀read only system時,用scp能夠幫你把文件移出來。另外,scp還很是不佔資源,不會提升多少系統負荷,在這一點上,rsync就遠遠不及它了。雖然 rsync比scp會快一點,但當小文件衆多的狀況下,rsync會致使硬盤I/O很是高,而scp基本不影響系統正常使用。
$ scp file.txt root@192.168.2.195
複製代碼
查看端口占用狀況
rsync命令 是一個遠程數據同步工具,可經過LAN/WAN快速同步多臺主機間的文件。rsync使用所謂的「rsync算法」來使本地和遠程兩個主機之間的文件達到同步,這個算法只傳送兩個文件的不一樣部分,而不是每次都整份傳送,所以速度至關快。 rsync是一個功能很是強大的工具,其命令也有不少功能特點選項,咱們下面就對它的選項一一進行分析說明。
rsync -arv --delete
能夠刪除用 rsync 備份到同一臺電腦的其餘目錄:
$ rsync -arv Images/ backups
複製代碼
-a
:保留文件的全部信息,包括權限,修改日期,等等。a 是 archive 的縮寫,是歸檔的意思-r
:遞歸調用。表示子目錄的全部文件也都包括。r 是 recursive 的縮寫,是遞歸的意思-v
:冗餘模式。輸出詳細操做信息。v 是 verbose 的縮寫,是冗餘的意思用 rsync 備份到同步本地文件到服務器:
$ rsync -arvz --progress --delete ~/Desktop/blog root@47.98.152.68:/home/yangjunning/
複製代碼
做者微信 | 知識星球 | 讚揚做者 |
---|---|---|