Shell命令和技巧
监控命令(每2秒运行一次)
watch "ls -larth"
使用一个端口杀死程序
sudo fuser -k 8000/tcp
限制以下命令的内存使用
ulimit -Sv 1000# 1000 KBs = 1 MB
ulimit -Sv unlimited # Remove limit使用正则表达式重命名所选文件
rename 's/.bak$/.txt/' *.bak
获得完整的文件路径
readlink -f file.txt
列出tar.gz文件的内容,并只提取一个文件
tar tf file.tgz
tar xf file.tgz filename按照文件大小列出文件
ls -lS
跟踪路由
mtr google.com
查找文件的提示
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打印无限循环的文本
yes
yes hello当前登录用户
w
输出结果前置行号
ls | nl
Grep使用Perl风格的语法(允许像\t这样的字符)
grep -P "\t"
Cat命令反向输出(从末端开始)
tac file
检查每个目录中的文件的的权限
检测权限错误是很有用的,例如在配置web服务器时。namei -l /path/to/file.txt
每次修改文件时都会执行命令
while inotifywait -e close_write document.tex
do
make
done复制到剪贴板
cat file.txt | xclip -selection clipboard
Latex的拼写和语法检查
detex file.tex | diction -bs
你可能需要安装以下内容:sudo apt-get install diction texlive-extra-utils。
检查资源的使用情况
/usr/bin/time -v ls
文件的随机行
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在离开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
当然,也可以使用screen或tmux来完成此目的。
在有限的时间内运行命令
timeout 10s ./script.sh
# Restart every 30 minutes
while true; do timeout 30m ./script.sh; done从两个排序文件中合并行
comm file1 file2
打印这三列:
1.行file1独有。
2.行file2独有。
3.在行file1和行file2中都有。
使用选项-1、-2、-3,可以删除这些列。
在文件中分割长文件,使用相同数量的行
split -l LINES -d file.txt output_prefix
刷新交换分区
如果一个程序消耗了太多的内存,交换分区就会被剩余的内存填满,当你回到正常的时候,一切都是缓慢的。只需重新启动交换分区来修复它:
sudo swapoff -a
sudo swapon -a
修复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创建给定大小的空文件
fallocate -l 1G test.img
从命令行操作PDF文件
与join,shuffle,select等命令相比,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
根据生成的输出监视进度
# 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在Ubuntu中找到一个文件的包
apt-file update
apt-file search dir/file.h
转自:https://www.jb51.net/article/125194.htm
非常有用啊!
Shell命令和技巧的更多相关文章
- 工作中常用的 Shell 命令及技巧
调试 bash 脚本的技巧 加 -x 参数运行 bash 脚本时,会显示执行的语句 # 也可以在 demo.sh 中加上 set -x bash -x demo.sh 设置环境变量,然后通过如上方式运 ...
- Linux shell日常命令和技巧
转自:http://www.vaikan.com/linux-shell-tips-and-tricks/ 原文:http://www.techbar.me/linux-shell-tips/ 使用L ...
- Linux shell用法和技巧(转)
原文出处: techbar 译文出处: 外刊IT评论 使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某 ...
- Linux中shell命令的用法和技巧
使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...
- Bash shell命令记录和CentOS的一些技巧
①CentOS的实用技巧: 一.按下ctrl+alt+F2可由图形界面切换至命令行(shell窗口),按下ctrl+alt+F1可由命令行切换至图形界面(前提是安装CentOS时软件选择项选择安装了图 ...
- Linux学习之常用网络通信命令与shell简单应用技巧(四)
(一)常用网络通信命令 (1)ping命令 (2)write命令 (3)wall命令 (4)ifconfig命令 (5)shutdown命令 (6)reboot命令 (二)shell简单应用技巧 (1 ...
- shell命令技巧——文本去重并保持原有顺序
简单来说,这个技巧相应的是例如以下一种场景 假设有文本例如以下 cccc aaaa bbbb dddd bbbb cccc aaaa 如今须要对它进行去重处理.这个非常easy,sort -u就能够搞 ...
- Matlab使用新发现1(小技巧:shell 命令、工程工作目录设置相关)
最近在调试一个基于Matlab的程序,在偶然间发现了几个比较有趣的技巧,给大家分享一下(很可能是太菜鸟了,没有涉及这方面,大方之家请勿见笑,对您有所帮助请点赞!) 1. Matlab语言是一种解释型语 ...
- Linux_CentOS常用命令和shell命令技巧
Linux_CentOS常用命令 关机 init 重启 init 列出当前目录的下的文件 ls //列出当前目录下的文件 ll //列出当前目录下的文件信息 等同ls -l 命令 切换目录 cd 目录 ...
随机推荐
- Java基础super关键字、final关键字、static关键字、匿名对象整理
super关键字 10.1子父类中构造方法的调用 public class Test { public static void main(String[] args) { new Zi(); } } ...
- spring创建bean模式singleton与prototype的区别
spring 创建bean有单例模式(singleton)和原始模型模式(prototype)这两种模式. 在默认的情况下,Spring中创建的bean都是单例模式的(注意Spring的单例模式与Go ...
- Java测试Junit
Junit就是做测试用的,想想平常我们是怎么测试我们的方法或者类的,是不是在main方法里面去调用?这样有缺点: 1.每次都要在main方法里面写测试,假如我要上线新系统,里面有1000个方法需要测试 ...
- PL/SQL Developer连接本地Oracle 11g 64位数据库和快捷键设置
1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files ...
- Kafka权威指南 读书笔记之(五)深入Kafka
集中讨论以下3 个有意思的话题 :• Kafka 如何进行复制:• Kafka 如何处理来自生产者和消费者的请求 :• Kafka 的存储细节,比如文件格式和索引. 集群成员关系 Kafka 使用 Z ...
- Linux记录-HDFS副本机制
1. 副本策略 NameNode具有RackAware机架感知功能,这个可以配置. 若client为DataNode节点,那存储block时,规则为:副本1,同client的节点上:副本2,不同机架节 ...
- C#设计模式(7)——适配器模式
1.适配器模式介绍 适配器模式的作用是将一个类的接口,转换成客户端希望的另外一种接口,适配器作为原始接口(我们的类中本来具有的功能)和目标接口(客户端希望的功能)之间的桥梁.举个例子:我们知道安卓数据 ...
- java枚举(enum)
1. 创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum (抽象类) 类的子类. enum AccountType { SAVING, FIXED, CURRE ...
- springBoot中的定时任务
springBoot中的定时任务 1:在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置 2:新建ScheduledTasks任务类 : package c ...
- Redis实战(九)Redis的典型应用场景
序言 数据缓存 共享Session 分布式锁 https://www.cnblogs.com/wangrudong003/p/10627539.html Redlock(redis分布式锁)原理分析 ...