Linux实操篇

远程登陆Linux

先检查一下sshd服务打开没有( “ * ” 表示打开):

setup

选择系统设置,进入下面页面:

Xshell 是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及 Microsoft Windows平台的TELNET协议。

Xshell 可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。

**特别说明:**如果希望安装好XShell 5就可以远程访问Linux系统的话,需要有一个前提,就是Linux启用了SSHD服务,该服务会监听22号端口。(开放的端口越多,越不安全)

远程上传下载文件

是一个基于windows平台的功能强大的SFTP、FTP文件传输软件。使用了Xftp 以后,windows用户能安全地在UNIX/Linux和WindowsPC 之间传输文件。(示意图)。

一定要是SFTP 因为只开放了22号端口 FTP是21号端口

连接成功

如何解决XFTP7中文乱码问题

实现文件传输

右键选择windows中的文件,点击传输,就说传输到Linux中的 /root/ 目录下

vi 和 vim 编辑器

vi 和 vim 的基本介绍

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

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

vi 和 vim 三种常见模式

正常模式

在正常模式下,我们可以使用快捷键。
以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『册除整行』来处理档案内容,也可以使用『复制、贴上』来处理你的文件数据。

插入模式/编辑模式

在模式下,程序员可以输入内容。
按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式。一般来说按i即可

命令行模式

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

快速入门案例
vim Hello.java

i 进入编辑

esc退出

:wq进行保存

快捷键使用案例
  1. 拷贝当前行yy ,拷贝当前行向下的5行5yy,并粘贴(p)。
    (不知道为啥我输入 5yy windows就会有提示音 实际上还是粘了一行,应该是快捷键冲突)

  2. 删除当前行dd ,删除当前行向下的5行5dd
    (同上也是没办法用数字+dd批量删除)

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

  4. 设置文件的行号,取消文件的行号.

    :set nu:set nonu
    

  5. 编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg]

    vim /etc/profile
    
    G    #到文章末尾gg   #到文章开头
    
  6. 在一个文件中输入“hello”,然后又撤销这个动作 u

    vim OK.java   #进入文档
    i   #进行编辑
    esc   #退出编辑
    u   #撤销编辑的内容
    
  7. 编辑 /etc/profile 文件,并将光标移动到第20行 shift+g
    第一步:显示行号 :set nu
    第二步:输入20这个数
    第三步:输入 shift+g
    (也可以直接 行号+回车)

开机、重启

基本介绍

shutdownshutdown -h now      #表示立即关机shutdown -h 1        #表示1分钟后关机       shutdown -r now     #立即重启halt   #就是直接使用,效果等价于关机reboot就是重启系统。sync     #把内存的数据同步到磁盘
#当我们关机或者重启时,都应该先执行以下 sync指令,把内存的数据写入磁盘,防止数据丢失。#

用户登录、注销

基本介绍

  1. 登录时尽量少用root帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用”su-用户名’命令来切换成系统管理员身份.

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

    logout
    

使用细节

  1. logout注销指令在图形运行级别无效,在运行级别3(远程登陆)下有效.
  2. 运行级别这个概念,后面给大家介绍

用户管理

基本介绍

说明

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

创建用户

基本语法

useradd   用户名passwd 用户名   #设置密码

细节说明

  1. 当创建用户成功后,会自动的创建和用户同名的家目录
  2. 也可以通过 useradd -d 指定目录新的用户名,给新创建的用户指定家目录

给用户指定或者修改密码

passwd  用户名

删除用户

基本语法

userdel 用户名

删除用户 xm ,但是保留家目录

userdel xm

删除用户 xl 以及用户主目录

userdel -r xl

细节

如果用户在登录,此时是不可以删除的,会出现

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

查询用户信息

基本语法

id 用户名

当用户不存在时,返回“无此用户”

切换用户

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

基本语法

su –切换用户名应用实例
创建一个用户zf,指定密码,然后切换到zf

su - zfexit

细节说明

  1. 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
  2. 当需要返回到原来用户时,使用exit指令

查看当前用户/登录用户

基本语法

whoami/who am i

用户组

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

基本语法

增加组

groupadd 组名

删除组

groupdel 组名

增加用户直接加上组指令

基本语法

useradd -g 用户组  用户名

案例演示:
增加一个用户 zwj , 直接将他指定到 wudang

修改用户的组

指令(基本语法)
(将 zwj 用户 修改到 shaolin 组)

基本语法

usermod -g 用户组 用户名

案例演示:
创建一个 shaolin 组,让 zwj 用户修改到这个组

用户和组的相关文件

/etc/passwd文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell

基本语法

vim /etc/passwdG

/etc/shadow文件
口令的配置文件
每行的含义:
登录名:加密口令:最后一次修改时间:最小时间间隔;最大时间间隔:警告时间:不活动时间:失效时间:标志

vim /etc/shadowG

/etc/group文件
组(group)的配置文件,记录Linux包含的组的信息
每行含义:
组名:口令:组标识号:组内用户列表

vim /etc/groupG

Linux实用指令

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

命令:init[012356]

Linux系统运行级别示意图

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

基本语法

init [012356]

应用实例

vim /etc/inittab   #查看配置文件,在cenntos 7 已经被弃用

1、CentOS7 /etc/inittab 已经被弃用,需要用systemctl 修改用户启动级别2、systemctl get-default 查看当前用户启动级别3、systemctl set-default multi-user.target 启动级别设为34、systemctl set-default graphical.target  启动级别设为55、tip:CentOS7只能设为3和5这两种模式

案例1:通过init[来切换不同的运行级别,比如动5-3 ,然后关机

init 3  #当前是5 图形界面,切换至3init 5 #当前是3 切换至5init 0 #关机

root密码找回

找回root密码,如果我们不小心,忘记root密码,怎么找回(CentOS 6)。

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

总结

开机 -> 在引导时输入回车键 -> 看到一个界面输入e -> 看到一个新的界面,选中第二行(编辑内核)在输入e -> 在这行最后输入
1.再输入 回车键 -> 再次输入 b ,这时就会进入到单用户模式。
这时,我们就进入到单用户模式,使用passwd指令来修改root密码。

帮助指令

介绍

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

man获得帮助信息

基本语法

man[命令或配置文件]

man ls

应用实例
案例:查看 ls 命令的帮助信息

help指令

基本语法

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

help cd

应用实例
案例:查看cd命令的帮助信息

文件目录类

pwd指令

基本语法

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

pwd

应用实例
案例:显示当前工作目录的绝对路径

ls指令

基本语法

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

ls
ls -l
ls -a
ls -al

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

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

应用实例
案例:查看当前目录的所有内容信息

cd指令

基本语法

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

cd ~
cd
cd ..

常用参数
绝对路径和相对路径
cd~或者cd : 回到自己的家目录

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

思考题

应用实例
案例1:使用绝对路径切换到root目录

cd /root

案例2:使用相对路径到/root目录(假设在/usr/lib下)

cd ../../root

案例3:表示回到当前目录的上一级目录

cd ..

案例4:回到家目录

cd ~
cd
cd ..

mkdir指令

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

基本语法

​ mkdir [选项] 要创建的目录

常用选项

​ -p :创建多级目录

应用实例
案例1:创建一个目录/home/dog

mkdir /home/dog

案例2:创建多级目录/home/animal/tiger

mkdir -p /home/anlimal/tiger

rmdir 指令

介绍
rmdir指令删除空目录

基本语法

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

应用实例

案例1:删除一个目录/home/cat

使用细节

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

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

touch指令

touch指令 创建空文件

基本语法

touch    文件名称touch 文件1 文件2

应用实例

案例1:创建一个空文件hello.txt

案例2:创建多个空文件

cp指令[重要]

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

基本语法

cp [选项] source destcp aaa.txt bbb

常用选项

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

应用实例
案例1:将 /home/aaa.txt 拷贝到 /home/bbb 目录下(拷贝单个文件)

案例2:递归复制整个文件夹,

举例将 /home/test 整个目录拷贝到 /home/zwj 目录

强制覆盖

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

\cp -r test zwj

rm指令

rm指令移除文件或目录

基本语法

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

常用选项
-r :递归删除整个文件夹

​ -f :强制删除不提示

应用实例
案例1:将 /home/aaa.txt 删除

案例2:递归删除整个文件夹 /home/bbb

使用细节

强制删除不提示的方法:带上 -f 参数即可

mv指令

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

基本语法

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

应用实例
案例1:将/home/aaa.txt文件重新命名为pig.txt

(因为当前目录里有aaa.txt,所以说mv命令此处意为重命名)

案例2:将 /home/pig.txt 文件移动到 /root目录下

(因为 targetFolder 里没有pig.txt,所以说mv命令此处意为移动)

cat指令

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

基本语法

cat  [选项]    要查看的文件cat -n /etc/profile | more  #more可以分页查看

常用选项
-n :显示行号

应用实例
案例1: /etc/profile 文件内容,并显示行号

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

more指令

more 指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明

基本语法

more 要查看的文件

操作说明

操作 功能说明
空白键(space) 代表向下翻一页
Enter 代表向下翻【一行】
q 代表立刻离开more ,不再显示该文件内容.
Ctrl+F 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 翰出文件名和当前行的行号

应用实例
案例:采用more查看文件 /etc/profile

less指令

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

基本语法

less 要查看的文件

操作说明

操作 功能说明
空格键 向下翻动一页
[pagedown] 向下翻动一页
[pageup] 向上翻动一页
/字串 向下搜导「字串』的功能:n:向下查找:N:向上查找
?字串 向上搜寻「字串』的功能:n:向上查找:N:向下查找
q 离开less这个程序

应用实例
案例:采用less查看一个大文件文件 /opt/金庸-射雕英雄传txt精校版.txt

>指令 和 >>指令

>输出重定向········································ 和 >>追加

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

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

基本语法

ls -l > 文件    #(功能描述:列表的内容写入文件a.txt中(覆盖写))#将ls -l的显示的内容覆盖写入到a.txt文件,如果该文件不存在,就创建该文件

ls -al >>文件    #(功能描述:列表的内容追加到文件aa.txt的末尾)#参数-al则表示列出所有的文件,包括隐藏文件

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

echo "内容"  >>    文件  #把 "内容" 追加(>>)或覆盖(>)进入文件中

应用实例
案例1:将 /home 目录下的文件列表写入到 /home/info.txt中

案例2:将当前日历信息追加到 /home/mycal 文件中[提示cal ]

echo指令

echo输出内容到控制台。

基本语法

echo [选项]    [输出内容]

应用实例
案例:使用echo 指令输出环境变量

案例:使用echo指令输出hello,world!

head指令

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

基本语法

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

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

应用实例
案例:查看/etc/profile的前面5行代码

tail指令

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

基本语法

tail 文件  #(功能描述:查看文件后10行内容)
tail -n 5    文件  #(功能描述:查看文件后5行内容,5可以是任意行数)
tail -f 文件   #(功能描述:实时追踪该文档的所有更新,工作中经常用)

应用实例
案例1:查看/etc/profile最后5行的代码

案例2:实时监控mydate.txt ,看看到文件有变化时,是否看到,实时的追加日期

ln指令

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

基本语法

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

应用实例
案例1:在 /home 录下创建一个软连接 linkToRoot, 连接到/root目录

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

案例2:删除软连接linkToRoot

history指令

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

基本语法

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

应用实例
案例1:显示所有的历史命令

history

案例2:显示最近使用过的10个指令。

history 10

案例3:执行历史编号为5的指令

!235

时间日期类

date指令

date指令显示当前日期

基本语法

date #(功能描述:显示当前时间)
date +%Y    #(功能描述:显示当前年份)
date +%m    #(功能描述:显示当前月份)
date +%d    #(功能描述:显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S”  #(功能描述:显示年月日时分秒)

应用实例
案例1:显示当前时间信息

案例2:显示当前时间年月日

案例3:显示当前时间年月日时分秒

date指令

date指令-设置日期

基本语法

date -s  字符串时间

应用实例
案例1:设置系统当前时间,比如设置成 2020-11-11 11:22:22

更改回去

hwclock -s

cal指令

查看日历指令

基本语法

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

应用实例
案例1:显示当前日历

案例2:显示2020年日历

搜索查找类

find指令

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

基本语法

find [搜索范围]  [选项]

选项说明

选项 功能
-name<查询方式> 按照指定的文件名查找模式查找文件
-user<用户名> 查找属于指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找文件

应用实例

案例1:按文件名:根据名称查找/home目录下的hello.txt文件

find /home -name hello.txt

案例2:按拥有者:查找/opt目录下,用户名称为nobody 的文件

find /opt -user root

案例3:查找整个linux系统下大于20m的文件(+n大于-n小于n等于)

find / -size +20Mfind / -size -20Mfind / -size 20M

locate指令

locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。

基本语法

locatedblocate   搜索文件

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

应用实例
案例1:请使用locate指令快速定位hello.txt文件所在目录

grep指令和管道符号 l

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

基本语法

grep [选项]    查找内容    源文件cat hello.txt | grep -n yes
cat hello.txt | grep -i yes
cat hello.txt |grep -ni yes

常用选项

选项 功能
-n 显示匹配行及行号
-i 忽略字母大小写

应用实例
案例1:请在hello.txt文件中,查找"yes”所在行,并且显示行号

压缩和解压缩类

gzip/gunzip指令

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

基本语法

gzip 文件  #(功能描述:压缩文件,只能将文件压缩为*.gz文件)#gzip不会保留原来的文件gunzip  文件.gz       #(功能描述:解压缩文件命令)

应用实例
案例1:gzip压缩,将/home下的 hello.txt文件进行压缩

案例2:gunzip压缩,将/home下的 hello.txt.gz文件进行解压缩I

zip/unzip指令

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

基本语法

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

zip常用选项

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

unzip 的常用选项
-d<目录>﹔指定解压后文件的存放目录

应用实例
案例1:将/home下的所有文件进行压缩成mypackage.zip

zip -r mypackage.zip /home/*

案例2:将 mypackge.zip解压到/opt/tmp目录下

unzip -d /opt/tmp/ mypackage.zip

tar指令

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

基本语法

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

选项说明

选项 功能
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件

应用实例
案例1:压缩多个文件,将 /home/a.txt 和 /home/b.txt 压缩成 a.tar.gz

tar -zcvf a.tar.gz a.txt b.txt

案例2:将/home的文件夹压缩成myhome.tar.gz

tar -zcvf myhome.tar.gz /home/

案例3:将a.tar.gz解压到当前目录

tar -zxvf a.tar.gz

案例4:将myhome.tar.gz解压到 /opt/自录下

tar -zxvf myhome.tar.gz -C /opt/ #指定解压的目录事先要存在  -C  是 Change

组管理和权限管理

Linux 组基本介绍

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

文件/目录所有者

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

查看文件的所有者

基本语法

ls -ahl

应用实例:创建一个组police,再创建一个用户tom将其放入该组 ,然后使用tom来创建一个
文件,看看情况如何

修改文件所有者

基本语法

chown    用户名 文件名     #  change  owner

应用案例

要求:使用root创建一个文件apple.txt ,然后将其所有者修改成tom

但是 apple.txt 的所在组还是root 所以说文件的所有者的文件不一定就在**文件所有者的所在组***中

组的创建

基本语法

groupadd 组名

应用实例
创建一个组monster
创建一个用户fox ,并放入到monster组中

文件/目录所在组

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

查看文件/目录所在组

基本语法

ls —ahl

应用实例

修改文件所在的组

基本语法

chgrp    组名  文件名

应用实例
使用root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到police组。

其他组

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

改变用户所在组

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

基本语法

usermod -g   组名  用户名     #改变用户所在组usermod -d  目录名 用户名     #改变该用户登陆的初始目录(记录一下,没找到演示)

应用实例
创建一个土匪组(bandit)将tom这个用户从原来所在的police组,修改到 bandit(土匪)组。

权限管理

基本语法

ls -l

显示的内容如下:
-rw-r–r--. 1 tom bandit 0 1月 14 21:42 ok.txt

0-9位说明

1)第o位确定文件类型(d, - , l ,c , b)2)第1-3位确定所有者(该文件的所有者)拥有该文件的权限。---User3)第4-6位确定所属组(同用户组的)拥有该文件的权限,--Group4)第7-9位确定其他用户拥有该文件的权限---Other

表示文件其它组的用户的权限r–

如果是文件,表示硬链接的数
如果是目录,则表示该目录的子目录个数

文件大小 如果是目录则4096

文件的类型: -:普通文件 d:目录 l:软连接 c:字符设备 b:块文件,硬盘

文件所在组的用户的权限 r-- ,只有读权限

表示文件所有者权限 rw

文件最后的修改时间

rwx权限详解

rwx作用到文件

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

[ w ]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.

[ x ]代表可执行(execure):可以被执行

rwx作用到目录

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

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

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

文件及目录权限案例

基本介绍

ls -l中显示的内容如下:
-rwxrw-r-- 1root root 1213 Feb 2 09:39 abc

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

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

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

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

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

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

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

1 文件:硬连接数或目录:子目录数
root 用户
root
1213 文件大小(字节),如果是文件夹,显示4096字节
Feb 2 09:39 最后修改日期
abc 文件名

修改权限-chmod

基本说明

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

第一种方式:

+、-、= 变更权限

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

chmod    u=wx,g=x,0=x 文件目录名chmod  o+w    文件目录名chmod  a-x 文件目录名

案例演示
给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限

(绿色表示可执行文件)

chmod u=rwx,g=rx,o=rx abc.txt

给abc文件的所有者除去执行的权限,增加组写的权限

chmod u-x,g+w abc.txt

给abc文件的所有用户添加读的权限

chmod a+r abc.txt

第二种方式:

通过数字变更权限

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 使用给数字的方式实现:

rwx=4+2+1=7 r-x=4+1=5

chmod 755 /home/abc.txt

修改文件所有者-chown

基本介绍

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

案例演示:
请将 /home/abc .txt 文件的所有者修改成tom

chown tom abc.txt

请将 /home/kkk 目录下所有的文件和目录的所有者都修改成tom

(首先 要切换到root)

chown -R tom kkk/

修改文件所在组-chgrp

基本介绍

chgrp newgroup file 改变文件的所有组

案例演示:
请将/home/abc .txt文件的所在组修改成bandit(土匪)

chgrp bandit /home/a.txt

请将/home/kkk目录下所有的文件和目录的所在组都修改成bandit(土匪)

chgrp -R bandit /

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

police , bandit
jack, jerry: 警察

xw,xr: 土匪

  1. 创建组

    groupadd police
    groupadd bandit
    

  2. 创建用户

    useradd -g police jack
    useradd -g police jerry
    useradd -g bandit xw
    useradd -g bandit xr
    

  3. jack创建一个文件,自己可以读写,本组人可以读,其它组没人任何权限

    chmod 640 a.txt
    

  4. jack修改该文件,让其它组人可以读。本组人可以读写

    chmod 664 a.txt
    

  5. xw投靠警察,看看是否可以读写

    cd jack/ #xw尝试访问jack/  发现权限不够su root
    usermod -g police xw    #改变xw所在组为police#切换到jack登录
    chmod g=rw jack/  #将jack/这个目录权限切换为同组人可以访问su xw #切换用户
    cd jack/    #可能会发现xw还是访问不了jack/这一目录
    logout  #xw注销
    cd jack/    #xw登录,重新访问jack
    

练习文件权限管理[练习]

建立两个组(神仙,妖怪)

groupadd shenxian
groupadd yaoguai

建立四个用户(唐僧,悟空,八戒,沙僧)设置密码 把悟空,八戒放入妖怪唐僧沙僧在神仙

useradd -g yaoguai wukong
useradd -g yaoguai bajie
useradd -g shenxian tangseng
useradd -g shenxian shaseng

用悟空建立一个文件( monkey.java该文件要输出i am monkey)给八戒一个可以rw的权限

#wukong login
cd /home/wukong
vim monkey.java
cd /home/
chmod g=rwx wukong/

八戒修改monkey.java加入一句话(i am pig)

#bajie login
cd /home
cd wukong/
vim monkey.java

唐僧沙僧对该文件没有权限

#tangseng login
cd /home/
cd wukong/  #权限不足

把沙僧放入妖怪组

#shaseng login
cd /home/
cd wukong/  #权限不足su root
usermod -g yaoguai shaseng

让沙僧修改该文件 monkey,加入一句话(“我是沙僧,我是妖怪!”);

#shaseng login
cd /home/wukong/
vim monkey.java

课后练习

用root登录,建立用户mycentos,自己设定密码

useradd mycentos
passwd mycentos

用mycentos登录,在主目录下建立目录test/t11/t1

#mycentos login
pwd
mkdir -p /home/mycentos/test/t11/t1

在t1中建立一个文本文件aa,用vi编辑其内容为 ls -al

cd /home/mycentos/test/t11/t1
touch aa.txt
ls -al > aa.txt

改变aa的权限为可执行文件 [可以将当前日期追加到一个文件] ,运行该文件./aa

date >> aa.txt
chmod u=rx aa.txt
./aa.txt

删除新建立的目录test/t11/t1

rm -r test/t11/t1

删除用户mycentos及其主目录中的内容

userdel -r mycentos

将linux设置成进入到图形界面的

重新启动linux或关机

reboot

crond任务调度

crontab进行定时任务的设置。

原理示意图:

概述

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

任务调度分类:

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

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

基本语法

crontab  [选项]

常用选项

-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务

应用实例

设置任务调度文件: /etc/crontab

设置个人任务调度。执行crontab -e命令。

接着输入任务到调度文件
如:/1*** ls -l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行 ls -l /etc/ > /tmp/to.txt命令

5个占位符的说明

项目 含义 范围
第一个 “*” 一小时当中的第几分钟 0-59
第二个 “*” 一天当中的第几小时 0-23
第三个 “*” 一个月当中的第几天 1-31
第四个 “*” 一年当中的第几月 1-12
第五个 “*” 一周当中的星期几 0-7(0和7都代表星期日)

特殊符号的说明

特殊符号 含义
* 代表任何时间。比如第一个" * "就代表一小时中每分钟都执行一次的意思。
, 代表不连续的时间。比如"0 8,12,16 * * * "命令,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
- 代表连续的时间范围。比如o5* * 1-6命令",代表在周一到周六的凌晨5点0分执行命令
*/n 代表每隔多久执行一次。比如" */10 * * * "命令,代表每隔10分钟就执行一遍命令

特定时间执行任务案例

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

具体步骤

crontab -e*/1 * * * * ls -l /etc/ >> /tmp/to.txt   #每小时的每分钟执行命令cd /tmp/
ls

任务调度的几个应用实例
案例1:每隔1分钟,就将当前的日期信息,追加到/tmp/mydate文件中

  1. 先编写一个文件/home/mytask1.sh

    date >> /tmp/mydate

  2. 给mytask1.sh一个可以执行权限

    chmod 744 /home/mytask1.sh

  3. crontab -e

  4. */1 * * * * /home/mytask1.sh


案例2:每隔1分钟,将当前日期和日历都追加到/home/mycal文件中


案例3:每天凌晨2:00将mysq1数据库testdb ,备份到文件中。

  1. 先编写一个文件home/mytask3.sh
    /usr/loca/mysql/bin/mysqldmp -u root -proot testdb > /tmp/mydb.bak
  2. 给mytask3.sh 一个可以执行权限
    chmod 744 home/mytask3.sh
  3. crontab -e
  4. 0 2 * * * /home/mytask3.sh
  5. 成功

终止任务调度

基本语法

crontab -r

查询crontab任务

基本语法

crontab -l

重启任务调度

基本语法

service crond restart

Linux磁盘分区、挂载

分区基础知识

分区的方式

  1. mbr分区:
    1.最多支持四个主分区
    2.系统只能安装在主分区
    3.扩展分区要占一个主分区
    4.MBR最大只支持2TB,但拥有最好的兼容性
  2. gtp分区:
    1.支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
    2.最大支持18EB的大容量(EB=1024 PB,PB=1024 TB)
    3.windows764位以后支持gtp

windows下的磁盘分区

硬盘主分区和逻辑分区

区别:

1、层属关系不同

硬盘主分区:系统中真实存在的空间。

逻辑分区:属于扩展分区一部分,虚拟空间。

2、分区不同:

硬盘主分区:一块硬盘,最多可以同时创建4个主分区。

逻辑分区:当创建完四个主分区后,就无法再创建扩展分区和逻辑分区了。

3、定义不同

主分区:是独立的,对应磁盘上的第一个分区,目前绝大多数电脑,在分区的时候,一般都是将C分分成主分区。

逻辑分区:在扩展分区上面,可以创建多个逻辑分区。逻辑分区相当于一块存储截止,和操作系统还有别的逻辑分区、主分区没有什么关系,是“独立的”。

扩展分区和逻辑分区作用:

因为硬盘上最多只能有4个主分区,并不能满足用户需求,当用户想要更多的分区时就需要用到扩展分区了。

扩展分区是一种特殊的住分区,可以用来建立逻辑分区,逻辑分区没有个数限制。用户可以在主分区和逻辑分区中存储数据,但是扩展分区不能直接存储数据,因为扩展分区的作用是保存逻辑分区。

Linux分区

原理介绍

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

硬盘说明

  1. Linux硬盘分IDE硬盘和scsI硬盘,目前基本上是scsl硬盘
  2. 对于IDE硬盘,驱动器标识符为“hdx~",其中“hd"表明分区所在设备的类型,这里是指
    IDE硬盘了。“x"为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。
  3. 对于scsI硬盘则标识为“sdx~",ScSI硬盘是用“sd"来表示分区所在设备的类型的,其余
    则和IDE硬盘的表示方法一样。

查看所有设备挂载情况

基本语法

lsblk

lsblk -f

挂载的经典案例

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

如何增加一块硬盘

  1. 虚拟机添加硬盘

    在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,至到完成。然后重启系统(才能识别)!

  2. 分区

    分区命令

    fdisk /dev/sdb
    

    开始对/sdb分区
    *m 显示命令列表
    *p 显示磁盘分区 同fdisk -1
    *n 新增分区
    *d 删除分区
    *w 写入并退出
    说明: 开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全f

    分区

    一些操作命令

    查看分区,发现没有 uuid (原因是没有格式化)

  3. 格式化

    mkfs -t ext4/dev/sdb1
    

  4. 挂载
    先创建一个

    mkdir /home/newdisk
    

    ​ 挂载

    mount /dev/sdb1 /home/newdisk
    

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

    vim  /etc/fstab/dev/sdb1 home/newdisk    ext4    defaults    0 0mount -areboot
    

如何卸载一块硬盘

#也可以取消挂载
umount  /dev/sdb1umount /home/newdisk   #也能这样写傲

磁盘情况查询

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

基本语法

df -h

应用实例
查询系统整体磁盘使用情况

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

基本语法

du -h /目录

查询指定目录的磁盘占用情况,默认为当前目录

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

应用实例
查询/opt目录的磁盘占用情况,深度为1

磁盘情况-工作实用指令

统计/home文件夹下文件的个数

#  以 "-" 打头的 统计
ls -l /home | grep "^-" | wc -l       #  ^ 是定位符  wc 是统计的意思

统计/home文件夹下目录的个数

ls -l /home | grep "^d" | wc -l

统计/home文件夹下文件的个数,包括子文件夹里的

ls -lR /home | grep "^-" | wc -l

统计文件夹下目录的个数,包括子文件夹里的

ls -lR /home | grep "^d" | wc -l

以树状显示目录结构

yum install tree
tree

网络配置

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

目前我们的网络配置采用的是NAT。

查看网络IP和网关

查看虚拟网络编辑器

修改ip地址 (修改虚拟网络的ip)

查看网关

查看windows环境的中VMnet8网络配置(ipconfig指令)

方法一:

#win + r       输入cmd打开控制台
ipconfig

方法二:

ping测试主机之间网络连通性

基本语法

ping 目的主机

linux网络环境配置

第一种方法(自动获取)

缺点:linux启动后会自动获取IP缺点是每次自动获取的 ip 地址可能不一样。这个不适用于做服务器,因为我们的服务器的 ip 要求固定的。

第二种方法(指定固定的ip)

说明
直接修改配置文件来指定IP,并可以连接到外网(程序员推荐),编辑 vi/etc/sysconfig/network-scripts/ifcfk-eth0

要求:将ip地址配置的静态的,ip地址为192.168.184.130

cd /etc/sysconfig/network-scripts
lsvim ifcfg-ens33

进程管理

基本介绍

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

显示系统执行的进程

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

ps 显示的信息选项:

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

ps -a: 显示当前终端的所有进程信息

ps -u: 以用户的格式显示进程信息

ps -x: 显示后台进程运行的参数

ps -aux | more #    more显示一页

ps详解

指令: 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: 启动进程所用的命令和参数,如果过长会被截断显示

查看进程的父进程

要求:以全格式显示当前所有的进程,查看进程的父进程。

  • ps -ef 是以全格式显示当前所有的进程

    ps -ef | more
    

  • -e 显示所有进程。f 全格式。

  • ps -ef | grep xxx

    • 是BSD风格
    • UID: 用户ID
    • PID: 进程ID
    • PPID: 父进程ID
    • C: CPU用于计算执行优先级的因子。数值越大,表明进程是cPu密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
    • STIME: 进程启动的时间
    • TTY: 完整的终端名称
    • TIME: CPU时间
    • CMD: 启动进程所用的命令和参数

思考题,如果我们希望查看sshd进程的父进程号是多少,应该怎样查询?

终止进程kil和killall

基本介绍

若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。

基本语法

kill [选项]    进程号     #(功能描述:通过进程号杀死进程)killall     进程名称    #(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

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

最佳实践:

案例1:踢掉某个非法登录用户

ps -aux | grep sshd
kill 23297

案例2:终止远程登录服务sshd,在适当时候再次重启sshd服务

ps -aux | grep sshd
kill 1233

案例3:终止多个 gedit 编辑器 【killall,通过进程名称来终止进程】

#先打开终端创建3个文本编辑器 geditkillall gedit

案例4:强制杀掉一个终端

ps -aux | grep bash  #终端是 bash
kill -9 24521

查看进程树pstree

基本语法

pstree   [选项]    #可以更加直观的来看进程信息

常用选项:

-p 显示进程的PID
-u 显示进程的所属用户

应用实例:

案例1:请你树状的形式显示进程的pid

pstree -p

案例2:请你树状的形式进程的用户id

pstree -u

服务(Service)管理

基本介绍

服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysq! , sshd防火墙等),因此我们又称为守护进程,是Linux 中非常重要的知识点。【原理图】

service管理指令

(注意:CentOS7 以后 ,service 用 systemctl 代替,iptables用firewalld 替代)

service  服务名 [start | stop | restart | reload | status]#在CentOS7.0后不再使用service ,而是systemctl

使用案例

查看当前防火墙的状况,关闭防火墙和重启防火墙

systemctl status firewalld.service
systemctl stop firewalld.service
systemctl restart firewalld.service

细节讨论:
关闭或者启用防火墙后,立即生效。[telnet测试某个端口即可]

telnet 192.168.230.130 22    # windows下

这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。

如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令,马上讲。

查看服务名

方式1:使用setup >系统服务就可以看到。

setup    # 例如sshd   选中按下空格,就不会开机启动

方式2: /etc/init.d/服务名称

ls -l /etc/init.d/   #列出系统有哪些服务

服务的运行级别(runlevel):

查看或者修改默认级别:

vi /etc/inittab          #CentOS7 已舍弃该命令

Linux系统有7种运行级别(runlevel): 常用的是级别3和5
运行级别0∶系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS),不支持网络
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6∶系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

进入不同运行级别的方式

[root@node5 ~]# init 0   #关机
[root@node5 ~]# init 3   #进入3级别字符界面
[root@node5 ~]# init 5   #进入5级别图形界面
[root@node5 ~]# init 6   #重启

设置系统默认的运行级别(CentOS7)

centos7不再使用 /etc/inittab 文件进行默认的启动级别配置,而使用比sysvinit的运行级更为自由的target替代。第3运行级用multi-user.target替代,第5运行级用graphical.target替代。

#设置默认第三启动级别
[root@node5 ~]# systemctl set-default multi-user.target#设置默认第五启动级别
[root@node5 ~]# systemctl set-default graphical.target
[root@node5 ~]# runlevel
3 5   #表示从3级别切换到了5级别#查看当前默认的启动级别
[root@node5 ~]# systemctl get-default
graphical.target[root@node5 ~]# systemctl get-default
multi-user.target
CentOS7 /etc/inittab 已经被弃用,需要用systemctl 修改用户启动级别systemctl get-default 查看当前用户启动级别systemctl set-default multi-user.target 启动级别设为3systemctl set-default graphical.target  启动级别设为5tip:CentOS7只能设为3和5这两种模式

一个思考题

如果不小心将默认的运行级别设置成0或者7,怎么处理?

进入单用户模式,修改成正常的即可。。。

chkconfig指令

基本介绍

通过chkconfig命令可以给每个服务的各个运行级别设置自启动/关闭

基本语法

  1. 查看服务chkconfig

    chkconfig --list | grep xxx        #CentOS7 弃用
    

  2. chkconfig 服务名–list

    chkconfig iptables --list
    

  3. chkconfig --level 5 服务名 on/off

    chkconfig --level 5 sshd off #CentOS6
    chkconfig sshd --list
    

    systemctl disable sshd.service   #CentOS7
    

应用实例

  • 案例1:请显示当前系统所有服务的各个运行级别的运行状态

    chkconfig --list
    
  • 案例2﹔请查看sshd服务的运行状态

    service sshd status
    
  • 案例3将sshd 服务在运行级别5下设置为不自动启动,看看有什么效果?

    chkconfig --level 5 sshd off
    
  • 案例4:当运行级别为5时,关闭防火墙。

    chkconfig --level 5iptables off
    
  • 案例5:在所有运行级别下,关闭防火墙

    chkconfig iptables off
    
  • 案例6:在所有运行级别下,开启防火墙

    chkconfig iptables on
    

使用细节

chkconfig.重新设置服务后自启动或关闭,需要重启机器reboot才能生效.

动态监控进程

基本介绍

top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程。(类似于win的任务管理器)

基本语法

top  [选项]

选项说明

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

交互操作说明

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

应用实例

案例1.监视特定用户

top      #输入此命令,按回车键,查看执行的进程

u    #然后输入“u”回车,再输入用户名

案例2:终止指定的进程。

top      #输入此命令,按回车键,查看执行的进程

k     #然后输入“k”回车,再输入要结束的进程ID号

案例3:指定系统状态更新的时间(每隔10秒自动更新):

top -d 10    #按 q 退出 top

交互操作说明

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

查看系统网络情况netstat(重要)

基本语法

netstat -anp

选项说明

-an 按一定顺序排列输出
-p 显示哪个进程在调用

应用案例

查看所有的网络服务

netstat -anp | more

请查看服务名为 sshd 的服务的信息

netstat -anp | grep sshd

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

RPM 和 YUM

rpm包的管理

基本介绍

一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有 .RPM扩展名的文件。RPM是RedHat Package Manager (RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。

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

rpm包的简单查询指令

查询已安装的rpm列表

rpm -qa | grep xx

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 xx   rpm -qa | grep firefox
#rpm -q 软件包名:查询软件包是否安装rpm -q firefox
#rpm -qi 软件包名:查询软件包信息rpm -qi filefox
#rpm -ql 软件包名:查询软件包中的文件rpm -ql firefox
#rpm -qf 文件全路径名查询文件所属的软件包rpm -qf /root/install.logrpn -qf /etc/passwd

卸载rpm包

基本语法

rpm -e RPM包的名称

应用案例
删除firefox软件包

细节讨论

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

如:

rpm -e foo

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

如果我们就是要删除foo这个rpm包,可以增加参数 --nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖干该软件包的程序可能无法运行
如:

rpm -e --nodeps foo

安装rpm包

基本语法

rpm -ivh RPM包全路径名称

参数说明

i=install 安装

v=verbose 提示

h=hash 进度条

应用实例

演示安装firefox浏览器
先找到firefox.的安装rpm包.你需要挂载上我们安装centos.的iso,文件,然后到/media/下去找rpm 找。

进入相应的路径

cd /media/   #适用与CentOS6
cd /run/media/root  #适用于CentOS7  8cd /cd CentOS\ 7\ x86_64/Packages/

ls -l firefox-68.10.0-1.el7.centos.x86_64.rpm    #查看火狐的安装包cp firefox-68.10.0-1.el7.centos.x86_64.rpm /opt/   #拷贝火狐的安装包到 /opt

cd /opt/rpm -ivh firefox-68.10.0-1.el7.centos.x86_64.rpm

yum

基本介绍

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

yum的基本指令

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

yum list | grep xx软件列表

安装指定的yum包

yum install xxx下载安装

应用实例

案例:请使用yum的方式来安装firefox

先查询yum服务器是否有firefox

yum list | grep firefox

rpm -e firefox   #先把以前的卸载掉

yum install firefox      #默认安装最新版本

Linux实操篇笔记相关推荐

  1. Linux笔记总结 - linux实操篇 - 用户管理

    Linux笔记总结 - linux实操篇 - 用户管理 1 基本介绍 Linux系统是一个多用户多任务的操作系统,任何一个要使用的系统资源的用户,都首先向系统管理员申请一个账号,然后以这个账号身份进入 ...

  2. 第五章-Linux实操篇

    title: 第五章 Linux实操篇 categories: Linux tags: linux typora-root-url: - abbrlink: 93414991 date: 2019-0 ...

  3. Linux实操篇,开机重启和用户注销

    Linux实操篇,开机重启和用户注销 1. shutdown shutdown -h now :立即关机 shutdown -h 1 :一分钟后关机 shutdown -r now :立即重启 hal ...

  4. linux实操篇之-----vi和vim编辑器

    vi和vim编辑器 1. vi和vim的基本介绍 所有Linux系统都会内置vi文本编辑器 vim是vi的升级版,可以主动以字体颜色分辨语法的正确性,代码补完和编译,错误跳转等功能. 2. vi和vi ...

  5. 第10章Linux实操篇-定时任务调度

    第10章Linux实操篇-定时任务调度 文章目录 第10章Linux实操篇-定时任务调度 10.1crord任务调度 10.1.1概述 10.1.2基本语法 10.1.3常用选项 10.1.4快速入门 ...

  6. 第4章Linux实操篇-远程登录到Linux服务器

    第4章Linux实操篇-远程登录到Linux服务器 文章目录 第4章Linux实操篇-远程登录到Linux服务器 4.1Linux远程登录 4.1.1远程登录Linux-Xshell7 4.2远程上传 ...

  7. 【linux实操篇之磁盘分区】为你的虚拟机添加一块硬盘

    目录 前言 分区的基本知识 分区的方式 linux分区原理介绍 硬盘说明 查看系统的分区和挂载情况 实操-给linux添加一块新硬盘 (重要) 步骤一:虚拟机添加硬盘 步骤二:分区 步骤三:格式化 步 ...

  8. Linux — 实操篇_01(XShellXftp的使用、vi和vim编辑器入门、实操命令_用户管理)

    文章目录 一.远程访问工具 1.1 远程登录软件 XShell 1.2 远程上传下载软件 Xftp 1.3 注意 1.4 XShell新建会话 1.5 Xftp新建会话 二.vi和vim编辑器 2.1 ...

  9. Linux实操篇之软件包管理

    这里写目录标题 1. RPM 软件包管理工具 1.1 RPM 查询命令 基本语法 经验技巧 案例实操 1.2 RPM 卸载命令 基本语法 案例实操 1.3 RPM 安装命令 基本语法 选项说明 案例实 ...

最新文章

  1. java list 拼音排序_java中实现List集合中对象元素按其属性的中文拼音排序
  2. 机器学习入门一定要避开的3个陷阱
  3. 从Storm到Flink:大数据处理的开源系统及编程模型
  4. axure中怎么做出固定首行_办公软件操作技巧078:如何在excel表格中冻结行与列...
  5. MySQL锁阻塞分析
  6. 硬盘突然提示没有初始化_新硬盘的分区
  7. 算法工程师进化-基础理论
  8. ubuntu 16.04 创建新用户
  9. 关于阵列卡的配置参数Cache Policy(缓存策略)
  10. 印象笔记保存html,印象笔记怎么保存网页 印象笔记保存网页教程
  11. 计算机主机ip地址题,计算机网络IP地址练习习题
  12. MessageQueue的使用方法(一)
  13. POC_若依管理系统
  14. CS研究生学习阶段必读书籍
  15. 复现、修复和排查Spring RCE 0day
  16. 日历 设置云端邮件服务器,ios设置MDaemon activesync同步邮件、联系人、日历
  17. Ubuntu系统中IPFS环境的配置
  18. android安卓手机分屏多窗口实现方法
  19. P1252 马拉松接力赛
  20. [微信] 微信商户号 资金解决方案 自动提现 关闭

热门文章

  1. 如何将spine的素材导入unity
  2. 网易彩票APP:世界杯竞彩 细节定成败
  3. 计算机烧毁,终极:计算机主板烧毁了吗?为什么会燃烧?
  4. 我的世界Mods/制作(1)
  5. 批量给视频添加背景图片的操作方法
  6. 埃拉托色尼筛选法c语言求最大公约数,用埃拉托色尼筛算法求两个数最大公约数C++的实现...
  7. 计算机表格怎样筛选男女,excel表格数据男女筛选-EXCEL表格中选择性别怎么做 就是如何做筛选 ,比如......
  8. spring boot 源码解析52-actuate中MVCEndPoint解析
  9. Twitter 永久在家办公 VS 特斯拉对抗加州政府成功复工
  10. java软件测试基础