1. time -p [程序] 可以在运行结束之后打印出所需时间...其他用法可以man time
  1. rpm -qa  查询redhat linux里面安装的所有软件...ubuntu下面可能不行,不过反正大型机下面又不是ubuntu.分页查看用 rpm -qa|more  然后如果想sort一下并且保存的话就 rpm -qa|sort >softwarelist.txt, 查看xxx软件装没装就用 rpm -qa |grep xxx
  1. 命令后面加上&即可在后台执行,,,,不妨拿gedit试试..
  1. ssh -X  连接上远端服务器之后,就可以运行图形界面的程序了.
  1. sudo su 是用root登陆!
  1. 文件切割 dd if=待切文件名 of=切后文件名 bs=多少字节作为切割单位 count=要切多少 skip=切割起点
  1. 文件合并 dd if=待装文件名 of=装后文件名 bs=多少字节作为组装单位 count=要装多少 skip=组装起点(从文件头开始)
  1. 解决令人发指的E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?的方法是 (确认没有有用的程序正在用lock之后) sudo rm /var/lib/dpkg/lock
  1. ps -aux  进程们的列表!
  1. cut可以提取第n列,或者第n个字节,cut -f1 取第一列,cut -b1,2,5取第1,2,5个字节 cut -c3-7 取第3-7个字符,cut -c2-可以提取第二个到最后的字符。后面加上文件名字即可。提取字符串m中的后n个字符串,可用echo ${m: -n},从n开始到k的字符串,用echo ${m: n:k},第k个字符之前的字符串,echo ${m: :k},如果想提取从头到倒数第n个字符(不包括倒数第n个),用echo ${m: :${#m}-n}
  1. shell的for 循环是这样的:


    这里echo $X是要循环的部分($X前面的$表明其变量身份)。注意do和done 附近的换行。
  1. 【awk】想把两列交换怎么办?用awk '{print $2,$1}' filename吧,在管道操作里面可以 ...操作|awk '{print $2,$1}' ,多列操作同理,还可以这样计算两列之和什么的 操作|awk '{print $2+$1}' 。
  1. 获取一个软链接的指向,用readlink
  1. shell里面想把什么东西的结果直接转化成变量,就直接把他们括起来在前面加$就行了 例如 $(readlink $XXX)
  1. gzip -cd 直接把.gz拿来当普通文件用。。。在stdout上输出解压缩后的文件内容。。当然 .gz都是单文件压缩
  1. 默认的sh脚本是不支持alias的,如果想用脚本内的alias,需要在脚本前面加上shopt -s expand_aliases才行。至于脚本外的alias貌似没法用……
  1. tee命令可以把输出打印到屏幕的同时输出成文件
  1. if的单行指令为if [ XX = XX ] ;then XX;elif [ ! xx = xx ]; then XXX;else XXXX;fi
  1. for的单行指令为 for X in DDD;do kkkkk${DIR##*/}k $X;done
  1. 输出文件名(去掉目录名) 用 basename file ,只输出路径名用dirname  file 。如果是文件夹的话只输文件夹名字,用${DIR##*/}其中DIR是文件夹的全路径
  1. 将目录下所有文件名存到数组中,用($DIR/*)其中$DIR是目录,这种方式下标是从0开始的
  1. 提取数组元素,用${ARRAY[0]}。。。获取数组长度(即数组元素个数)用echo ${#a[@]},遍历数组元素(从1到最后),用for i in ${a[@]}
  1. echo 里面,单引号表示既不替换$变量, 双引号替换$变量,echo  -e 表示替换转义符(\n之类);echo 不加-e表示不替换转义符(\n等)
  1. 或者”可以用OR 表示二选一。例如ls /mydoc/*.txt OR *.jpg
  1. cp -d 在拷贝软链接的时候,会保持拷过去的是链接,而非链接指向的文件。
  1. `xxxx`表示``所夹函数的结果
  1. cat list|while read aa;do mv `echo $aa|awk '{print $1".sam"}'` `echo $aa|awk '{print $2".sam"}'`;done 这个语句按照列表list,将所有带有第一列前缀的sam命名为 第二列前缀.sam
  1. 【PBS】批量删除任务,例如删除从1672597开始的9个任务:k=1672597;for i in `seq 1 9`;do qdel $k;let “k=$k+1";done
  1. bash中得到数列的方法:seq .例如seq 1 5得到1 2 3 4 5,而更简单的办法是{1..5}或者{a..z},和perl里面差不多。。例如for i in {1..5};do;done。然后如果想写chr1 chr2 chr3....chr10,则可chr{1..10}
  1. 想写个循环,包括1,2,3,4, 5,X,Y。咋办? for i in `seq 1 5` 'X' 'Y' ...........
  1. 打印文件绝对路径: echo ${PWD}/filename
  1. sed -n '2,$p' filename打印文件除首行之后的行
  1. 输出第6列大于20000000的。。gawk '$6>200000000{print $0}' file1
  1. 从文件里一行一行的读,最好用while read i ;do XXXXXX $i;done<filename; 一次从文件里读两行,参见

  1. 将文件按第二列到第二列(-k2,2)的数值(-n)逆向(-r)排序sort -k2,2nr file
  1. 印文件第一行第二列的数据sed -n "1p" file| cut -f2
  1. 【awk】匹配,拽出满足第4列不为[ATCGatcg]之一,且忽略大小写,第3列不等于第4列的行awk 'BEGIN{IGNORECASE=1;}$4!~/[ATCGatcg]/&&$3!=$4' file
  1. 计算字符串$var的长度${#var},从字符串$var里面计算字符$char的个数$var|tr -cd $char| wc -c
  1. 算式的结果,例如计算4+3 就用 $[4+3]
  1. 浮点计算,用外部计算器bc。scale代表保留的有效数字位数。echo "scale=4;1/3"|bc得到.3333,bc -l是直接算
  1. 【awk】打印匹配XXX的下一行:awk '/XXX/{getline;print;}'
  1. 命名管道

  1. ls *m8 |wc -w 好像这个能统计目录下面*.m8文件的个数。。
  1. 【VI】查找替换方法: % s/word1/word2/g 可以把全文的word1替换成word2
  1. 【awk】引用外面的变量咋办?可以用双引号套单引号的格式。var="test";awk 'BEGIN{print "'$var'"}。。PS:血的教训啊:如果引用的变量是数值,并且还是要用来比大小的,那么引用完一定要强制转换成数字啊,+0或者int或者把单引号写在双引号外面什么的都行 !例如 c=30;awk '($9> ("'$c'"+0))' T_20x.filtered.raw  否则就和没过滤过一样!
  1. 【awk】什么是BEGIN和END?BEGIN后面的{}里面装着循环起始前的内容,比如一些初始值。END后的{}装着循环结束后需要干的事情,例如打印XXX。而没有BEGIN和END的括号就是循环的时候对每行做的事情了。
  1. 【awk】 取消行末回车的办法:将print改成printf
  1. 【VI】改换外观方法:vi里面输入 :colorscheme 外观名(可用tab进行自动补全)
  1. touch 新建普通文件 mkfifo 新建命名管道文件
  1. paste 纵向拼接两个文件,相当于cbind。paste -s 矩阵转置。
  1. split 把一个大文件切成若干份。split -l 1000 file 把file切成若干份,每份1000行。
  1. whereis xx 在系统文件夹中寻找xx(打印所有路径),which xx 在系统文件夹中寻找xx(打印第一个路径)。locate file查找普通文件file,非即时但很快。find [目录] -name xx 在目录中寻找名字含xx的文件。
  1. 想找第一个文件中间的哪些行在/不在第二个文件中出现了?用comm 和diff吧。。具体用法请help。PS:用之前要sort。。
  1. kdesktop直接图形界面了……
  1. 【awk】分列符换行符怎么改?是什么??awk预定义RS(换行符),FS(读文件的分列符),ORS(输出时的换行符),OFS(输出时的分列符)变量分别为'\n'、'[ \t]+'、'\n'、' '。 awk 每一次输入文本时,NR(行数)变量自动加一,根据RS确定一次输入文本的内容将其赋给$0这一位置变量(是变量吆),再根据FS对其进行分域(也就是把各域的字符串分别赋给位置变量$1、$2、$3、... ;并且更新NR变量)

  1. 想改后缀,例如把*.txt都改成*.rar可以用 mv file ${file%.txt}.rar,一般#是去掉左边,%是去掉右边,一个符号是最小匹配,两个符号是最大匹配。更详细的看这里http://blog.163.com/cleave@126/blog/static/354763862010112183639209/
  1. 如果变量名称也是变量怎么办?中括号[]解决问题。ks=4;i='s';printf $[k$i] 结果返回4.
  1. 【awk】else if的写法:就是else if
  1. sort -g可以针对科学计数法排序;sort针对第4列然后在逆向针对第3列进行排序怎么办? sort  -k4,4 -k3,3r逗号前面和后面表示排序参考块的起始和终止。r表示逆序,将r放在后面表示仅针对当前的块(也就是k3,3)逆序,而不是对所有。
  1. shell里面也有sleep,而且还是更加精锐的sleep,例如 sleep 1    睡眠1秒,sleep 1s    睡眠1秒,sleep 1m   睡眠1分,sleep 1h   睡眠1小时
  1. 【awk】拆分字符串:split($3,arr,",");将$3拆分,分隔符是逗号,,然后分割好的东西写到数组arr里面
  1. 【awk】数组循环遍历:可以for (i in arr){print arr[i]}
  1. 【awk】只针对某一列匹配awk '$3~/aaa/', 只针对某一段替换,awk '{gsub("-","",$2);}' file,但注意有时候可能会有分隔符错误,所以有必要在BEGIN里加上BEGIN{FS=“\t”;OFS="\t"}之类的
  1. 【awk】对多个文件进行操作除了用FNR(当前文件到了第几行)和NR(总共到了第几行)之外,还可以用ARGIND==X(注意,要gawk)过滤读到了第几个文件,X为1就是第一个文件。例如处理4个文件的: gawk 'BEGIN{FS="\t";OFS="\t"}(ARGIND==1){if(r!=$1&&NF>12){out[$1]=$12"\t"$13;tonmr[$1]=substr($7,4)}}(ARGIND==2&&NF>2){funcc[$1]=$2"\t"$3}(ARGIND==3&&FNR>1&&NF>13){ks=$4    ;for(i=5;i<=14;i++){ks=ks"\t"$i};exprr[$1]=ks}(ARGIND==4&&NF>2){splus="'$s'_"$3;if(out[splus]!=""&&funcc[$3]!=""&&exprr[tonmr[splus]]!=""){print $1"\t'$i'\t"tonmr[splus]"\t"    exprr[tonmr[splus]]"\t"$3"\t"out[splus]"\t"funcc[$3];next} }' $ortorigin $symbolslist $expfile $genelist>$nu.temp1
  1. fc-list查看linux下安装了哪些字体
  1. cal 9 1752 查看1752年9月的日历
  1. 【cat】把一大坨文件例如1.txt,2.txt....n.txt按照顺序cat到一起怎么办?无需艰难决定!for i in `seq 1 n`; do cat $i.txt >> output;done
  1. 【awk】如果需要匹配某个东西,并且该东西是变量的话,变量外面可以不用加//的。。。
  1. 【vim】对块进行缩进的方法:选中块 ,然后输入>
  1. 【awk】sub gsub gensub区别
    sub(a,b[,c]) 替换第一次匹配,匹配正则a,用b替换,c为指定替换目标是哪个域如$1,$2,若无c指$0,返回值为替换成功次数
    gsub(a,b[,c]) 全局替换,匹配正则a,用b替换,c为指定替换目标是哪个域如$1,$2,若无c指$0,返回值为替换成功次数
    gensub(a,b,c[,d])全局替换,匹配正则a,用b替换,c为指定替换目标是第几次匹配,d为指定替换目标是哪个域如$1,$2,若无d 指$0,返回值为target替换后内容(未替换还是返回target原内容),与sub、gsub不同的是,target内容替换后不改变。
  1. 【awk】index函数返回子字符串第一次被匹配的位置,偏移量从位置1开始。格式如下:index(string, substring)
  1. 【awk】match函数返回在字符串中正则表达式位置的索引,如果找不到指定的正则表达式则返回0。match函数会设置内建变量RSTART为字符串中子字符串的开始位置,RLENGTH为到子字符串末尾的字符个数。substr可利于这些变量来截取字符串。函数格式如下:match( string, regular expression )
  1. 判断文件为空的方法 对于文件i,若[ -s $i ]为真,则文件不为空。输出当前目录下所有空文件的方法:for i in * ;do if [ ! -s $i ] ;then echo $i;fi;done
  1. 【grep】匹配“A或B”的方法:grep -E 'A|B'
  1. 在空格隔开的字符串两端加括号()可以将其转换为数组。因此可以用这种方式将【awk】中的数组传递到外面来。str=`awk 'BEGIN{OFS=" "}(NR==1){for(i=3;i<=NF;i++){print $i}}' statmiRNAinfo.xls`;k=($str);echo ${k[2]}
  1. 在管道中,可以用/dev/stdin 来指代通过管道传过来的数据,如less a.txt |cat b.txt /dev/stdin
  • http://blog.163.com/cleave@126/blog/static/354763862010810112258973/http://blog.163.com/cleave@126/blog/static/354763862010810112258973/

shell的一些一句话东西相关推荐

  1. 【技术分享】linux各种一句话反弹shell总结——攻击者指定服务端,受害者主机(无公网IP)主动连接攻击者的服务端程序(CC server),开启一个shell交互,就叫反弹shell。...

    反弹shell背景: 想要搞清楚这个问题,首先要搞清楚什么是反弹,为什么要反弹. 假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常 ...

  2. php一句话上传webshell,一句话shell,哪些是恶意的php一句话webshell

    哪些是恶意的php一句话webshell PHP 是一种创建动态交互性站点2113的强有力的服务器端脚本语5261言. PHP 是免费的,并4102且使用广泛.对于像1653微软 ASP 这样的竞争者 ...

  3. 常用的一句话反弹shell总结

    目录 常用的一句话反弹shell总结 1. bash直接反弹 2. python一句话反弹shell 3. python脚本反弹shell 4. php一句话反弹shell 5. php脚本反弹she ...

  4. Linux中一句话反弹Shell细说

    简介 我们在渗透测试的过程中经常会遇到linux主机环境,而在获取linux主机shell是我们经常需要做的是工作内容之一,其中经常会遇到以下几个场景. 一.场景一 我们已经拿下主机的一个webshe ...

  5. linux各种一句话反弹shell总结

    [技术分享]linux各种一句话反弹shell总结 作者:[myles007] 简介 我们在渗透测试的过程中经常会遇到linux主机环境,而在获取linux主机shell是我们经常需要做的是工作内容之 ...

  6. 生产力工具:shell 与 Bash 脚本

    生产力工具:shell 与 Bash 脚本 作者:吴甜甜 个人博客网站: wutiantian.github.io 微信公众号: 吴甜甜的博客 注意:本文只是我个人总结的学习笔记,不适合0基础人士观看 ...

  7. 动手实现简易PHP一句话连接工具——FruitKnife

    文章目录 效果展示 连接一句话 浏览服务器目录 打开文件 跳转目录 上传文件 前言 设计思路与需求分析 功能实现 连接一句话 浏览目录 打开文件 跳转路径 上传文件 节目清单 不足之处 工具名字的由来 ...

  8. php探针批量拿shell,地下黑产:自动批量SHELL一条龙

    我偶然接触黑产冰山一角,得知黑产的发展比我们想象还快,已经进化到全自动批量扫描SHELL一条龙,结合前辈揭露的,他们配合,从批量扫描到挂马到挂黑页等,一个傻瓜按钮就完成.我们看看以前,下发命令实现全自 ...

  9. Shell编程(week4_day1)--技术流ken

    本节内容 1.shell简介 2. shell分类 3. 查看shell 4. 第一个shell脚本 5. shell编程常用命令   5.1 grep   5.2 cut   5.3 sort   ...

最新文章

  1. 英国熊孩子频繁攻击学校网络,政府被逼爹味儿下场:当白帽黑客吧!年薪45万...
  2. 关于Linux访问web遇到403 Forbidden的问题
  3. jdbc oracle添加数据库连接,JDBC与Oracle数据库连接最常用方法
  4. 产品 电信nb接口调用_电信NB-IoT云平台数据对接方案——唐山平升电子技术开发有限公司...
  5. 远程访问及控制(详解)——SSH远程管理及TCP Wrappers 访问控制
  6. matlab神经网络43个案例分析_10个经典案例,带你一起分析:高层结构设计难点...
  7. react学习(15)-getTime selectedRowKeys是this.props取值的
  8. XML与HTML的区别
  9. TensorFlow 中的 tf.train.exponential_decay() 指数衰减法
  10. Displaytag的使用四
  11. 京东店铺数据分析工具推荐
  12. Elastic Stack应用性能监控APM初窥门径
  13. java flv转mp3_java调用FFmpeg及mencoder转换视频为FLV并截图
  14. photoshop中如何在6寸相纸上打印1寸照片12张3X4模式(手动拖动模式)
  15. js和html:周岁年龄计算器
  16. ⽤户去输⼊⼀个⼈民币⾦额,然后程序会计算如何去⽤20元纸币,10元纸币,5元纸币和⼀元纸币去表⽰这个⼈民币⾦额。要求使⽤最⼩数⽬的纸币。
  17. python中的matplotlib用法
  18. 脉冲在matlab,脉冲时间信号MATLAB表示
  19. PTA_Pra 1012 数字分类 (20分)
  20. python参数内存地址

热门文章

  1. BeanDefinition的概述及使用
  2. Android 模拟一个电子画板同屏的效果
  3. 教程丨迅速将思维导图转换为导图
  4. VBS判断excel版本
  5. Medium题目总结
  6. 在线客服 上下滚动 qq 简单明了 绝对不会报错 大众的选择 在线客服qq
  7. 数字电路与逻辑设计笔记1
  8. 关于office及edge浏览器无法登录微软账号的问题
  9. 09永恒之蓝与永恒之黑的复现
  10. http://blossomsandaccents.com/mk.html 57568