linux遠程開發工具byobu和sublime的SFTP

linux遠程開發工具

對話管理工具 byobu

當程序放在遠程服務器上運行時,若是鏈接斷開,程序將中止在服務器上運行。或者程序須要執行的時間較長,而超出必定時長後,XShell會自行斷開鏈接,致使程序運行被終止。
在跑深度網絡,或下載測試數據時,因爲網絡不穩定,ssh鏈接可能會斷開,程序終止運行。
爲了保證程序可以在斷開鏈接後依然正常運行,且將輸出保存到指定文件中,可使用screen,tmux,byobu,其中推薦使用byobu。
byobu使用screen或tumx做爲後端,使用起來簡單快捷。首先安裝byobu,並使用screen做爲後端:linux

sudo apt install screen byobu -y
byobu-select-backend 
    Select the byobu backend:
      1. tmux
      2. screen

    Choose 1-2 [1]: 2

而後爲正常顯示中文,修改編碼配置項,vi ~/.byobu/.screenrc git

defutf8 on
defencoding utf8
encoding UTF-8 UTF-8

就能夠正常使用byobu建立後臺對話了。推薦使用的方式是byobu -S wz建立名爲wz的對話
建立window:F2
切換window:F3(左)F4(右)
臨時斷開與session的連接:F6
斷開session後再次進入:byobu -r jayzon
進入Copy模式:F7,進入後能夠以相似vim的模式向上翻頁,查看歷史log
關閉window:ctrl-d
強制關閉window:ctrl-a k後輸入y確認
重命名window:F8 (部分環境下須要使用ctrl-a A代替),而後輸入window的名字github

若是建立了多個對話,能夠經過byobu-select-session進行選擇。json

SFTP進行遠程與本地文件同步

首先在本地建立一個新文件夾,用於與遠程文件夾同步。
而後經過package control安裝SFTP插件,在文件夾上右鍵選擇SFTP,Map到遠程文件夾,生成一個sftp-config.json的控制文件。
填上地址,端口,用戶和密碼,就創建起了映射。
能夠在"ignore_regexes"選項中添加忽略的文件後綴和文件夾。
具體能夠看https://codexns.io/products/sftp_for_sublime/faq#Ignore。
其中"\\.jpg"表示忽略該文件夾及其子文件夾下的全部jpg文件夾,"/venv/"表示忽略pycharm中的虛擬環境文件夾venv。vim

{
    // The tab key will cycle through the settings when first created
    // Visit http://wbond.net/sublime_packages/sftp/settings for help
    
    // sftp, ftp or ftps
    "type": "sftp",

    "save_before_upload": true,
    "upload_on_save": false,
    "sync_down_on_open": false,
    "sync_skip_deletes": false,
    "sync_same_age": true,
    "confirm_downloads": false,
    "confirm_sync": true,
    "confirm_overwrite_newer": false,
    
    "host": "example",
    "user": "root",
    "password": "aa",
    "port": "37089",
    
    "remote_path": "/root/SSD/",
    "ignore_regexes": [
        "\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json",
        "sftp-settings\\.json", "/venv/", "\\.svn/", "\\.hg/", "\\.git/",
        "\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini",
        "/datasets/", "/build/", "/models/", "/.github/",
        "\\__pycache__/", "\\.egg-info/", 
         "\\.jpg", "\\.png", "\\.pt", "\\.pth", "\\.so", "\\.pyc", "\\.gitignore",
        ".egg"
    ],
    //"file_permissions": "664",
    //"dir_permissions": "775",
    
    //"extra_list_connections": 0,

    "connect_timeout": 30,
    "keepalive": 60,
    //"ftp_passive_mode": true,
    //"ftp_obey_passive_host": false,
    //"ssh_key_file": "~/.ssh/id_rsa",
    //"sftp_flags": ["-F", "/path/to/ssh_config"],
    
    //"preserve_modification_times": false,
    //"remote_time_offset_in_hours": 0,
    //"remote_encoding": "utf-8",
    //"remote_locale": "C",
    //"allow_config_upload": false,
}
相關文章
相關標籤/搜索