Shell
anssummer
只求每天进步一点点.
展开
-
25个必须记住的SSH命令
OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击。此外,OpenSSH提供了安全隧道功能和多种身份验证方法,支持SSH协议的所有版本。SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳转载 2013-11-18 09:36:30 · 677 阅读 · 0 评论 -
shell学习经典
七种文件类型d 目录 l 符号链接s 套接字文件 b 块设备文件c 字转载 2013-12-22 12:30:46 · 775 阅读 · 0 评论 -
shell read
linux shell -- read概述:read命令 -d[输入结束字符,默认结束符是换行] -p("提示语句") -n[字符个数] -t(等待时间) -s(不回显)原创 2013-12-08 23:29:46 · 587 阅读 · 0 评论 -
shell中操作mysql
shell操作mysql 在shell开发中,很多时候我们需要操作mysql数据库(比如:查询数据、导出数据等),但是我们又无法进入mysql命令行的环境,就需要在shell环境中模拟mysql的环境,使用mysql相关命令,本文总结几种shell操作mysql的方法,供大家参考。方案1 [python] view plaincopy转载 2014-08-23 17:27:17 · 527 阅读 · 0 评论 -
shell 间接变量引用的问题
1.感叹号的使用[cpp] view plaincopyaaa=123 bbb=aaa echo $bbb echo ${!bbb} 输出结果:aaa123可见,感叹号是可以引用间接变量的值2.eval的使用[cpp] view plainco原创 2015-09-15 13:57:27 · 2107 阅读 · 0 评论 -
Linux 技巧:让进程在后台可靠运行的几种方法
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。nohup/setsid/&场景:如果只是临时有一个命令需要长时间运行,什么方法能最简便的保转载 2015-11-08 23:44:46 · 370 阅读 · 0 评论 -
shell 使用管道符时变量的问题
文件如下:test12345使用命令[plain] view plaincopywc -l test 输出结果为5 test使用管道符计算文件行数脚本如下:[plain] view plaincopy原创 2015-10-25 16:31:07 · 6667 阅读 · 0 评论 -
shell中的多进程
所谓的多进程 只不过是将多个任务放到后台执行而已,很多人都用到过,所以现在讲的主要是控制,而不是实现。先看一个小shell: 看执行结果: 很明显是8s=============================这种不占处理器却有很耗时的进程,我们可以通过一种后台运行的方式来达到节约时间的目的。看如下改进: 用“{}”将主执行程序变为一个块,用转载 2015-10-25 16:44:49 · 555 阅读 · 0 评论 -
shell数组
一、数组和字符串Array[3] = "a b c" echo $Array[1] 输出b,str=“a b c” Array = ($str) echo$Array[1],同样输出b,要注意: Array = ($str)中的右值的括号不能缺上面这个就是我们常说的把字符串放到一个数组中,也可以理解为动态数组,比C和C++简单多了计算字符串长度可用的三种方法:echo “原创 2014-03-14 13:58:32 · 640 阅读 · 0 评论 -
awk&sed日常用法记录
1.删除只含tab键的行?```shell// -r 正则表达式 sed -r “s/\s+/d” file “`2.替换多个值echo abc | sed 's#\(a\)#\1\133#'3.abc abd 把ab一起的替换成1bc 1bdsed 's/a\(b\)/1\1/g'原创 2015-11-21 20:51:34 · 523 阅读 · 0 评论 -
set -e
工作中经常在shell脚本中看到set的这两个用法,但就像生活中的很多事情,习惯导致忽视,直到出现问题才引起关注。set -e set命令的-e参数,linux自带的说明如下: “Exit immediately if a simple command exits with a non-zero status.” 也就是说,在”set -e”之后出现的代码,一旦出现了返回值非零,整个脚本就会原创 2015-12-26 22:47:17 · 561 阅读 · 0 评论 -
shell基础
1.数组定义 a = (1 2 3) 注意: '='等号左右不能有空格,否则报错.原创 2014-03-14 14:01:55 · 569 阅读 · 0 评论 -
awk中pattern、action和{}的解释
M.Tansley 05/99 48311 Green 8 40 44 J.Lulu 06/99 48317 green 9 24 26 P.Bunny 02/99 48 Yellow 12 35 28 J.Troll 07/99 4842 Brown-3 12 26 26 第一种写法: awk 'gsub(/4842/,4841);{print $0}' gr转载 2014-08-03 23:26:18 · 1018 阅读 · 0 评论 -
Linux中sed和awk的使用及其相关实例解析
如果对实例中涉及的相关Linux命令不了解,可以参考:Linux下sed,awk,grep,cut,find等常用命令介绍在每一行后面增加一空行sed方法:sed G express关于sed的几个命令参数:G获得内存缓冲区的内容(此时内存缓冲区是空的),并追加到当前模板块文本的后面。awk方法:awk '{print $0 "\n"}'原创 2014-03-23 17:41:08 · 817 阅读 · 0 评论 -
Use 'heredoc' in shell scripts
Linux users who work with large blocks of text may want to consider using heredoc. Find out how to use heredoc in a single statement to print many lines of text in a shell script. A lesser-known转载 2013-12-08 22:56:50 · 876 阅读 · 0 评论 -
here_doc 原著
转自:http://tldp.org/LDP/abs/html/here-docs.htmlAdvanced Bash-Scripting Guide:Prev NextChapter 19. Here Documents Here and now, boys.--Aldous Huxley, Island转载 2013-12-08 23:42:43 · 914 阅读 · 0 评论 -
shell常用命令
打印历史记录中最后一次cat命令:!cat:p运行最后一个命令(如果最后一个命令是mkdir /root/test, 下面将会运行: sudo mkdir /root/test):sudo !!创建空文件或清空一个现有文件:> test.txt重复运行文件,显示其输出(缺省是2秒一次):watch ps -ef所有用户列表:getent pa原创 2013-12-11 00:47:43 · 968 阅读 · 0 评论 -
LINUX下把多行文件合并成一行,并组装成SQL
先说一下适用的场景,市场部那边希望看到某些商品中“黄牛”用户的活动情况,以及“黄牛”使用代金券的情况,然后发一个excel文件过来,拿到文件先复制到notepad++中,格式类似:id name price1 name1 price12 name2 price23 name3 price34 name4 price45 name5 p原创 2013-12-20 00:52:05 · 1116 阅读 · 0 评论 -
MySql批量drop table
今天发现数据库中很多没用的表,想清理掉。发现mysql好像不支持类似这样的写法:drop table like "%r"在oracle中,查了资料,是可以通过其他方式来实现:看这里【我顶!链接丢了!】那么想在mysql中实现,怎么做呢?两个思路:第一、修改mysql源码,在drop的时候加上like关键字支持。第二、写一个脚本,在数据库之外执行。------------原创 2013-12-20 01:15:36 · 855 阅读 · 0 评论 -
awk中的getline的用法
NR与FNR:QUOTE:A.awk对多输入文件的执行顺序是,先将代码作用于第一个文件(一行行读入),然后该重复的代码又作用于第二个文件,再作用于第三个文件。B.awk对多输入文件的执行顺序产生了行序号的问题。当第一个文件执行完,下次读入第二个文件,那么第二个文件的第一行怎么算呢?如果又计为1的话,那不就两个1了么?(因为第一个文件也有第一行)。这就是NR和FNR的问题。原创 2013-12-20 01:16:20 · 1501 阅读 · 0 评论 -
vim文本对齐命令
要使一定范围包括的行居中,用以下命令::{range} center [width] {range} 即是那些通常命令所能指定的范围。 [width] 是一个可选项,用来确定要居中的行的宽度。如果没有指定 [width],则默认使用 'textwidth' 的值。(如果'textwidth' 是 0,则默认为 80。)例如::1,5center 40 将原创 2013-12-22 12:06:41 · 1765 阅读 · 0 评论 -
sed中关于pattern space和hold space
sed的用法是: sed OPTIONS... [SCRIPT] [FILE...]简单说下sed的工作流程。pattern space和hold space默认都是空的。sed读入一行内容,删除尾部的换行符,存入pattern space, 然后执行SCRIPT,如果OPTIONS里没有 -n, pattern space里的内容会被输出到stdout(若读入时含有换行,这里会输出换原创 2013-12-22 12:22:09 · 1147 阅读 · 1 评论 -
sed模式空间
SED之所以能以行为单位的编辑或修改文本,其原因在于它使用了两个空间:一个是活动的“模式空间(pattern space)”,另一个是起辅助作用的“暂存缓冲区(holdingspace)这2个空间的使用。 sed编辑器逐行处理文件,并将输出结果打印到屏幕上。sed命令将当前处理的行读入模式空间(pattern space)进行处理,sed在该行上执行完所有命令后就将处理好原创 2014-03-23 13:44:35 · 750 阅读 · 0 评论 -
在shell脚本中包含php
有时候我们可能需要在其他语言编写的Shell脚本中包含PHP编写的Shell脚本。其实非常简单,下面是一个简单的例子: #!/bin/bash echo This is the Bash section of the code. /usr/local/bin/php -q print("This is the PHP section of the c原创 2013-12-08 23:43:09 · 737 阅读 · 0 评论