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 test@172.16.14.100:/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 账户密码即可完成共享文件夹的挂载。