看完这篇Linux基本的操作就会了(三)

简介: 笔记

3.3.2grep命令


grep(global search regular expression)是一个强大的文本搜索工具。grep 使用正则表达式搜索文本,并把匹配的行打印出来。

格式:grep [options] PATTERN [FILE...]

  • PATTERN 是查找条件:可以是普通字符串、可以是正则表达式,通常用单引号将RE括起来。
  • FILE 是要查找的文件,可以是用空格间隔的多个文件,也可是使用Shell的通配符在多个文件中查找PATTERN,省略时表示在标准输入中查找。
  • grep命令不会对输入文件进行任何修改或影响,可以使用输出重定向将结果存为文件

例子:

  • 在文件 myfile 中查找包含字符串 mystr的行
  • grep -n mystr myfile
  • 显示 myfile 中第一个字符为字母的所有行
  • grep  '^[a-zA-Z]'  myfile
  • 在文件 myfile 中查找首字符不是 # 的行(即过滤掉注释行
  • grep -v '^#' myfile
  • 列出/etc目录(包括子目录)下所有文件内容中包含字符串“root”的文件名
  • grep -lr root /etc/*

用grep查找/etc/passwd文件中以a开头的行,要求显示行号;查找/etc/passwd文件中以login结束的行;

20.png


3.4几种提高工作效率的方法


  • 自动补全命令
  • TAB键
  • 历史命令
  • 上下箭头键
  • 别名alias

这里感觉要说说的就只有别名alias了,我们下面看看例子就懂了!

显示shell当前已经定义的别名;执行其中的两个定义别名的命令;定义一个别名grep,要求其采用彩色方式显示结果

21.png22.png


3.5Shell变量 和 Shell环境


在Windows下有用户的环境变量,系统的环境变量。在Linux一样也是有的。

23.jpg

Shell 变量大致可以分为三类

  • 内部变量:由系统提供,用户只能使用不能修改。
  • ?
  • GROUPS
  • 环境变量:这些变量决定了用户工作的环境,它们不需要用户去定义,可以直接在 shell 中使用,其中某些变量用户可以修改。
  • 用户变量:由用户建立和修改,在 shell 脚本编写中会经常用到。
  • varName=Value
  • export  varName=Value
  • 变量赋值(定义变量)
  • 引用变量$varName

Shell变量的作用域

  • 局部变量的作用范围仅仅限制在其命令行所在的Shell或Shell脚本文件中
  • 全局变量的作用范围则包括本Shell进程及其所有子进程
  • 局部变量与全局变量互换:可以使用 export 内置命令将局部变量设置为全局变量。 可以使用 export 内置命令将全局变量设置为局部变量。

export命令

  • 显示当前Shell可见的全局变量
  • export [-p]
  • 定义变量值的同时声明为全局变量
  • export <变量名1=值1>  [<变量名2=值2> ...]
  • 声明已经赋值的某个(些)局部变量为全局变量
  • export <变量名1> [<变量名2> ...]
  • 声明已经赋值的某个(些)全局变量为局部变量
  • export -n <变量名1> [<变量名2> ...]

Shell环境变量:

  • 环境变量定义 Shell 的运行环境,保证 Shell 命令的正确执行。
  • Shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等。
  • 所有环境变量都是全局变量(即可以传递给 Shell 的子进程),并可以由用户重新设置。

24.jpg

Shell变量:查询、显示和取消

  • 显示当前已经定义的所有变量
  • 所有环境变量env
  • 所有变量和函数(包括环境变量) :set
  • 显示某(些)个变量的值
  • echo  $NAME1  [$NAME2 ……]
  • 取消变量的声明或赋值
  • unset  <NAME>


3.5.1Shell变量 和 Shell环境练习题


定义Shell变量stuXX(XX为学生学号末两位),初值为学生姓名全拼,用echo命令显示stuXX变量的值;用unset命令取消stuXX变量,检查结果;用env命令观察当前有哪些已经定义好的shell环境变量

25.png26.png

Shell环境变量的值是否可以修改?为什么?

答:环境变量的值一般情况下,可以修改。但一定要慎重修改,因为一旦修改错误,对shell正常运行造成严重影响,甚至导致shell无法运行。


四、VI编辑器


相信没有用过Linux的同学在看一些段子的时候都会看到过两个编辑器:

  • vim
  • emacs

下面我们学习如何简单使用vi。vi 是 “Visual interface” 的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的

  • vi可以看做成我们Windows下的记事本
  • vim 即 Vi IMproved,vi 克隆版本之一

使用Vi来编辑文件:

27.jpg

Vi有三种模式:

28.jpg


4.1普通模式


  • G用于直接跳转到文件尾
  • ZZ用于存盘退出Vi
  • ZQ用于不存盘退出Vi
  • /和?用于查找字符串
  • n继续查找下一个
  • yy复制一行
  • p粘帖在下一行,P粘贴在前一行
  • dd删除一行文本
  • x删除光标所在的字符
  • u取消上一次编辑操作(undo)


4.2插入模式


在 Normal 模式下输入插入命令 i、 a 、 o进入insert模式。用户输入的任何字符都被vim当做文件内容保存起来,并将其显示在屏幕上。

  • 在文本输入过程中,若想回到Normal模式下,按 Esc 键即可。


4.3命令行模式


Normal 模式下,用户按冒号 :即可进入 Command 模式,此时 vim 会在显示窗口的最后一行 (屏幕的最后一行) 显示一个 “:” 作为 Command 模式的提示符,等待输入命令。

  • :w   保存当前编辑文件,但并不退出
  • :w newfile  存为另外一个名为 “newfile” 的文件
  • :wq 用于存盘退出Vi
  • :q!    用于不存盘退出Vi
  • :q用于直接退出Vi (未做修改)

设置Vi环境:

  • :set autoindent  缩进,常用于程序的编写
  • :set noautoindent 取消缩进
  • :set number 在编辑文件时显示行号
  • :set nonumber 不显示行号
  • :set tabstop=value 设置显示制表符的空格字符个数
  • :set 显示设置的所有选项
  • :set all 显示所有可以设置的选项


4.4Vi练习题


在用户主目录下,执行vi程序,编辑文件install.log;移动光标到第10行,第五个字符;按大写字母G,达到文件末尾;不存盘退出;

29.png30.png

在用户主目录下,执行vi程序,编辑文件install.log;用/命令查找字符串sudo,复制包含字符串sudo的行

31.jpg

在用户主目录下,执行vi程序,编辑文件install.log;进入命令模式,设置显示行号;用?命令查找字符串openssh,用命令n查找下一个

32.png33.png


四、总结


本文主要讲解了Linux的最基础的知识,可以简单地操作Linux了。命令可以说是学不完的,只能是记住Linux是有这个功能,到时候去网上查查也很方便。

主要是多练、多玩就可以记住一些常用的Linux命令了~~~~

下面我就花点时间画个Linux命令的脑图(当然了,命令仅限于是本文章的知识点,等写到用户、网络等知识点的时候再继续补充上去!)

34.jpg

目录
相关文章
|
2月前
|
网络协议 Linux 网络安全
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在CentOS 7中,新引入了firewalld服务(防火墙),取代了CentOS 6之前的iptables服务(防火墙)。
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
|
2月前
|
存储 运维 Linux
Linux磁盘精准缩容:操作详解与技巧
在Linux系统管理中,有效的磁盘空间优化对于维护系统性能至关重要。本文将深入探讨如何在Linux环境下安全地进行磁盘缩容,帮助你合理调整存储资源,确保系统高效运行。跟随本篇的步骤,一起优化你的Linux系统磁盘空间!
Linux磁盘精准缩容:操作详解与技巧
|
3月前
|
Linux 网络安全 开发工具
Linux 管理远程会话 screen:掌握终端的多任务操作
`Linux screen` 命令让多任务管理变得更简单,尤其在SSH连接远程服务器时。创建新会话如`screen -S backup`,查看会话`screen -ls`,退出`exit`。高级功能包括直接在会话中运行命令,如`screen vim memo.txt`,会话共享以协同工作,以及通过`screen -r`或`-D -r`重新连接或强制恢复断开的会话。提高效率,确保任务不间断运行。
51 1
|
2月前
|
安全 固态存储 Linux
服务器linux操作系统重装的完整流程-傻瓜式教学
服务器linux操作系统重装的完整流程-傻瓜式教学
|
3月前
|
Linux 应用服务中间件 网络安全
linux 初始化全部操作
linux 初始化全部操作
29 1
|
3月前
|
Linux C++
Linux C/C++目录和文件的更多操作
Linux C/C++目录和文件的更多操作
|
3月前
|
Ubuntu Linux
服务器硬件 做raid操作 ubuntu linux做raid
服务器硬件 做raid操作 ubuntu linux做raid
52 0
|
3月前
|
SQL 关系型数据库 MySQL
Linux 下mysql操作
Linux 下mysql操作
32 0
|
3月前
|
机器学习/深度学习 Shell Linux
linux shell脚本判断文件或文件夹是否存在循环操作
linux shell脚本判断文件或文件夹是否存在循环操作
101 0
|
3月前
|
Linux Perl
编程入门(七)之【Linux进阶操作AWK】
编程入门(七)之【Linux进阶操作AWK】
52 0