1,学习LINUX有下面三个方向:LINUX运维工程师,LINUX嵌入式工程师,LINUX开发项目
2,LINUX应用邻域:个人桌面领域(被Windows压制),服务器邻域(大多数,占比8成以上),嵌入式领域(开源,所以应用很广)
3,LINUX学习进阶各个阶段
4,LINUX作为内核,有不同的发行版本
5,LINUX和UNIX的关系
Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。相比于 UNIX,Linux 最大的创新是开源免费,这是它能够蓬勃发展的最重要原因;而目前的 UNIX 大部分都是收费的,小公司和个人都难以承受。
6,虚拟机和操作系统发行版的关系
事实上CentOS,Ubuntu等等操作系统在虚拟机上是一个文件集,可以在不同的PC的虚拟机上安装运行,移植性强。
7,Linux的目录
Linux是级层树状的结构,最上层是根目录“/”,各个目录存放什么东西是规划好的,不能乱放,在Linux的世界里,以文件的形式管理我们的设备,即一切皆文件。
8,实际工程应用上,Linux系统是安装在远程服务器上的,也就是常说的机房,而不是程序员在自己电脑上安装一个Linux系统,为什么呢?
程序员根据自己的工作被分配不同权限的用户帐号对服务器进行管理和操作,通过远程登陆来实现,这里用到两种基本的软件(远程登陆软件和远程下载上传软件,这里用XSHELL和XFTP示例)安装到个人的工作设备比如个人pc。
9,vi和vim:现在的 UNIX/Linux 大都使用 vim 代替了 vi。vim 是 vi 的增强版(vi Improved),与 vi 编辑器完全兼容,而且实现了很多增强功能。
vi和vim的三种常见模式:
1) 命令行模式
该模式是进入 vi 编辑器后的默认模式。任何时候,不管用户处于何种模式,按下Esc
键即可进入命令模式。
在命令模式下,用户可以输入 vi 命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释。若输入的字符是合法的 vi 命令,则 vi 在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不回显在屏幕上。若输入的字符不是 vi 的合法命令,vi 会响铃报警。
2) 文本输入模式
在命令模式下输入插入命令i
、附加命令a
、打开命令o
、修改命令c
、取代命令r
或替换命令s
都可以进入文本输入模式。
在该模式下,用户输入的任何字符都被 vi 当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按下Esc
键即可。
3) 末行模式
末行模式也称 ex 转义模式。
在命令模式下,用户按:
键即可进入末行模式下,此时 vi 会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个:
作为末行模式的说明符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,vi 自动回到命令模式。
10,关机重启指令以及用户登录注销logout
(注意图片第二行指令错了,是shutdown -h -1)
11,用户(组)的管理
1)用户的创立(useradd)
2)给用户指定修改密码(passwd 用户名)
3)删除用户(userdel 用户名)
删除用户有两种,一种是把对应用户的家目录也给删除(userdel -r 用户名),一种是保留家目录(userdel 用户名)。实际工程应用中如果需要删除一个用户,比如公司的员工离职了,一般采取第二种保留家目录,以免丢失重要的源码等信息。
4) 查看用户信息(id 用户名)
包括用户uid用户名,所在组gid和组名,以及附加组群groups的id和组名(注意附加群组包括前面介绍的所在组)。
5) 切换用户(su 用户名)
当用普通用户权限不够时,可以用su暂时切换到root等高权限的用户进行操作,既可以完成高权限操作又可以不用一直使用root等高权限用户避免安全性受影响。注意有一些命令可以直接在指令前面加上sudo也可以完成同样的效果。
6) 打印当前登录用户(whoami)
7) 用户组的创立(groupadd 组名)删除(groupdel 组名)
我们创立一个新的用户名时,可以在修饰项加上-g来给这个用户直接分组,如果没有这么做,那么就会默认给该用户创立一个和其用户名同名的组给它自己。(useradd -g 用户组 用户名)
8) 用户修改所在组(usermod -g 用户组 用户名)
9) 用户(组)相关的三个比较重要的文件
etc/passwd文件 :
第二部分是用户的密码信息,这里显示X是系统为了安全起见不显示出来,而是将其另外加密存放在shadow文件中。
etc/shadow文件 :只有root用户可读
etc/group文件 :
第四部分存储了所属该组的用户信息,但是为了安全起见一般不可见。
12,用户运行级别
可以通过修改etc/inittab 的id:[123456]:indefault并保存来修改下一次开机之后的运行级别,也可以直接init[123456]来直接修改。
13,root密码丢失怎么找回(面试题)
思路:进入单用户模式,因为进入单用户模式的最大特点就是不需要输入用户名和密码。既然已经登录了单用户模式,那么直接给 root 用户设定新密码即可。passwd root
注意: 能使用这种方法的前提是不能进行远程登录,比如说商业模式下需要能进入机房直接进入单用户模式。因为进入单用户模式在关闭重启服务器的时候进入的,而平时如果是远程连接服务器而没有物理主机的使用权的话,是没办法控制服务器开关的。