Linux学习韩顺平2

 

 https://m.runoob.com/linux

 

https://mirrors.163.com/

网易开源镜像站

 

https://archive.kernel.org/

 

 

https://www.kernel.org/

 

Linux之javaEE定制篇

Linux搭建JavaEE环境

1)JDK安装

2)Idea的安装

3)Tomcat的安装

4)MySQL的安装

Linux之大数据定制篇

Shell编程

1)概述

2)Shell脚本执行方式

3)Shell变量

4)运算符

5)条件判断

6)流程控制

7)函数

8)定时维护MySQL数据库

Linux之Python定制篇

Python专业开发平台-Ubuntu

Ubuntu下开发Python开发环境

APT软件管理和远程登录

 

 

 

知识讲解

基础篇

实操篇

高级篇

Linux面试题

(腾讯、百度、美团、滴滴)

 

起到加深理解

巩固知识的效果

评讲

通过老师对题目讲解,能更加深入的理解Linux系统运行的机制,熟练各个指令的使用,真正的掌握Linux核心技术,能对Linux系统进行有效的维护、管理并优化。对项目能狗做到真正的支撑,完成公司分配的任务。

 

 

Linux运维工程师

 

Linux嵌入式工程师

Linux下开发项目

 

JavaEE  大数据  Python   PHP  C/C++

 

 

服务器领域

linux在服务器领域的应用是最强的。

linux免费、稳定、高效等特点再这里得到了很好的体现,尤其在一些高端领域尤为广泛。

 

嵌入式领域

linux运行稳定、对网络的良好支持性、成本低,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域得到了非常大的提高。

主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域,以后在物联网中应用会更加广泛。

 

 

Linux主要的发行版

Ubuntu(乌班图)  RedHat(红帽)   CentOS

 

Linux和Unix的关系

贝尔实验室  晶体管  通信微信  有声电影  2.7W专利

 

Unix是怎么来的   多用户/分时操作系统   Multics     

 

安装VM和Centos

VMWare 15.5下载

官方地址:https://www.vmware.com/cn.html

其他地址:https://www.nocmd.com/windows/7400.html

 

VM安装的步骤

1、去BIOS里修改设置开启虚拟化设备支持(f2,f10)

2、安装虚拟软件(vm15.5)演示一把,1、在BIOS开启CPU虚拟化支持,再安装

第一步:进入到BIOS后,找到Configuration选项或者Security选项,然后选择Virtualization,或者Intel Virtual Technology,就可以开始你的操作了。

 

 步骤二:然后回车,将其值设置成:设置为Enabled

 

 

 

虚拟机快照

如果你在使用虚拟机系统的时候(比如linux),你想回到原先的某个状态,也就是说你担心可能有些误操作造成系统异常,需要回到原先某个正常运行状态,vmware也提供了这样的功能,就叫快照管理

应用实例

1、安装好系统以后,先做一个快照A

2、进入到系统,创建已给文件夹,再保存一个快照B

3、回到系统刚刚安装好的状态,即快照A

4、试试看,是否还能再次回到快照B

 

安装vmtools

介绍

1、vmtools安装后,可以让我们再windows下更好的管理vm虚拟机

2、可以设置windows和centos共享文件夹

 

 

Linux目录结构

基本介绍

1.linux的文件系统是采用级层式的树状目结构,在次结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。

2.深刻来理解linux树状文件目录是非常重要的,这里

 

window

C   D  E

 

 

 

【常见目录说明】

目录

 

/bin

存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。

/etc

存放系统管理和配置文件

/home

存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示

 

/usr

用于存放系统应用程序,比较重要的目录/usr/local 本地系统管理员软件安装目录(安装系统级的应用)。这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录。

/usr/x11r6 存放x window的目录

/usr/bin 众多的应用程序  

/usr/sbin 超级用户的一些管理程序  

/usr/doc linux文档  

/usr/include linux下开发和编译应用程序所需要的头文件  

/usr/lib 常用的动态链接库和软件包的配置文件  

/usr/man 帮助文档  

/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里  

/usr/local/bin 本地增加的命令  

/usr/local/lib 本地增加的库

/opt

额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里。

/proc

虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息。

/root

超级用户(系统管理员)的主目录(特权阶级^o^)

/sbin

存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等。

/dev

用于存放设备文件。

/mnt

系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统。

/boot

存放用于系统引导时使用的各种文件

/lib

存放跟文件系统中的程序运行所需要的共享库及内核模块。共享库又叫动态链接共享库,作用类似windows里的.dll文件,存放了根文件系统程序运行所需的共享文件。

/tmp

用于存放各种临时文件,是公用的临时文件存储点。

/var

用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等。

/lost+found

这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里

 

 

VI和VIM的基本介绍

Linux系统会内置vi文本编辑器

Vim具有程序编辑的能力,可以看做是vi的增强版,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

代码补完、编译及错误跳转等方便变成的功能特别丰富,再程序员中被广泛使用。

 

VI和Vim常用的三种模式

1、正常模式

以VIM打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】

来处理档案内容,也可以使用【复制、粘贴】来处理你文件数据

2、插入模式

按下i、I、o、O、a、A、r、R等任何一个字母之后才会进入编辑模式,一般来说按i即可

3、命令行模式

在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作,再是再次模式中达成。

vim xxx.file 输入文件内容;
ins 按键,切换插入和增加

按 ESC,左下角就可以进行输入

:w 保存但不退出

:wq 保存并退出

:q 退出

:q! 强制退出,不保存

:e! 放弃所有修改,从上次保存文件开始再编辑命令历史

 

 vi和vim快捷键

1、拷贝当前行yy,拷贝当前行向下的5行,5yy,并粘贴(输入p)

2、删除当前行dd,删除当前行向下的5行,5dd

3、在文件中查找某个单词【命令行下/关键字】回车 查找,输入 n 就是查找下一个

4、设置文件的行号,取消文件的行号【命令行下:set nu 和:set nonu】

5、编辑/etc/profile文件,使用快捷键到该文档的最末行【G】和最首行【gg】

6、再一个文件中输入“hello”,然后又撤销这个动作 u

7、编辑/ etc / profile文件,并将光标移动到20行 shift+g

8、更多的看整理的文档

 

 

 

关机和重启命令

基本介绍

1、shutdown -h now   立刻进行关机

2、shutdown -h 1     hello,1分钟后会关机

3、shutdown -r now    关机,作用和上面的一样

4、halt         关机,作用和上面的一样

5、reboot          现在重新启动计算机

6、sync               把内存的数据同步到磁盘

 注意细节

1.不管是重启系统还是关闭系统,首要运行sync命令,把内存中数据写到磁盘中。

2、目前的shutdown/reboot/halt等命令均已经在关机前进行了sync,不过小心使得万年船。

 

用户登录和注销

基本介绍

1、登录时尽量少用root账号登录,因为它是系统管理员,最大的权限,避免操作失误。

     可以利用普通用户登录,登录后再用“su- 用户名” 命令来切换诚系统管理员身份。  

 2、在提示符下输入logout即可注销用户

使用细节

1、logout注销指令再图形运行级别无效,在运行级别3下有效。

2、运行几倍这个概念,后面给大家介绍。

------------------------------------------------------------------

1、linux切换用户命令su username

2、从普通用户切换到root ,还可以使用命令sudo su

3、在终端使用exit或者logout命令,或使用快捷键ctrl+d, 可以退回到原来的用户,其实ctrl+d也是执行的exit命令。

4、在切换用户时,如果想要使用新的环境,可以在su和root之间加入减号“su - root”

--------------------------------------------------------------------

    

 查询用户信息指令

1、基本语法

  id 用户名

2、应用实例

  案例:请查询root信息

3、细节说明

  当用户不存在时,返回无此用户

 

 

切换用户

介绍

在操作Linux中,如果当前用户的权限不够,可以通过su - 指令,切换到高权限用户,比如root。

基本语法

su - 切换用户

应用实例

创建一个用户jack,指定密码,然后切换到jack

细节说明

1、从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。

2、当需要返回到原理用户时,使用exit / logout指令。

 

用户组

介绍   用户配置权限

类似于角色,系统可以对有共性的多个用户进行统一的管理   

新增组

指令:groupadd 组名

案例演示

删除组

指令(基本语法):groupdel 组名

案例演示

增加用户时直接加上组

指令(基本语法):useradd -g 用户组 用户名

增加一个用户zwj,直接将他指定到wudang

修改用户组

指令(基本语法):usermod -g 用户组 用户名

案例演示

创建一个组mojiao,把zwj放到mojiao里面。

 

用户和组相关文件

/etc/password文件

用户(user)的配置文件,记录用户的各种信息

每行的含义:用户名:口令:用户标志号:组织标志号:注释性描述:主木露露:登录shell

/etc/shadow文件

口令的配置文件

每行的含义:登录名:加密口令:最后一次修改的时间:最小时间修改:最大时间间隔:警告时间:不活动时间:失效时间:标志

/etc/group文件

组(group)的配置文件,记录Linux包含的组的信息

每行的含义:组名:口令:组标识号:组内用户列表

 

指定运行级别

基本介绍

运行级别说明:

0:关机

1:单用户(找回丢失密码)

2:多用户状态没有网络服务

3:多用户状态有网络服务

4:系统未使用保留给用户

5:图形界面

6:系统重启

常用运行基本是3和5,也可以指定默认运行级别,后面演示

应用实例

命令:init[0123456]应用案例:通过init来切换不同的运行级别,比如动5-3,然后关机。

 

 指定运行级别

Centos7后运行级别说明

在/etc/inittab文件中:

进行了简化,如下:

multi-user.target:analogous to runlevel 3

graphical.target:analogous to runlevel 5

 #To view current deault target,run:

systemctl get-default

#To set a defaullt targer,run:

systemctl set-default TARGET.target

 

 帮助指令

man获得帮助信息

基本语法:man【命令或配置文件】(功能描述:获得帮助信息)

案例:查看ls命令的帮助信息

help指令

基本语法:help命令(功能描述:获得shell内置命令的帮助信息)

应用实例:

案例:查看cd命令的帮助信息

 

pwd指令

基本语法:pwd (功能描述:显示当前工作目录的绝对路径)

案例:显示当前工作目录的绝对路径

ls指令

基本语法:ls【选项】【目录或是文件】

常用选项

-a :显示当前目录所有的文件和目录,包括隐藏的

-l:以了列表的方式显示信息

应用实例

案例:查看当前目录的所有内容信息

 

cd 指令

基本语法:cd 【参数】(功能描述:切换到指令目录)

理解:绝对路径和相对路径

cd ~ 或者cd: 回到自己的家目录

cd.. 回到当前目录的上一级目录

 

mkdir指令

mkdir指令用于创建目录

基本语法:mkdir 【选项】要创建的目录

常用选项

-p :创建多级目录

应用实例:

案例1:创建一个目录/home/dog

案例2:创建多级目录/home/animal/tiger

 

rmdir 指令

rmdir指令删除空目录

基本语法

rmdir 【选项】要删除空目录

应用实例

案例:删除一个目录/home/dog

使用细节

rmdir:删除的是空目录,如果目录下有内容时无法删除的

提示:如果需要删除非空目录,需要使用rm -f 要删除的目录

 

touch 指令

touch指令创建空文件

基本语法

touch文件名称

应用实例

案例:创建一个空文件hello.txt

 

cp指令

cp指令拷贝文件到指定目录

基本语法
cp【选项】 source dest

常用选项

-r : 递归复制整个文件夹

应用实例

案例1:将/home/helllo.txt拷贝到/home/bbb目录下

案例2:递归复制整个文件夹,举例

使用细节

强制覆盖不提示的方法:\cp -r /home/jinr /home/chensl

 

rm指令

说明:rm指令移除文件或目录

基本语法

rm 【选项】 要删除的文件或目录

常用选项

-r:  递归删除整个文件夹

-f:强制删除不提示

应用实例

案例1: 将/home/hello.txt删除      rm /home//helllo.txt

案例2:递归删除整个文件夹 /home/bbb   ,rm -rf /home/bbb 【删除】

使用细节

强制删除不提示的方法: 带上-f参数即可。

 

mv指令

mv移动文件与目录或重命名

基本语法

mv olldNameFile newNameFile (功能描述:重命名)

mv /temp/movefile /targetFolder  (功能描述:移动文件)

应用案例:

案例1: 将/home/cat.txt文件重新命名为pig.txt

案例2: 将/home/pig.txt 文件移动到 /root目录下

 

cat指令

cat查看文件内容

基本语法

cat【选项】要查看的文件

常用选项

-n: 显示行号

应用实例

案例1:/etc/profile 文件内容,并显示行号

使用细节

cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令|more

 

more指令

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容,more指令中内置了若干快捷键,详见操作说明

基于语法

more要查看的文件

操作        功能说明

空白键(space)  代表向下翻一页

Enter        代表向下翻一行

q         代表立刻离开more,不再显示该文件内容

Ctrl+F         向下滚动一屏

Ctrl+B         返回上一屏

=          输出当前行的行号

:f            输出文件名和当前行的行号

 

less指令

less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更强大,支持各种显示终端,

less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率

基本语法

less要查看的文件

 

操作        功能

空白键        向下翻动一页

pagedown       向下翻动一页

pageup       向上翻动一页

/字串        向下搜索【字串】的功能;n:向下查找;N:向上查找

?字串        向上搜索【字串】的功能;n:向上查找;N:向下查找

q           离开less这个程序

 

 echo 指令

echo输出内容到控制台

echo【选项】【输出内容】

应用实例

案例:使用echo 指令输出环境变量

案例:使用echo指令输出hello,world

head指令

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容

基本语法

head文件(功能描述:查看文件头10行内容)

head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)

应用实例

案例:查看/etc/profile的前面5行代码

 

 

tail指令

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容

基本语法:

tail  文件(功能描述:查看文件尾10行内容)

tail -n 5 文件 (功能描述:查看文件尾5行内容,5可以是任意行数)

tail -f 文件(功能描述:实施追踪该文档的所有更新)

 

 >指令和>>指令

>输出重定向和>>增加

基本语法

1) ls -l 文件(功能描述:列表的内容写入文件a.txt中(覆盖写))

2)ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)

3)cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)

4)echo "内容" >>文件

应用实例

案例1: 将/home 目录下的文件列表 写入到/home/info.txt中

案例2:将当前日历信息 追加到/home/mycal文件中

如果info.txt文件不存在,则会自动创建

 

ln指令

软链接也称为符号连接,类似于windows里的快捷方式,主要存放了链接其他文件的路径

基本语法
ln -s 【原文件或目录】【软连接名】(功能描述:给原文件创建一个软连接)

应用实例

案例1:在/home目录下创建一个软连接 myroot,连接到/root目录

案例2:删除软连接myroot

细节说明

当我们使用pwd指令查看目录时,仍然看到的是软连接所在目录

 

history指令

查看已经执行过历史命令,也可以执行历史指令

基本语法

history (功能描述:查看已经执行过历史命令)

应用案例:

案例1:显示所有的历史命令

案例2:显示最近使用过的10个指令  history 10

案例3:执行历史编号为5的指令             !5

 

date指令-显示当前日期

基本语法

1)date (功能描述:显示当前时间)

2)date + %Y (功能描述:显示当前年份)

3) date+%m (功能描述:显示当前月份)

4)date+%d (功能描述:显示当前是哪一天)

5)date+%Y-%m-d %H:%M:%S(功能描述:显示年月日的分秒)

 

date指令 设置日期

基本语法
date -s 字符串时间

应用实例

案例1:设置系统当前时间,比如设置成2020-11-03 20:02:10

cal指令

查看日历指令

基本语法

cal【选项】 (功能描述:不加选项,显示本月日历)

应用实例

案例1:显示当前日历

案例2:显示2020年日历

 

搜索查找

find指令

find指令将从指定目录向下递归遍历其各个子目录,将满足条件的文件或者目录显示在终端。

基本语法

find【搜索范围】【选项】

选项说明

选项          功能

-name<查询方式>    按照指定的文件名查找模板或查找文件

-user<用户名>      查找属于指定用户名所有文件

-size<文件大小>     按照指定的文件大小查找文件

应用案例:

案例1: 按文件名:根据名称查找/home 目录下的hello.txt文件    

find /home -name hello.txt

案例2:按拥有这:查找/opt目录下,用户名称为nobody的文件

find /opt -user nobody

案例3:查找整个linux系统下大于200M的文件(+n大于 -n小于  n等于,单位有k,M,G)

find /mnt/hgfs/VM/ -size +200M

 

locate 指令

locate指令可以快速定位文件路径,locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件,Locate指令无需遍历整个文件系统,

查询速度较快,为了保证查询结果的准确度,管理员必须定期更新locate时刻。

基本语法

locate搜索文件

特别说明

由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

应用实例

案例1:请使用locate指令快速定位hello.txt文件所在的目录。

which指令,可以查看某个指令在那个目录下,比如ls

 

grep指令和管道符号|

grep过滤查找,管道符,"|",表示将前一个命令的处理结果输出传递给后面的命令处理

基本语法

grep【选项】 查找内容 源文件

常用选项

-n  显示匹配行及行号

-i   忽略字母大小写

应用实例

案例1:请在hello.txt文件中,查找yes所在行,并且显示行号

 grep -n "yes" /home/a.txt 

 

压缩和解压

gzip/gunzip指令

gzip用于压缩文件,gunzp用于解压的

基本语法

gzip文件  (功能描述:压缩文件,只能将文件压缩为*.gz文件)

gunzip文件.gz (功能描述:解压缩文件命令)

应用实例

案例1:gzip压缩,将/home下的hello.txt文件进行压缩

案例2:gunzip压缩,将/home下的hello.txt.gz文件进行解压缩

 

 zip/unzip指令

zip用于压缩文件,unzip用于解压的,这个在项目打包发布中很有用

基本语法

zip【选项】 xxx.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)

unzip【选项】 xxx.zip (功能描述:解压缩文件)

 

zip常用选项

-r 递归压缩,即压缩目录

unzip的常用选项

-d<目录>:制定解压后文件的存放目录

应用实例
案例1:将/home下的,所有文件进行压缩成myhome.zip

 

zip -r myhome.zip /home

案例2:将myhome.zip解压到/opt/tmp目录下

unzip -d /opt/tmp /home/myhome.zip

tar -zcvf /data/mysql.tar.gz -C /data/ mysql/

 

 

 

tar命令压缩和解压.tar文件

 1.压缩:

  tar -cvf /tmp/etc.tar /etc

2.解压:

  tar -xvf /tmp/etc.tar -C .

3.tar命令常用的功能

  -c:创建新的tar文件
  -x:解开tar文件
  -t:列出tar文件中包含的文件的信息
  -r:附加新的文件到tar文件中
注意:以上功能是独立的,一次只能使用一个。

4.tar命令常用的参数

  -z:使用gzip进行解压缩
  -j:使用bzip2进行解压缩
  -Z:使用compress进行解压缩
  -v:显示解压缩执行过程
  -f:指定要处理的文件名

注意:如果需要使用-f参数,需要将f参数放在所有参数最后面,在f之后要立即接文件名,不能有其他参数。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-----

 

 

 

posted @ 2022-11-21 10:10  塞纳纽斯  阅读(25)  评论(0)    收藏  举报