第二章
远程登录到 Linux 服务器
为什么需要远程登录 Linux
- Linux 服务器是开发小组共享
- 正式上线的项目是运行在公司
- 因此程序需要远程登录到 Linux 进行项目或者开发
- 远程登录客户端有
Xshell6
,Xftp6
,我们学习使用Xshell6
和Xftp6
,其他的远程工具大同小异
远程登录 Linux-Xshell6
介绍
说明:Xshell 是目前最好的远程登录到 Linux 操作的软件,流畅的速度并且完美解决了中文乱码的问题,是目前程序员首选的软件
Xshell 是一个强大的安全终端模拟软件,它支持 SSH1,SSH2,以及 Microsft Windows 平台的 Telenet 协议
Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的

下载-安装-配置和使用:
下载 free-for-home-school 版本
地址:https://www.xshell.com/zh/xshell-download/
ifconfig # 查看 ip 地址
连接 Linux

然后点击连接,再点击 Centos7.6,设置账号密码

注意:连接完成之后千万不要把 Linux 关机,不然连接不上
远程上传下载文件-Xftp6
介绍
是一个基于 windows 平台的功能强大的 SFTP、FTP 文件传输软件。使用了 Xftp 以后,windows 用户能在安全地在 unix/Linux 和 windows PC 直接传输文件。

跟 xshell 一样

如果乱码,在左上角点击文件 -> 当前会话属性 -> 点击选项 -> 编码选择 UTF-8 即可
reboot # 重启
Vi 和 Vim 编辑器
vi 和 vim 的基本介绍

Linux 系统会内置 vi 文本编辑器
Vim 具有程序编辑的能力,可以操作是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完,编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
vi 和 vim 常用的三种模式
正常模式
以 vim 打开一个档案就直接进入一般模式了(这就是默认的模式)。在这个模式中,你可以使用【上下左右】按键来移动光标、你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据。
插入模式
按下 i、I、o、O、a、A、r、R 等任何一个字母之后才会进入编辑模式,一般来说按 i 即可
命令行模式
在这个模式当中,可以提供你的相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!
例:使用 vim 开发一个 Hello.java 程序,保存 步骤 说明和演示
vim/vi Hello.java # 使用 vi/vim 开发一个 Hello.java 的程序
按下回车
输入 i
开始写代码
javapublic class Hello{ public static void main(String[] args){ System.out.println("Hello,World"); } }
写完按 esc键,退出编辑模式,在输入 :wq 进入命令行模式 ,wq 表示写入并退出
如何想修改代码就 vim 文件名
各种模式的相互切换
看看vi和vim各个模式的切换图

vi 和 vim 快捷键
- 拷贝当前行 yy ,拷贝当前行向下的5行,5yy,并粘贴(输入p粘贴)。
- 删除当前行 dd,删除当前行向下的5行,5dd
- 在文件中查找某个单词【命令行下:输入/关键字,回车查找,输入 n 就是查找下一个】
- 设置文件的行号,取消文件的行号.【命令行下 :set nu(显示行号) 和 :set nonu(销毁行号)】
- 编辑 /etc/profile 文件,使用快捷键到该文档的最末行【G】和最首行【gg】
- 在一个文件中输入 "hello",然后有撤销这个动作 u
- 编辑 /etc/profile 文件,并将光标移动到 20 行 先输入20,在输入shift+g
- 更多快捷键,请访问:https://blog.csdn.net/m0_73557631/article/details/141259013
注意:快捷键要在一般模式下使用,区分大小写
Linux 开机、重启和用户登录注销
关机&重启命令
基本介绍
shutdown -h now # 立刻进行关机
shudown -h n # hello,n分钟后关机了
shutdown -r now # 现在重新启动计算机
halt # 关机,作用和上面一样
reboot # 立刻重新启动计算机
sync # 把内存的数据同步到磁盘
注意细节:
- 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中
- 目前的 shutdown/reboot/halt 等命令均已经在关机前进行了 sync,提示一下:小心驶得万年船
用户登录和注销
基本介绍
- 登录时尽量少用 root 账号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户的登录
su -用户名
命令来切换成系统管理员身份 - 在提示符下输入 logout 即可注销用户
- 如果是普通用户,使用
su - 用户名
切换到管理员用户,使用 logout 可以回到普通用户。普通用户在使用 logout 命令,就可以退出系统了
使用细节
- logout 注销指令在图形运行级别无效,在运行级别 3 (无界面)下有效
- 运行级别这个概念,后面介绍
用户管理
Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后这个账号的身份进入系统
添加用户
基本语法
useradd 用户名 # 创建用户并指定用户的家目录,为 `用户名`
ls # 列出所有文件夹
注意:
- 当创建用户成功后,会自动的创建和用户同名的家目录,默认该用户的家目录在 /home/用户名
- 也可以通过
useradd -d 指定目录
新的用户名,给新创建的用户指定家目录
例:
useradd -d /home/test tom # 创建一个tom的用户,指定tom的家目录为test
指定/设定/修改密码
基本语法
passwd 用户名
pwd # 显示当前用户所在的目录
如果不指定用户,就默认给当前登录的用户指定/修改密码
删除用户
基本语法
userdel 用户名
删除用户,但是保存用户的家目录
shelluserdel 用户名
删除用户以及用户的主目录(慎重选择)
shelluserdel -r 用户名 # r 表示删除用户,同时把家目录删除
自己不能删除自己,因为权限不足~
是否保留家目录?
一般情况下,我们建议保留
查询用户信息指令
基本语法
id 用户名
当用户不存在时,返回无此用户
切换用户
介绍
在操作 Linux 中,如果当前的用户的权限不够,可以通过 su - 指令
,切换到高权限用户,比如 root
基本语法
su - 切换用户名
细节说明
- 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
- 当需要返回到原来用户时,使用
exit/logout
指令
查看当前用户/登录用户
基本语法
whoami/ who am I # 显示第一次登录的信息
用户组
类似于角色,系统可以对有共性的多个用户进行统一的管理(权限)
新增组
groupadd 组名
删除组
groupdel 组名
增加用户时直接加上组
useradd -g 用户组 用户名
清屏
clear
如果添加用户,没有指定组,默认创建一个组,组名就是用户名
例:
增加一个用户 zwj
,直接将它指定到 wudang
这个组
groupadd wudang
useradd -g wudang zwj
修改用户组
usermod -g 用户组 用户名
例:
创建一个组 mojiao,把 zwj 放到 mojiao
groupadd mojiao
usermod -g mojiao zwj
用户和组相关文件
/etc/passwd
文件,用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令(口令是加密的):用户标识号(uid):组标识号(gid):注释性描述:主目录:登录shell
/etc/shadow
文件,口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group
文件,组(group)的配置文件,记录Linux包含的组的信息
每行的含义:组名:口令:组标识号:组内用户列表