本文是构建CentOS+Nginx+Mongodb+Node之CentOS篇知识的整理,主要集中于Linux的学习。
0.参考
- 1.王军-2013-12:Linux系统命令及Shell脚本实践指南;
- 2.KyleBing-简书:https://segmentfault.com/a/1190000016056004
- 3.简明教程:https://www.jmjc.tech/less/137
1.Linux简介
1.1Linux的简介
- 1991年,芬兰人Linus Torvalds(Linux之父),发布Linux0.01版本。
- Linux,据发明者公开说明,读音为“哩呐科斯”,是一种类Unix系统。
1.2Linux部分特点
- 免费开源。
- 模块化程度高。Linux的内核设计分为进程管理、内存管理、进程间通信、虚拟文件系统、网络5部分。
- 多用户,多任务。
1.3Linux的发行版
- 不同发行版本之间的差别在于软件管理的不同,而其内核都来自Linux内核。(www.kernel.org)
- 在安装Linux时,必须有两个分区:根分区(/)和swap分区(交换分区)。
- 交换分区:相当于windows的虚拟内存,一般为物理内存的两倍,但建议不超过8GB,因为影响性能。
- Grub:是一个系统引导工具,通过它加载内核,从而引导系统启动。
- /boot分区:用于放置Linux启动所用到的文件,如kernel和initrd文件。
- 安装系统分为图形安装模式和字符安装模式。
1.4系统登陆
- 终端登录
- tty:Teletype
- 登陆界面的行头标识:
- “~”是用户home目录/用户家目录的简写。
- “#”是提示符,表示当前用户是有超级权限的root用户,“$”代表一般用户。
- 初试指令
- 编辑vim test:1.Shift+g(大写字母G),跳转文档最后一行;按o键,在光标所在行另起一行,并进入编辑模式;按ESC退出编辑模式,按冒号键,输入字母x,按回车,保存退出。
- 编辑vim test:2.按i键,进入编辑模式;:wq保存退出。
- 显示日期:date
- 列出目录内容:ls
- 显示文件内容:cat
1.5系统启动流程
1.6获得帮助
- man
- info
- 其他
2.Linux用户管理
Linux是一个多用户分时系统。
2.1Linux用户和用户组
Linux采用一个32位整数记录不同用户,可以记录多达40亿个不同用户,这个数字称为UID(User ID)。
- Linux系统有三种用户:
- 普通用户:系统默认用户ID从500开始编号,操作权限:家目录,系统临时目录,属于该用户的文件,以及其他经过授权的文件。
- 根用户:root用户,ID为0,超级用户。
- 系统用户:系统运行时必须有的用户,非真实使用者。ID是1~499,例如用户apache,用户mysql。
- Linux有用户组,也用数字区分,称为Group ID,简称GID。
- 确认UID指令:id;确认GID指令:groups。
- 查询当前在线用户:who
- tty:终端;pty:虚拟终端,pts(pseudo terminal slave)是pty(pseudo-tty)的实现方法,和ptmx(pseudo-termianl master)配合实现pty。pts:伪终端,如远程登陆访问终端。
- /etc/passwd和etc/shadow
- /etc/passwd:
- /etc/shadow:影子密码
2.2Linux账号管理
- 1.新增用户:useradd -u UID -g Group-string name-string
- 1.在/etc/passwd和/etc/shadow添加一条记录;
- 2.在/home创建用户的家目录,/home/name-string;
- 3.复制/etc/skel(用户创建模板)所有文件到 /home/name-string;
- 4.创建同名用户组。
- 注释:/etc/skel预设的用户配置文件。
- 2.修改密码:password name-string
- 用户创建后,/etc/shadow 以冒号分隔开的第二列将显示为两个感叹号,表示不允许该用户登陆系统。
- 普通用户只能修改自己的密码,直接使用password即可。
- 3.修改用户:usermod
- 对/etc/passwd和/etc/shadow进行修改。
- 参数 -d /home/string ,修改家目录。 -L name-string,冻结用户;-U name-string,解冻用户。
- 4.删除用户:userdel
- 加-r参数会同时删掉该用户的家目录和邮件。
- 5.增加用户组:groupadd
- /etc/group
- 6.删除用户组:groupdel
- 如果用户组不为空,则失败。
- 7.检查用户信息
- 1.查看用户:users、who、w
- 2.调查用户:finger [用户名]?
2.3切换用户
- su
- 不加参数默认切换到root用户,输入密码切换。exit退回原用户。根用户不需要密码。
- su-
- 不但身份变成root,还能应用root的用户环境,即/etc/passwd定义的用户家目录,使用的shell,以及关于这个用户的个性化设置。
- sudo 执行命令
- 首先检查/etc/sudoers,判断该用户是否有sudo执行权限。
- 使用visudo,可以在退出时候检查语法设置。
2.4例行任务管理
- 1.cron
- 2.at
3.Linux文件管理
3.1文件和目录管理
- FHS(文件系统层次标准)定义了在根目录下的主要目录以及每个目录应该存放什么文件。
3.2文件和目录权限
3.3查找文件
3.4文件压缩和打包
4.Linux文件系统
5.字符处理
6.网络管理
7.进程管理
8.Linux下的软件安装
9.vi和vim编辑器
9.1vi和vim简介
- vi-Visual Interface,是Linux最基本的文本编辑器。
- vim,是vi的加强版。
9.2vi编辑器
- 三种模式介绍:一般、编辑、末行指令
- 一般模式,移动光标。
- 编辑模式,按i键进入,按ESC键退出。
- 末行指令模式,按:冒号键|斜杠键/|或问号键?|,进入。
9.3vim编辑器
- 支持多行编辑
9.4gedit编辑器
- 桌面环境的编辑器
10.正则表达式
11.shell编程概述
12.Bash Shell的安装
13.Shell编程基础
14.测试和判断
15.循环
16.函数
17.重定向
18.脚本范例
19.应用
19.1阿里云安装图形界面(暂时发现桌面好丑且难用,不如命令行界面)
- 1.安装图形桌面的软件包
- yum groupinstall “Server with GUI” -y
- 2.设置图形模式为默认模式启动。
- systemctl set-default graphical
- 3.重启
- reboot
安装VNC Server
使用以下命令安装相关软件包。
yum install tigervnc-server tigervnc-server-module -y
使用以下命令设置vnc密码。
vncpasswd
使用以下命令启动vnx Server。
vncserver :1
说明::1表示用5901端口,注意安全组记得放行端口。
客户端
可以使用vnc viewer工具进行连接,输入IP:1,再输入vncpasswd设置的密码即可正常连接
- reboot