您的位置:首页 > 其它

重要常用的Lunix命令

2016-09-23 00:17 169 查看

lunix 命令大全:  http://man.linuxde.net/



复制文件/文件夹

复制到本地

文件夹:
scp -r work@www.abc.com:/home/work/project /home/work/


文件:
scp  work@www.abc.com:/home/work/readme.txt /home/work/readme.txt


复制到远程机

文件夹:
scp -r work@www.abc.com:/home/work/project /home/work/


文件:
scp  work@www.abc.com:/home/work/readme.txt /home/work/readme.txt


hostname与ip互相查询

hostname -> ip

ping:
ping www.baidu.com


host:
host www.baidu.com


ip -> hostname

nslookup:
nslookup 123.126.56.253


获取端口信息

netstat -anp|grep 51202  //51202为端口信息


输出:可以获取所有相关的端口信息,包含本机,也包含和本机有连接的其他机器的对应端口

示例输出:

tcp 0 0 10.22.36.39:51202 10.25.76.52:8864 ESTABLISHED 28321/java


这里的28321即为端口对应的程序的线程信息

获取线程相关信息

ll /proc/28321


创建文件连接

硬连接:
ln f1 f3       #创建f1的一个连接文件f3


软连接:
ln f1 f3       #创建f1的一个符号连接文件f3


查看log必备工具

vim
vim a.txt
//vim的详细操作之后专门讲

less
less a.txt
//不可编辑的工具

tail
tail -f a.log
//动态写入新文件的必备神器

grep
grep ‘run to there’ /home/logs/logFile.log
//grep可以对文件内信息进行搜索,当log文件很大时,必须使用grep进行处理。grep命令用好可以解决很多问题

查看某个项目是否已启动

ps aux|grep:
ps aux|grep redis-server


当ssh连接开发机后,退出前,检查是否有stop的job,及后续操作

jobs:
jobs  //显示所有未关闭的任务


示例:

[1]+  Stopped                 tail -f project/logs/logFile.2016-09-23.log | grep "BaseImCCmdTask logout.*.76016.*.location=1"

//这是之前使用tail -f查看日志后,按Crtl+z或c stop掉的任务,事实上并没有关闭。

jobs -l
jobs -l //显示所有未关闭的任务,且带线程信息


示例:

[1]+ 16051 Stopped                 tail -f xp-pms/1/logs/logFile.2016-09-23.log
16052                           | grep "BaseImCCmdTask logout.*.76016.*.location=1"

//有两个线程还在,16051和16052

fg:
fg tail   //fg + 参数, 标识现在仍执行的jobs,可以把stop的job切换到控制台继续执行


bg:
bg tail //bg+ 参数,标识现在仍在执行的jobs,可以把job切换到后台继续执行


kill -9
kill -9 16051 //杀死相关线程


查看系统最大进程数、线程数限制(root权限)

最大线程数:
cat /proc/sys/kernel/pid_max


最大进程数:
cat /proc/sys/kernel/threads-max


硬件内存大小:
cat /proc/sys/vm/max_map_count


查询已用的线程或进程数

进程8080:
pstree -p 8080 | wc -l



注意,pstree查出来的可能是一个进程的线程,也可能是子进程。

一个奇怪的实例:tomcat的进程号为12319,用
ps aux|grep tomcat
查到的该tomcat只有一个进程12319,用
pstree -p 12319
查到改进程有一堆线程,如31298。有趣的是,用
ll /proc/31298
都能查到的信息与线程并无不同,而用
ll /proc/12319/task
能查到它的线程与pstree数据基本重复。而用
ls /proc/
有查不到31298。因此得出结论,pstree查到的不仅仅是子线程,/proc/目录下的目录也不仅是进程信息,可能有线程信息,只是线程信息不回列在默认的ls中。




目前总结部分常用且有用的,之后会陆续补充,而对于vim、grep等重要工具的常用用法会另外说明

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: