当前位置: 首页 > news >正文

Linux学习笔记及常用运维命令

本篇笔记是很早之前在b站看尚硅谷视频学习Linux时做的笔记以及后续常用的一些命令总结,在这里进行记录方便后续随时查看

一、Linux介绍

开源、免费的操作系统
优势:稳定性、安全性、多并发已得到业界认可。
创始人:林纳斯 Linus Torvalds
Linux内核→centOS(发行版)

unix→linux

二、centorOS终端的使用

查询Linux网络信息(ip、出口ip)
查看Linux ip地址命令:

ifconfig 
# eth0 (第一块网卡)

联网:
在centerOS中的Firefox可以联网,可以和外部的IP联通

动态分配

在这里插入图片描述

查询Linux出口ip

这里机器都需要可以访问到外网情况下,否则的话获取出口IP就没有什么意义了。

curl cip.cc

可以看到该请求方式获取到的信息非常详细,包括出口ip、包括运营商、地址等信息

IP  : 111.xxx.xxx.89
地址  : 中国  北京
运营商 : 联通数据二 : 北京市 | 联通数据三 : 中国北京北京 | 联通URL : http://www.cip.cc/111.xxx.xxx.89

直接返回出口ip:

curl ifconfig.io

三、Linux文件系统目录结构

Liniux 只有一个根目录 “/”,然后在此目录下再创建其它文件
在Linux世界里,一切皆文件

在这里插入图片描述

  • /bin:BInary缩写,这个目录存放着最经常使用的命令
  • /sbin:s→super user,这里存放着系统管理员使用的系统管理程序
  • /home:存放普通用户的主目录,在linux中每个用户都有一个自己的目录,一般该目录名儿是以用户的账号来命名的
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录
  • /lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都要用到这些共享库
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存了一些文件
  • /etc:所有的系统管理所需要的配置文件和子目录
  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于Windows下的program flies目录
  • /boot:存放的是启动Linux时使用的一些核心文件,包括一些连接文件和镜像文件
  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息
  • /srv:serve缩写,该目录存放一些服务启动需要提取的数据
  • /sys:这是linux2.6内核的一个很大变化,该目录下安装了2.6内核中新出现的一个文件系统
  • /tmp:这个目录是用来存放一些临时文件的
  • /dev:类似于Windows的设备管理器,把所有的硬件用文件的形式存储
  • /media:linux系统会自动识别一些设备,例如U盘光驱等等,当识别后,linux会把这些识别的设备挂载到这个目录下
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储·挂载到/mnt/上,然后进入该目录就可以查看里面的内容了
  • /opt: 这是给主机额外安装软件所摆放的目录,如安装Oracle数据库,就可以安装到该目录下。默认为空
  • /usr/local:这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序
  • /var:这个 目录中存放着不断扩充着的东西,习惯将经常被修改的目录,放在这个目录下。包括各种日志文件
  • /selinux:security-enhanced linux SElinux是一种安全子系统,它能控制程序只能访问特定文件
  • /www:存放服务器网站相关的资源,环境,网站的项目
  • /proc /srv /sys 不要动,动了系统可能会出现问题

总结:
1、linux的目录中有且只有一个根目录
2、linux的各个目录存放的内容是规划好的,不要乱放
3、linux是以文件的形式管理我们的设备,因此linux系统,一切皆为文件
4、linux的各个文件目录下存放什么内容,必须要有所认识
5、学习后,脑海中要形成一颗linux目录树

四、远程登录

在这里插入图片描述

理论上可以有65535个端口,端口开的越多,安全性越差。

五、Vi和Vim 编辑器

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

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

vi和vim的三种常见模式

正常模式、插入(编辑)模式、命令行模式

  • 正常模式:
    在正常模式下,我们可以使用快捷键。以vim打开一个文档就进入了正常模式(默认的模式),可以使用上下左右按键来移动光标,可以使用删除字符或删除整行来处理文件内容,也可以使用复制粘贴来处理文件数据。(vim打开文件→vim ok.java)
  • 插入\编辑模式:
    按下i、o、a、r等任何一个大或小写字母都可以进入该模式,一般按i。
  • 命令行模式:
    在这个模式中可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作都是在此模式中完的。
    (ll显示当前文件)

vi和vim的相互转换

在这里插入图片描述

  • :wq 写入并退出
  • :q 退出(打开看了一眼并未修改)
  • :q !强制退出(打开做了修改但不想保存)

VIM基本使用:新建或者编辑文件,按i进入编辑模式,编写内容,编写完成后退出编辑模式,esc,退出之后进入底线命令模式:wq保存退出!

快捷键使用案例:

  1. 拷贝 当前行 yy, 拷贝当前行向下的五行 5yy 并粘贴 p
  2. 删除当前行dd 删除当前行向下的5行 5dd
  3. 在文件中查找某个单词,(先进入命令行) /hello 回车 → 查找文件中的hello,输入n就是查找下一个
  4. 设置文件的行号:set nu 取消文件的行号 :set nonu
  5. 使用快捷键到文档的最末行 G 或首行 gg。(在正常模式下执行)
  6. 在文件中输入hello 再撤销, 在正常模式下输入u撤销
  7. 编辑 /etc/profile文件,并将光标移动到第20行 shift+g
    第一步::set nu 显示行号
    第二步:输入 20 这个数
    第三步:shift+g

六、关机&重启命令

基本介绍:

  • shutdown
    • shutdown -h now: 表示立即关机
    • shutdown -h 1 :表示1分钟后关机
    • shutdown -r now :立即重启
  • halt
    直接使用,效果等价于关机
  • reboot
    就是重启系统
  • sync 把内存的数据同步到磁盘

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

七、用户管理

用户登录和注销

  1. 登录时尽量少用root账号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用"su - 用户名" 命令来切换成系统管理员身份
  2. 在提示符下输入logout即可注销用户
    使用细节:1、logout指令在图形运行级别无效,在运行级别3下有效

创建用户指定密码

基本介绍:

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

用户管理规则:
在这里插入图片描述

添加用户:
基本语法

  • useradd [选项] 用户名 (中括号内容可以不写)
    Ex: useradd xiaoming
    细节说明:当创建用户成功后,会自动的创建和用户同名的home目录,也可以通过useradd -d指定目录。
  • 新的用户名,给新创建的用户指定home目录。
    Ex:useradd -d /home/dog xq
  • 指定/修改密码
    passwd 用户名
  • 删除用户
    userdel 用户名
    Ex:删除用户xm,但是要保留home目录
  • userdel xm
    删除用户xq以及用户主目录
  • userdel -r xq
    (删除用户时,一般都要保留home目录)

查询用户信息:
基本语法: id 用户名

  • 切换用户
    在操作Linux中,如果当前用户的权限不够,可以通过su-指令,切换到高权限用户,比如root
    基本语法:su - 切换用户名
    细节说明:
    从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
    当需要返回到原来用户时,使用exit指令
  • 查看当前用户/登录用户
    基本语法:
whoami/who am i
  • 用户组
    • 介绍:类似于角色,系统可以对有共性的多个用户进行统一的管理
    • 新增组:基本语法:groupadd 组名
    • 删除组:基本语法:groupdel 组名
    • 增加用户时直接加上组:useradd -g 用户组 用户名
  • 修改用户组
    基本语法: usermod -g 用户组 用户名
  • 用户和组的相关文件
    /etc/passwd 文件
  • 用户(user)的配置文件,记录用户的各种信息
    每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
    /etc/shadow 文件
  • 口令的配置文件
    每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
  • /etc/group 文件
    组(group)的配置文件,记录Linux包含的组的信息
    每行含义:组名:口令:组标识号:组内用户列表

八、运行级别和找回root密码

运行级别说明:

0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittab的id:5:initdefault:这一行中的数字
命令:init[012356]

在这里插入图片描述

如何找回root密码

开机 -> 在引导时 按回车键 -> 看到一个界面输入e -> 看到一个新界面,选中第二行(编辑内核)再输入 e -> 在这行最后输入 1,再按 回车键 -> 再次输入b,这时就会进入到单用户模式。

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

九、实用指令

帮助指令

  • man 获得帮助信息
    基本语法:man命令或配置文件
  • help 指令
    基本语法:help命令(功能描述:获得shell内置命令的帮助信息)
  • pwd ls cd
    • pwd 功能描述:显示当前工作目录的绝对路径
    • ls [选项] [目录或是文件]
      常用选项
      -a:显示当前目录所有的文件和目录,包括隐藏的
      -l:以列表的方式显示信息
      cd [参数] 切换到指定目录
      常用参数
      绝对路径和相对路径
      cd~或者cd : 回到自己的home目录
      cd… 回到当前目录的上一级目录
  • mkdir rmdir
    mkdir 用于创建目录
    mkdir [选项] 要创建的目录
    常用选项
    -p : 创建多级目录
    rmdir 删除空目录
    rmdir -p 递归删除目录
    rmdir [选项] 要删除的空目录
    使用细节:rmdir 删除的是空目录,如果目录下有内容时无法删除
    (如果需要删除非空目录,需要使用 rm-rf要删除的目录)
  • touch cp
    • touch
      touch 创建空文件
      touch 文件名称
    • cp
      cp 拷贝文件到指定目录
      cp [选项] source dest
      常用选项
      -r : 递归复制整个文件夹
      在这里插入图片描述

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

  • rm mv
    • rm 删除文件或目录
      rm [选项] 要删除的文件或目录
      常用选项
      -rf :递归删除整个文件夹
      -f :强制删除不提示
    • mv 移动文件与目录或重命名
      mv oldNameFile newNameFile 重命名
      mv /temp/moveFile/targetFolder 移动文件
  • 重定向和追加
>和>>
> 输出重定向:会将原来的文件的内容覆盖
>> 不会覆盖原来文件的内容,而是追加到文件的尾部
ls -l > 文件 (列表的内容写入文件中(覆盖写))
ls -al >> 文件 (列表的内容追加到文件末尾)
cat 文件1 > 文件2 (将文件1的内容覆盖到文件2)
echo ”内容“>>文件 (将内容追加到文件末尾)
  • echo head tail
    • echo 输出内容到控制台
      echo [选项] [输出内容]
    • head 用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
      head 文件 (查看文件头10行内容)
      head -n 5 文件 (查看文件头5行内容,5可以是任意行数)
    • tail
      tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容
      tail 文件 (查看文件后10行内容)
      tail -n 5 文件 (查看文件后5行内容,5可以是任意数)
      tail - f 文件 (实时追踪该文档的所有更新,经常使用)
  • ln history
    • ln 软链接也叫符号链接,类似于windows里的快捷方式,主要存放了链接其它文件的路径
      ln -s [原文件或目录] [软链接名] (给原文件创建一个软链接)
      细节:当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录
    • history 查看已经执行过的历史命令
      history
  • date cal
    • date 显示当前日期
      date (显示当前时间)
      date +%Y(显示当前年份)
      date +%m (显示当前月份)
      date +%d (显示当前是哪一天)
      date ”+%Y-%m-%d %H:%M:%S“ (显示年月日时分秒)
    • cal 查看日历
      cal [选项] (不加选项,显示本月日历)
  • find locate grep 管道符|
    • find 将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端
      find [搜索范围] [选项]
      常用选项
      在这里插入图片描述
      在这里插入图片描述

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

    • grep 管道符号|
      grep 过滤查找,管道符 ”|“ 表示将前一个命令的处理结果输出传递给后面的命令处理
      grep [选项] 查找内容 源文件
      常用选项
      选项功能-n显示匹配行及行号-i忽略字母大小写

  • 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)
    选项说明
    在这里插入图片描述
    在这里插入图片描述
  • ifconfig 查看网络配置
  • 文件内容查看命令总结
    cat 由第一行开始显示文件内容,用来读文章,或者读取配置文件
    tac 从最后一行开始显示,可以看出tac 是 cat 的倒着写
    nl 显示的时候疏导输出行号
    more 一页一页的显示文件内容,,带余下内容的(空格代表翻页,enter代表向下看一行,:f行号。
    q 命令 退出。
    查找字符串 /要查找的字符 n继续查找下一个,N向上查找)
    less与more类似,但是比more更好的是,它可以往前翻页
    head 只看头几行
    tail 只看尾巴几行

十、组管理和权限管理

Linux组基本介绍

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

在这里插入图片描述

2、组的创建

groupadd 组名

3、文件/目录所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者
4、查看文件的所有者

 ls -ahl

5、修改文件所有者

chown 用户名 文件名

6、修改文件所在的组

chgrp 组名 文件名

7、其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
8、改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组
改变用户所在组

usermod -g 组名 用户名
usermod -d 目录名 用户名 改变该用户登录的初始目录

权限(文件和目录)的基本介绍

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

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

0-9位说明
1)第0位确定文件类型(d,-,l,c,b)
d:目录 -:普通文件 l:软链接 c:字符设备 键盘鼠标等 b:块文件 硬盘等
2)第1-3位确定所有者(该文件的所有者)拥有该文件的权限。–User
3)第4-6位确定所属组(同用户组的)拥有该文件的权限 --Group
4)第7-9位确定其他用户拥有该文件的权限 --Other
10个字符确定不同用户能对文件干什么
第一个字符代表文件类型
其余字符每3个一组
第一组rwx:文件拥有者的权限是读、写和执行
第二组rw-:与文件拥有者同一组的用户的权限是读、写但不能执行
第三组r–:不与文件拥有者同组的其他用户的权限是读 不能写和执行

在这里插入图片描述

rwx作用到文件
1)[r] 代表可读(read):可以读取,查看
2)[w] 代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
3)[x] 代表可执行(execute):可以被执行
rwx作用到目录
1)[r] 代表可读(read):可以读取,ls查看目录内容
2)[w] 代表可写(write):可以修改,目录内创建+删除+重命名目录
3)[x] 代表可执行(execute):可以进入该目录

chmod修改文件9个属性
r:4 w:2 x:1
赋予study文件所有用户 所有权限
chmod 777 study

十一、定时任务调度

介绍

  1. crontab简介
    crontab是Cron Table的缩写,是一个用于设置、维护或检查用户的定时任务的命令。通过编辑crontab文件,用户可以指定在特定时间或间隔内要执行的命令或脚本。
  2. crond简介
    crond是Cron Daemon的缩写,是Linux下的一个守护进程,它负责周期性地检查并执行crontab中定义的定时任务。换句话说,crontab定义了任务,而crond则负责执行这些任务。

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

任务调度分类:
1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份

crontab

crontab[选项]
常用选项
在这里插入图片描述

crond 任务调度

快速入门:
设置任务调度文件

/etc/crontab

设置个人任务调度

  1. 执行crontab -e命令
  2. 接着输入任务到调度文件
    如:
*/1****ls -l/etc/>/tmp/to.txt

意思说每小时的每分钟执行ls -l/etc/>/tmp/to.txt命令

5个占位符的说明
在这里插入图片描述

特殊符号的说明
在这里插入图片描述
crond 相关指令
1)conrtab -r:终止任务调度
2)crontab -l:列出当前有哪些任务调度
3)service crond restart [重启任务调度]

十二、磁盘分区、挂载

分区

分区的方式

  • mbr分区:
    1. 最多支持四个主分区
    2. 系统只能安装在主分区
    3. 扩展分区要占一个主分区
    4. 4.MBR最大只支持2TB,但拥有最好的兼容性
  • gtp分区:
    1. 支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
    2. 最大支持18EB的大容量(EB=1024PB,PB=1024TB)
    3. windows7 64位以后支持gtp
  • Linux分区:
    1、Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分
    2、Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得

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

十三、磁盘查询实用指令

  • df(列出文件系统整体的磁盘使用量) du(检查磁盘空间使用)

    • 查询系统整体磁盘实用情况
      df-h
    • 查询指定目录的磁盘占用情况
      du-h /目录
  • 查询制动目录的磁盘占用情况,默认为当前目录
    -s 指定目录占用大小汇总
    -h 带计量单位
    -a 含文件

  • –max-depth=1 子目录深度
    -c 列出明细的同时,增加汇总值
    Ex:
    1、统计/home文件夹下文件的个数

ls -l /home | grep "^-" | wc -l
  1. 统计/home文件夹下目录的个数
ls -l /home | grep "^d" | wc -l

Mac 或者Linux挂载我们的一些本地磁盘或者文件(比如u盘识别不出来的话)
使用 mount 命令
挂载 mount
卸载 umount

十四、网络配置原理和说明

Linux网络配置原理图(含虚拟机)

目前我们的网络配置采用的是NAT(Network Address Translation 网络地址转换协议)
在这里插入图片描述

十五、Linux进程管理

什么是进程?

1、在Linux中,每一个程序都是有自己的一个进程,每一个进程都有一个id号
2、每一个进程都会有一个父进程
3、进程可以有两种存在方式:前台!后台运行!
4、 一般的话服务都是后台运行的,基本的程序都是前台运行的
命令:

  • ps 查看当前系统中正在执行的各种进程的信息

    • ps-xx
      -a 显示当前终端运行的所有进程信息
      -u 以用户的信息显示进程
      -x 显示后台运行进程的参数

    • ps -aux 查看所有的进程
      ps -aux|grep mysql 查看mysql进程
      grep 查找文件中符合条件的字符串

    • ps -ef :可以查看到父进程的信息
      ps -ef|grep mysql

    • 进程树:
      pstree -pu
      -p 显示父id
      -u 显示用户组

  • 结束进程
    kill -9 进程的id

十六、环境安装

jdk安装

  1. 下载JDK rpm。
  2. 安装java环境
    检测当前系统是否存在java环境
java-version

如果有就需要卸载

# 检测jdk版本信息
rpm -qa|grep jdk
rpm -e --nodeps jdk_

卸载完毕后即可安装jdk

rpm -ivh rpm包

配置环境变量:

# 在文件最后面增加java的配置
vim /etc/profile   JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%lib;%JAVA_HOME%/jre/lib
PATH=$JAVA_HOME/bin;$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME

让这个配置文件生效

source/etc/profile

alternatives命令——安装多个JDK并随意切换

使用alternatives --config java命令,这条命令本身是选择JDK版本,当然选择的时候,就能看到当前服务器可以使用的JDK版本,无论是系统自带还是人工安装的。每个JDK之前都有一个序号,选择不同的序号,就是选择对应的JDK。

alternatives --config java
# 若提示alternatives找不到则执行以下命令
update-alternatives --config java
# 将已安装的jdk装入alternatives列表中
alternatives --install /usr/bin/java java jdk路径/bin/java 编号
# 如:
alternatives --install /usr/bin/java java /home/software/jdk/jdk1.8.0_211/bin/java 3

Tomcat安装

ssm war 就需要放到tomcat中运行

  1. 下载tomcat
  2. 解压这个文件
tar -zxvf apache-tomcat-9.0.22.tar.gz
  1. 启动tomcat测试
    ./xxx.sh 脚本运行即可
#执行:
./startup.sh
#停止:
./shutdown.sh

防火墙开启端口

查看firewall服务状态

systemctl status firewalld

开启、重启、关闭、firewalld.service服务

# 开启
service firewalld start
# 重启
service firewalld restatr
# 关闭
service firewalld stop

查看防火墙规则

# 查看全部信息
firewall-cmd --list-all
# 只查看端口信息
firewall-cmd --list-ports

开启端口

# 开启端口命令
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 关闭端口命令
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
# 只允许指定ip访问该端口
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="172.12.7.80" port protocol="tcp" port="8081" accept' --permanent
# 重启防火墙
systemctl restart firewalld.service

命令含义:
–zone 作用域
–add-port=8080/tcp 添加端口,格式为:端口/通讯协议
– permanent 永久生效,没有此参数重启后失效

补充:rpm与yum的区别

区别:
rpm适用于所有环境,而yum要有本地yum源才可以使用。yum是上层管理工具,可以自动解决依赖性,而rpm是底层管理工具。

rpm

  1. 定义:
    全称:Redhat Package Manager,是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载升级等工作
  2. 缺点:
    rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时,rpm无法解决软件包的依赖关系
  3. rpm包的命名规范:name-verison-release.os.arch.rpm
    name:程序名称 version:程序版本号 release(发行号):用于标识rpm本身的发行号,与源程序的release号无关。
    os:即说明rpm包支持的操作系统版本 arch:主机平台。如:i686、x86_64、noarch等
    常用命令:
##安装
rpm     -ivh    name.rpm          ##安装 ,-v显示详细信息,-h指定加密方式为hash,以"#"号显示安装进度-replacepkgs              ##重新安装,替换原有的安装-ivh    name.rpm --force  ##强制安装,但不能忽略依赖性-ivh    name.rpm --nodeps ##忽略依赖性并且强制安装
##卸载-e      name              ##卸载
##更新-U      name              ##升级软件,若未软件尚未安装,则安装软件-F      name              ##升级软件
##查找和显示-q      name              ##查看-qa                       ##查询系统中安装的全部软件名称-qa |grep name            ##查询软件是否安装-qi     name              ##查看软件详细信息-qf     filename          ##查看filename属于哪个安装包-ql     name              ##查询软件包中所包含的文件-qp     name.rpm          ##查询软件包安装后的名字-qlp    name.rpm          ##查询软件安装后会生成什么文件
##检测 -Kv     name.rpm            ##检测软件包是否被篡改-qp     name.rpm --scripts  ##检测软件在安装或卸载过程中执行的动作
  1. rpm常用站点:
    http://mirrors.sohu.com
    http://rpmfind.net
    http://rpm.pbone.net/

yum

  1. 定义:
    Yum(Yellow dog Updater ,Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于rpm包管理,
    能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无需繁琐地一次次
    下载、安装。
  2. yum客户端
    yum的配置方式是基于分段配置的,主配置文件:/etc/yum.conf yum的片段配置:/etc/yum.repos.d/*.repo
    主配置文件:配置了一个特殊的仓库,名称为main。main是为其他仓库提供默认的全局配置的。

配置文件说明:

[main]       //main仓库。[ ]中括号表示一个仓库的定义。其中是仓库的名称。
cachedir=/var/cache/yum/$basearch/$releasever    
//RPM包的缓存位置。
keepcache=0     
//RPM包在本地是否需要长期保存。1表示yes,0表示no。
debuglevel=2 
//日志级别。
logfile=/var/log/yum.log    
//日志文件。
exactarch=1 
//下载的RPM包是否需要与本地平台完全匹配。1表示yes,0表示no。
obsoletes=1 gpgcheck=1 
//是否需要自动来源合法性检测。
plugins=1 installonly_limit=5 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bdistroverpkg=centos-release

CentOS-Base.repo配置文件:

[xxx]:仓库的名称,不能重复
name:对仓库的描述,该项必须有。
baseurl:配置仓库的路径。用于指定一个url。
mirrorlist:指向一个镜像列表,里面有多个url。
enabled:是否启用当前仓库。值为1或0,默认为1。
gpgcheck:是否需要gpg校验。值为1或0,默认为1。gpgkey:验证RPM包的密钥文件路径。该文件可以在远处服务器上,也可以在本地。
cost:代价,其本质是仓库优先级的配置。值越低,表示访问的代价越低,也即优先使用。注意:配置文件中的"="号的前后不能有空格。
[base]name=CentOS 6.4 x86_64baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.4-x86_64/enabled=1gpgcheck=0
  1. 常用命令:
#1.安装
yum install   全部安装
yum install package1 仅安装指定的安装包package1
yum groupinsall group1 仅安装程序组group1#1.更新和升级
yum update 全部更新
yum update package1 仅更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 仅升级指定程序包package1
yum groupupdate group1 升级程序组group1#3.查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list installed   显示已经安装的程序包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包#4.删除程序
yum remove package1  删除软件包page1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况#5.清除缓存
yum clean packages   清除缓存目录下的软件包
yum clean headers    清除缓存目录下的 headers
yum clean oldheaders    清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders)    清除缓存目录下的软件包及旧的headers

十七、jstat命令

jstat是JDK自带的一个轻量级小工具。全称 Java Machine statistics monitoring tool ,它位于java的bin目录下,主要利用JVM内的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具。

使用时,需加上查看进程的进程id

jstat -options pid
# 如:jstat -gc 709

十八、Linux运维常用命令总结

  1. 按文件大小排序
du -s ./* | sort -nr
  1. 查看目录下文件夹占用存储大小
du --max-depth=1 -h
  1. 根据jar名称查找jar位置
    hello为jar包名
ll "/proc/$(jps -l |grep 'hello'|cut -d' ' -f1)/cwd"
  1. 根据端口号查pid/根据pid查端口号
netstat -tunlp | grep 端口号/pid
  1. 根据pid查应用名称
ps axu | grep pid
  1. 一行命令批量杀掉进程
ps -ef | grep flask | grep -v grep | awk '{print $2}' | xargs kill -9

在这里插入图片描述

  1. 批量删除文件
    当目录下文件太多时,用rm删除文件会报错:
    -bash: /bin/rm: Argument list too long 提示文件数目太多。
ls | xargs -n 10 rm -fr ls

输出所有的文件名(用空格分割) xargs就是将ls的输出,每10个为一组(以空格为分隔符),作为rm -rf的参数也就是说将所有文件名10个为一组,由rm -rf删除

  1. 查看ssh端口以及ssh白名单
cat /etc/ssh/sshd_config
cat /etc/hosts.allow 

数据盘挂载实操

  1. lsblk 查看需要挂载的磁盘硬件名
  2. 查看 lsblk -f 是什么文件格式,如果是ext4直接走下一步,如果不是开始初始化
    初始化
mkfs.ext4 /dev/vdb

执行完再执行 lsblk -f 查看

 lsblk -f 
  1. 创建需要挂载的目录 /data2
  2. 执行挂载命令 mount /dev/vdb /data2
  3. 永久挂载
    如果希望系统重启后仍然保持挂载状态,需要将挂载信息写入 /etc/fstab 文件。编辑 /etc/fstab 文件并添加一行类似于以下内容的条目:
/dev/vdb    /data2    ext4    defaults    0    0
http://www.dtcms.com/a/521487.html

相关文章:

  • 【Android】横竖屏切换时生命周期变化
  • 购物网站建设 成都那家公司做网站比较好
  • 网站开发合同注意网站怎么搭建
  • SpringBoot-Web开发之嵌入式容器
  • 网站整站建设廊坊企业网站服务
  • 做门户网站的公司有哪些论坛做视频网站有哪些
  • OBS弹幕助手下载,OBS弹幕助手安装使用教程,OBS语音读弹幕,OBS语音助手下载地址
  • 百度网站推广外包织梦的网站收录不好
  • 欢迎访问中国建设银行网站个人客户鹤壁专业做网站多少钱
  • wordpress 添加图片水印seo网络优化是做什么的
  • Spring Boot Actuator:打造高效监控系统
  • 凡客衬衫官方网站东莞五金网站建设
  • 怎么找网站建设宁夏交通厅建设局网站
  • 使用 n8n 构建自动化科技新闻速览工作流:从 RSS 到 AI 摘要生成与文件存储
  • mysy配置C++
  • 做html网站模板咸阳市城市建设管理局网站
  • 做英文网站有哪些网站建设必须买主机吗
  • 深圳做小程序网站开发服装设计效果图
  • 公司网站首页图片素材台州网站建设公司
  • 项目——基于C/S架构的预约系统平台 (1)
  • 机器学习预测波动率辅助ETF动态止损边界设定
  • 搭建网站一条龙柳江网站开发
  • 网站建设木马科技做美妆网站的关键词
  • 区块链的专业名字从基础到应用​​,从​​技术到生态
  • php个人网站源码带音乐如何去国外网站看内容
  • 关于我们 About Techub News
  • 大腾智能PDM在华为云生态中的应用实践——旭派锂能研发管理数字化转型
  • 椭圆曲线密码学的效率核心:单标量与多标量乘法详解
  • 期货看盘和下单简要说明
  • c2c网站系统芜湖哪家公司做网站不错