ssh操作手册
1. 直接登录远程服务器
ssh <用户名>@<ssh服务器地址>
此时会要求用户输入服务器端用户的密码,成功输入密码后会连接到服务器。
但是之后每次上传和下载操作后都会需要用户输入密码,为了实现免密登录,可以按如下进行操作。
2.客户端生成公私钥(一路回车默认即可)
ssh-keygen
ls ~/.ssh
在~/.ssh目录下会生成 id_rsa(私钥)和 id_rsa.pub(公钥)。
3.上传公钥到服务器
这里测试用的服务器地址为:192.168.235.22
用户为:root
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.235.22
上面这条命令是写到服务器上的ssh目录下的authorized_keys文件中去。
在服务器上运行下列命令可以看到刚才写入的公钥内容。
cat ~/.ssh/authorized_keys
4. 使用SSH从服务器下载或上传文件
从远程服务器下载文件到本地
scp <用户名>@<ssh服务器地址>:<文件> <本地文件路径>
scp root@127.20.36.88:~/test.txt ~/Desktop
scp -r root@127.20.36.88:~/test ~/Desktop
root@127.20.36.88是服务器地址,冒号后面是服务器上具体的文件,后面就是本地文件路径。
4.1从远程服务器下载文件夹到本地
scp -r <用户名>@<ssh服务器地址>:<文件夹名> <本地路径>
scp -r root@127.20.36.88:~/test ~/Desktop
将test文件夹直接下载到了本地桌面
4.2从本地上传文件到服务器上
scp <本地文件名> <用户名>@<ssh服务器地址>:<上传保存路径>
从本地上传文件夹到服务器上
scp -r <本地文件夹名> <用户名>@<ssh服务器地址>:<上传保存路径>
5 打包并压缩文件
5.1打包文件不压缩文件 .tar
tar -cvf 目录和需要压缩的文件名 压缩的目录
5.2 打包并压缩文件 .tar.gz
tar -zcvf 文件名.tar.gz 压缩的文件名(全名) 打包后,以 gzip 压缩
6 打包 压缩 文件夹
6.1打包并压缩文件夹
tar -zcvf (压缩后的名字).tar.gz 文件夹名称
7 解压文件夹
tar zxvf 文件名.tar.gz
8 查看文件内容
8.1cat
/*对每行进行编号*/
cat -n msg
/*你也可以只对有内容的行编号。请注意,对于此命令,仅包含空格的行不被视为“空”,而是会被编号。*/
cat -b msg
/*cat 命令允许你使用 -s 选项忽略重复的空白行,但是要完全忽略空白行你必须添加另一个命令*/
cat -s msg
/*使用 -A 时,既可以在每行的末尾显示 $ 字符,并且制表符会显示为 ^I 而不是空白。*/
cat -A msg
/*-E 选项通过在每行末尾加 $ 符提供视觉提示,来显示行尾是否还有多余的空格。*/
cat -E msg
/*要忽略所有空白行,只需如下将 cat 的输出通过管道传递给 grep 命令。 点(.)匹配包含任意字符的文本,因此它将显示任意非空的行,用于结束一行的回车换行做匹配*/
cat msg | grep .
8.2 使用 more 或者 less 浏览一屏文本
8.3 使用 head 和 tail 显示文件部分内容
head 和 tail 显示文件的头部或尾部,默认为十行。 你可以使用 -3(显示 3 行)或 -11(显示 11 行)之类的字符串来指定要查看的其它行数。tail 命令与 head 的工作方式相同,但是显示文件的尾部而不是头部。
head -3 msg
Hello --
I hope you are having a wonderful day!
tail -3 msg
bye!
可以结合使用 head 和 tail 命令来查看文件中间的文本。你只需要选择起点和想要查看行数即可。在此例中,命令将在文件中显示第二个一百行,并在 cat 的帮助下为这些行编号。
cat -b mybigfile | head -200 | tail -100
9 上传文件
scp (本地文件的全名加路径) (目标地址目录)
10 使用“mv 文件a 文件b”来对单个文件名进行修改,如下所示:
mv 我的文件.csv my_file.csv