【Linux】

一、Linux简介

1.1Linux介绍

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

综上所述:Linux是一款操作系统,免费,开源, 安全,高效,稳定, 处理高并发非常强悍的操作系统,现在很多的企业级的项目都部署到Linux服务器运行。

1.2 Linux的分类

1.2.1 根据市场需求分类

根据市场需求Linux大致分为两个版本,一个是主要服务于大众用户的图形化版本
另一款是面向服务器端的服务器版本

1.2.2 根据发行版本分类

根据发行版本的分类大致有:ubuntu、redhat、centos、lubuntu、freeBSD、Deepin…

1.2.3 Red hat和Centos

红帽的全称是Red Hat Enterprise Linux,简称Red Hat或RHEL,红帽Linux(RHEL)是Red Hat专为企业设计的基于Linux的操作系统。RHEL可以在桌面,服务器,虚拟机管理程序或云中运行。Red Hat是世界上使用最广泛的Linux发行版之一。

RedHat 是用 LINUX 核心构架的一个操作系统。RedHat Linux 是目前世界上使用最多的 Linux 操作系统。因为它具备最好的图形界面,无论是安装、配置还是使用都十分方便,而且运行稳定,因此不论是新手还是老玩家都对它有很高的评价。

CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。

区别如下:

● 无偿和有偿的区别:redhat是收费版,centos是免费版;
● redhat一个提供商业的解决方案 ,centos一个不提供。
● CentOS是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。它与RedHat使用同样的源代码;它完全就是对Red Hat AS进行改进后发布的!各种操作、使用和RED HAT没有区别

二、Linux的安装

2.1 虚拟机简介

虚拟机是一个软件,它可以使你在一台真实PC机器上同时运行二个或更多的不同的操作系统。它可以模拟 一个标准PC环境。这个环境和真实的计算机一样,都有芯片组、CPU、内存、显卡、声卡、网卡、软驱、硬盘、光驱、串口、并口、USB控制器。

简单的来说,虚拟机就是用来模拟一台真实的电脑,我们实际在学习过程中,有的时候需要多态电脑模拟真实的环境,那么不可能在硬件层面上真正的提供多态电脑,这个时候我们可以使用虚拟机来帮我们虚拟出一台电脑来;

目前市场上流行的虚拟机有两种:

1)VMware(威睿)公司的虚拟机软件,功能强大,收费产品,有30天试用期,分为64位和32位两种版本,专注企业级用户,性能稳定功能强大,操作简单,公司创建于1998年
2)VitrualBox(Oracle)公司的虚拟机软件,免费开源软件,体积小巧,专注个人用户,对Linux系统支持好,硬件要求远不及VWware,系统资源占用率低
3)Microsoft Virtual PC:Windows Virtual PC是最新的Microsoft虚拟化技术。使用此技术可在一台计算机上同时运行多个操作系统
2.2 VMware安装Centos7
Centos7镜像地址:

阿里镜像:http://mirrors.aliyun.com/centos/7/isos/x86_64/
网易镜像:http://mirrors.163.com/centos/7/isos/x86_64/

2.2.1 新建虚拟机

1)新建虚拟机–>选择iso镜像文件
在这里插入图片描述
2)选择存放路径
在这里插入图片描述
3)设置虚拟机磁盘大小
在这里插入图片描述
4)点击完成
在这里插入图片描述

2.2.2 安装Centos

开始安装
在这里插入图片描述选择语言
在这里插入图片描述
选择磁盘
在这里插入图片描述
在这里插入图片描述
设置网络连接
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置ROOT账户密码

在这里插入图片描述
在这里插入图片描述
等待安装完毕
在这里插入图片描述
登录Linux
在这里插入图片描述

2.3 快照

2.3.1 拍摄快照

我们以后要在虚拟机上做非常多的操作,其中很有可能会损坏某些文件,我们可以在给虚拟机拍摄快照,记录虚拟机这个时候的一个状态,以后误操作虚拟机后可以通过恢复快照的形式来恢复到以前的状态;
在这里插入图片描述
在这里插入图片描述

2.3.2 恢复快照

在这里插入图片描述

2.4 安装图形化工具

我们在学习过程中,可以安装Linux提供的图形化桌面,让我们操作更加便捷

yum groupinstall -y "GNOME Desktop"

这个过程比较漫长,需要下载安装大量的文件
安装完成之后输入命令:

startx

启动图形化工具
在这里插入图片描述

2.5 VM的网络管理

我们知道VM中的操作系统是我们虚拟出来的,具体的硬件也是有VM虚拟的,关于硬件的配置如下
在这里插入图片描述
在这里插入图片描述
在VM中,网络管理主要有三种模式,分别为bridged(桥接模式)、NAT模式(网络地址转换模式)、host-only(仅主机模式)

2.5.1 桥接模式

在桥接模式中,虚拟的操作系统就是一台独立于局域网中的一台主机,宿主机就相当于是一台网络交换机,虚拟机连上宿主机后,可以访问局域网内的任意一台机器,但是需要在虚拟机中手动配置IP地址、子网掩码、DNS服务器等,而且必须要和宿主机在同一网段;桥接模式一般用于需要在局域网内容真正独立出一台机器的情况;
在这里插入图片描述选择好桥接模式后,重启虚拟机,输入命令

ip addr			# 查看虚拟机的ip地址

在这里插入图片描述
在查看宿主机的IP地址:

ipconfig

在这里插入图片描述
在这里插入图片描述

2.5.2 NAT模式

NAT:全称Net Address Transform,网络地址转换,NAT模式是通过宿主机的网络来访问公网,NAT模式下虚拟机中的IP配置信息是由VMnet8虚拟网络的DHCP服务器提供的;由于NAT模式下,虚拟机是借助于宿主机的网络来访问公网的,在局域网内并不是一台独立的主机,因此不能与局域网内其他主机进行通信;NAT的优势在于虚拟机接入互联网简单,不需要进行任何的配置,只要宿主机能够访问互联网即可;
在这里插入图片描述
重启虚拟机

reboot

需要注意的是,在NAT模式下,即使虚拟机的网段改为了12(和宿主机同一个网段),在12段的其它机器也还是不能与虚拟机进行通信,因为在NAT模式下,虚拟机在局域网并不是一台独立的主机;

2.5.3 仅主机模式

仅主机模式,也称host-only模式,在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
主机和虚拟机是通的,但是虚拟机和主机不是通的
在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。 如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。

三、客户端工具

在实际开发中,Linux服务器都在其他的地方,我们要通过windows客户端工具远程去连接Linux并操作它;市面上有许多的Linux客户端连接工具,让我们可以更便捷的操作Linux;连接 Linux的windows客户端工具有很多,企业中常用的有Xshell、Putty、secureCRT、SSH Secure等。

3.1 Xshell连接工具

在这里插入图片描述

3.2 XFTP文件上传工具

是一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他 Windows 应用程序紧密地协同工作,此外它还为高级用户提供了众多强劲地功能特性。
在这里插入图片描述

四、Linux的目录结构

我们启动Linux操作系统时,默认所在的目录是root目录,简称:~
但root目录并不是linux的根目录,Linux的目录结构如下:
在这里插入图片描述
系统目录的解释:

● /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
● /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
● /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
● /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中

指令集合:

● /bin:存放着最常用的程序和指令
● /sbin:只有系统管理员能使用的程序和指令。

外部文件管理:

● /dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
● /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
● /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

临时文件:

● /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
● /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
● /tmp:这个目录是用来存放一些临时文件的。

账户:

● /root:系统管理员的用户主目录。
● /home:用户的主目录,以用户的账号命名的。
● /usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
● /usr/bin:系统用户使用的应用程序与指令。
● /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
● /usr/src:内核源代码默认的放置目录。

运行过程中要用:

● /var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
● /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。

扩展用的:

● /opt:默认是空的,我们安装额外软件可以放在这个里面。
● /srv:存放服务启动后需要提取的数据(不用服务器就是空)

五、Linux基本命令

5.1 目录操作

5.1.1 创建

语法

mkdir 目录名

5.1.2 剪切

语法

mv 原来的目录 新的目录

5.1.3 修改

和剪切一致,Linux没有专门的修改文件夹的命令,但是mv命令可以实现

5.1.4 拷贝

语法

cp [参数]目录 目录的新位置

参数:
-r:拷贝文件夹

5.1.5 删除

语法

rm [参数]目录

参数:
-r:删除文件夹
-f:强制删除,不用询问提示

5.1.6 查看

语法

ls [参数]

参数
-l:以详细形式查询当前目录下所有文件和目录,不包括隐藏文件和目录
-a:以精简形式查询当前目录下所有文件和目录,包括隐藏文件和目录

5.1.7搜索

语法:

find[目录]-name'条件'

示例:

find /root -name 'a'		# 在root目录(包含子目录)下查询目录名为a的目录

find /root -name 'a*'		# 在root目录(包含子目录)下查询目录名包含a的目录

5.2文件操作

5.2.1 创建

语法:

touch 文件

5.2.2 查看

cat /more/head/tail 文件名

5.2.3 删除

语法:

rm[参数]文件

● -r:删除文件夹
● -f:强制删除目录,不会进行提示

5.2.4 拷贝

语法:

cp 文件名 新文件名

5.2.5 vi编辑器

vi 编辑器是linux下的vi 是一种文字编辑器,后来的升级版本是vim。vi 分为三种模式:命令模式、编辑模式、末行模式。

所有的 Linux 系统都会内建 vi 文本编辑器。Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

● 命令模式:

当执行vi/vim指令后,将会进入命令模式;该模式是进入 vi 编辑器后的默认模式。任何时候,不管用户处于何种模式,按下Esc键即可进入命令模式。在命令模式下,用户可以输入 vi 命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释。若输入的字符是合法的 vi 命令,则 vi 在接受用户命令之后完成相应的动作。
● 编辑模式:

在命令模式下输入i、a、o、r、s等命令都可以进入编辑模式。在该模式下,用户输入的任何字符都被 vi 当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按下Esc键即可。

● 末行模式:

在编辑模式下,用户按下ESC键退出编辑模式(进入了命令模式),按:键即可进入末行模式,此时 vi 会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个:作为末行模式的说明符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。

末行模式的指令执行完后,vi 自动回到命令模式。
语法:

vi/vim 文件名
5.2.5.1 命令模式
vi a.java			# 回车进入命令模式

命令模式的指令如下:

● i:插入数据,进行数据的插入
● a:数据的追加
● o:打开文件,插入空白行
● s:删除当前光标指向的数据,功能和i一致
● r:替换文件,进行数据的替换

通过上面的参数我们可以知道,大部分指令和i功能一致,都是插入,一般来说,我们使用i的频率较多

5.2.5.2 编辑模式

输入完命令模式的命令之后,vi编辑器进入编辑模式

5.2.5.3 末行模式

在编辑模式下,输入ESC键退出编辑模式,输入:进入末行模式:
末行模式的命令如下:

● wq:保存并且退出
vi 将先保存文件,然后退出 vi 返回到 shell命令行。

● q:代表退出
● q!:代表强制退出
● w:将此文件的内容另存为一份新的内容
● x:若当前编辑文件曾被修改过,则 vi 会保存该文件。否则 vi 直接退出,不保存该文件。

5.3压缩与解压

在Windows操作系统下,压缩文件的扩展名为.zip、.rar等,在Linux操作系统下为.tar、.gz、.tar.gz等

5.3.1 压缩

语法:

tar [参数]打包压缩后的文件名 要打包压缩的文件

参数:

-c:创建新的文件(必选项)
-v:输入文件清单(可选项)
-f:设置压缩包的文件名(必选项)

5.3.2 解压

语法:

tar [参数]压缩文件

参数:
-x:取出压缩包中文件的内容(必选项)
-v:取出文件清单(可选项)
-f:设置要操作的文件名(必选项)
-C:设置解压的路径(可选项),默认解压到压缩包所在的目录

5.4 其他命令

5.4.1 关机与重启

shutdown # 1分钟后关机
shutdown -h 10 # 10分钟后关机
shutdown -h now # ⽴即关机
shutdown now # ⽴即关机
shutdown -r now # ⽴即重启
reboot # ⽴即重启
halt # ⽴即关机
sync # 把内存中的数据同步到磁盘

5.4.2 查看当前目录

pwd

5.4.3 日期相关命令

1)日期命令
命令:date
参数:
%F:年⽉⽇
%T:时分秒
%Y:获取年
%m:获取⽉
%d:获取⽇
%H:获取⼩时
%M:获取分钟
%S:获取秒
%s:1970年01⽉01⽇到现在的秒数
2)日历命令
语法:

cal [参数] [[月份]年份]

参数:

-1 输出显示当前⽉(默认)
-3 输出显示前⼀个/当前/下⼀个⽉
-s 输出显示星期天作为⼀周的第⼀天(默认)
-m 输出显示星期⼀作为⼀周的第⼀天
-j 输出显示Julian⽇历(从⼀⽉1号计数为1起,每⼀天计数加1)
-y 显示当前⽇历

5.4.4 查看帮助文档

当我们对某个指令不熟悉时,我们可以使用Linux提供的帮助指令来了解这个指令的使用方法

man[命令]

同时也可以使⽤help进⾏帮助⽂档的查询:

 cal --help # 查看cal命令的帮助⽂档

5.4.5 less命令

less命令与more命令类似,都是⽤于浏览⽂件的,不同的是使⽤ less 可以随意浏览⽂件,⽽ more 仅
能向前移动,却不能向后移动;⽽且 less 在查看之前不会加载整个⽂件。在浏览超⼤型⽂本⽂件时具有
较⾼的效率;
语法:

 less [参数] ⽂件

参数:
-m:显示查看的进度百分⽐
-N:显示每⾏的⾏号
+/pattern:在⽂档中搜索字符串(pattern),并从这⼀⾏开始显示
-i:忽略搜索时的⼤⼩写

5.4.6 > 指令 和 >> 指令

1.>和>>指令功能⼀致,不同的是>>的可以追加内容;>只是将命令的结果集写⼊到⽂件,并不会产⽣追
加效果;
语法:

ll > info.txt # 将ll命令的结果写⼊info.txt⽂件中

六、⽤户管理

6.1 用户管理

Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
在Linux中,用户是属于某个组的,创建用户首先得让用户属于某个组

6.1.1 关于用户和组的相关命令

cat /etc/shadow:密码和登录信息(加密的)
cat /etc/group:查看组信息

root:x:0:
组名:x:组ID:#x并⽆其他特殊含义

cat /etc/passwd:⽤户账户信息

6.1.2 添加⽤户

语法:

useradd 参数 用户名

参数:
-g:用户组,指定用户所属的用户组,如省略该参数,则会建⽴和新⽤户名同名的组。

6.1.3 分配密码

语法:

passwd 用户名

切换zhangsan⽤户登录
logout/exit:退出当前⽤户
如果使⽤xshell连接⼯具会直接退出
修改xshell连接⼯具参数:
在这里插入图片描述

6.1.5 切换登录⽤户

语法:

 su 要切换的⽤户名

6.1.4 修改用户

语法:

usermod -l 新的登录名 原登录名

修改⽤户名时,必须当前⽤户处于退出登录状态

6.1.5 删除用户

语法:

userdel 用户名

默认情况下,删除⽤户时,⽤户所在的同名的组也会被删除;(组里还有其他用户时除外)
删除⽤户时(不管是否加上-r参数),只会删除同名的组,不同名不会被删除;
⼀般删除⽤户时,会顺带删除家⽬录;

6.2 用户组操作

⽤户组简介:类似于⻆⾊,系统可以对有共性的多个⽤户进⾏统⼀的管理;

6.2.1 添加组

语法:

groupadd 组名

6.2.2 修改组

1)修改组名称
语法:

groupmod -n 新组名 组名

2)移动⽤户到新组

useradd lisi # 创建lisi⽤户,lisi组,lisi家⽬录
usermod lisi -g g2 # 将lisi移动到g1组

6.2.3 删除组

语法:

groupdel 组名

删除组的时候必须保证组中没有⽤户

6.3 权限管理

6.3.1 权限介绍

Linux中对每个⽬录和⽂件都做了规定,只能由满⾜条件的⽤户才能操作;
在这里插入图片描述
r:只读,权限等级为4
w:只写,权限等级为2
x:只执⾏,权限等级为1,对于⽂件夹来说就是能否进⼊该⽂件夹
-:不具备权限
主权限(u):当前⽤户的权限
组权限(g):整个组的权限
其他权限(o):其他⽤户的权限(除当前登录⽤户外)

分配权限

语法:

chmod [权限] [操作] [文件/目录]

权限:
文字设定法:
u:主权限
g:组权限
o:其他⽤户权限
a:同时设置u、g、o三者的权限

数字设定法:
1:执⾏权限(x)
2:写权限(w)
3:写权限+执⾏权限(w+x)
4:读权限(r)
5:读权限+执⾏权限(r+x)
6:读权限+写权限(r+w)
7:读权限+写权限+执⾏权限(r+w+x)

操作
+:赋予某个权限
-:剔除某个权限
=:替换权限

3)修改⽂件的属主和组
语法:

chown [-R] ⽤户名 ⽂件 # 修改⽂件所属的⽤户
chown [-R] .组名 ⽂件 # 修改⽂件所属的组
chown [-R] ⽤户名:组名 ⽂件 # 同时修改⽂件所属的⽤户和组

关于修改⽂件的所属组还有⼀个命令:

 chgrp 组名 ⽂件/⽬录

6.3.3 权限操作

当权限分配好了之后,其他⽤户在操作⽂件/⽬录时就得具备对应的权限,否则不可操作;
创建zhangsan⽤户,并分配密码admin:

useradd zhangsan
passwd zhangsan

使⽤root账号修改权限:

chmod o-r aaa.txt

6.3.4 权限优先级

u>g>o 即主权限>组权限>其他权限

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值