• 检查远程端口是否对bash开放:

  1. nc -nvv $IP $PORT
  2.  
  3. telnet $IP $PORT
  • 当前任务的前后台切换:

  1. Ctrl + z
  2.  
  3. fg
  • 截取变量前5个字符:

${variable:0:5}

  • SSH debug 模式:
  1. ssh -vvv user@ip_address
  2.  
  3. SSH with pem key:
  4.  
  5. ssh user@ip_address -i key.pem
  • 监视日志文件
  1. tail -f $FILE_NAME

多个监视的脚本

multi_tail:

  1. #!/bin/sh
  2. function clean()
  3. {
  4. #echo $@;
  5. #for file in "$@"; do ps -ef|grep $file|grep -v grep|awk '{print $2}'|xargs kill -; done
  6. jobs -p|xargs kill -
  7. }
  8. files=$@
  9.  
  10. # When this exits, exit all back ground process also.
  11. #trap "ps -ef|grep tail|grep -v grep|awk '{print "'$2'"}'|xargs kill -9" EXIT
  12.  
  13. trap "clean $files " EXIT
  14.  
  15. # iterate through the each given file names,
  16. for file in "$@"
  17. do
  18. # show tails of each in background.
  19. tail -f $file &
  20. done
  21.  
  22. # wait .. until CTRL+C
  23. wait
  • 用wget抓取完整的网站目录结构,存放到本地目录中:
  1. wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs

一次创建多个目录:

  1. mkdir -p /home/user/{test,test1,test2}

列出包括子进程的进程树:

  1. ps axwef

创建 war 文件,类似tar ball的参数解压和压缩:

  1. jar -cvf name.war file

测试硬盘写入速度使用dd命令:

  1. dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

获取文本的md5 hash:

  1. echo -n "text" | md5sum

检查xml格式:

  1. xmllint --noout file.xml

将tar.gz提取到新目录里:

  1. tar zxvf package.tar.gz -C new_dir

使用curl获取HTTP头信息:

  1. curl -I http://www.example.com

修改文件或目录的时间戳(YYMMDDhhmm):

  1. touch -t file

用wget命令执行ftp下载:

  1. wget -m ftp://username:password@hostname

生成随机密码(例子里是16个字符长):

  1. LANG=c < /dev/urandom tr -dc _A-Z-a-z-- | head -c${:-};echo;

快速备份一个文件:

  1. cp some_file_name{,.bkp}

访问Windows共享目录:

  1. smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir

执行历史记录里的命令(这里是第100行), ksh支持类vi的翻命令的操作, bash一般支持上下翻:

  1. !

解压和压缩(zip压缩原文件就被压进去了,不同于tar):

  1. unzip package_name.zip -d dir_name
    zip package_name.zip files

输入多行文字(CTRL + d 退出, 或者指定退出字符串):

  1. cat > tt
    cat > tt < EOF

创建空文件或清空一个现有文件:

  1. :> file

同步时间的命令:

  1. ntpdate your_sync_server_name

用netstat显示所有tcp4监听端口:

netstat 命令 -n 表示纯数字显示, -t表示tcp协议, -u表示udp协议, -l表示监听

  1. netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'

重复运行文件,显示其输出(缺省是2秒一次):

  1. watch ps -ef

所有用户列表,组用户列表:

  1. cat /etc/passwd
  2.  
  3. cat /etc/group

挂载某个用户在读写模式:

  1. mount -o remount,rw /

挂载一个目录(这是不能使用链接的情况):

  1. mount --bind /source /destination

动态更新DNS server:

  1. nsupdate < <EOF update add $HOST A $IP send EOF

递归grep所有目录,和find命令配合使用效果同:

  1. grep -r "some_text" /path/to/dir

列出前10个最大的文件:

  1. lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail

显示剩余内存(MB):

如果是unix环境, 使用vmstat或者topas命令自己查看也可

  1. free -m | grep cache | awk '/[0-9]/{ print $4" MB" }'

找出/home/user下所有空子目录:

  1. find /home/user -maxdepth -type d -empty

获取test.txt文件中第50-60行内容:

  1. < test.txt sed -n '50,60p'

在需要提升权限的情况下往一个文件里追加文本:

  1. echo "some text" | sudo tee -a /path/file

列出所有kill signal参数:

  1. kill -l

在bash历史记录里禁止记录最后一次会话:

  1. kill - $$

nmap扫描网络寻找开放的端口:

  1. nmap -p 172.20.0.0/

将所有文件名中含有”txt”的文件移入$HOME目录:

  1. find -name "*txt*" | xargs mv -v $HOME

将文件按行并列显示:

  1. paste test.txt test1.txt

shell里的进度条:

  1. pv data.log

使用netcat将数据发送到Graphite server:

  1. echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2

将tabs转换成空格:

  1. expand test.txt > test1.txt

Skip bash history:

  1. < space >cmd

去之前的工作目录:

  1. cd -

拆分大体积的tar.gz文件(每个100MB),然后合并回去:

  1. split b 100m /path/to/large/archive /path/to/output/files cat files* > archive

使用curl获取HTTP status code:

  1. curl -sL -w "%{http_code}\\n" www.example.com -o /dev/null

当Ctrl + c不好使时:

  1. Ctrl + \

获取文件owner:

  1. stat -c %U file.txt

block设备列表:

  1. lsblk -f

找出文件名结尾有空格的文件:

  1. find . -type f -exec egrep -l " +$" {} \;

找出文件名有tab缩进符的文件

  1. find . -type f -exec egrep -l $'\t' {} \;

用”=”打印出横线:

  1. printf '%100s\n' | tr ' ' =

Linux Shell常用命令手册(Updating)的更多相关文章

  1. Linux+Shell常用命令总结

    因为自己不经常使用linux的命令行工具,但是mac的终端还是经常使用的,有些命令总是要想一会或者百度一下才知道怎么用,抽时间整理了一下常用的命令,作为笔记. 常用命令 查看文件操作: ls :列出当 ...

  2. RedHat Linux Shell常用命令(多数也适用于Unix和AIX)

    注:本文转载自疯狂的矩阵一文,http://www.cnblogs.com/520sojustdoit/p/4642568.html --------------------------------- ...

  3. Linux shell 常用命令大全 每日一更

    大一上学期学习了Linux的基本操作,已经很久没使用了,虚拟机也近半年没开(作为一个计算机类专业的少年真的不应该).为了补回这些知识和为将来的学习打下基础,现在每天更新一条shell命令及其子命令,欢 ...

  4. Linux Shell 常用命令与目录分区的学习总结

    很早就想根据自己的学习规律和遗忘规律,自己总结一下Linux/Unix系统的Shell命令,一来便于自己时常查询之用,二来也分享于各位博友 Linux shell是系统的用户界面,即命令行.它提供了用 ...

  5. Linux shell常用命令

    1. sz 和 rz  sz命令发送文件到本地: # sz filename rz命令本地上传文件到服务器: # rz 执行该命令后,在弹出框中选择要上传的文件即可.

  6. Linux Shell常用命令(长期更新)

    #判断某个字段是否匹配指定值 awk -F"," '{if($4=="value"){print $1} else {print $0}}' file.txt ...

  7. coding++:Linux - Shell - 常用命令

    1.在多个文件中 查找内容 find . -type f -name "*.html" | xargs grep "1"

  8. [置顶] linux常用命令手册

    前言:整理了一份linux常用命令手册,与大家分享.这是一些比较常用的命令. 我已经整理成一份PDF带书签的手册,可以到CSDN免费下载. 下载地址:http://download.csdn.net/ ...

  9. Linux常用命令手册

    Linux常用命令手册 NO 分类 PS1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件     文件管理 # ls ls ...

随机推荐

  1. L005-oldboy-mysql-dba-lesson05

    L005-oldboy-mysql-dba-lesson05 在线改表工具:pt-onine-schema-change 来自为知笔记(Wiz)

  2. 用C语言实现统计一个文件夹中各种文件的比例

    <UNIX环境高级编程>中的程序清单4-7就介绍了如何实现递归地统计某个目录下面的文件!我刚开始看过它的代码后,觉得照着敲太没意思了,所以就合上书自己写了一遍!为此还写了一篇博文,这是博文 ...

  3. shell脚本编程之for语句、if语句使用介绍

    介绍了shell脚本编程之for语句.if语句的使用方法. 上部: 面向过程: 顺序执行 选择执行: if, case 循环执行: for, while, until 一.for语句 格式:      ...

  4. Django Tutorial 学习笔记

    实际操作了Django入门教程中的范例,对一些细节有了更清晰的掌握.感觉只看文档不动手是不行的,只看文档没法真正掌握其中要素之间的关系,看了很多遍也不行,必须动手做了才能掌握.同时,这次练习在Ecli ...

  5. 【BZOJ 1103】 [POI2007]大都市meg

    Description 在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了.不过,她经常回忆起以前在乡间漫步的情景.昔日,乡下有依次编号为1..n ...

  6. 【BZOJ 1834】 [ZJOI2010]network 网络扩容

    Description 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用.求: 1. 在不扩容的情况下,1到N的最大流: 2. 将1到N的最大流增加K所需的 ...

  7. TF/IDF计算方法

    FROM:http://blog.csdn.net/pennyliang/article/details/1231028 我们已经谈过了如何自动下载网页.如何建立索引.如何衡量网页的质量(Page R ...

  8. 监控SQL Server的job执行情况

    在服务器没有设置发邮件并且不允许发邮件的情况下, 可以通过下列语句来检查SQL Server 的job的执行情况 select top 150 a.run_date,a.run_time, b.nam ...

  9. 微信支付-b

    微信支付 APP端开发步骤(传送门):https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5 1.首先下载最新的微信支付的SDK包 ...

  10. mysql建表且某字段内不允许出现重复值

    CREATE TABLE `admin` ( `id` ) NOT NULL AUTO_INCREMENT , `username` varchar() NOT NULL , `password` v ...