Linux學習的點點滴滴(三)
scp
scp 是 secure copy 縮寫,用於 linux 系統下基於 ssh 登錄的遠程文件拷貝命令
命令使用:
scp -P port your_local_dir your_username@ip:your_host_dir
如:
scp -P 20 F:\Code\test.cpp [email protected]:/home/test
該命令表示將本地F盤中Code文件夾下的test.cpp文件傳輸到服務器的 /home/test
文件夾下,這裏的test是你賬戶的文件夾,-P
是端口號,P
是大寫
scp -rp your_local_dir your_username@ip:your_host_dir
在scp後面加入參數-r
表示傳輸文件夾(遞歸複製),-p
是保留源文件修改,訪問時間和權限(modes)信息。
每次都要輸入密碼,而且命令也很長,命令很長可以用 make 腳本實現,密碼的話,就要建立兩機之間的信任了。
建立公鑰
- 首先創建公鑰:
ssh-keygen -t rsa
一直回車,直到看到那個用 SHA256 加密的 RSA 的圖形:
生成過後,看到/root/.ssh
有id_rsa.pub
文件:
將這個文件傳到 Windows 下的C:\User\\xxx\\.ssh
文件夾下,每個人電腦不一樣,然後將文件名修改爲authorized_keys
,然後 Linux 向 Windows 用 scp 傳輸文件就不用再輸入密碼啦~再用一個 make 腳本,直接一個 make 命令就可以傳輸了,是不是很簡單。
若要從 Windows 往 Linux 傳輸文件就把剛剛的過程反過來再做一遍就行了。
Linux訪問Windows共享文件
- 在 Windows 上建立共享文件夾
當然也可以再建一個用戶,將用戶添加到共享目錄的訪問組中,並設置讀寫權限。 - 在 Linux 下安裝
samba-client
客戶端
sudo apt install samba-client
- 安裝
cifs-utils
軟件包
sudo apt install cifs-utils
- 然後隨便選一個文件夾作爲掛載點,然後掛在 Windows 下的共享目錄到剛剛的文件夾下:
mount -t cifs -o username=your_username //ip/your_share_dir /your_linux_mount_dir
再輸入 Windows 賬戶密碼即可完成共享文件夾的掛載。