Linux

Linux(VMware Centos7)

一、VM ware安装

一、选择自定义高级,下一步
VM ware安装图1
二、选择Workstation 12.x,下一步
VM ware安装图2
三、选择稍后安装操作系统,下一步
VM ware安装图3
四、选择Linux,(注意)根据Centos的版本选择,这里选择的是Centos7 64 位,下一步
VM ware安装图4
五、编辑虚拟机名称(字母、数字),位置(路径不要有中文,不要有空格),下一步
VM ware安装图5
六、根据电脑配置,选择内核数。(本机8核)
VM ware安装图6
七、根据配置选择,下一步
VM ware安装图7
八、网络类型选择NAT,下一步
VM ware安装图8
九、默认,下一步
VM ware安装图9
十、默认选项,下一步
VM ware安装图10
十一、选择创建新虚拟磁盘
VM ware安装图11
十二、不要勾选立即分配所有磁盘空间
VM ware安装图12
十三、下一步
VM ware安装图13
十四、点击完成
VM ware安装图14
十五、点击’编辑虚拟机,点击“设置”,选中映像文件,点击确认
VM ware安装图15
十六、启动虚拟机
十七、Windows系统崩溃×2 烦😡😡😡
十八、崩溃原因及解决方法
原因:win10系统 与 VMware 不能很好兼容导致机器崩溃
解决方法:点击“虚拟机”,点击“设置”,将“打印机” 、“USB控制器”移除,确定。
在这里插入图片描述

安装vim

不同类型文件名会变色

 yum install vim -y

关闭防火墙

关闭防火墙:systemctl stop firewalld

禁用 selinux

selinux是一个增强的Linux安全子系统,当不需要这个服务时候,将它关闭。
首先在命令行输入:getenforce查看selinux的状态:
状态应为:Enforcing (强制执行)
在命令行输入:vim /etc/selinux/config编辑selinux的配置文件

在这里插入图片描述
SELINUX=enforcing (selinux状态)

状态效果
enforcing受selinux保护,违反规则,就无法继续操作
permissive提示系统不再受selinux保护,违反规则,可继续操作,但违反规则的痕迹会被记录
disabled禁用selinux

SELINUXTYPE=targeted (定义selinux使用哪个策略模块保护系统)
targeted只对apache ,sendmail,bind,postgresql,nfs,cifs等网络服务保护。

Centos7网络配置

cat /etc/sysconfig/network-scripts/ifcfg-ens33

1、打开vmware,点击编辑->虚拟网络编辑
2、选中“NAT模式”,点击“更改设置”
3、点击“NAT设置”,查看“子网掩码”和“网关IP”,将其记录下来,后面需要用到
4、进入vmware界面,右击虚拟机,选择“设置”,将网络适配器更改为“NAT模式”
5、开启虚拟机,进入centos7
6、cd /etc/sysconfig/network-scripts 到目录下面找到ifcfg-ens*看开头的文件
7、vi ifcfg-ens33 编辑此文件,添加如下配置,红色部分为更改内容,绿色部分为添加的内容:
IPADDR是ip,最后一位随便取,但该ip必须和网关在同一网段
GATEWAY是网关ip,就是3中记录的内容
NETMASK是子网掩码,就是3中记录的内容
DNS1是dns服务器,一般设置为114.114.114.114、114.114.115.115和8.8.8.8等(其他的也可以,只不过这几个用的人比较多而已)
在这里插入图片描述

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=51581610-8015-41d6-bf88-5cef4f3a7f74
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.138.138 -- IP地址
GATEWAY=192.168.138.2 -- 网关IP	
NETMASK=255.255.255.0 -- 子网掩码
DNS1=114.114.114.114

8、执行“service network restart”重启网络或者直接重启虚拟机
9、输入“ping www.baidu.com”发现虚拟机已经可以联通外网了

修改主机名

命令:vim /etc/hostname
(查看当前主机名称:hostname

映射

命令:vi /etc/hosts 增加IP和主机的映射虚拟机的IP地址 主机名 例: 192.168.187.111 yz
重启后生效
ping 主机名 也可ping通

重启虚拟机

命令:reboot

安装net-tool

net-tool:工具包集合,包含ifconfig等命令
安装命令:yum install -y net-tools

如果希望windows也可以通过主机名来连接centos,进入
C:\Windows\System32\deivers\etc\hosts
写入IP地址 主机名 例:192.168.187.138 yz

安装epel-releaes

命令:yum install -y epel-release
如果yum.pid进程被锁定,就kill -9 被锁定的进程号,再重新执行命令yum install -y epel-release

相当于是一个软件仓库,大多数rpm包在官方repository中是找不到的,所以要安装epel-releaes 。

二、Linux基础篇

1、文件结构

1、Linux的文件系统是采用级层式的树状目录结构,在Linux的世界里,一切皆文件。
2、具体目录结构:
在这里插入图片描述

  • /bin(/usr/bin、/usr/local/bin),是Binary的缩写,这个目录存放着最常用的命令。
  • /sbin(/usr/sbin、/usr/local/sbin),s就是Super User的意思,这里存放着的是系统管理员使用的系统管理程序。
  • /home ,存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /root ,该目录为系统管理员 ,也称作超级权限者的用户主目录。
  • /boot ,存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /proc ,这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。
  • /srv ,service缩写,该目录存放一些服务启动之后需要提取的数据。
  • /sys ,这是Linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统ysfs。
  • /tmp ,这个目录是用来存放一些临时文件的。
  • /dev ,类似于windows的设备管理器,把所有的硬文件用文件的形式存储。
  • /media ,Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别的设备挂载到这个目录下。
  • /mnt ,系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的 内容了。
  • /opt ,这是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可放到该目录下。默认为空。
  • /usr/local ,这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
  • /var ,这个目录中存放着在不断扩充的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
  • /selinux ,SELinux是一种安全子系统,它能控制程序只能访问特定文件。
    3、Xshell是一款强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows 平台的TELNET协议。
    特别说明:使用Xshell连接上Linux的前提是Linux启用了SSHD服务,该服务会监听22号端口。
    4、Xftp是一个基于Windows平台的功能强大的SFTP、FTP文件传输软件。使用了Xftp以后,windows用户能安全地在Nuix/Linux和Windows
    PC之间传输文件。

2、vi和vim编辑器

1、所有的Linux系统都会内建vi文本编辑器。Vim具有程序编辑的能力,可以看作是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编辑及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
2、Vi和Vim的三种常见模式:
在这里插入图片描述
默认就是命令行模式,按i、a或o进入编辑模式,再按ESC返回到命令行模式。在命令行模式输入冒号切换到末行模式,再按ESC又返回到命令行模式。编辑模式和末行模式之间不能直接切换,只能通过命令行模式切换

  1. 命令行模式
命令说明
x、Xx是删除下一个字符,X是删除上一个字符如果想删除10个字符,那就" 10x "
dd剪切(删除)光标所在行如果想要删除20行,那就 " 20dd "
yy复制光标所在行如果想要复制20行,那就 " 20yy "
p、Pp是粘贴到下一行,P是粘贴到上一行
u撤销
Ctrl+r反撤销
.重复上一个动作
gg、Ggg是回到第一行,G是回到最后一行如果想要回到第20行,那就 " 20G "
y1G、yGy1G是复制当前行前面的所有数据,yG是复制当前行之后的全部数据
d1G、dGd1G是删除当前行前面的所有数据,dG是删除当前行之后的全部数据
v、V、Ctrl+vv是光标起始和结束之间的文本会被选中,V是光标起始和结束之间的所有行被选中,Ctrl+v是光标起始和结束之间构成的矩形区域被选中
  1. 编辑模式
命令说明
i、Ii是从光标所在位置开始输入,I是光标所在行第一个非空白字符开始输入
a、Aa是从光标所在的下一个字符开始输入,A是从光标所在行的最后一个字符开始输入
o、Oo是从光标所在行的下一行新的一行开始输入,O是从光标所在行的上一行新的一行开始输入
r、Rr是取代光标所在的字符一次,R是依次取代光标所在字符
  1. 末行模式
命令说明
:w保存
:q退出
:q!不保存强制退出
:wq 或 ZZ保存并退出
:set nu显示行号
:set nonu隐藏行号
:/搜索的文本搜索
:%s/要替换的字符/替换后的字符/g全局替换文本

3、关机&重启命令

  • shutdown -h now 立即进行关机
  • shutdown -h 1 一分钟后关机
  • shutdown -r now 立即重启
  • halt 关机
  • reboot 重启
  • sync 把内存的数据同步到磁盘

4、Linux用户

① 用户登录和注销

使用“su 用户名”命令切换用户。例:su jack, exit 指令可返回上一个用户。

在提示符下输入logout即可注销当前用户。

② 添加用户

命令:useradd 用户名;例:useradd xm
cd 表示change directory,切换目录。
用户创建成功后,会自动的创建和用户名同名的家目录
也可以通过useradd -d 指定目录 新的用户名,给新创建的用户指定家目录。

例:useradd -d /home/dog xq
passwd 用户名;例:passwd xm

③ 删除用户

userdel 用户名;例:userdel xm,效果:删除了用户xm,但保留了家目录
userdel -r xm 效果:删除用户xm及用户主目录

但,在删除用户时我们一般不会将家目录删除。

④ 查询用户信息

id 用户名; 例:id xm ,效果:uid 用户id号,gid所在组的ID号,组 组名

⑤ 切换用户

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

su 切换用户名,例:su xm;当需要返回到原来用户时,使用exit指令

⑥ 查看当前用户/登录用户

whoami/ who am i

⑦ 用户组

创建一个组groupadd 组名例:groupadd wudang
删除一个组groupdel 组名例:groupdel wudang

⑧ 增加用户时直接加上组

  • groupadd wudang创建wudang组
  • useradd -g wudang zwj创建一个名为zwj的用户并将它指定到wudang组中
  • id zwj 查询zwj用户的信息
  • cd/home 切换到home目录
  • ll 查看此目录下的文件

⑨ 修改用户组

指令:usermod -g 用户组 用户名

  • groupadd shaolin 创建shaolin组
  • usermod -g shaolin zwj 将zwj用户修改到shaolin组
  • id zwj 查看zwj用户的信息

⑩ 用户的组的相关文件

  • /etc/passwd 文件
    用户(user)的配置文件,记录用户的各种信息
    每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目 录:登录shell
  • /etc/shadow 文件
    口令配置文件
    每行的含义:登录名;加密命令;最后一次修改时间;最小时间间隔;最大时间间隔;警告时间;不活动时间;失效时间;标志
  • /etc/group 文件
    组(group)的配置文件,记录Linux包含的组的信息
    每行的含义:组名;口令;组标识号;组内用户列表

三、Linux 实操篇 实用指令

Linux系统运行级别的示意图
在这里插入图片描述

0:关机
1:单用户【找回丢失密码】
2:多用户无网络服务
3:多用户有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
系统的运行级别配置文件 /etc/inittab
切换到指定运行级别的指令init 【012356】括号中写需指定的运行级别
常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittab的
id:5:initdefault:这一行中的数字

1、帮助指令

当我们对某个指令不熟悉时,我们可以使用Linux提供的帮助指令来了解这个指令的使用方法。
1、 man 获取帮助信息
基础语法man 【命令或配置文件 】(功能描述,获取帮助信息) 例:man ls
2、help 指令
基础语法help 命令(功能描述,获得shell内置命令的帮助信息)例: help ls
3、百度

2、文件目录类指令

① pwd 指令

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

② ls 指令

基础语法ls 【选项】【目录或是文件】 (功能描述:显示当前文件和目录)例ls ; ls -l ; ls-a ; ls-al
常用选项(-a:显示当前所有的文件和目录,包括隐藏的。-l:以列表的方式显示信息)

③ cd 指令

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

常用参数

  • 绝对路径和相对路径
  • cd~ 或 cd :回到自己的家目录
  • cd… 回到当前目录的上一级目录
    在这里插入图片描述
    例:
  • 绝对路径到home目录cd /home
  • 相对路径到home目录cd ../home
  • 使用相对路径到 /root目录,这里我们需要知道现在我们在哪个目录下,假设在/usr/lib下,cd ../../root
  • 回到当前目录的上一级目录,cd ..
  • 回到家目录 cd 或 cd~

④ mkdir 指令

基础语法mkdir [选项] 要创建的目录 (功能描述:用于创建目录)
常用选项: -p :创建多级目录

  • 创建一个目录 /home/dog,mkdir /home/dog,表示在在/home目录下创建dog目录。
  • 创建多级目录 /home/animal/tiger,mkdir -p /home/animal/tiger,如果想一次性创建多级目录,加上-p。

⑤ rmdir 指令

基础语法 rmdir 【选项】 要删除的空目录 (功能描述:删除空目录)
注:rmdir 删除的是空目录,如果目录下有内容时是无法删除的。
注:如果需要删除的是非空目录,需要使用 rm -rf 来删除。

  • 删除一个目录 /home/dog ,rmdir /home/dog
  • 删除有文件的/home/dog,rm -rf /home/dog

⑥ touch 指令

基础语法 touch 文件名称

  • 创建一个空文件hello.text touch hello.text
  • 可以一次性创建多个文件touch ok.1 ok.2 ok.3

⑦ cp 指令

基础语法cp [选项] source dest (功能描述:拷贝文件到指定目录) source代表原文件夹,dest表示要拷贝到的新文件夹
常用选项 -r :递归复制整个文件夹

  • 将 /home/aaa.txt 拷贝到 /home/bbb 目录下 cp aaa.txt bbb/ 表示将当前目录的aaa.txt文件拷贝到当前目录的bbb目录下
  • 递归复制整个文件夹,将/home/test 整个目录拷贝到 /home/zwj 目录,cp -r test/ zwj/ (注意当前目录位置,然后准确定位源目录和目标目录 )
  • 当拷贝的文件在目标文件夹中有重命名文件夹,会询问是否将重名文件夹覆盖,若不想弹出此提示,且已确定全部覆盖可使用 强制覆盖不提示的方法:\cp, 例\cp -r test/ zwj/
    技术小技巧:可以通过 上下箭头键,调出原来使用过的命令。

⑧ rm 指令

基本语法rm [选项] 要删除的文件或目录 (功能描述:移除文件或目录)
常用选项 -r 递归删除整个文件夹 -f 强制删除不提示

  • 将/home/aaa.txt 删除 rm aaa.txt
  • 递归删除整个文件夹 /home/bbb rm -rf bbb/

⑨ mv 指令

基础语法 mv oldNameFile newNameFile (功能描述:重命名)
基础语法 mv /temp/movefile/targetFolder (功能描述:移动文件)

  • 将/home/aaa.txt文件 重新命名为pig.txt mv aaa.txt pig.txt
  • 将 /home/pig.txt文件 移动到 /root 目录下 mv pig.txt /root/

⑩ cat 指令

基础语法 cat 【选项】 要查看的文件 (功能描述:查看文件内容)
常用选项 -n 显示行号

  • /etc/profile 文件内容,并显示行号 cat -n /etc/profile
  • cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more 例: cat -n/etc/profile | more

⑪ more 指令

基础语法 more 要查看的文件声明 (功能描述:more指令是一个基于Vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键

  • 空格键 (space)代表向下翻一页
  • Enter 代表向下翻一行
  • q 代表立即离开more,不再显示该文件内容
  • ctrl+F 向下滚动一屏
  • ctrl+B 返回上一屏
  • = 输出当前行的行号
  • :f 输出文件名和当前行的行号

  • 采用more查看文件 /ect/profile more /etc/profile

⑫ less 指令

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

  • 采用less查看一个大文件 /opt/钢铁是怎样炼成的.txt less /opt/钢铁是怎样练成的.txt
  • 进入less命令后的快捷键使用(
  • 空格键 向下翻动一页
  • pagedown 向下翻动一页
  • pageup 向上翻动一页
  • /字串 向下搜寻【字串】的功能 n:向下查找 N:向上查找
  • ?字串 向上搜寻【字串】的功能 n:向上查找 N:向下查找
  • q 离开less程序

⑬ > 输出重定向 指令和 >> 追加 指令

基本语法
ls -l > 文件 功能描述:列表的内容写入文件a.txt中==(覆盖)==
ls -al >> 文件 功能描述:列表的内容追加到文件aa.txt的末尾==(追加)==
cat 文件1 > 文件2 功能描述:将文件1的内容覆盖到文件2
echo “内容” >> 文件 功能描述:直接将内容追加到文件内容中

  • ls -l > a.txt ,将ls -l 的显示的内容覆盖写入到a.txt文件中,如果没有a.txt文件,系统会自动生成
  • echo "Helo,world" >> c.txt 效果:在c.txt 文件的内容中会多一行“Hello,world”
  • 将/home目录下的文件列表写入到/home/info.txt中 ls -l /home/>/home/info.txt
  • 将当前日历信息追加到/home/mycal文件中【提示cal】cal >>/home/mycal cal指令:显示当前日期信息

⑭ echo 指令

基本语法echo [选项][输出内容] 功能描述(echo输出内容到控制台)

  • 使用echo指令输出环境变量,输出当前的环境路径。 echo $PATH
  • 使用echo指令输出 hello,world echo "Hello,world"

⑮ head 指令

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

⑯ tail 指令

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

  • 查看/etc/profile 最后5行的代码 tail -n 5 /etc/profile
  • 实时监控mydate.txt, tail -f mydate.txt

⑰ ln 指令

功能描述:软链接也叫符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
基本语法ln -s [原文件或目录] [软链接名] 功能描述(给原文创建一个软链接)

  • 在/home 目录下创建一个软连接 linkToRoot,连接到 /root目录 ln -s /root linkToRoot
  • 删除软连接linkToRoot rm -rf linkToRoot
    注: 当我们使用pwd指令查看目录时,仍然看到的是软连接所在目录。

⑱ history 指令

功能描述:查看已经执行过的历史命令,也可以执行历史指令
基础语法 history

  • 显示所有的历史命令 history
  • 显示最近使用过的10个指令 history 10
  • 执行历史编号为5的指令 例: !143 相当于执行编号为178的clear指令
    在这里插入图片描述

3、时间日期类

① date 指令 (显示时间)

功能描述:显示当前日期
基础语法
date 功能描述:显示当前时间
date +%Y 功能描述:显示当前年份
date +%m 功能描述:显示当前月份
date +%d 功能描述:显示当前是那一天
date "+%Y-%m-%d %H:%M:%S" 功能描述:显示年月日时分秒

  • 显示当前时间信息 date
  • 显示当前时间年月日 date +%Y-%m-%d
  • 显示当前时间年月日时分秒 date "+%Y-%m-%d %H:%M:%S"

② date 指令 (设置时间)

功能描述:设置时间
基础语法 date -s 字符串时间

  • 设置系统当前时间,比如设置成2020-11-11 11:22:22 `` date -s "2020-11-11 11:22:22"

③ cal 指令 (日历指令)

功能描述:查看日历指令
基本语法 cal [选项] 选项=年份 例:2029

  • 显示当前日历信息 cal
  • 显示2023年日历 cal 2023

4、搜索查找类

① find 指令

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

选项功能
-name<查询方式>按照指定的文件名查找模式查找文件
-user<用户名>查找属于指定用户名所有文件
-size<文件大小>按照指定的文件大小查找文件
  • 按文件名,根据名称查找/home目录下的hello.txt文件 find /home -name hello.txt
  • 按拥有者,查找/opt目录下,用户名称为nobady的文件 find /opt -user nobady
  • 查找整个Linux系统下大于20M的文件(+n大于 -n小于 n等于)find / -size +20

② locate 指令

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

  • 请使用locate指令快速定位hello.txt 文件所在目录 locate hello.txt

③ grep指令和管道符号 |

功能描述:grep 过滤查询;管道符"|" 表示将前一个命令的处理结果输出传递给后面的命令处理 。
基本语法grep [选项] 查找内容 原文件
常用选项

选项功能
-n显示匹配行及行号
-i忽略字母大小写
  • 在hello.txt 文件中,查找“Yes”所在行,并且显示行号 grep -n Yes hello.txt

5、压缩和解压缩类

① gzip / gunzip 指令

功能描述:gzip 压缩文件 gunzip 解压文件
注:使用gzip指令压缩文件后不会保留源文件
基础语法
gzip 文件 功能描述(压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz 功能描述 (解压缩文件命令)

  • gzip压缩,将/home下的hello.txt文件进行压缩 gzip hello.txt
  • gunzip压缩,将/home下的hello.txt.gz文件进行解压缩 gunzip hello.txt.gz

② zip / unzip 指令

功能描述: zip 压缩文件 unzip解压文件 ,在项目打包中常用到
基本语法
zip [选项] XXX.zip 将要压缩的内容 功能描述(压缩文件和目录的命令)
unzip [选项] XXX.zip 功能描述(解压缩文件)
zip常用选项: -r 递归压缩 ,即压缩目录
unzip常用选项: -d <目录>:指定解压后文件的存放目录

  • 将/home 下的所有文件进行压缩成 mypackage.zip zip -r mypackage.zip /home/
  • 将mypackgz.zip 解压到/opt/tmp目录下 unzip -d /opt/tmp/ mypackage.zip

③ tar 指令

功能描述:打包指令,最后打包后的文件是 .tar.gz的文件。
基本语法tar [选项] .tar.gz 文件名 功能描述(打包目录,压缩后的文件格式 .tar.gz)

  • 选项说明
  • XVF 将tar文件解包
  • ZCVF 将文件打包
  • 将tar文件包解压到其他目录下时,要加参数-C,例:tar -xvf a.txt.gz -C /root/
选项功能
-c打包.tar文件
-x解开.tar文件
-f指定压缩后的文件名
-z打包同时压缩
-v显示详细信息
  • 压缩多个文件,将/home/a1.txt和/home/a2.txt压缩成a.tar.gz 例: tar -zcvf a.tar.gz a1.txt a2.txt
  • 将/home的文件夹压缩成myhome.tar.gz 例:tar -cvfz myhome.tar.gz /home/
  • 将a.tar.gz解压到当前目录 例: tar -xvf a.tar.gz
  • 将myhome.tar.gz 解压到 /opt/ 目录下 tar -xvf a.tar.gz -c /opt/

6、组管理

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

① 查看文件所有者

指令:ls -ahl
实例:
1、创建一个组,组名为police groupadd police
2、在police组新添加用户,用户名为tom useradd -g police tom
3、设置tom用户的密码 passwd tom
4、进入tom用户的家目录 cd /home/tom/
5、在tom用户的家目录中新建文件 touch hello.txt
6、查看文件的所属信息 ls -ahl
在这里插入图片描述

② 修改文件所有者

指令:chown 用户名 文件名
实例:
1、使用root创建新的文件,文件名为apple.txt touch apple.txt
在这里插入图片描述

2、修改apple.txt 文件的所有者 chown tom apple.txt
在这里插入图片描述

③ 组的创建

指令:groupadd 组名
实例:
1、创建一个新组monster groupadd monster
2、创建一个新用户fox,并放入到monster 组中 useradd -g monster fox
3、查看fox用户信息 id fox

④ 查看文件/目录所在组

指令;ls -ahl

⑤ 修改文件所在组

指令:chgrp 组名 文件名
实例:
1、使用root用户创建文件 orange.txt touch orange.txt
2、查看orange.txt文件属于哪个组 ls -ahl
3、将orange.txt文件所在组修改到 police组 chgrp police orange.txt
在这里插入图片描述
在这里插入图片描述

⑥ 其他组

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

⑦ 改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。
指令:usermod -g 组名 用户名
指令:usermod -d 目录名 用户名 (改变该用户登录的初始目录)
实例:
1、创建一个土匪组,组名为bandit groupadd bandit
在这里插入图片描述
2、将tom用户从原来组修改至土匪组 usermod -g bandit tom
在这里插入图片描述

7、权限管理

① 权限的基本介绍

在这里插入图片描述
从左至右:
" - "表示文件的类型 (- 普通文件 d: 目录 l: 软连接 c: 字符设备【键盘、鼠标】b: 块文件,硬件)
rw- 表示文件所有者权限(r 读的权限 w 写的权限 - 代表没有权限)
r– 表示文件所在组的用户的权限 (r 读的权限 - 没有权限 - 没有权限)
r– 表示文件其他组的用户的权限 (r 读的权限 - 没有权限 - 没有权限)
1 分情况来看(如果是文件,表示硬链接的数;如果是目录,表示该目录的子目录数)
tom 文件所属者
bandit 文件所在组
0 分情况(如果是文件,显示该文件字节数;如果是目录,显示4096)
Aug 16 14:37 表示文件最后的修改时间

② 修改权限-chmod

通过chmod指令,可以修改文件或者目录的权限。
在这里插入图片描述

语法一:
“+ ” “-” “ = ” 变更权限
u: 所属者 g:所属组 0: 其他人 a :所有人(u、g、o的总和)

  1. chmod u=rwx,g=rx,o=x 文件目录名
  2. chmod o+w 文件目录名
  3. chmod a-x 文件目录名

实例:

  • 给abc文件的所有者读、写、执行的权限,给所在组读、执行的权限,给其他组的用户读、执行的权限。
    chmod u=rwx,g=rx,o=rx adc
    在这里插入图片描述

  • 给abc文件的所有者除去执行的权限,增加组写的权限
    chmod u-x,g+w abc
    在这里插入图片描述

  • 给adc文件的所有用户添加读的权限
    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 文件的权限修改成 rwxr-xr-x,使用数字方式实现 chmod 755 adc
rwx = 4+2+1= 7
r-x =4+1=5
r-x =4+1=5
在这里插入图片描述

③ 修改文件所有者 -chown

chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组
-R 如果是目录 则使其下所有子文件或目录递归生效

实例:

  • 将/home/tom/abc 文件的所有者修改为root chown tom adc
  • 将 /home/tom 目录下的所有文件和目录的所有者都修改成root chown -R tom kkk/
    在这里插入图片描述

④ 修改文件所在组 -chgrp

chgrp newgroup file 改变文件的所有组

实例:

  1. 将 /home/tom/adc 文件所在组修改成bandit(土匪) chgrp bandit /home/tom/abc
  2. 将/home/kkk 目录下所有的文件和目录的所在组都修改成bandit(土匪)
    chgrp -R bandit /home/kkk
    在这里插入图片描述

⑤ 最佳实践 -警察和土匪游戏

police , bandit
jack, jerry 警察
xh, xq 土匪

  1. 创建组 groupadd police groupadd bandit
    在这里插入图片描述

  2. 创建用户 useradd -g police jack useradd -g police jerry useradd -g bandit xh useradd -g bandit xq
    在这里插入图片描述

  3. jack创建一个文件,自己可以读写,本组人可以读,其他组的人没有任何权限
    passwd jack su jack touch gg chmod 640 /home/jack/gg
    在这里插入图片描述
    在这里插入图片描述

  4. jack修改该文件,让其他组的人可以读,本组人可以读写
    chmod 664 /home/jack/gg
    在这里插入图片描述

  5. xh 投靠警察,是否可以读写
    usermod -g police xh ls -l /home/jack/gg
    在这里插入图片描述
    使用jack给他的家目录 /home/jack 的所在组一个rw权限
    方式一chmod g=rw jcak/ 方式二chmod 664 jack/ (重启后生效)

⑥ 练习题 -悟空与唐僧

  1. 建立两个组 (immortal神仙、Monster妖怪)
    groupadd immortal groupadd Monster
    在这里插入图片描述

  2. 建立四个用户 (唐僧、悟空、八戒、沙僧)
    useradd -g immortal tangseng | useradd -g immortal wukong
    useradd -g Monster bajie | useradd -g Monster shaseng
    在这里插入图片描述 在这里插入图片描述

  3. 设置密码
    passwd tangseng passwd wukong passwd bajie passwd shaseng
    在这里插入图片描述

  4. 把悟空、八戒放在妖怪组,唐僧、沙僧放在神仙组
    useradd -g immortal tangseng | useradd -g immortal wukong
    useradd -g Monster bajie | useradd -g Monster shaseng

  5. 用悟空建立一个文件(monkey.java 该文件要输出 I am monkey)
    touch monkey.java vim monkey.java
    在这里插入图片描述

  6. 给八戒一个可以rw的权限
    chmod 664 /home/wukong/monkey.java
    在这里插入图片描述

  7. 八戒修改monkey.java 加入一句话(i am pig)
    su bajie vim /home/wukong/monkey.java

  8. 唐僧、沙僧对该文件没有权限
    chmod 660 /home/wukong/monkey.java

  9. 把沙僧放入妖怪组
    usermod -g Monster shaseng

  10. 让沙僧修改文件monkey.java 加入一句话 (我是沙僧,我是妖怪)
    su shaseng vim /home/wukong/monkey.java

8、定时任务调度

① crontab进行 定时任务的设置

任务调度:是指系统在某个时间执行的特定的命令或程序
任务调度分类:
注:脚本文件后缀 .sh
(如果只是简单的任务,可以不用写脚本,直接在crontab中加入任务即可;
对于比较复杂的任务,需要写脚本shell编程)
1、系统工作:有些重要的工作必须周而复始地执行,例如病毒扫描等
2、个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库地备份。
基本语法:crontab [选项]
常用选项:

-e编辑crontab定时任务
-l查询crontab任务
-r删除当前用户所有地crontab任务
service crond restart 重启任务调度

参数说明:

  • 第一颗*,分钟,0-59
  • 第二颗*,小时,0-23
  • 第三颗*,天数,1-31
  • 第四颗*,月份,1-12
  • 第五颗*,星期几,0-7

符号说明:

  • *,代表所有有效值 ,即所有时间;譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。
  • 整数中的短线 ”-“,指定一个整数范围;譬如,1-4 意味着整数 1、2、3、4。例:0 5 * * 1-6 ,代表在周一到周六的凌晨五点0分执行一次命令。
  • 用逗号”,“隔开的一系列值,指定一个列表;譬如,3, 4, 6, 8 标明这四个指定的整数。
  • 正斜线(/)可以用来指定间隔频率。例如:*/10 * * * * ,代表每间隔10分钟执行一次。

特定时间案例:
45 22 * * * 在每天的晚上10点45分执行一次命令
0 17 * * 1 在每周一的下午5点0分执行一次命令
0 5 1,5 * * 在每月的1号和5号的凌晨5点0分执行一次命令
40 4 * * 1-5 每个星期一到星期五的凌晨4点40分执行一次命令
*/10 4 * * * 在每天的凌晨4点每隔10分钟执行一次命令
0 0 1,15 * 1 在每周一与每月的1号和5号的凌晨0点0分执行一次命令 注:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。

实例:

  1. 编辑crontab定时任务 crontab -e
  2. 编写调度任务 */1 * * * * ls -l /etc >> /tmp/to.txt

实例:
1、每隔1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中 */1 * * * * date >> /tmp/mydate

方式一: 在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
方式二:

  • 先编写脚本文件touch /home/mytaskl.sh vim mytask.sh文件内容:date >> /tmp/mydate1
  • 给mytask.sh 执行的权限 chmod 740 mydate1
  • 执行脚本文件文件 crontab -e */1 * * * * /home/mytask.sh

2、每隔一分钟,就将当前日期和日历都追加到 /tmp/mycal文件中

  • 编写脚本文件touch /home/jben1.sh vim jben1.sh date >> /tmp/mycal cal >> /tmp/mycal

  • 给jben1 执行的权限 chmod 764 /home/jben1.sh

  • 执行脚本文件 crontab -e */1 * * * * /home/jben1.sh

3、每天凌晨2:00 将mysql数据库testdb,备份到文件中 mydb.bak

  • 先编写脚本文件 /home/mytask3.sh
    /usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/mydb.bak
  • 给mytask3.sh 可以执行的权限
    chmod 740 /home/mytask3.sh
  • 执行脚本文件
    crontab -e
    0 2 * * * /home/mytask3.sh

9、Linux 磁盘分区,挂载

①分区基础知识

1 、mbr分区:

  • 最多支持四个主分区
  • 系统只能安装在主分区
  • 扩展分区要占一个主分区
  • MBR最大只支持2TB,但拥有最好的兼容性

2、gtp分区:

  • 支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
  • 最大支持18EB的大容量 (1EB=1024PB,1PB=1024TB)
  • winwods7 64位以后支持gtp分区

② Linux 分区

原理介绍:

  • Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且 唯一的文件结构,Linux中每个分区都是用来组成整个文件夹的一部分。
  • Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
    在这里插入图片描述

③ 硬盘说明

  • Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘

  • 对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘。“x”为盘号(a 基础盘,b 基本从属盘,c 辅助主盘,d 辅助从属盘 ),
    “~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。
    例: hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。

  • 对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

在这里插入图片描述

④ 查看所有设备挂载情况

指令: 老师不离开 lsblk
在这里插入图片描述
lsblk -f 更详细
在这里插入图片描述

⑤ 挂载新硬盘

增加一块2G的硬盘sdb1,将它挂载到 /home/newdisk目录上,即可以通过操作newdisk目录来使用这块2GB的硬盘。

1、虚拟机添加硬盘

点击“虚拟机”,点击“设置”,点击“硬盘SCSI”,点击“添加”,选择“硬盘”下一步,选择“SCSI”下一步,“选择新虚拟磁盘”下一步,根据自己需求选择磁盘大小,选择“将虚拟磁盘拆分成多个文件“下一步,点击”完成“,点击”确定“。
接下来需要重启 reboot ,重启过后 lsblk 将会看到新添的磁盘(sdb),进入下个环节【分区 】
在这里插入图片描述

2、分区
分区命令fdisk /dev/sdb
开始对 /sdb 分区

  • m 显示命令列表
  • p 显示磁盘分区 fdik -l
  • n 新增分区
  • d 删除分区
  • w 写入并退出
    说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认全部剩余空间。最后输入w写入分区并退出,若不保存退出输入q。
    在这里插入图片描述

3、格式化
格式化磁盘,分区命令:mkfs -t ext4 /dev/sdb1
其中ext4是分区类型
在这里插入图片描述
此时,这个新的磁盘就可以用了,进入下一步(挂载)
在这里插入图片描述

4、挂载
将一个分区与一个目录联系起来

先新建将挂载的目录 mkdir /home/newdisk

  • mount 设备名称 挂载目录
    例: mount /dev/sdb1 /home/newdisk
    在这里插入图片描述
    再次查看,挂载成功,但关机重启后,需再次手动挂载
    在这里插入图片描述

  • umount 设备名称 或者 挂载目录 效果:(取消挂载)
    例: umount /dev/sdb1 或者 umont /newdisk
    注:用命令行挂载重启后会失效

5、设置自动挂载(永久挂载)
通过修改 /etc/fstab 实现挂载
添加完成后执行 mount -a 即刻生效

vim /etc/fstab
②YY P 拷贝一份,更改为/dev/sdb1 /home/newdisk ext4 defaults 0 0,保存退出
在这里插入图片描述

mount -a 自动挂载
在这里插入图片描述

⑤设置成功

10、磁盘情况查询

① 查询系统整体磁盘使用情况

基本语法 df -h
-l
-h
-lh
实例:查询系统整体磁盘使用情况 df -h
在这里插入图片描述

② 查询指定目录的磁盘占用情况

基本语法:du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录

-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
--max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值

实例;
查询 /opt 目录的磁盘占用情况,深度为1 du -ach --max-depth=1 /opt
.

③ 磁盘情况- 工作实用指令

  1. 统计 /home 文件夹下文件的个数 ls -l /home | grep "^-" | wc -l
    在这里插入图片描述

  2. 统计 /home 文件夹下目录的个数 ls -l /home | grep "^d" | wc -l
    在这里插入图片描述

  3. 统计 /home 文件夹下文件的个数,包括子文件夹里的文件 ls -lR /home | grep "^-" | wc -l
    在这里插入图片描述

  4. 统计文件夹下目录的个数,包括子文件夹里的 ls -lR /home | grep "^d" | wc -l
    在这里插入图片描述

  5. 以树状显示目录结构 tree
    ① 使用yum来安装tree指令 yum -y install tree (Linux系统不自带tree工具,需要手动安装)
    ② 使用tree指令来以树状显示目录结构 tree /home
    tree 有许多参数命令,man tree 查看。
    例:
    -p 列出权限标识
    -s 文件或目录大小
    -D 显示文件或目录的更改时间
    -r 相反次序排列

11、网络配置

查看windows网络配置信息:
① win + R ②输入cmd ③输入ipconfig

指定固定IP
编辑文件 /etc/sysconfig/network-scripts/ifcfg-ens33
要求:将IP地址配置为静态,配置固定IP

BOOTPROTO="none"  修改为  BOOTPROTO="static"
GATEWAY= 改为刚刚查看到的网关
ONBOOT="yes"
IPADDR=改为新配置的ip

修改完成后,需要重启网络服务 service network restart

如果命令没用就重启系统
在这里插入图片描述

在这里插入图片描述

12、修改主机名

查看当前主机名 hostnameecho $HOSTNAME

临时更改主机名 hostname daun(新名字)

永久更改主机名
hostnamectl set-hostname dawn 注:名字里不要带下划线_
vi /etc/hosts 增加IP和主机的映射虚拟机的IP地址 主机名 例: 192.168.187.111 yz
重启后生效
ping 主机名 也可ping通

如果希望windows也可以通过主机名来连接centos,进入
C:\Windows\System32\deivers\etc\hosts
写入IP地址 主机名 例:192.168.187.138 yz

13、进程管理

① 进程基本介绍:

①在Linux中,每个执行的程序(代码)都称为一个进程。每个进程都分配一个ID号
②每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如 www服务器
③每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
④一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才结束。

② 显示系统执行的过程

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的情况,可以不加任何参数。

字段说明
PID进程识别号
TTY终端机号
TIME此进程所消CPU时间
CMO正在执行的命令或进程号

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

ps -aux | more 利用分页指令更利于查看

在这里插入图片描述

③ ps详解

1、指令:ps -aux | grep xxx , 例:查看sshd服务 ps -aux | grep sshd

指令说明

  • System v 展示风格
  • USER: 用户名称
  • PID 进程号
  • %CPU 进程占用cpu的百分比
  • %MEM 进程占用物理内存的百分比
  • VSZ 进程占用的虚拟内存大小(单位:kb)
  • RSS 进程占用的物理内存大小(单位:kb)
  • TT:终端名称:缩写
  • STAT:进程状态,其中s-表示该进程是会话的先导进程,S-睡眠, N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
  • STARTED:进程的启动时间
  • TIME:cpu时间,即进程使用cpu的总时间
  • COMMAND :启动进程所有的命令和参数,如果过长会被截断显示

2、以全格式显示当前所有的进程,查看进程的父进程。

ps -ef 以全格式显示当前所有的进程
-e 显示所有的进程。 -f 全格式
ps -ef | grep xxx 是BSD风格

  • UID:用户ID
  • PID: 进程ID
  • PPID:父进程ID
  • C :CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

思考题:如果我们希望查看sshd进程的父进程号是多少,应该怎样查询?
答 : ps -ef | grep sshd
在这里插入图片描述
3、终止进程(kill 和 killal)
若某个进程执行一半需要停止,或是已消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来终止它。

基本语法:
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)(在一个父进程下有很多子进程,直接killall 父进程,将会把他们全都杀死)

常用选项 :
-9 :表示强迫进程立即停止
实例:

  • 踢掉某个非法登录的用户
    kill 进程号 例:kill 1642在这里插入图片描述

  • 终止远程登录服务sshd,在适当时候再次重启sshd服务
    kill 1051 (依上图所示sshd进程的进程ID为1051)

  • 终止多个gedit编辑器
    killall gedit

  • 强制杀掉一个终端
    kill -9 1481
    在这里插入图片描述

4、查看进程树 pstree
基本语法
pstree [选项] ,可以更加直观的来观看进程信息
常用选项
-p: 显示进程的id
-u:显示进程的所属用户
实例:

  • 以树状图的形式显示进程的pid
    pstree -p
  • 以树状图的形式显示进程用户的ID
    pstree -u

14、systemctl (将老版本的service和chkconfig命令结合)

功能描述:主要负责控制systemd系统和服务管理器

  • 启动、重启、停止、重载服务
# systemctl start sshd 启动
# systemctl restart sshd 重启
# systemctl stop sshd   停止
# systemctl reload sshd 重启
# systemctl status sshd 查看状态
  • 激活/禁止自动启动
# systemctl enable sshd 启用
# systemctl disable sshd 禁用
  • 杀死服务
# systemctl kill sshd
  • 检查某个单元是否启用
# systemctl is-enabled sshd
  • 列出所有失败的单元
# systemctl --failed
  • 列出所有运行中单元
# systemctl list-units
  • 列出所有可用单元
# systemctl list-unit-files

15、防火墙

查看防火墙状态:systemctl status firewalld
查看防火墙启动情况:firewall-cmd --state
关闭防火墙:systemctl stop firewalld
开启防火墙: systemctl start firewalld.service
重启防火墙:systemctl restart firewalld.service

16、动态监控进程

top与ps命令很相似。他们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程。
基础语法:
top【选项】
选项说明:

选项功能
-d秒数指定top命令每隔几秒更新,默认是3秒在top命令的交互模式中可以执行的命令
-i使top不显示任何闲置或者僵死进程
-p通过指定监控进程ID来仅仅监控某个进程的状态

交互操作说明

操作功能
P以cpu使用率排序,默认就是此项
M以内存的使用率排序
N以PID排序
q退出top

实例:
监视特定用户
top ②u ③输入用户名
在这里插入图片描述
终止指定的进程
top ②k ③输入要结束的进程ID号

指定系统状态更新的时间(每隔10秒自动更新,默认是三秒刷新一次)
top -d 10

17、查看系统网络情况 netstat

基本语法:
netstat 【选项】
netstat -anp
选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用
实例:
查看系统所有的网络服务
netstat -anp | more
请查看服务名为 sshd 的服务的信息
netstat -anp | grep sshd

检测主机连接命令ping:
是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障。
如:ping对方ip地址

18、RPM 与 YUM

RPM是一种用于互联网下载包的打包及安装工具,它包含在某些Llinux 分发版种。它生成具有.RPM扩展名的文件。RPM是RedHat Hackage Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
Llinux的分发版本都有采用(suse,redhat,centos等等),可以算是公认的行业标准。

RPM

① rpm包的简单查询指令

查询已安装的rpm列表 rpm -qa | grep xx
在这里插入图片描述

在这里插入图片描述

② rpm包名基本格式

一个rpm包名:firefox-45.0.1-1.el6.centos.x86_64.rpm
名称:firefox
版本号:45.0.0-1
适用操作系统:el6.centos.x86_64
表示centos6.x的64位系统
如果是i686、i386表示32位系统,noarch表示通用。

③ 卸载rpm包

基本语法:
rpm -e RPM包的名称

案例:
删除firefox软件包
rpm -e firefox

细节问题
(1)如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
如:$ rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0.1
(2)如果我们很坚定的要删除foo这个rpm包,可以增加参数 --nodeps,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
如: $ rpm -e --nodeps foo

4、安装rpm包
基本语法
rpm -ivh RPM 包全路径名称
参数说明
i=install 安装
v=verbose 提示
h=hash 进度条
案例:
演示卸载和安装firefox浏览器
①找到firefox的安装包
②安装firefox的安装包

2、YUM

Yum是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。

yum 的基本指令
查询yum服务器是否有需要安装的软件
yum list | grep xx 软件列表
安装指定的yum包
yum install xxx 下载安装

案例:
使用yum的方式来安装firefox
在这里插入图片描述

四、拓展命令

1、别名

作用:
1.防止运行危险命令
2.简化命令

临时配置别名
特点:暂时生效,重启终端无效
定义别名 alias 别名='有效命令'
删除别名 unalias+别名

例:grep --color=auto 'dian' /root/YuZai/love.txt  (原命令)
	alias grep='grep --color=auto'     
	grep 'dian' /root/YuZai/love.txt  (别名后的命令)

永久生效
定义别名 添加配置文件 /etc/profile
在这里插入图片描述

删除别名:
1.永久删除:去该文件删除或注释该设置即可。
2.暂时删除:unalias+别名(重启终端或加载文件,别名重新生效)

2. 查询系统运行级别

命令 runlevel

3. 查询系统主机物理地址

命令 ip addr

4. 打印出当前环境变量

环境变量:当前进程有效,并且能够被子进程调用。

env 查看当前用户的环境变量
set 查询当前用户的所有变量(临时变量与环境变量)
export 变量名=变量值 或者 变量名=变量值; export 变量名

五、问题

1、Linux常用命令,至少6个

答: netstab ,top ,lsblk , find, ps ,chkongfig

2、Linux查看内存、磁盘存储、io读写、端口占用、进程等命令

答: ①Top②df -lh③iotop(若没有该指令就yum install iotop ) ④Netstat -tunlp ⑤ Ps -aux | grep 进程名

3、如何找回root密码

思路:进入到单用户模式,然后修改密码。
因为进入到单用户模式,root不需要密码就可以登录。
操作流程:开机—在引导时输入回车键—看到新界面输入e—再一个新界面,选中第二行(编辑内核),再输入e—在这行最后输入 1 —再按回车—再输入b—成功进入单用户模式—使用passwd指令来修改root密码。
注: 此方法是不能在远程连接,例如:Xshell上操作的,只能在装虚拟机的本机上操作。

4. 查看系统版本

CentOS Linux release 7.9.2009 (Core)

5. 查看内核版本

uname -r

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值