這只是通過ssh的拷貝命令。
成都創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、碭山網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為碭山等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
同步文件夾建議用rsync,比如
rsync -aP root@192.168.0.169:/media/* root@192.168.0.176:/media/
Linux 下 時間同步命令: ntpdate
linux系統(tǒng)下默認安裝了ntp服務(wù),手動進行ntp同步如下$ntpdate ntp1.nl.net
當然,也可以指定其它的ntp服務(wù)器公網(wǎng)上的NTP服務(wù)器列表: 根據(jù)這個列表,中國有個服務(wù)器:cn.pool.ntp.org用 ntpdate 命令來同步時間:
ntpdate cn.pool.ntp.org
可以將這個命令加到 cron table 里面,每天執(zhí)行。
1、在linux上安裝onedrive-d
輸入以下命令:
$ git clone
$ cd onedrive-d
$ ./inst install
2、第一次配置
安裝之后,需要進行一次性配置來授予onedrive-d對OneDrive賬戶的讀/寫權(quán)限。
首先,創(chuàng)建將用于對遠程OneDrive賬戶同步的本地文件夾。
$ mkdir ~/onedrive
接著運行下面的命令開啟一次性配置。
$ onedrive-d
它接著會彈出如下onedrive-d的設(shè)置窗口。
在“Location”選項中,選擇之前創(chuàng)建的本地文件夾。在“Authentication”選項中,會看見“You have not authenticated OneDrive-d yet”(“你還沒有授權(quán)OneDrive-d”)的信息。現(xiàn)在點擊"Connect to OneDrive.com"按鈕。
3、它會彈出一個登錄OneDrive.com新窗口,輸入賬號密碼登陸
4、登錄OneDrive.com之后,會被要求授權(quán)onedrive-d訪問。選擇“Yes”
5、回到先前的設(shè)置窗口,看到之前的狀態(tài)已經(jīng)變成了You have connected to OneDrive.com"(“你已經(jīng)連接到了OneDrive.com”),點擊“OK”完成。
ln
這是linux中一個非常重要命令,它的功能是為某一個文件在另外一個位置建立一個同不的鏈接,這
個命令最常用的參數(shù)是-s,具體用法是:ln -s 源文件 目標文件。
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然后在其它的目錄下用ln命令鏈接(link)它就可以,不必重復(fù)的占用磁盤空間。例
如:ln -s /bin/less /usr/local/bin/less
-s 是代號(symbolic)的意思。
這里有兩點要注意:
第一,ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發(fā)生相同的變化;
第二,ln的鏈接又軟鏈接和硬鏈接兩種,軟鏈接就是ln -s ** **,它只會在你選定的位置上生成一個文件的鏡像,不會占用磁盤空間,硬鏈接ln ** **,沒有參數(shù)-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
第三,軟鏈接是可以跨分區(qū)的,但是硬鏈接只能在同一分區(qū)內(nèi)。
如果你用ls察看一個目錄時,發(fā)現(xiàn)有的文件或文件夾的顏色和別的不一樣,我機子上是藍色的,那就是一個用ln命令生成的文件,用ls -l命令去察看,就可以看到顯示的link的路徑了。
如果用rsync命令,你必須手動執(zhí)行rsync命令才能同步,不能做到及時更新
rsync 就是遠程同步的意思remote sync.
rsync 被用在UNIX / Linux執(zhí)行備份操作操作.
rsync 工具包被用來從一個位置到另一個位置高效地同步文件和文件夾. rsync可以實現(xiàn)在同一臺機器的不同文件直接備份,也可以跨服務(wù)器備份.
rsync 語法如下
從語法結(jié)構(gòu)我們可以看出, 源和目標即可以在本地也可以在遠端. 如果是遠端的話,需要指明登錄用戶名, 遠端服務(wù)器名, 和遠端文件或目錄. 同時源可以是多個, 目標位置只能是一個.
說明:
-z: --compress 使用壓縮機制
-v: --verbose 打印詳細信息
-r: --recursive 以遞歸模式同步子目錄
注意: 同步完成后, 我們會發(fā)現(xiàn)文件的時間戳timestamps發(fā)生了改變.
有時我們希望拷貝或同步時, 時間戳不要發(fā)生變化, 源文件是什么時間戳,目標文件就是什么時間戳, 這時我們需要使用 -a --archive 歸檔模式選項. -a 選項相當于7個選項的組合 -rlptgoD
-r, --recursive: 遞歸模式Recursive mode
-l, --links: 將符號鏈接當作符號鏈接文件拷貝, 不拷貝符合鏈接指向的文件內(nèi)容.
-p, --perms: 保留文件權(quán)限
-t, --times: 保留修改時間戳
-g, --group: 保留用戶組信息
-o, --owner: 保留用戶信息(需要超級用戶權(quán)限)
-D, 相當于 --devices --specials 的組合, 保留設(shè)備文件, 保留特殊文件.
同步完成后, 我們再來看文件屬性, 時間戳信息得到了保留, 不僅如此文件的所有者 和所在組也得到保留.
說明: Pubkeys 是一個普通文件
使用rsync, 也可以從本地拷貝多個文件或目錄到遠端, 以下即為示例:
注意:
與本地文件拷貝不同的地方在于, 當拷貝文件到遠程服務(wù)器時, 我們指定遠程主機上的用戶名, 服務(wù)器地址, 路徑等信息, 類是于使用scp命令拷貝, 如果沒有設(shè)置ssh免密碼登錄我們還需要提供遠程用戶的密碼等信息.有時你不想頻繁輸入密碼, 或者rsync運行在一個無人執(zhí)守的腳本里面, 這是需要預(yù)先設(shè)置ssh免密登錄, 或者使用結(jié)合expect命令,自動輸入密碼, 但是出于安全考慮, 密碼需要加密. 所以在條件許可的情況下, 還是推薦設(shè)置ssh免密登錄.
與示例 4 稍有不同, 這時遠端目錄或文件作為源位置, 本地目錄或文件作為目標位置, 示例如下:
rsync 允許指定遠程主機上運行shell命令.
這時需要使用 -e 選項:
-e, --rsh=COMMAND 指定遠端使用的shell命令
Use rsync -e ssh to specify which remote shell to use. In this case, rsync will use ssh.
在一下特殊的使用場景中, 我們不希望拷貝文件時, 我們不希望拷貝過程覆蓋掉目標位置中用戶做出的修改. 這時我們需要使用 -u 選項明確的告訴rsync命令保留用戶在目標文件中作出的修改. 在下面的例子中, 文件Basenames是用戶基于上次的拷貝, 修改過的文件, 當我們使用了-u 選項后, 該文件中的修改將不會被覆蓋掉.
在某些特殊場景中, 我們只需要遠程服務(wù)器上的目錄結(jié)構(gòu), 而不希望花大量時間, 帶寬拷貝文件內(nèi)容, 這時我們可以使用 -d, --dirs選項來達到目的.
有時我們希望拷貝文件時, 能實時的顯示拷貝進度, 以及傳輸速率等信息. 尤其是拷貝大文件時, 程序不輸出信息, 用戶往往無法區(qū)分程序是在響應(yīng)中, 還是已經(jīng)掛起, 在這種情況下如果使用 –progress 就會非常有幫助.
rsync –progress option displays detailed progress of rsync execution as shown below.
你也可以使用rsnapshot工具 (rsnapshot會調(diào)用rsync)來備份本地linux服務(wù)器, 或者備份遠程linux服務(wù)器.
有時我們希望目標文件和源文件保持嚴格一致, 不要多文件也不要少文件, 這是我們可能需要使用 -delete 選項來達到目的. 如果使用 -delete 選項, rsync將刪除目標位置多余的文件或文件夾. 此選項還可以結(jié)合--delete-excluded 選項一起使用, 添加一些例外的文件.
上述示例中, new-file.txt 是源文件中沒有的文件, 其將會在拷貝時被刪除掉.
在某些特殊的場景下, 我們只想更新, 目標位置已經(jīng)存在的文件或目錄, 而不關(guān)心源位置的新文件, 這時我們可以使用-existing 選項僅僅更新已經(jīng)存在的文件.
讓我們來驗證一下這個選項的功能, 首先在源端添加一個新文件 new-file.txt.
從上面的例子可以看到, 由于加了--existing選項新文件new-file.txt沒有被拷貝到目標位置
選項-i, --itemize-changes 非常有用, 當我們想了解目標位置和源位置的文件差異時.
在源端:
在目標端:
注意: 在上面的例子中, 源位置和目標位置有兩處差異. 第一, 源文件Basenames的所有者和組 與 目標文件不同, 第一Dirnames文件大小也不一樣.
現(xiàn)在讓我們來看看rsync會怎樣顯示這些差異
輸出信息只在相應(yīng)文件前面顯示了9個字母來標識改變, 這些字母具體是什么意思呢? 請參考以下詳細說明
rsync 可以使用--include 和 --exclude 選項結(jié)合通配符進行文件或文件夾過濾
在上面的示例中, 僅僅以P打頭的文件和文件夾被包含了進來, 其他的文件都被過濾在拷貝的過程中被排除在外了.
可以使用--max-size 告訴rsync 不要拷貝大小超過某個值的文件, 可以使用K, M, G指定文件大小, M for megabytes and G for gigabytes.
rsync 有個重要優(yōu)點就是, 可以做到在拷貝的過程中, 只拷貝發(fā)生變化了的部分, 而不是發(fā)送整個文件.
但是在某些場景中, 比如文件較少, 文件size較小時, 我們的帶寬又足夠大, cpu資源相對又貧乏, 我們不希望它這樣做, 因為畢竟計算源端和目標端的checksum, 并做對比, 也需要額外cpu開銷. 這時我們可以使用 -W, --whole-file 選項, 讓rsync不用計算那么多, 一上來就直接開始傳送文件. 我們可以像下面這么做.
15個Rsync命令實例
列出當前目錄的文件
常用參數(shù):?
-a: 顯示當前目錄的所有文件,包含隱藏文件;?
-l: 顯示文件詳情;?
-Z: 顯示文件的 SE Linux context。?
示例:ls -laZ [if !vml] [endif] 以 acct 為例: drwxr-xr-x:其中 d 代表該文件為目錄,若為 l 則為軟鏈接,軟連接后又箭頭代表其實際指向的文件,如etc - /system/etc 則訪問 etc 實際等同訪問/system/etc,留空則代表該文件為一個文件;rwxr-xr-x 代表其權(quán)限為 755,具體算法為將上述字段每 3 個分為 1 組得 rwx,r-x,r-x,凡是有字母標記的皆計數(shù) 1,反之為 0,得二進制 111,101,101,轉(zhuǎn)為 10 進制數(shù)字即得7, 5,5 ,即為該文件權(quán)限; root root :依次代表該文件的所有者(owner)為 root,用戶組(group)為 root,上述屬性可通過 chown 命令修改,日常替換文件需與原文件該屬性維持一致; unlabeled:代表 SE Linux context。
前往指定目錄
更改文件所有者和用戶組? ?示例:chown root:root temfile?將 tmpfile文件 的所有者和用戶組從 meidia:media 更改為 root:root
將文件內(nèi)容顯示出來。
注意不要隨便去 cat 一個很大的文件或與 log 驅(qū)動節(jié)點無關(guān)的文件,否則將造成串口輸出亂碼或死機!!!示例:cat /proc/kmsg 將打印出所有 kernel log。
用于抓取 android logcat 打印。
常用參數(shù):
-v : 設(shè)置打印格式,可用選項為 brief process tag thread raw time threadtime long,我們比較常用 logcat -v time,此時抓的 log 將在每一行開頭添加時間信息;
-s : 設(shè)置過濾器,過濾器的選擇取決于軟件中打印 log 時使用的 TAG ,如
ActivityManagerService.java 中的打印使用的 TAG = ActivityManager,則抓相關(guān)打印方法為 logcat -s ActivityManager;
-c : 清除 log 緩存,常用于清除之前的打印緩存,如復(fù)現(xiàn)某個必現(xiàn)問題,則可先執(zhí)行 logcat -c 再抓 logcat 重現(xiàn)必現(xiàn)手法以排除無關(guān) log 冗余信息影響問題定位; pm
包管理命令,用于管理安卓 app 應(yīng)用。
常用參數(shù):
-l : 顯示所有安裝包應(yīng)用,等同于 pm list packages
以 package:/system/priv-app/Launcher2.apk=com.android.launcher 為例:
Apk Launcher2 路徑位于/system/priv-app/Launcher2.apk,其包名為 com.android.launcher
path : 根據(jù)報名返回所在 apk 路徑
install : 安裝 apk
-r :安裝一個已經(jīng)存在的 apk 并保留其數(shù)據(jù);
-d : 允許降級安裝
如:pm install -r xxx.apk
uninstall : 卸載 apk,命令僅支持卸載 data/app,后接包名;
如:pm uninstall com.sys.migusmartlink.ott.tv //卸載包名為 com.sys.migusmartlink.ott.tv 的 apk
隨機測試指令,會自動模擬一些用戶操作對 APP 進行壓力測試。
常用參數(shù):
-p :指定啟動的 APK,我們比較常用的是 monkey -p com.xxx.yyy 1 來啟動一個 apk 的隨機頁面。
用于啟動和管理 activity 和 service
常用參數(shù):
start : 后接 intent 啟動一個頁面;
startservice : 后接 intent 啟動一個 service; stopservice :后接 intent 停止一個 service; broadcast :后接一個 intent 發(fā)送一個廣播; kill :后接一個 app 包名,殺掉該 app 所有進程;在 shell 環(huán)境下用如下參數(shù)表述一個 intent:
[-a ACTION] [-d DATA_URI] [-t MIME_TYPE]
[-c CATEGORY [-c CATEGORY] ...]
[-e|--es EXTRA_KEY EXTRA_STRING_VALUE ...]
[--esn EXTRA_KEY ...]
[--ez EXTRA_KEY EXTRA_BOOLEAN_VALUE ...]
[--ei EXTRA_KEY EXTRA_INT_VALUE ...]
[--el EXTRA_KEY EXTRA_LONG_VALUE ...]
[--ef EXTRA_KEY EXTRA_FLOAT_VALUE ...]
[--eu EXTRA_KEY EXTRA_URI_VALUE ...]
[--ecn EXTRA_KEY EXTRA_COMPONENT_NAME_VALUE]
[--eia EXTRA_KEY EXTRA_INT_VALUE[,EXTRA_INT_VALUE...]]
[--ela EXTRA_KEY EXTRA_LONG_VALUE[,EXTRA_LONG_VALUE...]]
[--efa EXTRA_KEY EXTRA_FLOAT_VALUE[,EXTRA_FLOAT_VALUE...]]
[-n COMPONENT] [-f FLAGS]
示例:
如我們在 logcat 抓到如下打印啟動了播放器:
START u0 {act=android.intent.action.VIEW dat=[4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 typ=video/* flg=0x13000000 cmp=com.meson.videoplayer/.VideoPlayer} from pid 15204
則我們可以使用如下 am 指令來啟動它:
am start -a android.intent.action.VIEW -d [4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 -t video/* -f 0x13000000 -n com.meson.videoplayer/.VideoPlayer am start -n com.android.settings/.Settings //啟動原生安卓設(shè)置主頁
am broadcast -a com.chinamobile.action.KEY_PRESS_DOWN --ei keyCode 11 am broadcast -a com.chinamobile.action.IR_TEST --es irphycode "0x008EDD22" //發(fā)送廣播
查找命令,查找文件中是否包含指定字符串并輸出該行示例:
grep -rns "repeat" /system/etc/remote1.conf //找出/system/etc/remote1.conf 所有包含 repeat 的行并展示行號
參數(shù)說明:
-a:此選項通常在復(fù)制目錄時使用,它保留鏈接、文件屬性,并復(fù)制目錄下的所有內(nèi)容。其作用等于dpR參數(shù)組合。
-d:復(fù)制時保留鏈接。這里所說的鏈接相當于Windows系統(tǒng)中的快捷方式。
-f:覆蓋已經(jīng)存在的目標文件而不給出提示。
-i:與-f選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答"y"時目標文件將被覆蓋。
-p:除復(fù)制文件的內(nèi)容外,還把修改時間和訪問權(quán)限也復(fù)制到新文件中。
-r:若給出的源文件是一個目錄文件,此時將復(fù)制該目錄下所有的子目錄和文件。
-l:不復(fù)制文件,只是生成鏈接文件。
命令示例:cp -a a? parentPath/sonPath/ a對應(yīng)當前文件夾下目錄或文件名? 可替換為絕對路徑?
移動指令,等效于 windows 的移動和重命名。
示例:
mv /data/tmp1 /data/local/tmp2 //將 data/tmp1移動到/data/local/ 并重命名為 tmp2
刪除指令,用于刪除文件和文件夾,示例:
rm -rf tmp // 刪除 tmp,建議加上-rf參數(shù),其會刪除 tmp 所有的目錄和文件。
創(chuàng)建目錄。常用參數(shù):
-p :若 mkdir -p 后接路徑包含不存在路徑則一并創(chuàng)建。
同步命令,常用于 cp 替換文件或指令結(jié)束后同步狀態(tài),有益無害。
重定向,即將一個命令的輸出指向另外路徑的文件,使用覆蓋模式,即重定向到的文件若存在將覆蓋里面的內(nèi)容。
示例:
logcat /data/xxx.log; //將 logcat輸出到/data/xxx.log;
cat /proc/kmsg /data/kmsg.log; //將 kmsg 打印輸出重定向到/data/kmsg.log
重定向,即將一個命令的輸出指向另外路徑的文件,使用拼接模式,即重定向到的文件若存在則將輸出拼接到原文件的后面。
示例:
logcat /data/xxx.log; //例如我們做 netreboot的時候需要每一次開關(guān)機的 log,則會用拼接模式記錄log。
將指令放至后臺靜默執(zhí)行。
依次執(zhí)行指令,若有指令執(zhí)行失敗,則后續(xù)指令不會執(zhí)行。
示例:
logcat -c logcat //先清除 logcat 緩存再抓取 log
當前文章:linux全網(wǎng)同步命令 同步 linux
轉(zhuǎn)載源于:http://www.chinadenli.net/article2/dooghoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、企業(yè)網(wǎng)站制作、微信小程序、品牌網(wǎng)站建設(shè)、品牌網(wǎng)站制作、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)