快捷搜索:  汽车  科技

linux常用的20个命令及示例(精心总结的15个linux实用命令)

linux常用的20个命令及示例(精心总结的15个linux实用命令)rename 's/\.bak$/.txt/' *.bak3. 使用正则表达式重命名所选文件ulimit -Sv 1000 # 1000 KBs = 1 MB ulimit -Sv unlimited # Remove limit 假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档,而假设每个文档的大小有 10M,这时系统的内存资源就会受到巨大的挑战。 而实际应用的环境要比这种假设复杂的多,例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述符的数量,分配堆栈的大小,CPU 时间,虚拟内存大小,等等,都有非常严格的要求。资源的合理限制和分配,不仅仅是保证系统可用性的必要条件,也与系统上软件运行的性能有着密不可分的联系。这时,ulimit 可以起到很大的作用,它是一种简单并且有效的实现

概述

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


工作常用命令

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

watch "ls -larth"

linux常用的20个命令及示例(精心总结的15个linux实用命令)(1)

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

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

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

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

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

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

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

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

linux常用的20个命令及示例(精心总结的15个linux实用命令)(2)

4. 获得完整的文件路径

readlink -f file.txt

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

linux常用的20个命令及示例(精心总结的15个linux实用命令)(3)

5.跟踪路由

mtr google.com

linux常用的20个命令及示例(精心总结的15个linux实用命令)(4)

6. 查找文件的提示

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

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

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

linux常用的20个命令及示例(精心总结的15个linux实用命令)(5)

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

linux常用的20个命令及示例(精心总结的15个linux实用命令)(6)

7. 输出结果前置行号

ls | nl

linux常用的20个命令及示例(精心总结的15个linux实用命令)(7)

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

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

namei -l /path/to/file.txt

linux常用的20个命令及示例(精心总结的15个linux实用命令)(8)

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

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

while inotifywait -e close_write document.tex do make done

10. 检查资源的使用情况

/usr/bin/time -v ls

linux常用的20个命令及示例(精心总结的15个linux实用命令)(9)

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

linux常用的20个命令及示例(精心总结的15个linux实用命令)(10)

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

fallocate -l 1G test.img

linux常用的20个命令及示例(精心总结的15个linux实用命令)(11)

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

15.1、安装pv命令

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

[ivarch] name=RPMs from ivarch.com baseurl=http://www.ivarch.com/programs/rpms/$basearch/ enabled=1 gpgcheck=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

linux常用的20个命令及示例(精心总结的15个linux实用命令)(12)

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

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

# pv options:

# -l lines

# -b total counter

# -r show rate

linux常用的20个命令及示例(精心总结的15个linux实用命令)(13)

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

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


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

linux常用的20个命令及示例(精心总结的15个linux实用命令)(14)

猜您喜欢: