韩顺平_2021图解Linux全面升级.pdf

Linux简略笔记

一、目录结构

基本结构:【在Linux世界里,一切皆为文件。】
Linux - 图1

用户和组相关文件

image.png

二、vim

2.1各种模式的切换图

Linux - 图3

2.2vi和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

2.3关机,重启指令

shutdown -h now 立刻进行关机
shutdown -h 1 “hello,1分钟后会关机了
shutdown -r now 现在重新启动计算机
halt 关机,作用和上面一样
rebooot 现在重新启动计算机
sync 把内存的数据同步到磁盘

2.4.用户登录和注销

su - 用户名 命令来切换成系统管理员身份
在提示符下输入logout即可注销用户
细节:logout 注销指令在图形运行级别无效,在运行级别3下有效.
运行级别这个概念,后面给大家介绍

2.5用户管理

1.添加用户
基本语法: useradd 用户名
应用案例: 添加一个用户milan,默认该用户的家目录在 /home/milan
细节说明: 1.当创建用户成功后,会自动的创建和用户同名的家目录
2.也可以通过useradd -d 指定目录 新的用户名,给新创建的用户指定家目录 例如: useradd -d /home/test king
2.指定/修改密码
基本语法: password 用户名

3.删除用户
基本语法: userdel 用户名
应用案例: 删除用户milan,但是要保留家目录, userdel milan
删除用户以及用户主目录,比如tom, userdel -r tom
4.查询用户信息指令
基本语法: id 用户名
细节说明:当用户不存在时,返回无此用户
5.查看当前用户
基本语法: whoami/ who am i

三、用户组:

3.1用户组基本指令

1.新增组:
指令: groupadd 组名

2.删除组:
指令: groupdel 组名

3.增加用户时直接加上组
指令: useradd -g 用户组 用户名

案例: 增加一个用户 zwj,直接将他指定到 wudang
groupadd wudang
useradd -g wudang zwj
4.修改用户的组:
指令: usermod -g 用户组 用户名

3.2指定运行级别

0∶关机
1:单用户【找回丢失密码】
2∶多用户状态没有网络服务
3:多用户状态有网络服务
4∶系统未使用保留给用户
5∶图形界面
6∶系统重启
常用运行级别是3和5 ,也可以指定默认运行级别,后面演示

命令: init 5

3.3找回root密码

韩顺平教育—linux找回root密码.docx

3.4帮助指令

1.man 获得帮助信息
基本语法: man命令或配置文件
案例: 查看 ls命令 的帮助信息 man ls

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

四、文件目录指令

4.1pwd 指令

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

4.2 ls指令:

基础语法: ls [选项] [目录或是文件]
常用选项:
-a: 显示当前目录所有的文件和目录,包括隐藏的.
-l: 以列表的方式显示信息。

4.3 cd 指令

基础语法: cd [参数] (功能描述:切换到指定目录)
cd ~ 或者 cd : 回到自己的家目录
cd .. 回到当前目录的上一级目录

4.4 mkdir 指令

mkdir 指令用于创建目录
基本语法: mkdir [选项] 要创建的目录
常用选项: -p : 创建多级目录

应用实例
案例1:创建一个目录/home/dog
mkdir /home/dog
案例2:创建多级目录/home/animal/tiger
mkdir -p /home/animal/tiger

4.5 rmdir指令

rmdir指令 删除空目录
基本语法: rmdir [选项] 要删除的空目录
提示:删除非空目录,需要使用 rm -rf 要删除的目录

4.6 touch指令

touch指令创建空文件
基本语法: touch 文件名称

4.7 cp指令

cp指令 拷贝文件到指定目录
基本语法: cp[选项] source dest
常用选项: -r : 递归复制整个文件夹

应用实例
案例1:将/home/hello.txt 拷贝到 /home/bbb目录下
cp hello.txt /home/bbb
案例2:递归复制整个文件夹,举例,比如将/home/bbb 整个目录,拷贝到/opt
cp -r /home/bbb /opt
使用细节
强制覆盖不提示的方法:\cp, \cp -r /home/bbb /opt

4.8 rm指令

说明: rm 指令移除文件或目录
基本语法: rm [选项] 要删除的文件或目录
常用选项:
-r : 递归删除整个文件夹
-f: 强制删除不提示
应用实例:
案例1:将 /home/hello.txt删除 rm /home/hello.txt
案例2: 递归删除整个文件夹 /home/bbb rm -rf/home/bbb

4.9 mv指令

mv 移动文件与目录或重命名
基本语法:
mv oldNameFile newNameFile (重命名)
mv /temp/movefile /targetFolder (移动文件)

4.10 cat指令

cat 查看文件内容
基础语法: cat [选项] 要查看的文件
常用选项: -n : 显示行号
使用细节: cat 只能浏览文件,而不是修改文件,为了浏览方便,一般带上 管道命令 | more
举例: cat -n /etc/profile | more [进行交互]

4.11 more指令

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
more指令中内置了若干快捷键(交互的指令),详见操作说明
基本语法: more 要查看的文件
操作说明: 如图【注意:cat和more可以联合使用】
image.png

4.12 less指令(查看比较大的文件)

less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。
less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
基本语法: less 要查看的文件
image.png

4.13 echo指令

echo 输出内容到控制台
基本语法: echo [选项] [输出内容]

4.14 head指令

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
基本语法:
head 文件 (功能描述: 查看文件头10行内容)
head -n 5 文件 (功能描述: 查看文件头5行内容,5可以是任意行数)

4.15 tail指令

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。
基本语法:
1) tail文件(功能描述:查看文件尾10行内容)
2) tail -n 5文件(功能描述:查看文件尾5行内容,5可以是任意行数)
3) tail-f 文件(功能描述:实时追踪该文档的所有更新)

4.16 >指令和>>指令

基本语法:
1)ls -I>文件(功能描述:列表的内容写入文件a.txt中(覆盖写))
2)ls -al >>文件(功能描述:列表的内容追加到文件aa.txt的末尾)
3)cat文件1>文件2(功能描述:将文件1的内容覆盖到文件2)
4)echo “内容”>>文件(追加)
应用实例:
案例1:将/home 目录下的文件列表 写入到/home/info.txt中,覆盖写入
ls -l /home > /home/info.txt[如果info.txt 没有,则会创建]

4.17 ln 指令

软链接也称为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
基本语法:
ln -s [原文或目录] [软链接名] (功能描述: 给原文件创建一个软链接)
应用实例:
案例:在/home目录下创建一个软连接myroot,连接到/root目录
In -s /root /home/myroot

4.18 history 指令

查看已经执行过历史命令,也可以执行历史指令
基本语法
history(功能描述:查看已经执行过历史命令)
应用实例
案例1:显示所有的历史命令
history
案例2:显示最近使用过的10个指令。
history 10
案例3∶执行历史编号为5的指令
!5
·

4.19 date指令 - 显示当前日期

基本语法:
1) date(功能描述:显示当前时间)
2) date +%Y(功能描述;显示当前年份)3) date +%m(功能描述:显示当前月份)
4) date +%d(功能描述:显示当前是哪一天)
5) date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
√应用实例
案例1:显示当前时间信息
date
案例2显示当前时间年月日
date “ +%Y-%m-%d”
案例3:显示当前时间年月日时分秒
date “+%Y-%m-%d %H:%M:%S”

4.20 cal指令-查看日历指令

√基本语法cal[选项(功能描述:不加选项,显示本月日历)
应用实例
案例1显示当前日历cal
案例2:显示2020年日历:cal 2020

五、其他指令

5.1查找指令

find指令
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法:
find [搜索范围] [选项]

选项说明
image.png

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

locate 指令
locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。
locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻
基本语法:
locate 搜索文件
特别说明:
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。·

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

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

基本语法:
grep [选项] 查找内容 源文件
常用选项:
image.png
应用实例:
案例:请在hello.txt文件中,查找“yes”所在行,并且显示行号
写法1: cat /home/hello.txt | grep “yes”
写法2: grep -n “yes” /home/hello.txt

5.2压缩指令

gzip/gunzip 指令
gzip 用于压缩文件,gunzip 用于解压的
基本语法:
gzip文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip文件.gz (功能描述:解压缩文件命令)

zip/unzip 指令
zip 用于压缩文件,unzip 用于解压的,这个在项目打包发布中很有用的
基本语法:
zip [选项]XXX.zip将要压缩的内容(功能描述:压缩文件和目录的命令)。
unzip [选项]XXX.zip(功能描述:解压缩文件)
zip常用选项:
-r: 递归压缩,即压缩目录
unzip的常用选项:
-d<目录>︰指定解压后文件的存放目录
应用实例:
案例1:将/home下的所有文件/文件夹进行压缩成 myhome.zip
zip -r myhome.zip /home/ [将home目录及其包含的文件和子文件夹都压缩]
案例2:将myhome.zip 解压到/opt/tmp目录下
mkdir /opt/tmp
unzip -d /opt/tmp /home/myhome.zip

tar 指令:
tar 指令 是打包指令,最后打包后的文件是 .tar.gz的文件。
基本语法:
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明:
image.png
应用实例:
案例1:压缩多个文件,将/home/pig.txt和/home/cat.txt压缩成 pc.tar.gz
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
案例2:将/home的文件夹压缩成 myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
案例3:将pc.tar.gz 解压到当前目录
tar -zxvf pc.tar.gz
案例4:将myhome.tar.gz 解压到 /opt/mp2目录下
(1) mldir /opt/tmp2
(2) tar -zxvf /home/myhome.tangz-c /opt/tmp2

六、Linux组

基本介绍:
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。
1.所有者
2.所在组
3.其它组
4.改变用户所在的组

6.1文件/目录 所有者

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。

  • 查看文件的所有者

指令: ls -ahl
应用实例
image.png

  • 修改文件所有者

指令: chown 用户名 文件名

6.2文件/目录 所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
查看文件/目录所在组
基本指令:
ls -ahl
应用实例,使用fox 来创建一个文件,看看该文件属于哪个组?
-rw-r—r—. 1 fox monster 0 11月5 12:50 ok.txt

修改文件所在的组
基本指令:
chgrp 组名 文件名
应用实例
使用root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到fruit组
1. groupadd fruit
2. touch orange.txt
3.看看当前这个文件属于哪个组-> root组
4. chgrp fruit orange.txt

6.3改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。

  • 改变用户所在组
  1. usermod -g 组名 用户名·
    2. usermod -d 目录名 用户名 改变该用户登陆的初始目录。 特别说明:用户需要有进入到新目录的权限。

七、-rwx权限

7.1权限的基本介绍

image.png

7.2权限详解,难点

image.png
使用案例
image.png

7.3修改权限-chmod

基本说明:
通过chmod指令,可以修改文件或者目录的权限。
image.png
第一种方式:+、-、=变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
1) chmod u=rwx,g=rx,o=x 文件/自录名
2) chmod o+w 文件/目录名
3) chmod a-x 文件/目录名

案例演示
1)给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
chmod u=rwx,g=rx,o=rx abc
2)给abc文件的所有者除去执行的权限,增加组写的权限
chmod u-x,g+w abc
3)给abc文件的所有用户添加读的权限
chmod a+r abc

第二种方式修改权限
第二种方式:通过数字变更权限

r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件目录名
√案例演示
要求: 将/home/abc.txt 文件的权限修改成rwxr-xr-x,使用给数字的方式实现:
chmod 755 /home/abc.txt

7.4修改文件所有者-chown

基本介绍:
chown newowner 文件/目录 改变所有者
chown newowner:newgroup 文件/自录 改变所有者和所在组
-R 如果是目录 则使其下所有子文件或目录递归生效

案例演示
请将/home/abc.txt文件的所有者修改成tom
chown tom /home/abc.txt
请将/home/test目录下所有的文件和目录的所有者都修改成tom
chown -R tom /home/test

7.5修改文件所在的组-chgrp

基本介绍:
chgrp newgroup 文件/目录【改变所在组】

●案例演示
请将/home/abc .txt 文件的所在组修改成 shaolin(少林)
groupadd shaolin
chgrp shaolin /home/abc.txt
请将/home/test目录下所有的文件和目录的所在组都修改成shaolin(少林)
chgrp -R shaolin /home/test

八、定时任务调度 crond 任务调度

8.1crontab 快速入门

概述:
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
基本语法:
crontab [选项]
常用选项:
image.png

快速入门:
设置任务调度文件: /etc/crontab
设置个人任务调度。 执行crontab -e命令。
接着输入任务到调度文件
如: /1 * ls -l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行 ls -l /etc/ > /tmp/to.txt命令
参数细节说明:
image.png

8.2crond时间规则

特殊符号的说明:
image.png
特殊符号执行案例:
image.png

crond 应用案例
案例1:每隔1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
/1 date >> /tmp/mydate
案例2∶每隔1分钟,将当前日期和日历都追加到/home/mycal文件中
步骤:
(1) vim /home/my.sh 写入内容 date >> /home/mycal和cal >> /home/mycal
(2)给my.sh增加执行权限,chmod u+x /home/my.sh
(2) crontab -e 增加
/1 /home/my.sh
案例3:每天凌晨2:00将mysql数据库 testdb,备份到文件中。提示:指令为
mysqldump -u root -p密码 数据库 > /home/db.bak
步骤(1) crontab -e
步骤(2) 0 2 * mysqldump -u root -proot testdb >/home/db.bak

8.3crond相关指令:

conrtab -r : 终止任务调度。
crontab -l: 列出当前有那些任务调度
service crond restart [重启任务调度]

8.4 at定时任务基本介绍

●基本介绍
1. at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行.
2默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。
3.at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了
4.在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看
●at命令格式
at [选项] [时间]
Ctrl + D 结束at命令的输入

8.5at时间定义:

at时间定义方法:
1。接受在当天的hh:mm (小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行例如:
04:00
2使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。
3.采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。例如:12pm
4、指定命令执行的具体日期,指定格式为month day(月日)或mm/dd/yy(月/日/年)或dd.mm.yy(.月.年),
指定的日期必须跟在指定时间的后面。例如:04:00 2021-03-1
5。使用相对计时法。指定格式为:now + count time-units ,now就是当前时间,time-units是时间单位,
这里能够是minutes (分钟)、hours (小时)、days(天),weeks(星期)。count是时间的数量,几天,几小时。例如:now + 5 minutes
6.直接使用today (今天)、tomorrow(明天)来指定完成命令的时间。

应用实例:
image.png

九、Linux磁盘分区,挂载

说明: 看文档
9.1查看所有设备挂载情况
命令: lsblk 或者 lsblk -f
9.2磁盘查询情况
基本语法
du -h
查询指定目录的磁盘占用情况,默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
—max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值

9.3挂载经典案例看文档

9.4工作实用指令
1.统计/opt文件夹下文件的个数
ls -l /opt | grep “^-“ | wc -l
2统计/opt文件夹下目录的个数
Is -l /opt I grep “^d”| wc -l
3.统计/opt文件夹下文件的个数,包括子文件夹里的
Is -IR /opt | grep “^-“ | wc -l
4.统计/opt文件夹下目录的个数,包括子文件夹里的
ls -IR /opt | grep “^d”| wc -l
5.以树状显示自录结构tree目录,注意,如果没有tree ,则使用yum install tree安装
image.png

九、网络

9.1概念:
看文档
9.2 查看windows环境中的网络配置(ipconfig指令)
查看 linux 的配置 ifconfig
9.3 ping 目的主机(功能描述: 测试当前服务器是否可以连接目的主机)
9.4网络配置实例 看文档
9.5主机名和host映射 看文档

十、进程

看文档

十一、JAVAEE定制篇

安装mysql

韩顺平教育—centos安装mysql5.7.docx