环境与概念

一、登录进Linux系统

典型的Linux是通过控制台操作的,于是我们也同样通过终端登录
在Mac上打开Terminal即可,Win上需要使用PuTTy

ssh是一条命令,用于远程登录,功能类似于telnet,但是内容本身是加密的
后面跟的内容是远程主机,这里显示的是学校账户,一般形式是user@ip或者user@dns。
比如你在DO里创建的用户名为abc,服务器IP为1.1.1.1,那么这里的指令就变为ssh abc@1.1.1.1
按下回车确认,然后会要求输入密码,正确后登录

那么问题是哪里看出登录成功了呢?终端还是那个终端
确实如此,但是注意$之前的内容变化了,变成yangcui@shell ~了

如果我们输入命令,会在远程主机上执行,返回执行结果,而不是本地执行,这就是登录了。
操作远程主机就是在终端敲命令,仅此而已

另外ssh还有一个高级登录方法,即使用秘钥登录,这个比密码更安全。写法是
ssh -i /path/to/prikey.pem ubuntu@18.207.195.30
前提条件是已经设立了公钥和私钥(通常在第一次设置远程服务器时处理,云服务器提供商层面设置)
然后这个私钥不能是公开可见的,需要使用chmod 400 /path/to/prikey.pem(权限说明见后文)

登陆之后就可以输入命令了,比如:

: pwd -> print current working dir (CWD)
: ls -> list all files under CWD
: exit -> logout

这就是一个很简单但是完整的操作:看一下home底下的文件

二、文件传输

可以使用命令scp拷贝文件,其原理是基于ssh,不用登录到远程主机(如果已经ssh则需要本地另开一个窗口),语法是scp /path/to/local/file.txt user@147.0.0.1:~
:之后的是指定拷贝到远程主机的路径。~为默认用户根目录
因为未登录所以会像ssh一样询问密码登录

推荐使用FileZilla来做与Linux主机的文件传输,非常简单可靠

去官网上下载Client并安装

打开之后输入Host: shell.seas.gwu.edu
Username: yangcui
Password: …
Port: 22
然后点击QuickConnect
出现下方界面,即连接成功

左边是本地目录,右边是远程目录
注意CWD与通过终端登录进去的位置一样
换句话说,之前ls命令的返回结果应该与这里显示的文件结构一致

对照上面的内容可以发现蓝色是文件夹,黑色是文件。虽然没有显示全但是确实是一样的
开头是.的表示隐藏文件(夹)

传文件也很简单,拖动即可

三、关于文件的知识

Linux的目录结构基本上都是统一的,关于具体内容和每个文件夹都是干什么用的可见:
https://www.runoob.com/linux/linux-system-contents.html

home一般作为用户的主目录,之后我们所有的演示都在这个home里面进行。
因为home太常用了所以特别使用~来指代
比如这里的例子~等于/home/ead/yangcui

另一个要说明的概念是权限,见下图

Linux是多用户多任务的分时系统,即会有多个用户来使用,因此每个文件都有权限
完整的权限表示为drwxrwxrwx,共10个字符
第一个为d (dir) 或者 – (file)
后面每三个一组分别是r (read) w (write) x (execute)
如果对应位为-表示没有权限
第一组为owner权限,第二组为group权限,第三组为everyone

使用 chmod命令来更改权限
这里就不演示了

掌握了登录和基本概念后,我们开始尝试各种命令