linux必学的60个命令_精心总结的15个linux实用命令

概述

介绍下平时工作中一些命令,有些很实用,不过却比较偏僻,大家可以看一下。


工作常用命令

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

watch "ls -larth"

484ca90cffcac68b3839efef6506f1c2.png

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

ulimit -Sv 1000 # 1000 KBs = 1 MBulimit -Sv unlimited # Remove limit

假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档,而假设每个文档的大小有 10M,这时系统的内存资源就会受到巨大的挑战。

而实际应用的环境要比这种假设复杂的多,例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述符的数量,分配堆栈的大小,CPU 时间,虚拟内存大小,等等,都有非常严格的要求。资源的合理限制和分配,不仅仅是保证系统可用性的必要条件,也与系统上软件运行的性能有着密不可分的联系。这时,ulimit 可以起到很大的作用,它是一种简单并且有效的实现资源限制的方式。

ulimit 用于限制 shell 启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小、进程数据块的大小、Shell 进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述符的数量、分配堆栈的最大大小、CPU 时间、单个用户的最大线程数、Shell 进程所能使用的最大虚拟内存。同时,它支持硬资源和软资源的限制。 如果要限制内存使用就可以用上面命令来做了。

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

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

这个比较适合比较多的一些文件来重命名

63d21d5e8a4e52d489e73adfc7613f53.png

4. 获得完整的文件路径

readlink -f file.txt

这个命令主要适用于shell脚本

58616baa77d39bebe51f55eb83f48f8b.png

5.跟踪路由

mtr google.com

c511a03fde0dccb8126ed5ebd8be1c82.png

6. 查找文件的提示

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

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

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

bd0659c86a8063e565158b731a83b00a.png

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

2c643643864050981dae109ae8adf08b.png

7. 输出结果前置行号

ls | nl

1d2e6bd9adc63f451cba2189ff0faf15.png

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

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

namei -l /path/to/file.txt

7ea4a905b412ff7f6f6de4864041a4fd.png

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

这个主要是在shell脚本中可以使用,编辑文件时加上补充说明之类。格式如下:

while inotifywait -e close_write document.texdo makedone

10. 检查资源的使用情况

/usr/bin/time -v ls

ff4c5d89648e77a42b6b672da4d4cf25.png

11.后台运行

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

nohup ./script.sh &

后台运行是基本的需求,不过我一般是输

nohup ./abc.sh 2> error.out &1&

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

split -l LINES -d file.txt output_prefix

13. 刷新交换分区

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

sudo swapoff -a

sudo swapon -a

ecec121704ebd24eeae088b532b7fd13.png

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

fallocate -l 1G test.img

a13484785fea1095d64e12560318cb08.png

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

15.1、安装pv命令

/etc/yum.repos.d/ivarch.repo:

[ivarch]name=RPMs from ivarch.combaseurl=http://www.ivarch.com/programs/rpms/$basearch/enabled=1gpgcheck=1

import my public key forgpgcheck=1 (signature checking) to work:

rpm --import http://www.ivarch.com/personal/public-key.txt

安装pv

yum install pv -y
c46736eb6a1619437883b0fe6eb1307e.png

15.2、根据生成的输出监视进度

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

# pv options:

# -l, lines

# -b, total counter

# -r, show rate

9c8a5855e7b856b95da54da4e3848786.png

pv这个命令是通过管道显示数据处理进度的信息。这些信息包括已经耗费的时间,完成的百分比(通过进度条显示),当前的速度,全部传输的数据,以及估计剩余的时间。

后面再单独整一个关于pv方面的内容,应用的还是很广的。


篇幅有限,主要介绍这几个偏僻但还有点用的命令了,后面会分享更多关于devops和DBA方面的内容,感兴趣的朋友可以关注下!!

0dcdac99ebd64e4de059ed5b10da354b.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值