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"
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
这个比较适合比较多的一些文件来重命名
4. 获得完整的文件路径
readlink -f file.txt
这个命令主要适用于shell脚本
5.跟踪路由
mtr google.com
6. 查找文件的提示
find . -size 20c # By file size (20 bytes)
find . -name "*.gz" -delete # Delete files
find . -exec echo {} \; # One file by line
find . -exec echo {} \ # All in the same line
7. 输出结果前置行号
ls | nl
8. 检查每个目录中的文件的的权限
检测权限错误是很有用的,例如在配置web服务器时。
namei -l /path/to/file.txt
9. 每次修改文件时都会执行命令
这个主要是在shell脚本中可以使用,编辑文件时加上补充说明之类。格式如下:
while inotifywait -e close_write document.tex do make done
10. 检查资源的使用情况
/usr/bin/time -v ls
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
14.. 创建给定大小的空文件
fallocate -l 1G test.img
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
15.2、根据生成的输出监视进度
cat /dev/urandom | base64 | pv -lbri2 > /dev/null
# pv options:
# -l lines
# -b total counter
# -r show rate
pv这个命令是通过管道显示数据处理进度的信息。这些信息包括已经耗费的时间,完成的百分比(通过进度条显示),当前的速度,全部传输的数据,以及估计剩余的时间。
后面再单独整一个关于pv方面的内容,应用的还是很广的。
篇幅有限,主要介绍这几个偏僻但还有点用的命令了,后面会分享更多关于devops和DBA方面的内容,感兴趣的朋友可以关注下!!