有些细节容易忽略,这里特别总结一下常用的命令
- 摘要
- 如何远程实现对服务器及本机之间文件的上传和下载
- 对于文本的操作(vi/vim编辑器)
- 对文件的几个操作命令
- 命令序列
- 说明
-
首先,我们应该知道服务器的地址以及端号(端号一般默认22)
-
如果想要进入指定用户目录,需要知道用户名以及密码
-
基于SSH协议,有两个工具
a. scp, 非交互式工具
b. sftp, 交互式工具
for example of a;
#注意:当操作的对象为目录时,需要加上参数 -r 在指定目录前,即在上传下载目录里的所有文件 scp -P 22 file.txt hazel@192.168.56.102:/.ssh #put a file named file.txt from localcomputer to a directory named .ssh in server(port = 22) scp -P 22 hazel@192.168.56.102:/.ssh/unimportant.txt ./ #get a file named file.txt named unimportant.txt from the directory named .ssh in server to localcomputer(./ present directory) scp -l 100 ssh_server:1.dat ./ #limit the download speed under 100kb
for example of 2:
sftp -oport=22 hazel@192.168.56.102 # create a conversation between server and host(localcomputer). Then you can chat with the server! #类似于创建一个聊天框,下面命令都只是输入">"后面的命令 sftp>ls #列出服务器当前目录文件 sftp>lls #列出主机当前目录文件 sftp>file.txt /tmp/ #下载file.txt到本机/tmp目录下 sftp>put file.txt /tmp/) #上传file.txt到服务器/tmp目录下 sftp>cd #在服务器目录上漫游 sftp>lcd #在本地目录上漫游 sftp>rm file.txt #删除服务器文件,后接文件名 sftp>lrm file.txt #删除本地文件,后接文件名 sftp>quit #退出与该服务器的对话对于文本的操作(vi/vim编辑器)
vim kaoshi.csv #文件不存在就创建该文件并进入vim编辑器 键入 i 进入插入模式,插入模式时,键入ESC,进入vim命令模式 命令模式下键入 : 进入底行模式 #词频统计,参数 -l 统计行数 -w 统计单词 -m 统计字符数 wc <参数> 文件名 #查找词并替换 (在命令模式下) :/g/这里放要查找的词/s//替换进去的词/gc #后面加c每次替换都会询问 #选中粘贴复制 (先进入命令模式,键入v进入可视模式,这时hl进行左右即在选中,选中好后键入y即复制成功,移动到目标位置键入p进行粘贴) #屏幕分块 (进入命令模式,键入:split就能当前文件进行双屏幕视图,屏幕之间的光标移动Ctrl+WW) :close #在某窗口底行模式 # 删除一行, 进入插入模式,可做字符替换 cc #删除一行,并进行复制 dd #跳到指定行,先 按esc进入命令模式 123G #跳到第123行 ,注意不安冒号,中间不回车 GG #跳到最后一行行首, gg #文档开头 # 保存并退出 esc进入命令模式 : 进入底行模式 wq #回车就退出了 #查询某单词所在位置 : 进入底行模式 /某单词 #向下查找 ?某单词 #向上查找对文件的几个操作命令
# 浏览文件 tail filename > file1 #浏览后十行,这十行新建一个文件 head filename >> file1 #浏览前十行,z追加写入file1文件 cat filename #浏览全文 head -n 5 file1 #查看file1文件前五行 ln -s /home/generator.py filename #将filename链接到指定文件下(此处为软链接) cp file1 file2 #将file1备份为file2 cp -r /home/linux/QiZhongKaoShi/file* ./ #用通配符复制指定目录下file开头的文件到当前目录下 tree -L 6 #打印出深度为6的目录树,起点为当前目录 ls -F ./QiZhongKaoShi #列出指定目录下的文件 ls -l file7 #列出file7目录下文件的详细信息 ls -la #显示当前目录下的全部文件(包括隐藏文件)
ssh -p <端口> 用户名@地址 #远程登陆服务器 grep 单词 文件名 #在文件查找,并打印包含该单词的行 pwd #显示当前路径 ls #显示当前目录下的文件 cd #目录漫游 echo "内容" > file1 # 向file1文件写入内容,重定向 cat file4 file7 > gzip > file4_7.gz #将两文件压缩为另一文件 ps -ef | grep NetworkManager #显示正在运行的指定进程 clear #清屏
最重要的,碰到不清楚的命令,可以使用help或man进入帮助文档,查询命令如何使用,前者内部命令,后者外部命令。
命令序列几个命令在一行,各命令之间用几种分隔符,执行逻辑稍有不同:
; 从左至右执行
&& 左边执行成功才执行右边
|| 左边执行失败才执行右边
回忆着仓促写的,可能会出现个别错误。若有指正,非常感谢~



