引言
Linux 主要的应用场景
1. 服务器领域
2. 嵌入式设备,例如:空调、冰箱…
3. 移动端,例如:Android 内核就是 Linux
Linux 环境搭建
要想学习 Linux,在这之前,我们需要先有一个 Linux 的环境,这里推荐的方式是:使用云服务器,可以直接在 【 腾讯云、或阿里云、或华为云 】等服务器厂商处直接购买一个云服务器。
使用云服务器这样的方式,环境搭建简单。最主要的是,我们部署在云服务器上的项目可以直接被外网访问到,这就和一个公司发布一个正式的网站没有任何区别,也就是说,我们自己通过代码写出来的项目,能够真正地让别人用。
我之前在学校的时候,使用过 VMWare 虚拟机,不过那样很折腾人,此外,也没有什么实际意义。
Linux 重点应该学习什么
1. 基础操作 ( 基于命令行的操作 )
Linux 虽然也有像 Windows 那样的图形化界面,但很少能够用到。
2. 系统编程 + 网络编程
必须明确:一个操作系统的存在,对下,要管理各种硬件设备;对上,要为各种软件提供一个稳定的运行环境。然而,如何编写一个能运行在 Linux 系统上的程序,这是一个很重要的话题。但是,由于 Java 天生就是 " 跨平台 " 的,同样的代码,Windows上怎么写,换到 Linux 上,完全一样!
所以说,这一块的编程内容主要是学习 C++ 的小伙伴需要研究的内容。
3. 部署一个 Java - Web 程序
这就是本篇博客的重点所在。
声明
必须明确:
一个完整的操作系统 = 操作系统内核 + 配套的应用程序。
然而,Linux 严格意义来说只是一个 " 操作系统内核 ",因此,有些公司 / 开源组织又基于 Linux 内核,提供了不同的配套程序,这就构成了不同的 " 发行版 "。
然而,本篇博客主要对应的 CentOS 7 这样的发行版。
一、Xshell 常用技巧
Ctrl + insert // 复制 Shift + insert // 粘贴 Ctrl + c // 中断当前操作,并另起一行重新输入 Tab // 补全 Linux 命令 clear // 清屏
二、文件的类型与权限
下图是我随便截取的一些目录和文件,我们可以看到,一行最开头,形如 " -rw-r–r–" 这样的字母,让我们很难懂是什么意思。此外,一些文件,有些是蓝色的,有些是绿色的,这也是很难懂。
(1) 我们先来解决第一个问题
一个文件的权限分为三种,可读、可写、可执行。
r 表示可读,w 表示可写,x 表示可执行。 ( read, write, execute )
例如:" rwx " 就是一个可读可写可执行的文件。
例如:" -rw " 就是一个可读可写不可执行的文件。
此外,Linux 把用户分成了三类
① 文件拥有者
② 文件拥有者的同组用户
③ 其他用户
那么,10 个字母的 " 2-10 " 位,就分别对应着三类用户的权限。
第一个字母与用户无关,表示文件类型," d " 表示目录," - " 表示普通文件。
请看下图:
(2) 再来看第二个问题
蓝色的表示目录,白色表示普通文件,绿色表示可执行文件,红色表示压缩包。
(3) 修改文件权限
- " + " :向权限范围增加权限代号所表示的权限
- " - " :向权限范围取消权限代号所表示的权限
- " = " :向权限范围赋予权限代号所表示的权限
- " u " :拥有者
- " g " :拥有者同组用户
- " o " :其它用户
- " a " :所有用户
格式:
chmod u+x *.txt // 针对拥有者,为 txt 文件加上可执行权限 chmod u-x *.txt // 针对拥有者,为 txt 文件去除可执行权限 chmod a+x *.txt // 针对所有用户,为 txt 文件加上可执行权限 ......
展示:
注意:修改文件类型以及某类用户的权限,只有 root 才有这个权力取执行这些操作, root 在 Linux 系统上,具有至高的权力,所以,它也不用遵守上面的一系列规则。
三、Linux 权限
命令提示符
在我们每次输入命令的时候,都会看到前面有个框框,那是什么意思呢?
两类用户
Linux 下有两种用户:管理员(root)、普通用户。
管理员:可以在 Linux 下做任何事情,不受限制。
普通用户:在 Linux 下做有限的事情。
管理员的命令提示符是 " # ",普通用户的命令提示符是 " $ "。
我们的服务器买好了,默认就是 root 用户,但 root 用户权力比较大,一旦使用不当可能会造成严重后果 ( 例如 rm -rf / 操作)。
因此我们在公司中工作的时候,不会直接使用 root 用户来操作服务器。
如果在学习的过程中,一台云服务器属于个人私有,那其实就无所谓 root 的使用。
如果在学校中,几个同学一起使用一台云服务器,那么建议,每个人都要创建一个用户和对应的密码,以此来做到互不干扰。
用户操作
声明:创建某个用户、配置 / 修改某个用户的密码 都仅只可由 root 用户来操作。
1. 创建用户
useradd 用户名
2. 配置密码
passwd 用户名
注意,往命令行输入密码的时候,在控制台中不会有提示,但已经输入进去了。
3. 切换用户
su 用户名
例如:从 root 用户切换到 Jack 用户 【su Jack】
例如:从 Jack 用户切换到 root 用户 【su】/ 【su root】
一般情况下,从 root 切换成 普通用户,不需要输入密码;
从 普通用户切换成 root,需要输入管理员对应的密码。