目录
1、Linux概述
Linux 是一款操作系统,免费,开源, 安全,高效,稳定, 处理高并发非常强悍,现在很多的企业级的项目都部署到 Linux/unix 服务器运行。
主要就是互联网服务端都部署在Linux系统上,所以就必须学了。
说明: 公司开发时候,具体的情况是这样的
1) linux服务器是开发小组共享的.
2) 正式上线的项目是运行在公网的.
3) 因此程序员需要远程登录到centos进行项目管理或者开发.
1.1 Linux主要发行版
总结:常用的是CentOSE, python用Ubuntu,这篇文章讲的就是CentOSE
1.2 Linux 和 Unix
Linux是Unix演变而来的
2、Linux 目录结构
linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
记住一句经典的话:在 Linux 世界里,一切皆文件。
/lib
•系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found
•这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/etc [重点]
•所有的系统管理所需要的配置文件和子目录my.conf
/usr [重点]
•这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/proc
•这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。
/boot [重点]
•存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
/srv
•service缩写,该目录存放一些服务启动之后需要提取的数据。
/sys
•这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs
/tmp
•这个目录是用来存放一些临时文件的。
Linux目录结构
/dev
•类似于windows的设备管理器,把所有的硬件用文件的形式存储。
/media [重点]
•linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt [重点]
•系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。d:/myshare
/selinux [security-enhanced linux] 360
•SELinux是一种安全子系统,它能控制程序只能访问特定文件。
/var [重点]
•这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
/opt
•这是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可放到该目录下。默认为空。
/usr/local [重点]
•这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
Linux 目录总结一下
(1)Linux 是以文件的形式管理我们的设备,因此 linux 系统,一切皆为文件。
(2)Linux 的各个目录存放的内容是规划好,不用乱放文件。
(3)Linux 的目录中有且只要一个根目录 /
3、远程登录到Linux
前文已经说了,程序员都是在公司的电脑上远程操作千里之外的某个机房的Linux服务器,因此需要一个远程登录软件和远程上传/下载软件
3.1 远程登录软件Linux-Xshell5
3.1.1 简介:
说明: Xshell 是目前最好的远程登录到 Linux 操作的软件,流畅的速度并且完美解决了中文乱码的问题, 是目前程序员首选的软件。
Xshell [1] 是一个强大的安全终端模拟软件,它支持 SSH1, SSH2, 以及 Microsoft Windows 平台的 TELNET 协议。
Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。
特别说明:如果希望安装好 XShell 5 就可以远程访问 Linux 系统的话,需要有一个前提,就是
Linux 启用了 SSHD 服务,该服务会监听 22 号端口。
3.1.2 安装和配置
安装就是下一步就对了,很简单的。
关键配置:
Linux 启用了 SSHD 服务,该服务会监听 22 号端口。(如果没启动,就自行启动,后面会教你怎么启动监听服务)
3.2 远程上传下载文件 Xftp5
3.2.1 Xftp5简介
是一个基于 windows 平台的功能强大的 SFTP、FTP 文件传输软件。使用了 Xftp 以后,windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。
3.2.2 安装与配置
安装很简单的,下一步就是了
关键配置,进入程序后,进入软件设置界面
第四章开始进入实操篇,主要讲cmd下的Linux命令
4、vi 和 vim 编辑器
4.1 vi 和 vim基本介绍
所有的 Linux 系统都会内建 vi 文本编辑器。
Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
总结:vi和vim就类似于windows里面的文本文件,比windows方便的是,windows编辑了内容以后,还要调整后缀。vim编辑完保存就行了,都可以不用后缀
4.2 vi 和 vim的三种模式
(1)命令行模式
在进入一个文本之前,默认就处于命令行模式。在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim 、显示行号等的动作则是在此模式中达成的!
(2)正常模式:
在命令行中,通过vim 命令打开一个文本,就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容,也可以使用『复制、贴上』来处理你的文件数据。
(3)插入模式:
进入插入模式以后,就可以编辑文本了。按下i, I, o, O, a, A, r, R等任何一个字母之后才会进入编辑模式, 一般来说按i即可.
4.3 常用快捷键(只举例常用的,需要其他的查字典)
- 拷贝当前行 yy , exp:拷贝当前行向下的 5 行并粘贴 解:5yy,并粘贴(p)。
- 删除当前行 dd , exp:删除当前行向下的 5 行 解:5dd
- 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 , 输入 n 就是查找下一个 ]
- 设置文件的行号,取消文件的行号.[命令行下 : set nu 和 :set nonu]
- 编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg],注意这些都是在正常模式下执行的。
- 在一个文件中输入 "hello" ,然后又撤销这个动作,再正常模式下输入 u
- 编辑 /etc/profile 文件,并将光标移动到 第 20 行 shift+g
第一步:显示行号 :set nu 第二步:输入 20 这个数第三步: 输入 shift+g
特别注意:根据4.2的课,自己思考以上快捷键在哪个模式下才有效
5、开机、重启和用户注销
5.1 关机&重启命令
shutdown
shutdown -h now : 表示立即关机
halt :表示立即关机
shutdown -h 1 : 表示 1 分钟后关机
shutdown -r now: 立即重启
reboot:重启系统
syn: 把系统数据同步到磁盘
注意:当我们关机或者重启时,都应该先执行以下 sync 指令,把内存的数据写入磁盘,防止数据丢失。
5.2 用户的登录和注销
5.2.1 基本介绍
(1)登录时尽量少用 root 帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用”su - 用户名’命令来切换成系统管理员身份.
(2)在提示符下输入 logout 即可注销用户
注意事项:
logout 注销指令在图形运行级别无效,在 运行级别 3 下有效.(运行级别,后面有讲解)
6、用户管理
6.1 基本介绍
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。Linux用户需要至少属于一个组。
6.2 添加用户
基本语法:
(1)useradd [选项] 用户名
应用案例
1)案例1:添加一个用户xm
说明:
1)当创建用户成功后,会自动的创建和用户同名的家目录
2)也可以通过useradd -d 指定目录新的用户名,给新创建的用户指定家目录
6.3 给用户指定或者修改密码
基本语法
passwd 用户名
应用案例
1) 给xm指定密码
6.4 删除用户
基本语法:
userdel 用户名
应用案例
(1)删除用户xm,但是保留家目录(xm离职了,家目录里面可能还有很多东西嘛)
(2)删除用户xm,及其家目录下的所有文件
6.5 查询用户信息
基本语法
id 用户名
应用实例
案例 1:请查询 root用户的信息
当用户不存在时,会显示无此用户
6.6 切换用户
在操作 Linux 中,如果当前用户的权限不够,可以通过 su - 指令,切换到高权限用户,比如 root
基本语法
su – 切换用户名
应用实例
在root用户下创建一个用户 zf, ,指定密码,然后切换到 zf.
注意:
1)从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
2)当需要返回到原来用户时,使用 exit 指令
6.7 用户组
用户组类似于角色,系统可以对有共性的多个用户进行统一的管理(即给不同组添加删除各种操作文件和文件夹的权限)
(1)增加组
groupadd 组名
案例演示:
(2)删除组
groupdel 组名
6.8 增加用户时直接加上组
基本语法:
useradd -g 用户组 用户名
案例演示:
增加一个用户zwj,直接将他指定到wudang
注意:如果增加用户时,不分组,默认放在一个组名为自己名字的组
6.9 修改用户的组
基本语法:
usermod -g 用户组 用户名
案例演示
创建一个 shaolin 组,让将 zwj 用户从wudang组修改到 shaolin组
6.10 /etc/passwd文件
用户(user)的配置文件,记录用户的各种信息
每列的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
6.11 /etc/shadow文件
口令配置文件
每列的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
6.12 /etc/group 文件
组(group)的配置文件,记录Linux包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表
7、 实用指令
7.1 指定运行级别
运行级别说明:
0 :关机
1 :单用户【不用验证,因此可以用于找回丢失密码】
2:多用户状态没有网络服务
3:多用户状