重要常用的Lunix命令

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

  1. 复制文件/文件夹

    • 复制到本地
      1. 文件夹:scp -r work@www.abc.com:/home/work/project /home/work/
      2. 文件:scp work@www.abc.com:/home/work/readme.txt /home/work/readme.txt
    • 复制到远程机
      1. 文件夹:scp -r work@www.abc.com:/home/work/project /home/work/
      2. 文件:scp work@www.abc.com:/home/work/readme.txt /home/work/readme.txt
  2. hostname与ip互相查询

    • hostname -> ip
      1. ping:ping www.baidu.com
      2. host:host www.baidu.com
    • ip -> hostname
      1. nslookup:nslookup 123.126.56.253
  3. 获取端口信息
    netstat -anp|grep 51202 //51202为端口信息
    输出:可以获取所有相关的端口信息,包含本机,也包含和本机有连接的其他机器的对应端口
    示例输出:
    tcp 0 0 10.22.36.39:51202 10.25.76.52:8864 ESTABLISHED 28321/java
    这里的28321即为端口对应的程序的线程信息

  4. 获取线程相关信息
    ll /proc/28321

  5. 创建文件连接

    • 硬连接:ln f1 f3       #创建f1的一个连接文件f3
    • 软连接:ln f1 f3       #创建f1的一个符号连接文件f3
  6. 查看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命令用好可以解决很多问题
  7. 查看某个项目是否已启动

    • ps aux|grep:ps aux|grep redis-server
  8. 当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 //杀死相关线程`  
  1. 查看系统最大进程数、线程数限制(root权限)

    • 最大线程数:cat /proc/sys/kernel/pid_max
    • 最大进程数:cat /proc/sys/kernel/threads-max
    • 硬件内存大小:cat /proc/sys/vm/max_map_count
  2. 查询已用的线程或进程数

    • 进程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等重要工具的常用用法会另外说明

posted @ 2016-09-23 00:17  白羊沈歌  阅读(390)  评论(0编辑  收藏  举报