linux脚本

sed 命令详解

橙三吉。 提交于 2020-03-14 11:31:03
原文链接 1. Sed简介 2. 定址 3. Sed命令 4. 选项 5. 元字符集 6. 实例 (一) 7. 实例(二) 8 . 脚本 1.简介 sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。 sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。 2. 定址 定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。 地址是一个数字,则表示行号;是“$"符号,则表示最后一行。例如: sed - n '3p' datafile 只打印第三行 只显示指定行范围的文件内容,例如: # 只查看文件的第100行到第200行 sed -n '100,200p' mysql_slow_query.log 地址是逗号分隔的,那么需要处理的地址是这两行之间的范围(包括这两行在内)。范围可以用数字、正则表达式、或二者的组合表示

GNU LD 脚本学习笔记

为君一笑 提交于 2020-03-14 08:08:36
LD脚本(linker script)是什么 GNU ld是链接器,ld实际并不是GCC的一部分,ld属于binutils软件包。但是嵌入式开发时,下载的linaro GCC工具集中是包含 arm-linux-gnueabihf-ld 的。工作中我经常使用ARM的scatter文件,和这个LD脚本差不多,只不过scatter文件的功能要弱不少,这也是为什么ARM6中armclang也是推荐使用 GNU LD脚本的原因,ARM也不想维护自己特有的编译器了,只要专心把clang bytecode翻译成ARM指令的优化做好。 所有的链接过程都是由LD脚本控制的,写这个脚本的语言称为 linker command language,LD脚本的最主要的功能是描述如何将输入文件映射到输出文件以及输出文件的存储布局(memory layout)。在操作系统上开发时一般不会涉及到LD脚本,这是因为如果未使用命令行-T来指定脚本,ld会使用内置的默认脚本,这个脚本可以通过 ld --verbose 来查看,例如 arm-linux-gnueabihf-ld --verbose的输出如下 /* Script for -z combreloc: combine and sort reloc sections */ /* Copyright (C) 2014-2017 Free Software

Fabrc 2.0 外部链码开发教程

ぐ巨炮叔叔 提交于 2020-03-13 09:54:15
在Hyperledger Fabric 2.0中引入的一个新特性,就是可以使用外部的链码启动器,这种外部启动链码的方式非常适合使用kubenetes或dowcker swarm来统一管理节点容器和链码容器。在这片文章中,我们将学习如何使用外部链码启动器在K8s集群中部署链码。 1、Fabric外部链码实验的前提条件 Hyperledger Fabric区块链开发教程: Fabric Node.js开发详解 | Fabric Java开发详解 | Fabric Golang开发详解 下面是我们实验的一些前提条件 一个kubenetes集群,你可以使用minikube或一个单节点的kubeadmin。在 本文中我们使用kubeadmin hyperledger fabric 2.0.1 docker镜像 hyperledger fabric 2.0.1 预编译程序。我们需要其中的工具来创建 密码学资料和通道交易配置文件。可以从 这里 下载。 从 这里 下载本文的代码 2、安装预编译程序 使用以下命令安装预编译程序: wget https://github.com/hyperledger/fabric/releases/download/v2.0.1/hyperledger-fabric-linux-amd64-2.0.1.tar.gz tar -xzf hyperledger

linux执行脚本

守給你的承諾、 提交于 2020-03-13 09:19:20
linux 下开机以某一个用户执行 脚本 1 . 编辑: /etc/rc.local 添加想要被执行的 命令 即可(默认是以root用户执行)。 注: 有些很特殊的情况 /etc/rc.local 不会被执行,可以 编辑 /etc/init.d/rc.local 2 . 以期望的用户执行 命令 : su -c 'ls -l "myfile.txt"' guowei & 解释: 其中需要被执行的命令是 ls -l "myfile.txt" , 期望的用户的 guowei, & 表示在后台运行。 3 . 开机以 screen 运行程序 脚本 ,并添加环境变量 (no-login) : #!/bin/bash # 环境变量要在 su 之前设置好,然后 sudo -E 保持环境变量 # 如果直接是root用户执行该脚本,则只需要 su -p 或者 su -m 保持环境变量即可 export GUOWEI_DIR=/home/guowei export PATH=/opt/bin:$PATH source /home/guowei/.bashrc if [ -e /opt/my_app ]; then # sudo -E su -p -l guowei << BASH # 如果要以 guowei 用户执行那些程序的话,去掉注释即可。 su - 表示切换的环境变量,sudo 需要添加 -E

ubuntu中运行python脚本

蹲街弑〆低调 提交于 2020-03-12 05:54:01
1. 运行方式一 新建test.py文件: touch test.py 然后vim test.py打开并编辑: print 'Hello World' 打开终端,输入命令: python test.py 输出: Hello World 2. 运行方式二 这部分内容只对Linux/Unix用户适用,不过Windows用户可能也对程序的第一行比较好奇。 首先我们需要通过chmod命令,给程序可执行的许可,然后运行程序 chmod a+x helloworld.py ./helloworld.py 输出: Hello World chmod命令用来改变文件的模式,给系统中所有用户这个源文件的执行许可。 然后我们可以直接通过指定源文件的位置来执行程序。 我们使用./来指示程序位于当前目录。 为了更加有趣一些,你可以把你的文件名改成仅仅helloworld,然后运行./helloworld。 这样,这个程序仍然可以工作,因为系统知道它必须用源文件第一行指定的那个解释器来运行程序。 3.运行方式三 只要知道程序的确切位置,你现在就可以运行程序了。 但是如果你希望你的程序能够从各个位置运行呢? 可以将你的程序保存在PATH环境变量中的目录之一。每当你运行任何程序,系统会查找列在PATH环境变量中的各个目录。然后运行那个程序

Python安装:Windows及Linux安装

≯℡__Kan透↙ 提交于 2020-03-10 22:09:07
初识Python 一、简介 1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。 Python应用领域: Python是一种解释型脚本语言,可以应用于以下领域: 1.web全栈 2.人工智能 3.机器学习 4.网络爬虫 5.数据分析 6.算法工程师 7.游戏开发 8.信息安全 9.自动化测试 10.自动化运维 Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。 二、安装Python 1.Windows系统安装 1)下载安装包,Python官网https://www.python.org/ 下载链接地址为:https://www.python.org/downloads/release/python-382/ 下载完成后,会在下载的指定目录中有Python的安装包,双击安装即可。 安装: 默认安装没有勾选“自动添加Python的环境变量”需要手动勾选 点击“Customize installation”自定义安装。 点击“Next” 自定义目录

-Shell 教程 Bash 脚本 基础语法 MD

余生长醉 提交于 2020-03-10 18:03:37
目录 目录 Shell 简介 Shell 脚本 Shell 环境 第一个shell脚本 Shell 变量 定义变量 使用变量 只读变量 删除变量 Shell 字符串 单引号 双引号 字符串基本操作 Shell 数组 定义数组 数组的基本操作 Shell 注释 Shell 传递参数 特殊字符处理参数 $* 与 $@ 的异同点 Shell 基本运算符 算术运算符 关系运算符 布尔运算符 逻辑运算符 字符串运算符 文件测试运算符 Shell echo 命令 Shell printf 命令 格式替代符 使用案例 printf 的转义序列 Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 Shell 简介 Shell 是一个用 C 语言 编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种 命令语言 ,又是一种 程序设计语言 。 Shell 是指一种 应用程序 ,这个应用程序提供了一个 界面 ,用户通过这个界面访问 操作系统内核的服务 。 Ken Thompson 的 sh 是第一种 Unix Shell, Windows Explorer 是一个典型的 图形界面 Shell 。 Shell 脚本 Shell 脚本

跟高手学习LINUX笔记-19

空扰寡人 提交于 2020-03-10 13:19:11
第19节 shell基础 本节所讲内容: 19.1 shell 基本语法 终于在前面的章节把centos7基础介绍完成了,余下的几个章节都围绕这几个方面去介绍。 关于shell及脚本,通过工作中的实际应用总结以下几点,请大家斧正: 1、脚本很重要,特别是在linux自动化运维方面 2、脚本要多多练习,最少能读懂。建议是把别人脚本修改成自己的。 3、正则表达式一定要静下心来好好学学 4、三剑客“grep awk sed”一定要熟练掌握 19.1.1 什么是shell shell:跟它的英文单词的意思一样,是命令解释器,工作在用户与内核之间的命令解释翻译功能 计算机懂什么语言?二进制语言 人类懂什么语言?符号语言 在计算机与人类之间的沟通就需要一个翻译了,这个就是shell横空出现的原因了 通过前面的章节大家知道系统的灵魂是内核,如果每个用户都能去直接操作内核的话,我相信任何一个系统都如玻璃般脆 应用程序-->shell-->内核-->硬件 人类的命令-->键盘输入-->shell-->二进制命令-->内核 输入执行命令的过程 显示命令结果<--显示器显示<--shell<--二进制结果<--内核 输出命令结果的过程 19.1.2 有哪些shell [root@node-1 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr

提高PHP性能的实用方法+40个技巧优化您的PHP代码

荒凉一梦 提交于 2020-03-10 08:21:13
1、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数"(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 2、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 3、$row['id'] 的速度是$row[id]的7倍。 4、echo 比 print 快,并且使用echo输出时用逗号而不是句点代替字符串连接效率更高,比如 echo $str1,$str2。 5、在执行for循环之前确定最大循环数,不要把 count/strlen/sizeof 等每次都要重复做的但结果都一样的事情放到 for 循环的条件语句中,另外最好运用foreach代替for循环。 6、及时注销那些不用的变量,尤其是大数组,对象之类的,以便释放内存。 7、require_once()代价昂贵,据测试数据来看,使用require_once比require慢3-4倍,具体的解决办法可先检查是否存在引用然后决定是都需要require。 8、include和require文件时尽量不要使用相对路径,因为使用相对路径的时候它会首先查找指定的php包含路径,然后查找当前目录,因此会检查过多路径,所以最佳选择是使用绝对路径。 9

Linux--kickstart自动安装脚本

会有一股神秘感。 提交于 2020-03-10 05:21:58
为了减去人工安装linux系统的步骤,解放人们的双手,让linux系统自动安装好。我们要学会一个强大的工具:kickstart 操作步骤 在redhat7中安装kickstart软件 yum install system-config-kickstart 开启图形制作工具 system-config-kickstart 编辑ks.cfg文件 vim ks.cfg %packages @base lftp %end 测试一下:ksvalidator /mnt/ ks.cfg 接着发布ks文件 安装FTPD服务:yum install vsftpd 开启vsftpd :systemctl start vsftpd 关闭防火墙 :systemctl stop firewalld 创建目录:mkdir /var/ftp/ksfile 移动文件:mv /mnt/ks.cfg /var/ftp/ksfile 关键一步,在redhat7中检测发布,在firefox中输入 ftp://192.168.0.10/ksfile/ks.cfg 使用 在安装界面按 输入: ks=ftp://192.168.0.10/ksfile/ks.cfg 回车 进入到自动安装过程 注意: 使用kickstart安装系统时环境中必须有dhcp服务器否则网络资源访问不到 使用网络资源安装系统