一、Linux基础
1.1、Linux的目录结构
Linux的目录结构采用的是层级的树状目录结构,在此结构中的最上层是根目录"/",然后在此目录下再创建其他的目录。在Linux的世界里,一切皆为文件
1.2、目录结构的基本介绍
/bin【重点】:存储最经常使用的命令
/sbin:存放的是系统管理员使用的系统管理程序
/home【重点】:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录都是以用户的账号命名的。
/root【重点】:系统管理员用户主目录
/boot【重点】:存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/proc:这是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息**【轻易不要触碰,容易系统崩溃】**
/srv:该目录存放一些服务启动之后需要提取的数据**【轻易不要触碰,容易系统崩溃】**
/sys:该目录安装2.6内核中新出现的文件系统**【轻易不要触碰,容易系统崩溃】**
/tmp:这个目录用来存放一些临时文件
/dev:类似于Windows的设备管理器,把所有的硬件用文件的形式进行形式存储
/media【重点】:Linux系统会自动识别一些设备,例如U盘、光驱等,当识别后Linux会把识别的设备挂载到这个目录下。
/mnt【重点】:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了。
/opt:这是给主机额外安装软件所摆放的目录,如MySQL数据库等都可以放在此文件夹下。
/usr/local【重点】:这是另外一个给主机额外安装软件所提供的目录,一般是通过编译源码的方式安装的程序
/var【重点】:这个目录中存放着在不断扩充着的东西,习惯将经常修改的目录放在这个目录下,包括各种日志文件。
/selinux:SELinux是一种安全子系统,它能控制程序只能访问特定文件。有点类似于360
…
1.3、Linux目录基本总结
(1)linux 的目录中有且只要一个根目录
(2)linux 的各个目录存放的内容是规划好,不用乱放文件。
(3)linux 是以文件的形式管理我们的设备,因此 linux 系统,一切皆为文件。
(4)linux 的各个文件目录下存放什么内容,大家必须有一个认识。
(5)学习后,你脑海中应该有一颗 linux 目录树
二、Linux实操
2.1、远程登录Linux
2.1.1、Xshell、Xftp的安装
安装过程就省略了,十分的简单
2.1.1、注意事项
如果希望安装好 XShell就可以远程访问 Linux 系统的话,需要有一个前提,就是Linux 启用了 SSHD 服务,该服务会监听 22 号端口。查看Linux是否已经启用了SSHD服务:
2.1.2、Xshell连接Linux
首先需要找到Linux的IP地址,在终端命令行输入ipconfig,回车即可查看,按照Xshell图形界面的操作指示即可完成连接。
2.1.3、Xftp连接Linux
2.1.4、乱码解决
如果在连接成功后出现了乱码,只需要在设置里修改成合适的编码格式即可。
2.2、VI和VIM编辑器
2.2.1、基本介绍
所有的 Linux 系统都会内建 vi 文本编辑器。Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
2.2.2、VI和VIM的三种模式
-
正常模式
在正常模式下,我们可以使用快捷键。以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
-
插入模式/编辑模式
在这个模式下,程序员可以输入内容。按下 i, I, o, O, a, A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按 i 即可
-
命令行模式
在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开vim 、显示行号等的动作则是在此模式中达成的!
2.2.3、VI和VIM模式的相互切换
:wq 表示修改后并且保存修改的内容,并退出
:q! 表示修改后不保存做出的修改并退出
:q 表示没有做出任何修改,直接退出
2.2.4、常用快捷键
-
拷贝当前行 yy , 拷贝当前行向下的 5 行 5yy,并粘贴p。
-
删除当前行 dd , 删除当前行向下的 5 行 5dd
-
在文件中查找某个单词 ,命令行下**/关键字**,回车 查找 , 输入n就是查找下一个
-
设置文件的行号,取消文件的行号,命令行下 : set nu 和 :set nonu
-
编辑/etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg],注意这些都是在正常模式下执行的。
-
在一个文件中输入 “hello” ,然后又撤销这个动作,再正常模式下输入 u
-
编辑 /etc/profile 文件,并将光标移动到 第 20 行 shift+g
第一步:显示行号 :set nu 输入 20 这个数,回车
第二步:输入 20这个数
第三步: 回车
2.3、开机、重启和用户登录注销
2.3.1、关机、重启命令
shutdown
- shutdown -h now : 表示立即关机
- shutdown -h 1 : 表示 1 分钟后关机
- shutdown -r now: 立即重启
halt:就是直接使用,效果等价于关机
reboot:就是重启系统。
syn : 把内存的数据同步到磁盘
当我们关机或者是重启时,都应该先执行syn指令,保存数据,防止数据丢失。
2.3.2、用户的登录和注销
(1)登录时尽量少用 root 帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用”su - 用户名’命令来切换成系统管理员身份.
(2)在提示符下输入 logout 即可注销用户
需要注意的是:
(1)logout 注销指令在图形运行级别无效,在 运行级别 3 下有效.
(2)运行级别这个概念,后面给大家介绍
2.4、用户管理
2.3.1、基本介绍
(1)Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
(2)Linux 的用户需要至少要属于一个组。
2.4.2、基本命令
xm账号的密码:qazwsxjld
(1)添加用户:useradd [选项] 用户名
-
当创建用户成功后,会自动的创建和用户同名的家目录
-
也可以通过 useradd -d 指定目录 新的用户名,给新创建的用户指定家目录
(2)给用户指定或者修改密码:passwd 用户名
2)Linux 的用户需要至少要属于一个组。
(3)删除用户:userdel 用户名
- 在删除用户时,我们一般不会将家目录删除。
(4)查询用户:id 用户名
- 当用户不存在时,返回”无此用户”
(5)切换用户:su – 切换的用户名
-
从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
-
当需要返回到原来用户时,使用 exit 指令
2.4.3、用户组
类似于角色,系统可以对有共性的多个用户进行统一的管理。
增加组:groupadd 组名
删除组:groupdel 组名
创建用户时直接加上组:useradd -g 用户组 用户名
修改用户的组:usermod -g 用户组 用户名
2.5、实用指令
2.5.1、指定运行级别
运行级别说明:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是 3 和 5 ,要修改默认的运行级别可改文件/etc/inittab 的 id:5:initdefault:这一行中的数字
运行级别的示意图:
2.5.2、帮助指令
当我们对某个指令不熟悉时,我们可以使用Linux提供的帮助指令来了解这个指令的使用方法
获取帮助信息:man [命令或配置文件]
查看shell命令内置信息:help 命令
2.5.3、文件目录
切换到指定的目录:cd [参数]
回到自己的家目录:cd ~ 或者 cd
回到当前目录的上一级目录 :cd …
创建目录:mkdir [选项] 要创建的目录
删除指定的空目录:rmdir [选项] 要删除的空目录
创建空文件:touch 文件名称
拷贝文件到指定目录:cp [选项] source dest
删除文件或目录:rm [选项] 要删除的文件或目录
移动文件与目录或重命名:
- mv oldNameFile newNameFile (功能描述:重命名)
- mv /temp/movefile /targetFolder (功能描述:移动文件)
查看文件内容,是以只读的方式打开:cat [选项] 要查看的文件
分页浏览:more 要查看的文件
将ls -l输出的内容写入文件 a.txt 中**(覆盖写)**:ls -l > a.txt
ls -l > a.txt , 将 ls -l 的显示的内容覆盖写入到 a.txt 文件,如果该文件不存在,就创建该文件。
> 指令 和 >> 指令
> 输出重定向 : 会将原来的文件的内容覆盖
>> 追加: 不会覆盖原来文件的内容,而是追加到文件的尾部。
将ls-l输出的内容追加到a.txt末尾:ls -al >> a.txt
将文件 1 的内容覆盖到文件 2:cat 文件 1 > 文件 2
输出内容到控制台:echo [选项] [输出内容]
…
有关文件目录的命令还有很多,具体使用可以查询Linux命令手册(https://www.linuxcool.com/),这里就不逐一演示了
2.6、组管理和权限管理
2.6.1、Linux组的基本介绍
在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件有所有者、所在组、其它组的概念。
-
所有者
-
所在组
-
其它组
-
改变用户所在的组
文件目录的所有者一般为文件的创建者,谁创建了该文件,谁就自然的成为该文件的所有者。
2.6.2、常用命令
查看文件的所有者:ls -ahl
…查询命令手册:https://www.linuxcool.com/
2.7、定时任务调度
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
-
系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
-
个别用户工作:个别用户可能希望执行某些程序,比如对 mysql 数据库的备份。
基本语法命令查询手册即可。
2.8、磁盘分区、挂载
2.8.1、分区基本介绍
- mbr 分区:
-
最多支持四个主分区
-
系统只能安装在主分区
-
扩展分区要占一个主分区
-
MBR 最大只支持 2TB,但拥有最好的兼容性
- gtp 分区:
-
支持无限多个主分区(但操作系统可能限制,比如 windows 下最多 128 个分区)
-
最大支持 18EB 的大容量(1EB=1024 PB,1PB=1024 TB )
-
windows7 64 位以后支持 gtp
2.8.2、Linux分区
Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系统的一部分。
Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录, 且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
2.8.3、硬盘说明
1)Linux 硬盘分 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘
2)对于 IDE 硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指 IDE 硬盘了。“x”为盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~”代表分区, 前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。例,hda3 表示为第一个IDE 硬盘上的第三个主分区或扩展分区,hdb2 表示为第二个IDE 硬盘上的第二个主分区或扩展分区。
3)对于 SCSI 硬盘则标识为“sdx~”,SCSI 硬盘是用“sd”来表示分区所在设备的类型的,其余则和 IDE 硬盘的表示方法一样。
2.9、Linux网络配置
在进行Linux的网络配置之前,得先明白,虚拟机(这里以VMware为例)是如何进行网络分配的。
2.9.1、虚拟机三种网络连接的方式
1、桥连接模式:Linux可以和其他的系统进行通讯,但可能会造成IP地址冲突。
2、NAT模式:网络地址转换方式,Linux可以访问互联网,不会造成IP冲突。
3、仅主机模式:你的Linux是一个独立的主机,不能访问外网。
一般情况下使用的是NAT模式,以下是NAT模式下的网络配置原理图:
因此,在NAT模式下,Linux默认是自动分配一个IP给你的(不固定)如果你需要将Linux作为一台服务器使用,就需要对其网络进行配置,为其指定一个固定的IP。
2.9.2、配置步骤
【1】在root用户模式下输入命令(最后的文件名后缀eth-0不同机器可能有所不同,但都是以**ifcfg-**开头的,具体看你机器的network-scripts下的文件):
vim /etc/sysconfig/network-scripts/ifcfg-eth0
这里解释一下这些命令的作用:
# 子网IP,即本机虚拟网卡分配的IP地址,总共有四段,为确保在同一个网段,前三段必须跟你的虚拟网卡保持一致,最后一段可以自定义
IPADDR=192.168.56.126
NETNASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.56.2 # 网关
DNS1=192.168.56.2 # DNS服务器,与网关保持一致即可
在VMware的虚拟网络设置里,找到对应的,将其修改即可:
【2】在上述文件中修改完成保存成功后退出,并重启一下网络服务即可
service network restart
有可能一次不会成功,需要多次重复。
2.10、进程管理
2.10.1、进程的基本介绍
(1)在 Linux中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个 ID 号。
(2) 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如 www 服务器。
(3) 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
(4) 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。
2.10.2、显示系统执行的进程
查看进行使用的指令是 ps ,一般来说使用的参数是 ps -aux
常用命令可以查看手册。