1. 监控命令(每2秒运行一次)

    watch "ls -larth"

  2. 使用一个端口杀死程序

    sudo fuser -k 8000/tcp

  3. 限制以下命令的内存使用

    ulimit -Sv 1000# 1000 KBs = 1 MB

    ulimit -Sv unlimited # Remove limit

  4. 使用正则表达式重命名所选文件

    rename 's/.bak$/.txt/' *.bak

  5. 获得完整的文件路径

    readlink -f file.txt

  6. 列出tar.gz文件的内容,并只提取一个文件

    tar tf file.tgz

    tar xf file.tgz filename

  7. 按照文件大小列出文件

    ls -lS

  8. 跟踪路由

    mtr google.com

  9. 查找文件的提示

    find . -size 20c # By file size (20 bytes)

    find . -name "*.gz" -delete # Delete files

    find . -exec echo {} ; # One file by line

    ./file1

    ./file2

    ./file3

    find . -exec echo {} + # All in the same line

    ./file1 ./file2 ./file3

  10. 打印无限循环的文本

    yes

    yes hello

  11. 当前登录用户

    w

  12. 输出结果前置行号

    ls | nl

  13. Grep使用Perl风格的语法(允许像\t这样的字符)

    grep -P "\t"

  14. Cat命令反向输出(从末端开始)

    tac file

  15. 检查每个目录中的文件的的权限

    检测权限错误是很有用的,例如在配置web服务器时。

    namei -l /path/to/file.txt

  16. 每次修改文件时都会执行命令

    while inotifywait -e close_write document.tex

    do

    make

    done

  17. 复制到剪贴板

    cat file.txt | xclip -selection clipboard

  18. Latex的拼写和语法检查

    detex file.tex | diction -bs

你可能需要安装以下内容:sudo apt-get install diction texlive-extra-utils

  1. 检查资源的使用情况

    /usr/bin/time -v ls

  2. 文件的随机行

    cat file.txt | sort -R

    cat file.txt | sort -R | head # Pick a random sambple

    # Even better (suggested by xearl in Hacker news):

    shuf file.txt

  3. 在离开SSH会话后保持程序运行

如果程序不需要任何交互:

  1. nohup ./script.sh &

如果你需要手动输入一些内容,然后离开:

  1. ./script.sh
  2. <Type any input you want>
  3. <Ctrl-Z> # send process to sleep
  4. jobs -l # find out the job id
  5. disown -h jobid # disown job
  6. bg# continue running in the background

当然,也可以使用screen或tmux来完成此目的。

  1. 在有限的时间内运行命令

    timeout 10s ./script.sh

    # Restart every 30 minutes

    while true; do timeout 30m ./script.sh; done

  2. 从两个排序文件中合并行

    comm file1 file2

打印这三列:

1.行file1独有。

2.行file2独有。

3.在行file1和行file2中都有。

使用选项-1、-2、-3,可以删除这些列。

  1. 在文件中分割长文件,使用相同数量的行

    split -l LINES -d file.txt output_prefix

  2. 刷新交换分区

如果一个程序消耗了太多的内存,交换分区就会被剩余的内存填满,当你回到正常的时候,一切都是缓慢的。只需重新启动交换分区来修复它:

  1. sudo swapoff -a
  2. sudo swapon -a
  1. 修复ext4文件系统的superblock问题

    sudo fsck.ext4 -f -y /dev/sda1

    sudo fsck.ext4 -v /dev/sda1

    sudo mke2fs -n /dev/sda1

    sudo e2fsck -n /dev/sda1

  2. 创建给定大小的空文件

    fallocate -l 1G test.img

  3. 从命令行操作PDF文件

与join,shuffle,select等命令相比,pdftk是个更好用的命令:

  1. pdftk *.pdf cat output all.pdf # Join PDFs together
  2. pdftk A=in.pdf cat A5 output out.pdf # Extract page from PDF

还可以使用cpdf操作内容:

  1. cpdf -draft in.pdf -o out.pdf # Remove images
  2. cpdf -blacktext in.pdf -o out.pdf # Convert all text to black color
  1. 根据生成的输出监视进度

    # Write random data, encode it in base64 and monitor how fast it

    # is being sent to /dev/null

    cat /dev/urandom | base64 | pv -lbri2 > /dev/null

    # pv options:

    # -l, lines

    # -b, total counter

    # -r, show rate

  2. 在Ubuntu中找到一个文件的包

    apt-file update

    apt-file search dir/file.h


转自:https://www.jb51.net/article/125194.htm

非常有用啊!

Shell命令和技巧的更多相关文章

  1. 工作中常用的 Shell 命令及技巧

    调试 bash 脚本的技巧 加 -x 参数运行 bash 脚本时,会显示执行的语句 # 也可以在 demo.sh 中加上 set -x bash -x demo.sh 设置环境变量,然后通过如上方式运 ...

  2. Linux shell日常命令和技巧

    转自:http://www.vaikan.com/linux-shell-tips-and-tricks/ 原文:http://www.techbar.me/linux-shell-tips/ 使用L ...

  3. Linux shell用法和技巧(转)

    原文出处: techbar   译文出处: 外刊IT评论 使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某 ...

  4. Linux中shell命令的用法和技巧

    使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...

  5. Bash shell命令记录和CentOS的一些技巧

    ①CentOS的实用技巧: 一.按下ctrl+alt+F2可由图形界面切换至命令行(shell窗口),按下ctrl+alt+F1可由命令行切换至图形界面(前提是安装CentOS时软件选择项选择安装了图 ...

  6. Linux学习之常用网络通信命令与shell简单应用技巧(四)

    (一)常用网络通信命令 (1)ping命令 (2)write命令 (3)wall命令 (4)ifconfig命令 (5)shutdown命令 (6)reboot命令 (二)shell简单应用技巧 (1 ...

  7. shell命令技巧——文本去重并保持原有顺序

    简单来说,这个技巧相应的是例如以下一种场景 假设有文本例如以下 cccc aaaa bbbb dddd bbbb cccc aaaa 如今须要对它进行去重处理.这个非常easy,sort -u就能够搞 ...

  8. Matlab使用新发现1(小技巧:shell 命令、工程工作目录设置相关)

    最近在调试一个基于Matlab的程序,在偶然间发现了几个比较有趣的技巧,给大家分享一下(很可能是太菜鸟了,没有涉及这方面,大方之家请勿见笑,对您有所帮助请点赞!) 1. Matlab语言是一种解释型语 ...

  9. Linux_CentOS常用命令和shell命令技巧

    Linux_CentOS常用命令 关机 init 重启 init 列出当前目录的下的文件 ls //列出当前目录下的文件 ll //列出当前目录下的文件信息 等同ls -l 命令 切换目录 cd 目录 ...

随机推荐

  1. Rancher之Pipeline JAVA demo

    Rancher Pipeline Pipeline,简单来说,就是一套运行于Rancher上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程. Ranc ...

  2. centos6.5mini版安装及配置

    1.安装选择界面,这个选第一个 2.镜像完整性检查,一般都是跳过SKIP 3.欢迎界面,进入安装了 4.语言选择,这个是没有中文的,用默认的英文就行 5.键盘布局,用默认的us 6.这里会给一个警告, ...

  3. KMP算法的next[]数组通俗解释

    原文:https://blog.csdn.net/yearn520/article/details/6729426 我们在一个母字符串中查找一个子字符串有很多方法.KMP是一种最常见的改进算法,它可以 ...

  4. sc (service control )

    SC 是用来与服务控制管理器和服务进行通信 net: net start 服务名 net stop 服务名 sc: sc config 服务名 start= demand    //手动 sc con ...

  5. HDU 1023(卡特兰数 数学)

    题意是求一列连续升序的数经过一个栈之后能变成的不同顺序的数目. 开始时依然摸不着头脑,借鉴了别人的博客之后,才知道这是卡特兰数,卡特兰数的计算公式是:a( n )  =  ( ( 4*n-2 ) / ...

  6. ThinkPHP中RBAC权限带菜单栏显示和详细权限操作

    RBAC是什么,能解决什么难题? RBAC是Role-Based Access Control的首字母,译成中文即基于角色的权限访问控制,说白了也就是用户通过角色与权限进行关联[其架构灵感来源于操作系 ...

  7. python2与python3 字符问题以及 字符编码 内容总结

    python2与python3默认编码: python2:gbk                   print( u'上' )     操作系统也是 gbk    python3:unicode p ...

  8. 028、限制容器对CPU的使用(2019-01-23 周三)

    参考https://www.cnblogs.com/CloudMan6/p/7003199.html   默认情况下,所有容器都可以平等的使用host cpu资源,没有限制   docker 可以通过 ...

  9. Kettle系列: kettle标准化trans模板

    =============================主控trans + sub trans 模式=============================针对一个具体的处理任务(比如增量加载一个 ...

  10. 数据建模工具系列 之 让Oracle Data Modeler支持Vertica

    引子 在上篇博客中重点介绍了几个建模工具的评估, 并选定了SQL Power Architect作为最终的建模工具, 在评估过程中也对Oracle Data Modeler支持Vertica做了点研究 ...