学习笔记第二十三节课

author author     2022-11-05     212

关键词:

管道符和作业控制

技术分享图片

  • 管道符表示把一个文件的输出的内容, 传递给后面的命令。
  • 比如wc-l 的用法 可以统计ls 下有多少个目录 文件。
  • 技术分享图片
  • 还有之前用的find命令。可以列出当前目录下所有文件, 也可以用管道符。
  • 技术分享图片
  • 以后会经常用管道符。
  • ctrl+z 可以暂停一个任务。, 可以用fg 恢复任务。(fg+暂停任务的id号 可以恢复指定的暂停任务。)
  • 技术分享图片
  • 技术分享图片
  • jobs 命令 可以把已经停止的任务给列出来。
  • 技术分享图片
  • bg可以把任务放在后台。
  • 技术分享图片
  • vim的命令 可能显示的不够明显, 可以用 vmstat来做实验。
  • 技术分享图片
  • 可以用bg把它放在后台, 虽然他还在显示。 因为用jobs 它还在运行。
  • 技术分享图片
  • 在后台可以用命令 只是会很影响操作, fg 可以把它调到前台,区别就是 没办法敲命令 了。
  • 也可以直接把任务放在后台 +&
  • 比如 技术分享图片
  • 在另一个终端是发现不了 别的终端的任务的。
  • 技术分享图片
  • 但是可以查看别的终端任务的进程。
  • 技术分享图片

shell变量

  • 技术分享图片
  • 系统的变量一般都是大写的英文字母。
  • 变量的值可以是一些数字 ,也可以是一串字符串。
  • 系统有很多配置文件, env 可以查看系统常用的环境变量。
  • 技术分享图片
  • 还有set 也可以查看变量 还可以看到自己设定的变量。
  • 技术分享图片
  • 我们可以定义一个自定义的变量(这个和系统的环境变量不一样)
  • 技术分享图片
  • 自己定义的变量可以在set里查看到 (set |grep 123)
  • 技术分享图片
  • 也可以用 less (set |less)
  • 技术分享图片
  • 系统的环境变量是内置的,没有权限去干涉它,但是可以自己定义一些变量, 写shell脚本经常要用变量。
  • 变量名的规则 变量名可以是字母 数字 下划线,但是首位 不能是数字。
  • 技术分享图片
  • 变量的值如果有特殊符号 要用单引号括起来。
  • 技术分享图片
  • 也可以用双引号 但是建议用单引号,因为可以脱译。
  • 比如 用双引号 变量的值如果有 特殊符号,用双引号,系统会识别的不是你想要的效果。
  • 技术分享图片
  • 技术分享图片
  • 变量的累加。连起来显示就是变量的累加。
  • 技术分享图片
  • 想要特殊符号 在变量值中起作用 可以把特殊符号单独双引号引起来。
  • 技术分享图片

  • 查看自己在那个终端。
  • w查看有两个用户登录了系统。
  • 技术分享图片
  • echo $SSH_TTY 查看自己在那个终端。
  • 技术分享图片
  • 技术分享图片
  • 在pts/0 定义一个变量 yingxin=linux 但是在pts/1 上是没有这个变量的。
  • 技术分享图片
  • 技术分享图片
  • 而且还可以进入一个子shell shell其实就是一个进程。等于进入了一个新的终端,虽然也在pds/0下。 可以用pstree看一下,我们远程登录sshd 获得了一个bash 然后又在终端上运行了一个bash 。
  • 技术分享图片
  • 现在去运行 echo $yingxin 也没有出现刚才的定义。
  • 技术分享图片
  • 退出这个终端, 然后去pstree 可以看到 我们是在pds/0 下了。
  • 技术分享图片
  • 这个叫做非全局,或者叫本地的变量 仅仅在终端下生效。
  • 可以变成全局的 就是 export 进入了新的终端 依然可以显示这个变量。 这就是全局环境变量。
  • 技术分享图片
  • 但是在另一个 pds/1 是没有生效的。因为这两个终端没有任何的交互,所以不会在另一台终端生效。
  • 技术分享图片
  • 我们再定义个全局变量 ,然后退出 新的终端,回到上一层终端,会发现 全局变量也没生效,因为全局变量是一层一层向下的,无法向上生效。
  • 技术分享图片
  • 这里的export 是以后写脚本的时候 会出现 脚本1里面有脚本2 脚本2会用到脚本1的变量的。
  • 变量可以赋值 也可以取消 就是unset +变量名。
  • 技术分享图片

环境变量配置文件。

  • 技术分享图片
  • 环境变量配置文件分两个纬度 一个是系统层次,一个是用户层次。
  • etc下属于系统层次(这两个文件不要动它,除非以后知道这是怎么回事了。)
  • 技术分享图片
  • .bash 属于用户层次
  • 技术分享图片
  • 可以把profile 归为一个类型 是用户或者系统在登录的时候会加载到。
  • bashrc归为一个类型。是用户或者系统在执行一个脚本的时候会加载到。
  • 当遇到一些需求 需要去编辑的时候 可以在用户的家目录下去编辑它。比如之前的编辑命令显示的行数改为5000 就可以在这里添加编辑,要是想全局都变量 需要到etc下去配置。图中的. 和source是同一个作用。 就是加载配置文件里的一些配置。
  • 技术分享图片
  • .bash_profile会z自动调用bashrc bashrc会自动调用etc/bashrc
  • 技术分享图片
  • .bash_logout 用来定义用户退出的时候的一些操作。比如每次退出终端 想把命令历史删除,就可以把删除命令历史的命令放在这个文件里面。

这里再说一个变量是 PS1=[033[01;32m]\[email protected]\h[033[00m\033[01;36m\w\033[00m\$‘
这个是在etc bashrc里面定义的。

  • 我们最开始登录系统的时候 的命令行 最左侧是root 用户名 然后@ 后面跟的主机名。然后是所在的目录。
  • 技术分享图片
  • ps1 就是这个命令行的变量配置文件。
  • echo $ PS1 u 就是用户名, h 就是主机名。 w就是所在目录。$在用户下是$ 在root下是#
  • 这里是一个大写的w 也可以改为小写。
  • 技术分享图片
  • 修改后就是一个全局路径。
  • 用户名,主机名都是可以修改的, 方括号也可以取消掉。
  • 技术分享图片
  • 我们也可以让他带颜色。
  • 技术分享图片
  • PS2 是用在另外一个环境里面的。

学习笔记第二十二节课

shell介绍shell是一个命令解释器,提供用户和机器之间的交互。用户配置的最后一个段就是shell创建的普通的用户它的shell是binbash每个用户都可以有自己的shellsentos7的shell是bash除此之外还有zshksh,用起来和bash很像,但是有细节上... 查看详情

学习笔记第二十五节课

正则介绍_grep正则就是一串有规律的字符串,包含特殊符号。对以后的写shell脚本很大的帮助。可以实现很多复杂的需求。第一个工具grepgrep用来过滤关键词。-c行数,过滤出来的这些行有多少行。做实验,先把etc/passwd作为一个样... 查看详情

学习笔记第二十一节课

yum更换国内源有时候自带的yum源,不好用,因为自带的里面的网址资源是国外的。从国内下载很慢。想办法更改国内的源。实验:先把dvd给删除了,然后把之前删除的给cp回来。然后删除CentOS-Base.repo改一个CentOS7-Base-163.repo新的需... 查看详情

学习笔记第二十七节课

awkawk支持分段,比如passwd的文件很有规律,可以分开匹配。awk最简单的功能,-F(加了-F就是表示要分割,后面就添加分割的符号,比如:)分段显示passwd的第一段内容,以:分割。想打印多个分割的内容,就加,打印所有的内... 查看详情

学习笔记第二十节课

安装与卸载软件linux下和windows下的安装软件方法差不多。一共有三种方法。rpm和windows下的exe很像,可以直接安装不用太多的设置。安装路径和文件名都是设定好的。yum是另一种方式去安装rpm包,在centos下安装的包叫rpm包。yum会... 查看详情

学习笔记第二十六节课

sedsed也能实现grep的功能,但是有些麻烦,而且没有颜色显示。sed的强项在于替换,替换一些指定的字符。比如grep中的.*|都可以在sed中实现,但是要加上//和p(这里只加p的话,匹配的含有root的会连续打印两次,不加关键词,会... 查看详情

学习笔记第二十四节课

shell特殊符_cut命令*是通配符。?是任意一个字符。#是注释字符,写命令的时候加一个#不生效。\是脱义字符。(就是取消掉原来的作用,让它不生效)昨天用过单引号其实还可以用\。管道符。管道符相关的几个命令如上。管道... 查看详情

学习笔记第二十八节课

使用w命令查看系统负载w查看系统的负载,分三部分。1是当前时间和终端开启的时间。加上系统负载。分别表示一分钟五分钟十五分钟时间段内系统负载值。表示的含义和cpu有关系,单位时间段内,使用cpu的活动的进程有多少个... 查看详情

学习笔记第二十九节课

监控io性能iostatiotop在运维工作中是除了cpu内存外也是一个重要的指标,是查看磁盘的问题。有时候cpu内存都有剩余,负载却很高,用vmstat查看,发现b或者wa比较大。说明磁盘有瓶颈。iostat和sar是同一个包。用法是直接回车也可... 查看详情

第二十三节:scrapy爬虫识别验证码图片验证码识别(代码片段)

图片验证码基本上是有数字和字母或者数字或者字母组成的字符串,然后通过一些干扰线的绘制而形成图片验证码。例如:知网的注册就有图片验证码 首先我们需要获取验证码图片,通过开发者工具我们可以得到验证码url链... 查看详情

批处理学习笔记第二十三课:用户变量和变量引用

用户变量   编写批处理程序时,用户根据需要自己定义的变量称之为用户变量。用户变量类似于C语言里面的变量,仅仅在定义该变量的程序中有效。   用户变量由set命令定义,这是批处理中非常非常重要... 查看详情

学习笔记第三节课(代码片段)

一、使用Putty远程连接Linuxputty官网下载地址点击下载putty.zip32位 练习快照功能,右键点击上方窗口,选择拍摄快照,填写快照名称。此功能和游戏存档一样,方便返回操作。如果忘记了自己的IP输入指令ifconfig查看一下,打开... 查看详情

[extjs5学习笔记]第十三节extjs5的ext.each方法学习

本文地址:http://blog.csdn.net/sushengmiyan/article/details/39009555sencha官方API:http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext-method-each本文作者:sushengmiyan--------------------------------------------- 查看详情

第二十三节在模板中使用url标签反转地址(代码片段)

测试了四种情形,具体请看index.html中的注释部分views.py代码1fromdjango.shortcutsimportrender,HttpResponse,redirect,reverse23defindex(request):4returnrender(request,‘index.html‘)56defbook(request):7returnHttpResponse(‘图书页面‘)89defmovie(request,movie_id):10returnHttpR... 查看详情

扣响c#之门笔记--第二十三章

23.1泛型的概念(1)在普通集合中,元素均被看做是object类型,会有以下缺点(a)赋值时候将类型转为object,使用时候又将object转为对应的类型,在装箱和拆箱时候造成一定性能损失;(b)任何类型的数据都可以放进集合里面,不... 查看详情

《pyinstaller打包实战指南》第二十三节单文件模式打包opencv-python(代码片段)

单文件模式打包OpenCV-Python打包示例源码:请看文章末尾版本信息:opencv-python==4.5.1.48numpy==1.23.2pyinstaller==5.7.0打包系统: Windows1064位打包前我们需要运行下代码,确保没有报错。belle.py代码如下:importcv2ascvalpha=0.5#[load]src1=cv.imr... 查看详情

javase学习笔记之网络编程(二十三)

端口:物理端口:逻辑端口:用于标识进程的逻辑地址,不同进程的标识;有效端口:0~65535,其中0~1024系统使用或保留端口。 java 中ip对象:InetAddress.importjava.net.*;class IPDemo{   publicstaticvoidmain(String[]args)throw... 查看详情

复习前面三节课

...   关于第一节课,老师说得好,不要做消极的学习者:看到别人花很多的时间,脚踏实地的学习,还能取笑别人,不够聪明,如果是我的话,花多短的时间,只要怎么怎么办,怎么怎么搞一下,就可以做得更好,只是... 查看详情