您的位置:首页 > 运维架构 > Shell

常用Linux Shell命令集锦

2013-03-04 12:39 162 查看
下面是我平时在使用是总结的几个比较有用的shell命令,总结如下

1.find命令

find命令比较强大,不仅可以快速定位到查找的文件,还可以对匹配的文件做处理,例如:

删除3天前的匹配文件:find ./ -name "pettern" -type f -mtime +3 -exec rm {} \;

找出文件行里包含某指定串:find ./ -name "*.py" -exec grep "mysql" {} \;



如果只想显示包含该匹配行的文件,在后面加上grep的选项-l,即



2.top是比较常用的一个命令,下面主要写一下查看指定进程的top情况

命令:top -p [pid] #pid是进程id

按shift + h会显示各个线程的top情况,这个在观察多线程运行情况非常有效

3.查看磁盘IO状态

命令:iostat -d -k 1 10

参数:-d表示磁盘,-k表示单位为KB,1表示1秒刷新周期,10表示共显示10次



tps表示每秒的传输次数,如加参数-x会显示更多包含cpu等状态的信息,iostat -x 2

4.free显示系统内存的使用情况

命令:free -m -t

-m是以MB为单位显示实际内存,交换区,共享,缓存等内存的情况



5.查看linux系统共享内存的配置

配置文件: /proc/sys/kernel/shmmax

可直接使用vim编辑器等修改里面的大小

6.查看linux系统支持的最大线程数

配置文件:/proc/sys/kernel/threads-max

方法同5

7.重启DNS服务(清缓存)

nohup rcnscd restart &

8.查看系统日志记录,如查看oom消息记录

文件:/var/log/messages

需要有root权限

还有一个命令dmesg,可以查看很多消息,我常用来看有没有segfault的记录

9.取任意天前的日期

比如1天前:date -d "1 days ago" +"%Y-%m-%d"

10.lsof查看文件或端口的使用情况

查看打开文件进程 lsof file

查看某端口使用情况 lsof -i:port

查看进程打开的文件 lsof -c process

查看使用了某fd的进程 lsof -d fd

也可用命令fuser -v -n tcp port

11.显示当前目录下所有目录的磁盘占用情况

命令:du ./ -h --max-depth=1

12.系统定时任务

crontab -l 显示当前定时任务

crontab -e 编辑定时任务,具体格式,可以man crontab

13.查看系统信息

uname -a

14.抓取网络数据包常用格式

sudo tcpdump dst 127.0.0.1 and port 10000 -i eth1

15.查看当前网络连接情况

netstat -anp

16.查看某进程的情况

ll /proc/{pid}



17.批量修改文件名后缀

命令:for file in $(find . -name "*.txt" -type f); do mv "$file" "${file%.*}.dat"; done

不是很全面,只是把比较有用,但不是很多TX都很熟悉的放上来了,欢迎补充!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: