Chuyển đến nội dung chính

copy between local and remote host using "scp" command

scp allows files to be copied to, from, or between different hosts. It uses ssh for data transfer and provides the same authentication and same level of security as ssh.

Examples

Copy the file "foobar.txt" from a remote host to the local host

    $ scp your_username@remotehost.edu:foobar.txt /some/local/directory

Copy the file "foobar.txt" from the local host to a remote host

    $ scp foobar.txt your_username@remotehost.edu:/some/remote/directory

Copy the directory "foo" from the local host to a remote host's directory "bar"

    $ scp -r foo your_username@remotehost.edu:/some/remote/directory/bar

Copy the file "foobar.txt" from remote host "rh1.edu" to remote host "rh2.edu"

    $ scp your_username@rh1.edu:/some/remote/directory/foobar.txt \
    your_username@rh2.edu:/some/remote/directory/

Copying the files "foo.txt" and "bar.txt" from the local host to your home directory on the remote host

    $ scp foo.txt bar.txt your_username@remotehost.edu:~

Copy multiple files from the remote host to your current directory on the local host

    $ scp your_username@remotehost.edu:/some/remote/directory/\{a,b,c\} .
    $ scp your_username@remotehost.edu:~/\{foo.txt,bar.txt\} .

scp Performance

By default scp uses the Triple-DES cipher to encrypt the data being sent. Using the Blowfish cipher has been shown to increase speed. This can be done by using option -c blowfish in the command line.
    $ scp -c blowfish some_file your_username@remotehost.edu:~
It is often suggested that the -C option for compression should also be used to increase speed. The effect of compression, however, will only significantly increase speed if your connection is very slow. Otherwise it may just be adding extra burden to the CPU. An example of using blowfish and compression:
$ scp -c blowfish -C local_file your_username@remotehost.edu:~

Nhận xét

Bài đăng phổ biến từ blog này

unicode with python

str = "Quan h\u1ec7 t\u00ecnh d\u1ee5c v\u00e0 t\u1eadp t\u00ecnh d\u1ee5c c\u00f3 th\u1ec3 g\u00e2y \u0111au tim \u1edf m\u1ed9t s\u1ed1 ng\u01b0\u1eddi n\u1ebfu h\u1ecd kh\u00f4ng th\u01b0\u1eddng xuy\u00ean th\u1ef1c hi\u1ec7n hai ho\u1ea1t \u0111\u1ed9ng \u0111\u00f3" hic vo duoc cai chuoi nay ma ko biet lam the nao ca?? print u'\u1ec7' duoc chu "ệ" print len(u'\u1ec7') --> 1 print len(unicode('\u1ec7')) --> 6 vay la convert chuoi thanh unicode the nay moi ky tu lai la 1 ky tu unicode (1Byte) thu cheat the nay xem sao nhi??  code = '\u1ec7' print eval("u'{0}'".format(code)) --> ệ  su dung regular expression ta se print duoc chuoi dau bai ve dang tieng viet bt print re.sub(r"(\\u[a-z0-9]{4})", lambda m: eval("u'{0}'".format(m.group(1))), str) --> Quan hệ tình dục và tập tình dục có thể gây đau tim ở một số người nếu họ không thường xuyên thực hiện hai hoạ...

Lưu ý về vendored_frameworks khi project pod sử dụng nhiều thư viện binary

vendored_frameworks Khi bạn cần đóng framework private source code thì có thể cung cấp cho các dev khác thông qua trực tiếp file .framework hoặc .xcframework hoặc qua pod,... Nếu bạn chỉ muốn đính kèm 1 dynamic framework thì bạn chỉ cần khai báo trong podspec như sau: s.vendored_frameworks = 'Frameworks/MyFramework.xcframework' Khi project thư viện của bạn sử dụng nhiều hơn 1 framework thì sử dụng cú pháp sau  s.vendored_frameworks = ['Frameworks/LV24hCore.xcframework', 'Frameworks/Alamofire.xcframework', 'Frameworks/AlamofireImage.xcframework', 'Frameworks/CryptoSwift.xcframework', 'Frameworks/ObjectMapper.xcframework'] Lưu ý là viết dấu [ trên 1 dòng nhé,  nếu Style xuống dòng trông cho sạch đẹp thì sẽ không ăn nhé. Ví dụ mình viết như này thì test không thấy ăn. s.vendored_frameworks = [ 'Frameworks/LV24hCore.xcframework', 'Frameworks/Alamofire.xcframework', 'Frameworks/AlamofireImage.xcframework', ...