linux常识

在linux里一切皆文件

1、Linux 的目录结构

01、基本介绍

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

02、具体的目录结构(16)

/bin【重点】(/usr/bin、/usr/local/bin)

是Binary /ˈbaɪnəri/ 的缩写,这个目录存放着最经常使用的命令

/sbin(/usr/sbin、/usr/local/sbin)

s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序

/home【重点】

存放普通用户的主目录,在linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/root【重点】

该目录为系统管理员,也称作超级权限者的用户主目录。

/boot【重点】

存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件

/proc

这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息

/srv

service缩写,该目录存放一些服务启动之后需要提取的数据

/sys

这是Linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统

/tmp

这个目录是用来存放一些临时文件的

/dev

类似于Windows的设备管理器,把所有的硬件用文件的形式存储

media【重点】

linux系统会自动识别一些设备,例如U盘、光驱等,当识别后,linux会把识别的设备挂载到这个目录下

/mnt【重点】

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容;共享文件夹:C:MyShare

/opt

这是给主机额外安装软件所摆放的目录。如安装Orcale数据库就可放到该目录下。默认为空

/usr/local【重点】

这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序

/var【重点】

这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。

/selinux[security-enhanced linux]360

SElinux是一种安全子系统,它能控制程序只能访问特定文件。

03、Linux 目录总结一下

1. linux 的目录中有且只要一个根目录 /

2. linux 的各个目录存放的内容是规划好,不能乱放文件。

3. linux 是以文件的形式管理我们的设备,因此 linux 系统,一切皆为文件。

2、远程登录 Linux 系统

01、为什么需要远程登录 Linux

  1. linux 服务器是开发小组共享的.
  2. 正式上线的项目是运行在公网的.
  3. 因此程序员需要远程登录到 centos 进行项目管理或者开发.
  4. 画出简单的网络拓扑示意图(帮助理解)
  5. 远程登录客户端有 Xshell5, Xftp5 , 我们学习使用 Xshell5 和 Xftp , 其它的远程工具大同小异.

3、 vi 和 vim 编辑器

01、vi 和 vim 的基本介绍

所有的 Linux 系统都会内建 vi 文本编辑器

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

02、vi 和 vim 的三种常见模式

正常模式

在正常模式下,我们可以使用快捷键。

以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上

下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。

插入模式/编辑模式

在模式下,程序员可以输入内容。

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

命令行模式

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

05、vi 和 vim 三种模式的相互转化图

03、快捷键的使用

1. 拷贝当前行 yy , 拷贝当前行向下的 5 行 5yy,并粘贴(p)。

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

3. 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 , 输入 n 就是查找下一个 ],查询hello.

4. 设置文件的行号,取消文件的行号.[命令行下 : set nu 和 :set nonu]

5. 编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg],注意这些都是在正常模式下执行的。

6. 在一个文件中输入 "hello" ,然后又撤销这个动作,再正常模式下输入 u

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

第一步:显示行号 :set nu

第二步:输入 20 这个数

第三步: 输入 shift+g

04、vim 和 vi 的快捷键键盘一览图

4、开机、重启和用户登录注销

01、关机&重启命令

基本介绍

shutdown

shutdown -h now : 表示立即关机

shutdown -h 1 : 表示 1 分钟后关机

shutdown -r now: 立即重启

halt:就是直接使用,效果等价于关机

reboot:就是重启系统。

syn:把内存的数据同步到磁盘

注意细节

当我们关机或者重启时,都应该先执行以下 sync 指令,把内存的数据写入磁盘,防止数据丢失。

02、用户登录和注销

基本介绍

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

用普通用户登录,登录后再用”su - 用户名’命令来切换成系统管理员身份.

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

使用细节

1)logout 注销指令在图形运行级别无效,在 运行级别 3 下有效.

2)运行级别这个概念,后面给大家介绍

5、用户管理

01、基本介绍

示意图

说明

1. Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

2. Linux 的用户需要至少要属于一个组。

02、添加用户

基本语法

useradd [选项] 用户名

cd 表示 change directory, 切换目录.

细节说明

3. 当创建用户成功后,会自动的创建和用户同名的家目录

4. 也可以通过 useradd -d 指定目录 新的用户名,给新创建的用户指定家目录

03、给用户指定或者修改密码

基本语法

passwd 用户名

04、删除用户

基本语法

userdel 用户名

05、查询用户信息

基本语法

id 用户名

06、切换用户

介绍

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

基本语法

su – 切换用户名

细节说明

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

2)当需要返回到原来用户时,使用 exit 指令

07、用户组

介绍

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

增加组

groupadd 组名

删除组

指令(基本语法)

groupdel 组名

增加用户时直接加上组

useradd -g 用户组 用户名

修改用户的组

usermod -g 用户组 用户名

/etc/passwd 文件

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

每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell

/etc/shadow 文件

口令的配置文件

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

时间:失效时间:标志

/etc/group 文件

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

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

6、实用指令

01、指定运行级别

运行级别说明:

0 :关机

1 :单用户【找回丢失密码】

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

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

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

5:图形界面

6:系统重启

常用运行级别是 3 和 5 ,要修改默认的运行级别可改文件

/etc/inittab 的 id:5:initdefault:这一行中的数字

运行级别的示意图

02、切换到指定运行级别的指令

init [012356]

03、面试题

如何找回 root 密码,如果我们不小心,忘记 root 密码,怎么找回

思路: 进入到 单用户模式,然后修改 root 密码。因为进入单用户模式,root 不需要密码就可 以登录。

开机->在引导时输入 回车键-> 看到一个界面输入 e -> 看到一个新的界面,选中第二行(编辑

内核)在输入 e-> 在这行最后输入 1 ,再输入 回车键->再次输入 b ,这时就会进入到单用户模式。

这时,我们就进入到单用户模式,使用 passwd 指令来修改 root 密码。

04、帮助指令

介绍

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

man 获得帮助信息

man [命令或配置文件](功能描述:获得帮助信息)

help 指令

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

当一个指令不熟悉如何学习的建议

百度帮助更直接

05、文件目录类

pwd 指令

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

ls 指令

ls [选项] [目录或是文件]

常用选项

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

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

cd 指令

基本语法

cd [参数] (功能描述:切换到指定目录)

常用参数

绝对路径和相对路径

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

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

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

mkdir 指令

mkdir 指令用于创建目录(make directory)

基本语法

mkdir [选项] 要创建的目录

常用选项

-p :创建多级目录

rmdir 指令

介绍

rmdir 指令删除空目录

基本语法

rmdir [选项] 要删除的空目录

使用细节

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

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

touch 指令

touch 指令创建空文件

基本语法

touch 文件名称

cp 指令[重要]

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

基本语法

cp [选项] source dest

常用选项

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

使用细节

强制覆盖不提示的方法:\cp

rm 指令

rm 指令移除【删除】文件或目录

基本语法

rm [选项] 要删除的文件或目录

常用选项

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

-f : 强制删除不提示

mv 指令

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

基本语法

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

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

cat 指令

cat 查看文件内容,是以只读的方式打开。

基本语法

cat [选项] 要查看的文件

常用选项

-n :显示行号

使用细节

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

cat 文件名 | more [分页浏览]

more 指令

more 指令是一个基于 VI 编辑器的文本过滤器, 它以全屏幕的方式按页显示文本文件的内容。more

指令中内置了若干快捷键,详见操作说明

基本语法

more 要查看的文件

快捷键一览:

less 指令

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

各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示

需要加载内容, 对于显示大型文件具有较高的效率。

基本语法

less 要查看的文件

快捷键:

>指令 和 >> 指令

介绍

>指令 和 >> 指令

>输出重定向 : 会将原来的文件的内容覆盖

>>追加: 不会覆盖原来文件的内容,而是追加到文件的尾部。

基本语法

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

说明:ls -l > a.txt , 将 ls -l 的显示的内容覆盖写入到 a.txt 文件,如果该文件不存在,就创建该文件

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

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

4) echo "内容" >> 文件

echo 指令

echo 输出内容到控制台。

基本语法

echo [选项] [输出内容]

head 指令

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

基本语法

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

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

tail 指令

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

基本语法

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

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

3) tail -f 文件 (功能描述:实时追踪该文档的所有更新,工作经常使用)

ln 指令

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

基本语法

ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

细节说明

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

history 指令

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

基本语法

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

技术小技巧:

可以通过 上下箭头的键,调出原来使用过的指令。

时间日期类

date 指令-显示当前日期

基本语法

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

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

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

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

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

date 指令-设置日期

•基本语法

date -s 字符串时间

cal 指令

查看日历指令

•基本语法

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

搜索查找类

find 指令

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

基本语法

find [搜索范围] [选项]

选项

locate 指令

locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的

locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保

证查询结果的准确度,管理员必须定期更新 locate 时刻。

基本语法

locate 搜索文件

特别说明

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

grep 指令和 管道符号 |

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

基本语法

grep [选项] 查找内容 源文件

常用选项

压缩和解压类

gzip/gunzip 指令

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

基本语法

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

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

细节说明

当我们使用 gzip 对文件进行压缩后,不会保留原来的文件。

zip/unzip 指令

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

基本语法

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

unzip [选项] XXX.zip (功能描述:解压缩文件)

zip 常用选项

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

unzip 的常用选项

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

tar 指令

tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件

基本语法

tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)

选项说明

指定解压到的那个目录,事先要存在才能成功,否则会报错。

7、组管理和权限管理

01、Linux 组基本介绍

在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件有所有者、所在组、其它组的概念。

1. 所有者

2. 所在组

3. 其它组

4. 改变用户所在的组

示意图

02、文件/目录 所有者

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

查看文件的所有者

1. 指令:ls -ahl

修改文件所有者

指令:chown 用户名 文件名

组的创建

基本指令

groupadd 组名

文件/目录 所在组

当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组。

查看文件/目录所在组

基本指令

ls –ahl

修改文件所在的组

基本指令

chgrp 组名 文件名

其它组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组.

改变用户所在组

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

改变用户所在组

2. usermod –g 组名 用户名

3. usermod –d 目录名 用户名 改变该用户登陆的初始目录。

权限的基本介绍

ls -l 中显示的内容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

0-9 位说明

1)第 0 位确定文件类型(d, - , l , c , b)

2)第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。---User

3)第 4-6 位确定所属组(同用户组的)拥有该文件的权限,---Group

4)第 7-9 位确定其他用户拥有该文件的权限 ---Other

rwx 权限详解

rwx 作用到文件

4. [ r ]代表可读(read): 可以读取,查看

5. [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该

文件所在的目录有写权限,才能删除该文件.

6. [ x ]代表可执行(execute):可以被执行

rwx 作用到目录

7. [ r ]代表可读(read): 可以读取,ls 查看目录内容

8. [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录

9. [ x ]代表可执行(execute):可以进入该目录

文件及目录权限实际案例

ls -l 中显示的内容如下:(记住)

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10 个字符确定不同用户能对文件干什么

第一个字符代表文件类型: 文件 (-),目录(d),链接(l)

其余字符每 3 个一组(rwx) 读(r) 写(w) 执行(x)

第一组 rwx : 文件拥有者的权限是读、写和执行

第二组 rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行

第三组 r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行

可用数字表示为: r=4,w=2,x=1 因此 rwx=4+2+1=7

修改权限-chmod

基本说明:

通过 chmod 指令,可以修改文件或者目录的权限

第一种方式:+ 、-、= 变更权限

u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)

1. chmod u=rwx,g=rx,o=x 文件目录名

2. chmod o+w 文件目录名

3. chmod a-x 文件目录名

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

规则:r=4 w=2 x=1 ,rwx=4+2+1=7

chmod u=rwx,g=rx,o=x 文件目录名

相当于 chmod 751 文件目录名

修改文件所有者-chown

基本介绍

chown newowner file 改变文件的所有者

chown newowner:newgroup file 改变用户的所有者和所有组

-R 如果是目录 则使其下所有子文件或目录递归生效

修改文件所在组-chgrp

基本介绍

chgrp newgroup file 改变文件的所有组

实操篇 crond 任务调度

原理示意图

1

2

crontab 进行 定时任务的设置,

概述

任务调度:是指系统在某个时间执行的特定的命令或程序。

任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等

2.个别用户工作:个别用户可能希望执行某些程序,比如对 mysql 数据库的备份

基本语法

crontab [选项]

常用选项

crond 相关指令:

1. conrtab –r:终止任务调度。

2. crontab –l:列出当前有那些任务调度

3. service crond restart [重启任务调度]

实操篇 Linux 磁盘分区、挂载

分区的方式:

4. mbr 分区:

1.最多支持四个主分区

2.系统只能安装在主分区

3.扩展分区要占一个主分区

4.MBR 最大只支持 2TB,但拥有最好的兼容性

5. gtp 分区:

1.支持无限多个主分区(但操作系统可能限制,比如 windows 下最多 128 个分区)

2.最大支持 18EB 的大容量(1EB=1024 PB,1PB=1024 TB )

3.windows7 64 位以后支持 gtp

windows 下的磁盘分区

1

2

Linux 分区

原理介绍

1)Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且

唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系统的一部分。

2)Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,

且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

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 硬盘的表示方法一样。

使用 lsblk 指令查看当前系统的分区情况

挂载的经典案例

需求是给我们的 Linux 系统增加一个新的硬盘,并且挂载到/home/newdisk

示意图1

如何增加一块硬盘

1)虚拟机添加硬盘

2)分区 fdisk /dev/sdb

3)格式化 mkfs -t ext4 /dev/sdb1

4)挂载 先创建一个 /home/newdisk , 挂载 mount /dev/sdb1 /home/newdisk

5)设置可以自动挂载(永久挂载,当你重启系统,仍然可以挂载到 /home/newdisk) 。

vim /etc/fstab

/dev/sdb1 /home/newdisk ext4 defaults 0 0

具体的操作步骤整理

实操篇 网络配置

实操篇 进程管理

实操篇 RPM 和 YUM

rpm 包的管理

介绍:

一种用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它生成具有.RPM

扩展名的文件。RPM 是 RedHat Package Manager (RedHat 软件包管理工具)的缩写,类似 windows

的 setup.exe,这一文件格式名称虽然打上了 RedHat 的标志,但理念是通用的。

Linux 的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。

rpm 包的简单查询指令:

查询已安装的 rpm 列表 rpm –qa|grep xx

请查询看一下,当前的 Linux 有没有安装 firefox .

rpm 包名基本格式:

一个 rpm 包名:firefox-45.0.1-1.el6.centos.x86_64.rpm

名称:firefox

版本号:45.0.1-1

适用操作系统: el6.centos.x86_64

表示 centos6.x 的 64 位系统

如果是 i686、i386 表示 32 位系统,noarch 表示通用。。

rpm 包的其它查询指令

rpm -qa :查询所安装的所有 rpm 软件包

rpm -qa | more [分页显示]

rpm -qa | grep X [rpm -qa | grep firefox ]

rpm -q 软件包名 :查询软件包是否安装

rpm -q firefox

rpm -qi 软件包名 :查询软件包信息

rpm -qi file

rpm -ql 软件包名 :查询软件包中的文件

rpm -ql firefox

rpm -qf 文件全路径名 查询文件所属的软件包

rpm -qf /etc/passwd

rpm -qf /root/install.log

卸载 rpm 包:

•基本语法

rpm -e RPM 包的名称

•应用案例

1. 删除 firefox 软件包

细节问题

2. 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。

如: $ rpm -e foo

removing these packages would break dependencies:foo is needed by bar-1.0-1

3. 如果我们就是要删除 foo 这个 rpm 包,可以增加参数 --nodeps ,就可以强制删除,但是一般

不推荐这样做,因为依赖于该软件包的程序可能无法运行

如:$ rpm -e --nodeps foo

带上 --nodeps 就是强制删除。

安装 rpm 包:

基本语法

rpm -ivh RPM 包全路径名称

参数说明

i=install 安装

v=verbose 提示

h=hash 进度条

yum

介绍

Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包

并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联网。

示意图

yum 的基本指令

查询 yum 服务器是否有需要安装的软件

yum list|grep xx 软件列表

•安装指定的 yum 包

yum install xxx 下载安装

防火墙

关闭防火墙:systemctl stop firewalld.service

查看防火墙: systemctl list-unit-files |grep walld

查看状态: systemctl status firewalld.service

开机不启动: systemctl disable firewalld.service

重启火墙: firewall-cmd --reload

添加防火墙白名单

firewall-cmd --zone=public --list-ports ##查看已开放的端口

firewall-cmd --permanent --zone=public --add-port=port/tcp 提示 success 表示成功

firewall-cmd --zone=public--remove-port=port/tcp --permanent ##关闭

Mysql

启动: service mysql start

停止: service mysql stop

重启MySQL服务 service mysql restart

JavaEE 定制篇 搭建 JavaEE 环境

示意图

安装 JDK

安装 tomcat

mysql 的安装和配置

Shell 编程

为什么要学习 Shell 编程

1)Linux 运维工程师在进行服务器集群管理时,需要编写 Shell 程序来进行服务器管理。

2)对于 JavaEE 和 Python 程序员来说,工作的需要,你的老大会要求你编写一些 Shell 脚本进行程

序或者是服务器的维护,比如编写一个定时备份数据库的脚本。

3)对于大数据程序员来说,需要编写 Shell 程序来管理集群。

Shell 是什么

Shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统

级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序

shell 编程快速入门-Shell 脚本的执行方式

脚本格式要求

1. 脚本以#!/bin/bash 开头

2. 脚本需要有可执行权限

编写第一个 Shell 脚本

创建一个 Shell 脚本,输出 hello world!

看案例:

脚本的常用执行方式

方式 1(输入脚本的 绝对路径或相对路径)

1)首先要赋予 helloworld.sh 脚本的+x 权限

2)执行脚本

示例

方式 2(sh+脚本),不推荐

说明:不用赋予脚本+x 权限,直接执行即可

示例图

shell 的变量

Shell 的变量的介绍

1)Linux Shell 中的变量分为, 系统变量和 用户自定义变量。

2)系统变量:PWD、USER 等等

比如: echo $HOME 等等..

3)显示当前 shell 中所有变量:set

示例图

shell 变量的定义

基本语法

1)定义变量:变量=值

2)撤销变量:unset 变量

3) 声明静态变量:readonly 变量,注意:不能 unset

快速入门

案例 1:定义变量 A

案例 2:撤销变量 A

示例图

案例 3:声明静态的变量 B=2,不能 unset

示例图

案例 4:可把变量提升为全局环境变量,可供其他 shell 程序使用【一会举例。】

•定义变量的规则

1. 变量名称可以由字母、数字和下划线组成,但是不能以数字开头。

2. 等号两侧不能有空格

3. 变量名称一般习惯为大写

•将命令的返回值赋给变量(重点)

1)A=ls -la 反引号,运行里面的命令,并把结果返回给变量 A

2)A=$(ls -la) 等价于反引号

示例图

设置环境变量

基本语法

1. export 变量名=变量值 (功能描述:将 shell 变量输出为环境变量)

2. source 配置文件 (功能描述:让修改后的配置信息立即生效)

3. echo $变量名 (功能描述:查询环境变量的值)

示例图

位置参数变量

介绍

当我们执行一个 shell 脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变

量,比如 : ./myshell.sh 100 200 , 这个就是一个执行 shell 的命令行,可以在 myshell 脚本中获取到

参数信息

基本语法

$n (功能描述:n 为数字,$0 代表命令本身,$1-{10})

*把所有的参数看成一个整体)

@把每个参数区分对待)

$#(功能描述:这个变量代表命令行中所有参数的个数)

位置参数变量应用实例

预定义变量

基本介绍

就是 shell 设计者事先已经定义好的变量,可以直接在 shell 脚本中使用

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值