Linux全面基础学习

CentOS基础学习加强


学习目标

  • 能够熟练编写文件相关命令
  • 能够熟练编写文件解压缩命令
  • 能够熟练编写网络查看简单命令
  • 能够熟练编写查看磁盘命令、挂载命令
  • 能够知道如何使用命令进行分区、格式化
  • 能够熟练使用yum进行查找、安装、卸载软件
  • 能够熟练使用rpm进行查找、安装、卸载软件
  • 能够熟练编写常用的shell脚本

1.Linux文件管理

1.1touch

​ touch主要是作为文件创建的一个命令,注意是创建文件,不是创建文件夹。

touch 文件名.文件类型

多个相似文件的创建: touch 文件名{起…末}.文件类型
在这里插入图片描述

查看: ls -l

该查看命令能显示出文件修改(并不是文件访问)的时间等

stat [文件名或目录]

查看文件的属性,包括访问时间等
在这里插入图片描述

1.2Vim编辑器

vim编辑器是Linux旗下的一个重要的自带的编辑器,也是vi的一个升级版!

1.vi介绍
  • vi的特点
    • 只能是编辑 文本内容, 不能对 字体 段落进行排版
    • 不支持鼠标操作
    • 没有菜单
    • 只有命令
  • vi编辑器在 系统管理 服务器管理 编辑文件时, 其功能永远不是图形界面的编辑器能比拟的

2、vim介绍

vim:是从 vi (系统内置命令)发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。

vim 则可以说是程序开发者的一项很好用的工具(vim有颜色提示且小巧轻便!)。

1.2.2 vi/vim模式

vi/vim模式主要分为以下三种:

命令模式:在Linux终端中输入“vim 文件名”就进入了命令模式,但不能输入文字。
**编辑模式:**在命令模式下按i就会进入编辑模式,此时就可以写入程式,按Esc可回到命令模式。
**末行模式:**在命令模式下按:进入末行模式,左下角会有一个冒号出现,此时可以敲入命令并执行。

上图总结
在这里插入图片描述

上面的三种模式简单总结下就是:

1、vim 开始进入时是命令模式

2、按下I的时候会进入编辑模式

3、按下ESC然后在按下:的时候是末行模式

常见使用

  • A:在末尾进行添加文本

  • o:在当前行后面出入空行

  • O:在当前行前面插入空行

    *退出:*wq(保存并退出)

​ :wq!(强制保存并退出,仅限root用户)

​ : q退出不保存, :q!强制退出

通常来说使用vim编辑器需要打开,保存,三种模式间的切换。(命令,编辑,查看)

1.2.3文件查看

常用: cat [文件名]

cat -n [文件名] 查看时加上文件的行号数字

查找 grep命令

grep类似于windows中文件的ctrl+f的相关功能,进行查找

1.关键字进行查找

grep [关键字] [文件名]

grep进行查找时,找到的内容会进行输出(即只输出找到内容,特殊符号不会进行查找)

在这里插入图片描述

grep -n 关键字 [文件名]

显示查找到的目标信息行号

grep -i 关键字 [文件名]

忽略关键字大小写进行查找

3.进程相关查找

ps -ef | grep 进程名

ps -ef :查询进程的简要信息

ps -aux :查询进程的详细信息

查找相关的进程,注意Linux中涉及到进程的 命令时都需要有 管道符"|" 以及都为ps开头

在这里插入图片描述

查询出的 结果并不包括最后一项,最后一条记录是grep本身!

ps -aux | grep 进程名 |grep -v "不包括的进程名"

详细查询指定进程,并不包括相关进程

在这里插入图片描述

ps -ef | grep -c 进程名

查找目标进程个数!

2.less命令

也是查看文件的一大命令,主要用于查看内容较多的文本文件,分页显示,分页查询。

less [文件名]

history | less

查看历史相关命令,个人觉得管道符"|"表示的多个命令共同的意思

在这里插入图片描述


1.2.4 vim相关

当vim异常中断时,再(每)次打开会出如下:

在这里插入图片描述

将后缀名为.swp的文件删除即可恢复: rm -rf .完整文件名.swp


1.3 echo命令

使用权限:所有人

echo表示输出,此时Linux借鉴了PHP语法,其作用通常是在于追加文件内容到文件,类似于java se阶段中的append文件流写入一样。

常规的使用方法是: echo "输出内容"

  • 默认是输出到控制台
  • 也可通过重定向输出到文件

在这里插入图片描述

echo “内容” >(>>) 文件名

  • “>”:覆盖
  • “>>”:追加到文件末尾

1.5 软连接

软连接就类似于Windows中快捷方式,在Linux中内容和文件名通常是两个文件的,也就是分开的!

在这里插入图片描述

(软连接的原理如图所示,说白就是通过软连接找到目标文件的具体地址,再通过具体地址进行文件内容的输出!之所以会有这种模式,是因为某些文件路径太深!

用法:

命令作用
ln -s [目标文件绝对路径] [快捷方式路径]给目标增加一个快捷方式

1.6 整体文件查找find

在这里插入图片描述

find命令在指定目录下进行查找,若不加参数,则默认在当前目录下进行查找。

find [指定目录] [指定条件] [目标内容]

find . -name “*.gz” 将其目标及子目录均为gz拓展名的文件查询出来

find / -name “目标文件名” 全局搜索目标文件("/" 表示全局搜索)

总结:通常而言find 命令都与参数 -name是在一起所使用的!


1.7 read命令

read命令主要属于文件范畴命令,主要应用在Linux的shell编程中!

read只能在脚本文件.sh中使用!

read命令相当于在java SE阶段的键盘录入输入Scanner(read命令会比Scanner更强大),开发人员可以动态的与程序交互,即交互使用read命令。

1.简单读取

echo "请输入网站:" #读取键盘输入内容 read website echo "你输入的网站为:$websit" exit 0 #退出操作
~

在这里插入图片描述

2.读取文件

每次调用 read 命令都会读取文件中的 “一行” 文本。当文件没有可读的行时,read 命令将以非零状态退出。

我们可以使用 cat 命令将结果直接传送给包含 read 命令的 while 命令。

在这里插入图片描述

执行效果:

在这里插入图片描述

1.8 总结

文件命令是我们在开发过程中最经常使用的到的命令,所以,我们在学习过程中一定要认真学习文件的常用命令,比如文件创建、编写、读取命令。


2.Linux备份压缩

window解决压缩文件时通常采用的第三方软件,如360压缩,快压之类的软件。而Linux解压问题时,则是采用的命令来解决!

2.1 gzip命令

只能针对于文件,不能针对目录。

Linux下不能识别的格式:

  • .rar
  • .7z

gzip主要是压缩文件程序,经其压缩后后缀为".gz"的扩展名!

gzip [参数] [文件]

gzip * 压缩该目录下所有的文

2.2 gunzip

​ 用于通用的被gzip压缩文件的一个解压
gunzip[参数] [文件或者目录]

2.3 tar命令

tar的主要功能是打包、压缩和解压文件。

tar本身不具有压缩功能。他是调用压缩功能实现的 。tar是linux中使用比较多的关于压缩与解压相关的命令!

tar[必要参数] [选择参数] [文件]

1.将文件进行打包

通常打包之后的后缀名为.tar

tar -cvf 包名.tar 目标文件

打包之后源文件也一直在那里,不会因此而消失!

在这里插入图片描述

tar -xvf 目标文件 (解包)

tar -ztvf 目标压缩文件

查看目标压缩文件(只能针对压缩文件)中有哪些文件,但不进行解压!

在这里插入图片描述

3、将tar 包解压缩的通俗思路

解压命令:tar -zxvf 目标压缩文件.gz

打包压缩命令:tar -zcvf 压缩后.tar.gz 源文件

1.新建目录
mkdir ysFiles
2.复制
cp txt.tar.gz ./ysFiles/
3.解压缩
tar -zxvf /home/itcast/ysFiles/txt.tar.gz

在这里插入图片描述


2.4 zip版本压缩

zip命令就完全的相当于在Windows下面选中文件右键进行压缩了。

zip [一些参数] [目标文件]

unzip [目标文件] [解压目录]

unzip -l [目标文件] 查看压缩文件中包含的文件,并不进行解压!

1.新建目录
unFiles
2.解压缩
unzip -d ./unFiles zFiles.zip


总结:不同的文件后缀对应不同解压方式,比较常见的还是 tar和zip相关。然后就是注意区分打包和压缩是两回事!


3. 网络与存储相关

**ifconfig **

类似于ipconfig命令,查看基础的网络相关配置及IP信息等!

**ens33(有的是eth0)**表示第一块网卡。

表示ens33网卡的 IP地址是 192.168.23.129,广播地址,broadcast 192.168.23.255,掩码地址netmask:255.255.255.0 ,inet6对应的是ipv6

lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口 。

2.关闭(启用)网卡

ifconfig [网卡名] down

ifconfig [网卡名] up

在这里插入图片描述

(关闭后便查不到网卡的信息)

3.配置网卡信息

// 配置ip地址
ifconfig ens37 192.168.23.199
// 配置ip地址和子网掩码
ifconfig ens37 192.168.23.133 netmask 255.255.255.0

4.netstat命令

netstat 主要是用于对于Linux网络情况的一个查看的状况

4.1显示详细链接情况

netstat -a

在这里插入图片描述

netstat -i

显示网卡列表

在这里插入图片描述


3.2 磁盘命令

lsblk

此命令表示查询磁盘相关的一个命令

在这里插入图片描述

NAME : 这是块设备名。

MAJ:MIN : 本栏显示主要和次要设备号。

RM : 本栏显示设备是否可移动设备。注意,在上面设备sr0的RM值等于1,这说明他们是可移动设备。

SIZE : 本栏列出设备的容量大小信息。

RO : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。

TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。

MOUNTPOINT : 本栏指出设备挂载的挂载点。

**lsblk -f **:列出所有的空设备,默认不会列出空设备

在这里插入图片描述

FSTYPE表示文件类型

LABEL表示设备标签

UUID设备编号

MOUNTPOINT表示设备的挂载点

注意

这个命令主要是在下面将在fdisk分区中会经常使用到

3.2.2 df命令

类似于windows下的磁盘管理的一个界面,主要作用是为了显示Linux磁盘的使用情况等!

使用权限:所有人

1. df

显示磁盘使用情况

df -h

换算为常用单位后显示

df --total

显示所有信息

3.2.3 挂载mount命令

Linux中外部存储设备(除内存以外),需要经过挂载之后才能使用。

挂载理解为windows下的一个盘符分配功能,只不过Linux是拿系统目录作为盘符,windows中的盘符在Linux中相当叫挂载点,把存储分区或U盘等存储设备分配一个挂载点的过程叫挂载。

mount便是挂载中经常要使用到命令

实际上windows插入U盘时,也是需要去分配盘符的,只不过windows下的分配盘符是自动的。在安装linux系统时设立的各个分区,如根分区、/boot分区等都是自动挂载的,也就是说不需要我们人为操作,开机就会自动挂载。但是光盘、u盘等存储设备如果需要使用,就必须人为的进行挂载。

Linux根目录以外的文件想要访问,首先需要“关联”到根目录下来实现,这就叫“挂载”,这个目录便是“挂载点”,解除该关联关系便称之为"卸载"。

注意:“挂载点”的目录需要以下几个要求:

(1)目录事先存在,可以用mkdir命令新建目录;

(2)挂载点目录不可被其他进程使用到;

(3)挂载点下原有文件将被隐藏。

比如进行光盘挂载

1.创建挂载点,-p表示若该目录不存在才会进行创建

mkdir -p 目标挂载目录

2.建立挂载关联

mount -t auto /dev/cdrom .目标挂载目录
在这里插入图片描述

3.查看挂载情况

ls -l -a 目标目录

表示把所有的内容都给列出来

在这里插入图片描述

4.卸载

unmount .目标目录

在这里插入图片描述

3.3 总结

关于挂载:用户不能直接访问 硬件设备需要将硬件设备 挂载 到 系统目录上, 才可以让用户访问。


4.shell与安装(重要)

yum概念

yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum安装类似于一个在线商城系统一样。
在这里插入图片描述

yum原理

yum的官方源下载速度极慢,需要自行手动配置国内yum的源

在这里插入图片描述

yum常用命令

  • 1.列出所有可更新的软件清单命令:yum check-update
  • 2.更新所有软件命令:yum update
  • 3.仅安装指定的软件命令:yum install <package_name>
  • 4.仅更新指定的软件命令:yum update <package_name>
  • 5.列出所有可安裝的软件清单命令:yum list
  • 6.删除软件包命令:yum remove <package_name>
  • 7.查找软件包 命令:yum search
  • 8.清除缓存命令:
    • yum clean packages: 清除缓存目录下的软件包
    • yum clean headers: 清除缓存目录下的 headers
    • yum clean oldheaders: 清除缓存目录下旧的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的

yum -y install 安装包名

表示所有的存在选项时的都选yes

yum remove 安装包名

移除安装好了的软件

yum list 软件名

查找相关的软件


4.2 rpm的使用

rpm类似于windows下“添加/删除程序,但功能要强大得多”

1、rpm介绍

rpm(redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。

2、rpm与yum区别

rpm 只能安装已经下载到本地机器上的rpm 包. yum能在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这个是rpm 工具所不具备的。rpm包的扩展名为.rpm

Linux下rpm安装包可理解 为Windows下的.exe文件

语法如下:rpm [选项]

1.安装

rpm -ivh 软件全名

2.卸载

rpm -e 软件全名

3.列出安装过的包

rpm -qa

查询软件包信息

rpm -qi 软件全包名

查看安装位置

rpm -ql 软件全包名


4 shell使用

1)shell定义

一种程序化的基于Linux内核所运行的一种脚本。跟windows下的DOS有着异曲同工之处。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zF0orzXS-1629701406341)(H:\笔记方面\Web全栈\day1Linux深度学习\images\Shell\2.shell.png)]‘

运行环境:需要解释器,Linux下默认是自带的!

Linux 的 Shell 种类众多,常见的有:

  • Bourne Shell(/usr/bin/sh或/bin/sh)

  • Bourne Again Shell(/bin/bash)

  • C Shell(/usr/bin/csh)

  • K Shell(/usr/bin/ksh)

  • Shell for Root(/sbin/sh)

  • 等等……

当前使用的是 Bash,也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell

2.第一个shell

# 开头的行就是注释,会被解释器忽略。

多行注释:

:<<!
注释内容…
注释内容…
注释内容…
!

1.变量

变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

  • 中间不能有空格,可以使用下划线(_)。

  • 不能使用标点符号。

  • 不能使用bash里的关键字(可用help命令查看保留关键字)。

    variable_name=“czbk”
    echo $variable_name
    echo ${variable_name}

    shell中的空格不要乱用,不然出错!

    1.2 只读变量

使用readonly类似 与 java中final关键字变量

1.3 删除变量

unset 变量名

但不能删除只读变量

 /bin/bash
#g=(a b c d e f)
#echo "数组下标为2的数据为:" ${g[2]}
#echo  "数组所有数据为:"  ${#g[@]}
#echo  "数组所有数据为:"   ${#g[*]}
:<<EOF
val= `expr 2 + 2`
echo "相加之后的结果为:" $val
EOF

a=4
b=20
echo “加法运算”  `expr $a + $b`
echo “减法运算”  `expr $a - $b`
echo “乘法运算,注意*号前面需要反斜杠” ` expr $a \* $b`
echo “除法运算”  `expr  $b / $a`
((a++))
echo "a = $a"
c=$((a + b)) 
d=$[a + b]
echo "c = $c"
echo "d = $d"

注意变量运算间的空格符号!

4.3.8 总结

在企业级开发过程中,我们(开发人员)学习Linux主要的目的就是在Linux系统中能够熟练的操作目录、文件,还有就是通过所学的命令系统化的编写sh文件,所以,在当前章节中,我们要熟练的编写shell脚本相关命令以及综合案例中的知识点。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值