centos7常用指令和操作

目录

  • 课程内容
  • 学习目标
  • 操作系统
    • 简介
    • 操作系统需要处理的内容
    • 主流的操作系统
  • 什么是linux
  • linux的发展历程
  • linux的特点
  • linux发行版本
  • Vmware
    • 虚拟机
    • 简介
    • 安装
    • 注意:
    • 开启虚拟化支持
  • CentOS的下载安装与配置
    • 下载地址
    • 创建虚拟机
    • 启动虚拟机-CentOS设置
    • 配置静态IP
    • 配置虚拟机访问网络
  • CRT的安装和配置
  • CentOS-目录和文件
  • CentOS 时间同步
  • 用户相关命令
    • 帐号管理命令
    • 用户组
    • 管理用户gpasswod
  • 系统管理相关命令
    • 日期管理date
    • 显示用户logname
    • 切换用户su
    • 查看当前用户详细信息id
    • 提升操作权限sudo
  • 进程相关命令
    • top 显示进程信息
    • ps命令
    • kill命令
  • 关机和重启相关命令
  • 系统管理其他命令
    • who
    • timedatectl命令
    • clear
  • 目录与文件相关命令
    • 列出目录下的文件和文件夹
    • 显示当前所在文件夹
    • 切换目录
    • 创建文件夹
    • 创建文件
    • 删除文件和文件夹
    • 复制和移动和重命名
  • 文件属性相关
    • 更改文件的组属性
    • 更改文件的属性主与组属性
    • 更改文件的权限
  • vi和vim编辑器
    • 常用操作
    • 定位行
    • 异常处理
    • 修改vim的颜色和其他配置
  • 查看文件内容
    • cat
    • more
    • less
    • tail
  • 搜索文本文件或进程中的内容grep
  • echo命令
  • 管道 |
  • awk 文本分析命令
    • 过滤和切割
    • 按照指定方式展示
    • 转大小写
    • 计算
  • 软连接ln
  • 搜索查找find
  • 压缩与解压缩
    • gzip与ungzip
    • tar
    • zip与unzip
    • bzip2与bunzip2
  • 网络管理
    • ifconfig
    • ping
    • netstat
  • 磁盘管理
    • lsblk
    • df
    • mount
  • yum
    • 常用命令
    • 修改下载源
    • yum和rpm的区别

课程内容

初识Linux

Linux的安装与使用

系统与设置命令

Linux的目录管理

学习目标

能够在虚拟机中安装centos7

操作系统

简介

管理计算机硬件软件资源的计算机程序,同时也是计算机系统的内核与基石。

操作系统需要处理的内容

管理与配置内存、

决定系统资源供需的优先次序、

控制输入设备与输出设备、

操作网络与管理文件系统等基本事务。

操作系统也提供一个让用户与系统交互的操作界面。

主流的操作系统

桌面操作系统

windows系列,macos,linux

服务器操作系统

linux,windows server

嵌入式操作系统

linux

移动设备操作

linux(安卓、华为鸿蒙),IOS

什么是linux

Linux是一套免费使用和自由传播的类Unix操作系统。

是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。

它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

centos7常用指令和操作_第1张图片

linux的发展历程

centos7常用指令和操作_第2张图片

linux的特点

  1. 两个基本思想 一切都是文件,每个软件都有确定的用途
  2. 完全免费
  3. 完全兼容POSIX1.0标准(其他系统程序可以运行在linux的模拟器中)
  4. 多用户、多任务
  5. 良好的界面
  6. 支持多种平台
  7. 三大优点 a.源代码完全开源 b.具有非常强大的网络功能 c.工具链完整( 简单操作就可以配置出合适的开发环境,可以简化开发过程, 减少开发中仿真工具的障碍,使系统具有较强的移植性 )

linux发行版本

我们使用的是CentOS,它是一个基于readhat(收费)的免费开源的操作系统,特点是:主流、免费、更新方便

centos7常用指令和操作_第3张图片

centos7常用指令和操作_第4张图片

Vmware

虚拟机

虚拟机是运行在操作系统上的一个软件,在这个软件中可以安装操作系统。常见的虚拟机有VMware和VirtualBox

简介

  1. 不需要分区或重开机就能在同一台PC上使用两种以上的操作系统。
  2. 完全隔离并且保护不同操作系统的环境以及所有软件、资料。
  3. 不同的操作系统之间还能互动操作。
  4. 有复原功能。
  5. 能够设置并且随时修改操作系统的操作环境。

安装

下载VMware-workstation-full-15.xx版本

注册码和下载地址百度搜索

  1. 打开.exe文件, 即可开始安装,点击下一步

centos7常用指令和操作_第5张图片

接受许可协议

centos7常用指令和操作_第6张图片

  1. 安装位置默认在C盘下,安装路径尽量不要有中文,点击更改可以更换安装目录

centos7常用指令和操作_第7张图片

  1. 点击下一步,等待安装

这里将检查更新和提升计划打勾,方便日后产品有新特性可以第一时间体验

centos7常用指令和操作_第8张图片

  1. 点击安装,进入安装环节

centos7常用指令和操作_第9张图片

安装进行中…

centos7常用指令和操作_第10张图片

  1. 安装成功

centos7常用指令和操作_第11张图片

注意:

虚拟软件安装完成后会在 \控制面板\网络和Internet\网络连接 下多出来两个虚拟网卡VMware Network Adapter VMnet1和VMware Network Adapter VMnet8

centos7常用指令和操作_第12张图片
VMware Network Adapter VMnet1这是用于与虚拟网络进行通信的虚拟网卡**:**HostNAT

在我们的虚拟机中有三种模式,分别对应仅主机、桥接、nat模式分别对应0、1、8如下

VMnet0:这是VMware用于虚拟桥接网络下的虚拟交换机VMnet1:这是VMware用于虚拟Host-Only网络下的虚拟交换机VMnet8:这是VMware用于虚拟NAT网络下的虚拟交换机

而上面的VMware Network Adapter VMnet1和VMware Network Adapter VMnet8就是对应我们的VMnet1和VMnet8,分别是nat模式和仅主机模式 我们在当前环境中将使用默认的桥接模式

NAT模式可以提供访问外网的能力。

开启虚拟化支持

引言

开启虚拟化选项能够使我们在电脑中安装虚拟机,比如VirtualBox,它能够让我们在一台电脑中虚拟化出另一个工作环 境,如果不开启虚拟机支持,我们在启动虚拟机的时候会报错,所以,我们在正式启动虚拟机之前开启虚拟化技术

不开启虚拟化的报错信息如下

我们在创建虚拟机的时候如果不开启虚拟化,会报下面的一个错误,此时,我们就要根据下面的步骤去开启硬件的 虚拟化支持

centos7常用指令和操作_第13张图片

注意

目前大部分硬件版本都支持虚拟化的开启,只有很少的Blos硬件不支持如果遇到不支持的VMware是无法使用的。

开启虚拟化的步骤:

1、开机(或重启)时进入Blos

注意:不同计算机使用的快捷键不同例如F2、F12、DEL、ESC等键就可以进入到BIOS

进入到BIOS后,找到Configuration选项或者Security选项,然后选择Virtualization,或者Intel Virtual Technology,就可以开始设置了

这里以ThinkPad为例

centos7常用指令和操作_第14张图片centos7常用指令和操作_第15张图片

2、VirtualizationIntel Virtual Technology设置为Enabled启用

3、在保存BIOS(F10保存)设置之后,重启计算机。

centos7常用指令和操作_第16张图片

此时,虚拟化支持就全部设置完毕了,我们在创建虚拟机的时候就不在报上面的错了。

CentOS的下载安装与配置

下载地址

官方镜像:https://www.centos.org/download/

阿里云镜像:http://mirrors.aliyun.com/

搜狐镜像:http://mirrors.sohu.com/

163镜像:http://mirrors.163.com/

清华大学镜像:https://mirrors.tuna.tsinghua.edu.cn/centos

重启大学镜像:http://mirrors.cqu.edu.cn/CentOS/

创建虚拟机

  1. 安装完VMware后,双击桌面图标,创建新的虚拟机,如下图:

centos7常用指令和操作_第17张图片

  1. 使用推荐安装

centos7常用指令和操作_第18张图片

3) 选择稍后安装操作系统,后续我们需要做一些相关配置

centos7常用指令和操作_第19张图片

4) 选择操作系统类型

客户机操作系统:选择Linux 版本:选择CentOS7 64位

centos7常用指令和操作_第20张图片

5) 开始新建虚拟机

虚拟机名称可以自定义(注意:不要出现特殊字符即可)

虚拟机运行文件路径选择本地磁盘路径(注意:磁盘空间尽量要大写,因为一个虚拟机的运行文件大约要在4G以 上)

centos7常用指令和操作_第21张图片

6) 设置磁盘容量,根据自己的需要设置此处我们设置为默认

centos7常用指令和操作_第22张图片

7) 选择自定义硬件,主要设置CentOS的镜像点击【自定义硬件】

centos7常用指令和操作_第23张图片

选择硬件【cd/dvd】,在【使用ISO镜像文件】中选择我们在sohu镜像源下载的镜像

CentOS-7-x86_64-DVD-1810.iso文件

centos7常用指令和操作_第24张图片

设置完成后点击【关闭】

centos7常用指令和操作_第25张图片

回到【新建虚拟机向导】页面,点击完成即可配置完毕。

启动虚拟机-CentOS设置

1点击箭头方向即可启动我们的VMware

centos7常用指令和操作_第26张图片

2、设置语言

在第一步设置完成后,我们一直等待,即可来到语言设置界面 此处我们设置【中文】,点击继续
centos7常用指令和操作_第27张图片

3、设置安装信息

将下面带有【感叹号图标】的内容进行设置,比如时间和键盘,可根据自己的需要进行初始化设置,此处我们设置 下CentOS的桌面,继续往下看…点击软件选择

centos7常用指令和操作_第28张图片

在软件选择安装我们的桌面,此处选择GNOME桌面

centos7常用指令和操作_第29张图片

4、点击开始安装

centos7常用指令和操作_第30张图片

5、配置用户信息

此处设置root账号密码,我们设置为root,暂时不创建新的用户(进入到欢迎页面的时候会提示我们创建用户)

centos7常用指令和操作_第31张图片

设置密码root!!!!!!统一一下

centos7常用指令和操作_第32张图片

设置完毕后不在有【感叹号图标】警告提示了

centos7常用指令和操作_第33张图片

执行重启操作

centos7常用指令和操作_第34张图片

6、重启后配置许可

centos7常用指令和操作_第35张图片centos7常用指令和操作_第36张图片

配置语言、账户、时区

centos7常用指令和操作_第37张图片centos7常用指令和操作_第38张图片centos7常用指令和操作_第39张图片centos7常用指令和操作_第40张图片centos7常用指令和操作_第41张图片centos7常用指令和操作_第42张图片centos7常用指令和操作_第43张图片centos7常用指令和操作_第44张图片centos7常用指令和操作_第45张图片

配置静态IP

在上面,我们成功的将CentOS镜像安装到了我们的虚拟机上,可是这个时候,虚拟机还没有配置IP信息,为了后面开发 方便,我们需要设置一个静态IP

1.NAT模式设置

首先设置虚拟机中NAT模式的选项,打开VMware,点击“编辑”下的“虚拟网络编辑器”,设置NAT参数

centos7常用指令和操作_第46张图片

注意:

VMware Network Adapter VMnet8保证是启用状态

centos7常用指令和操作_第47张图片

2、设置静态ip

  1. 使用su 切换到root账户下修改网卡配置信息,因为普通账户无法修改

输入su root后提示输入密码此时输入上文配置的密码即可。(上文配置的密码是root)

Shell

su root
  1. 修改网卡配置文件,使用vi命令打开ifcfg-ens33文件

Shell

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

centos7常用指令和操作_第48张图片

按下i键启用编辑

添加如下信息,并按上图修改BOOTPROTO和ONBOOT的值

Shell

IPADDR=192.168.23.129   
NETMASK=255.255.255.0  
GATEWAY=192.168.23.2   
DNS1=114.114.114.114
DNS2=223.5.5.5

配置说明

IPADDR设置ip地址

NETMASK设置子网掩码

GATEWAY设置网关

BOOTPROTO设置为静态static

ONBOOT设置为true在系统启动时是否激活网卡

执行保存 按下esc 再输入:wq!回车

3.重启网络

Shell

systemctl restart network

4.查看ip

Shell

ifconfig

centos7常用指令和操作_第49张图片

如上图所示,我们配置的静态IP起作用了,目前是192.168.23.129

配置虚拟机访问网络

如果想在虚拟机中访问网络,增加一块NAT网卡

1)【虚拟机】–【设置】–【添加】

centos7常用指令和操作_第50张图片

设置为NAT模式,如下图

centos7常用指令和操作_第51张图片

此时,我们通过虚拟机的浏览器访问www.baidu.com

CRT的安装和配置

CentOS-目录和文件

linux没有windows中盘符的概念,只有一个根目录/,所有的文件都在他下面

centos7常用指令和操作_第52张图片

CentOS 时间同步

centos7常用指令和操作_第53张图片

centos7常用指令和操作_第54张图片

用户相关命令

帐号管理命令

以下几个命令必须在root账户下使用,切换到root账户的命令 su root

创建用户: useradd (选项)

Shell

$ useradd jack //创建一个名为jack的用户

用户名用户口令: passwd (选项)

Shell

$ passwd jack //修改jack用户的密码,新密码由字母+数字组成,长度大于8

用户名修改用户: usermod 选项 用户名

Shell

$ usermod -l tom jack //把用户名jack改为tom

删除用户: userdel (选项) 用户名

Shell

$ userdel tom //删除tom

用户组

创建用户组: groupadd (选项)

Shell

$ groupadd kaifa //添加开发组

用户组名修改用户组: groupmod(选项)

Shell

$ groupmod -n kaifazu kaifa //kaifa修改为kaifazu

用户组名查询用户所属组:groups 用户名

Shell

$ groups root

删除用户组: groupdel 用户组名

Shell

$ gropudel kaifazu //删除kaifazu

管理用户gpasswod

语法:gpasswd (可选项)组名

gpasswd 是 Linux 下的管理工具,用于将一个用户添加到组或者从组中删除。

-a:添加用户到组;

-d:从组删除用户;

-A:指定管理员;

-M:指定组成员和-A的用途差不多;

-r:删除密码;

-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。

Shell

$ groupadd kaifazu //创建一个组,组名叫:kaifazu
$ useradd user1 //创建一个用户,叫user1
$ useradd user2 //创建一个用户,叫user2
$ useradd user3 //创建一个用户,叫user3

$ gpasswd -a user1 kaifazu //把user1添加到kaifazu
$ gpasswd -a user2 kaifazu //把user2添加到kaifazu
$ gpasswd -a user3 kaifazu //把user3添加到kaifazu

$ grep 'kaifazu' /etc/group     //查询kaifazu下面的用户

系统管理相关命令

日期管理date

date [参数选项]

参数选项:

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;

-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;

-u:显示GMT;

–help:在线帮助;

–version:显示版本信息

Shell

$ date //查询当前日期:2020年 05月 29日 星期五 22:56:14 CST
$ date -d "2020-09-09" //查询20200909的日期: 2020年 09月 09日 星期三 00:00:00 CST

显示用户logname

显示当前登录用户的信息

Shell

$ logname

切换用户su

格式:su 用户名

切换后退出用户 ctrl+d

查看当前用户详细信息id

查看当前用户的详细信息(用户id,群组id,所属组)

Shell

$ id

提升操作权限sudo

sudo [参数选项] 提高普通用户的操作权限

参数选项:

–V 显示版本编号

–h 会显示版本编号和指令的使用方式说明

–l 显示出自己的权限

–v 超出N分钟没有使用,要求再次输入密码(默认5分钟)

–k 下一次执行 sudo 时问密码

–s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell

–H 将环境变数中的 HOME 指定为要变更身份的使用者HOME目录

sudo command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令

进程相关命令

top 显示进程信息

top 实时显示所有的进程信息

top – c 实现显示所有的进程信息(显示完整命令)

top –p PID 实时显示指定进程的信息结束监控快捷键:q

centos7常用指令和操作_第55张图片

ps命令

ps [options] [–help] 查看进程信息

参数选项:

-A:进程信息信息(部分)

-u : 显示指定用户信息

-ef :显示所有进程信息(完整)

kill命令

kill 进程PID 杀死指定进程

kill -9 进程PID 彻底杀死指定进程

kill -9 $(ps –ef | grep 用户名) 杀死指定用户所有进程

killall –u 用户名 杀死指定用户所有进程

关机和重启相关命令

关机

shutdown 关机,默认立即关机,但是Centos7中会在一分钟后关机

shutdown -h now 立马关机

shutdown +1 “警告信息” 延迟一分钟关机

shutdown -r +1 “警告信息” 一分钟后关机并重启

shutdown -c 取消关机

重启

reboot

系统管理其他命令

who

who 显示当前登陆用户

who -H 显示当前登陆用户,多了标题信息

timedatectl命令

矫正服务器时间、时区

timedatectl status 显示系统的当前时间和日期

timedatectl list-timezones 查看所有可用的时区

timedatectl set-timezone “Asia/Shanghai“ 设置本地时区

timedatectl set-ntp false 禁用时间同步

timedatectl set-time “2019-03-11 20:45:00“ 设置时间

timedatectl set-ntp true 启用时间同步

clear

clear 清除屏幕

目录与文件相关命令

列出目录下的文件和文件夹

ls(list)是一个非常有用的命令,用来显示当前目录下的内容

Shell

$ ls

2

Shell

$ ls -a

显示所有文件或目录(包含隐藏的文件),在linux中以 . 开头的文件都是隐藏的文件

3

Shell

$ ls -l 
$ ll

显示文件详情,ll是缩写

centos7常用指令和操作_第56张图片

Shell

$ ll -h

友好显示文件大小

centos7常用指令和操作_第57张图片

显示当前所在文件夹

pwe 显示当前所处目录

切换目录

Shell

$ cd app

切换到app目录

Shell

$ cd ..

切换到上一层目录

Shell

$ cd /

切换到系统根目录

Shell

$ cd ~

切换到用户主目录

Shell

$ cd -

切换到上一个所在目录

创建文件夹

Shell

$ mkdir app

在当前目录下创建app目录,只能创建单级目录。

Shell

$ mkdir -p app2/test

级联创建aap2以及test目

创建文件

Shell

$ touch a.txt  //不存在就创建,存在就修改时间属性
$ touch a{1..10}.txt //批量创建
$ stat a.txt //查看文件详细信息

创建一个空文件

删除文件和文件夹

删除空文件夹

Shell

rmdir app

删除app目录,前提app目录必须为空,该目录下不能有文件

删除非空文件夹

Shell

$ rm -rf a

不询问递归删除 a目录以及该目录下的所有内容

删除文件

Shell

$ rm -rf a.txt

不询问直接删除a.txt文件

Shell

$ rm -rf *

删除当前目录下的所有的文件

Shell

$ rm -rf /*

/表示根目录,表示删除根目录下的所有的文件,别用。

复制和移动和重命名

复制

cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。

Shell

$ cp a.txt b.txt

将a.txt复制为b.txt文件

Shell

$ cp a.txt ../

将a.txt文件复制到上一层目录中

移动或重命名

mv 移动或者重命名

Shell

$ mv a.txt ../

将a.txt文件移动到上一层目录中

Shell

$ mv a.txt b.txt

将a.txt文件重命名为b.txt

文件属性相关

centos7常用指令和操作_第58张图片

centos7常用指令和操作_第59张图片

更改文件的组属性

chgrp:修改所在用户组,该命令只能修改组属性

Shell

chgrp root aaa //把aaa所在用户组修改为root

Shell

chgrp -v root itcast aaa //把aaa所在用户组由root改为itcast,执行完毕多了描述执行结果信息

更改文件的属性主与组属性

可以同时修改属主和属组权限

chown oldlu:oldlu aaa 将aaa文件的属主和属组改为oldlu

chown -R oldlu:oldlu aa 将aaa文件夹包括子文件夹的属主和属组改为oldlu

更改文件的权限

centos7常用指令和操作_第60张图片

Shell

$ chmod -R 770  aaa //表示把aaa包括其子文件和子文件夹的权限设置为 自己和组可读写执行,其他组不能操作

vi和vim编辑器

常用操作

1.打开文件, vi 文件名

2.启用编辑,按i键

3.保存退出 esc->:wq

4.不保存退出 esc->:q!

centos7常用指令和操作_第61张图片

定位行

vim 文件名 第几行

vim xx.txt 5

异常处理

如果 vim异常退出, 在磁盘上可能会保存有 交换文件(a.txt.swp)

centos7常用指令和操作_第62张图片
下次再使用 vim 编辑文件时, 会看到以下屏幕信息,直接使用 rm -rf .txtfile.txt.swp删除交换文件即可

centos7常用指令和操作_第63张图片

修改vim的颜色和其他配置

1.打开配置文件

Code

vim /etc/vimrc

2.修改配置文件,在配置文件中追加以下内容

Code

"语法高亮(显示彩色)
syntax on

"显示行号
set nu

3.其他配置

Code

"设置Tab长度为4格
set tabstop=4
"设置自动缩进长度为4格
set shiftwidth=4
"继承前一行的缩进方式,特别适用于多行注释
set autoindent
"显示括号匹配
set showmatch
"括号匹配显示时间为1(单位是十分之一秒)
"不要生成swap文件,当buffer被丢弃的时候隐藏它
setlocal noswapfile
set bufhidden=hide

查看文件内容

cat

用于显示文件的内容。主要阅读小型文件

格式:cat[参数]<文件名>

Shell

$ cat yum.conf

more

一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面。

回车显示下一行内容。

按 q 键退出查看。

Shell

$ more yum.conf

空格显示下一页数据 回车显示下一行的数据

less

用法和more类似,不同的是less可以通过PgUp、PgDn键来控制。

Shell

$ less yum.conf
$ less -N yum.conf //加入行号

PgUp 和 PgDn 进行上下翻页

tail

tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。

用法:

Shell

$ tail -10 /etc/passwd

查看后10行数据

Shell

tail -f catalina.log

动态查看日志,ctrl+c 结束查看

tail –3 big.txt 显示文件最后3行

tail -f big.txt 动态显示最后10行

tail -4f big.txt 动态显示最后4行

tail -n +2 big.txt 显示文件a.txt 的内容,从第 2 行至文件末尾

tail -c 45 big.txt 显示最后一些字符

搜索文本文件或进程中的内容grep

grep 关键字 small.txt 把包含关键字的行展示出来

grep –n 关键字 small.txt 把包含关键字的行展示出来且加上行号

grep –i 关键字 small.txt 把包含关键字的行展示出来,搜索时忽略大小写

grep –v 关键字 small.txt 把不包含关键字的行展示出来

ps -ef | grep 关 键字 查找指定的进程信息,包含grep进程

ps -ef | grep 关键字 | grep -v “grep” 查找指定的进程信息,不包含grep进程

ps -ef|grep -c sshd 查找进程个数

grep lang anaconda-ks.cfg –color 高亮显示查询结果

$ grep lang anaconda-ks.cfg –color -A1 -B1 高亮显示查询结果,并且显示上一行和下一个

echo命令

语法:echo “字符串” 展示文本,类似java中输出打印

echo “字符串” >文件名 将字符串写到文件中(覆盖文件中内容)

echo “字符串” >> 文件名 将字符串写到文件中(不覆盖文件中内容)

cat 不存在的目录 &>> error.log 将命令的失败结果 追加 error.log文件的后面

管道 |

管道 | 实际上就是过滤器

管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。

示例

Shell

$ ls --help | more

分页查询帮助信息

Shell

$ ps –ef | grep java

查询名称中包含java的进程

Shell

$ ifconfig | more
$ cat index.html | more
$ ps –ef | grep aio

awk 文本分析命令

过滤和切割

需求 1

centos7常用指令和操作_第64张图片

Shell

$ cat a.txt | awk '/zhang|li/'

需求2

centos7常用指令和操作_第65张图片

Shell

$ cat a.txt | awk -F ' ' '{print $1,$2,$3,$4}'

按照指定方式展示

需求

centos7常用指令和操作_第66张图片

Shell

$ cat a.txt | awk -F ' ' '{OFS="==="}{print $1,$2,$3,$4}'

转大小写

centos7常用指令和操作_第67张图片

Shell

$ cat a.txt | awk -F ' ' 'print toupper($1),$2,$3,$4}'

计算

centos7常用指令和操作_第68张图片

Shell

$ cat a2.txt | awk -F ' ' 'BEGIN{cnt=0}{cnt=cnt+$4}END{print cnt}'

centos7常用指令和操作_第69张图片

使用NR统计行数

Shell

$ cat a2.txt | awk -F ' ' 'BEGIN{cnt=0}{cnt=cnt+$4}END{print cnt,NR}'

软连接ln

类似windows中的快捷方式

centos7常用指令和操作_第70张图片

为什么有软连接?

因为 某些文件和目录 的 路径很深, 所以 需要增加 软链接(快捷方式)

语法

ln -s 目标文件路径 快捷方式路径

目标文件路径必须使用绝对路径,或者相对于快捷方式所在路径

Shell

$ ln -s /etc/a.txt a.txt.link //把etc下面的a.txt放到当前目录下,快捷名叫a.txt.link

搜索查找find

find . -name “*.txt” 查找当前目录及其子目录下所有后缀名名是txt的文件

find . -ctime -1 查找当前目录及其子目录下所有最近 1天内更新过的文件

find / -name ‘czbk’ /代表是全盘搜索,也可以指定目录搜索

压缩与解压缩

gzip与ungzip

gizp a.txt 压缩文件,后缀名是.gz

gzip * 压缩当前目录下所有文件

gzip -dv * 解压文件并列出详细信息

gunzip 压缩文件 解压

tar

tar -cvf 打包文件名 文件名 打包文件并指定打包之后的文件名(仅打包不压缩) ,后缀名.tar

tar -zcvf 压缩文件名 文件名/文件夹名 压缩文件或者文件夹并指定压缩文件名(打包压缩)

tar -ztvf 压缩文件名 查看压缩文件中有哪些文件

tar –zxvf 压缩文件名 解压

参数选项:

-c 建立新的压缩文件

-v 显示指令执行过程

-f<备份文件> 指定压缩文件

-z 通过gzip指令处理压缩文件。

-t 列出压缩文件中的内容

-x 表示解压

zip与unzip

zip -q -r 压缩文件名 文件/文件夹 压缩,压缩后的后缀名是.zip

unzip -l 压缩文件名 查看这个压缩文件中有多少内容

unzip -d 指定文件夹 压缩文件 解压

bzip2与bunzip2

使用新的压缩算法,压缩后的文件比原来的要小,但是花费时间变长。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。

bzip2 a.txt 压缩,后缀名.bz2

bunzip2 -v a.bz2 解压并显示详细信息

网络管理

ifconfig

ifconfig 显示激活的网卡信息

ifconfig ens37 down 关闭网卡,不用测试

ifconfig ens37 up 启动网卡

ifconfig ens37 192.168.23.199 配置ip地址

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

ping

ping www.baidu.com 检测是否与百度连通

ping -c 2 www.baidu.com 指定接收包的次数

netstat

netstat –a 显示详细的连接状况

netstat –i 显示网卡列表

磁盘管理

lsblk

类似windows下的 *DiskGenius*

centos7常用指令和操作_第71张图片

df 显示整个硬盘使用情况

df 文 件夹 显示文件夹使用情况

df –total 显示所有的信息

df -h 将结果变成KB,MB,GB形式展示,利于阅读

https://gitee.com/haoyongliang/resources/raw/master/images/linux/cengos7/1590851504042.png)

语法:lsblk [参数选项] 列出硬盘的使用情况

理解为:list block 的英文缩写。

lsblk 列出硬盘的使用情况

lsblk –f 显示系统信息

df

类似windows中的磁盘

centos7常用指令和操作_第72张图片

df 显示整个硬盘使用情况

df 文 件夹 显示文件夹使用情况

df –total 显示所有的信息

df -h 将结果变成KB,MB,GB形式展示,利于阅读

mount

用于挂载Linux系统外的设备

centos7常用指令和操作_第73张图片

挂载点

挂载就是将某个未使用的空间或可移动设备的存储空间指向一个目录

centos7常用指令和操作_第74张图片

注意事项

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

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

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

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

命令

mkdir -p mnt/cdrom 创建文件夹(也是创建一个挂载点)

mount -t auto /dev/cdrom /mnt/cdrom aa 开始挂载,将/dev/cdrom /mnt/cdrom

umount ./mnt/cdrom/ 卸载

yum

类似windows中的软件管家,并且可以解决依赖问题,比如安装A软件需要B软件,会自动安装B软件。一般软件安装时会提供对应的yum命令,能看懂即可

centos7常用指令和操作_第75张图片

常用命令

1.列出所有可更新的软件清单命令:yum check-update
2.更新所有软件命令:yum update
3.仅安装指定的软件命令:yum install
4.仅更新指定的软件命令:yum update
5.列出所有可安裝的软件清单命令:yum list
6.删除软件包命令:yum remove
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) :清除缓存目录下的软件包及旧的headers

案例:

yum -y install tree

tree

yum remove tree

yum list tom* 找出tom为开头的软件名称

修改下载源

默认的下载源在国外,比较慢,所以建议修改成国内的

  1. yum -y install wget
  2. cd /etc/yum.repos.d/
  3. mv CentOS-Base.repo CentOS-Base.repo.back
  4. wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  5. yum clean all
  6. yum makecache
  7. yum search tomcat

yum和rpm的区别

最初,ReadHat linux发行版专门用来管理各项套件的程序

区别,rpm只能安装已经下载到本地机器上的rpm包

你可能感兴趣的:(linux,linux,centos,运维)