1.ps查看进程
ps -A 显示所有进程信息
ps -ef|grep ssh ps与grep 常用组合用法,查找特定进程
可得到进程号也就是PID
最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。
ps aux | grep program_filter_word
ps -ef |grep tomcat 查看Tomcat是否启动
如果有一大长长长串的东西出现,说明tomcat是启动了,第一个是启动该进程的用户,第二个是该进程的id,第三个 是占用CPU的百分比,第四个是占用内存的百分比.
2.Kill
-9 sigkill can't be caught or ignored
-15 sigterm
Kill -15 大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后在停止。但是也有程序可以在接受到信号量后,做一些其他的事情,并且这些事情是可以 配置的。如果程序正在等待IO,可能就不会立马做出相应。这相当于正常停止进程,停止进程的时候会释放进程所占用的资源
也就是说,SIGTERM多半是会被阻塞的、忽略。SIGTERM多半是会被阻塞的、忽略
Kill -9 admin的必杀令 不过,也不是所有的程序都会乖乖听话,总有那些状态下的程序无法立刻相应。
他们的区别就好比电脑关机中的软关机(通过“开始”菜单选择“关机”)与硬关机(直接切断电源),虽然都能关机,但是程序所作的处理是不一样的。
kill 10170 #本身和子进程都杀了
kill -9 10170 #只杀进程本身
3.访问tomcat
访问tomcat的bin 目录:
cd /usr/local/tomcat/bin
使用Tomcat关闭命令 ./shutdown.sh
查看是否关闭 ps -ef|grep java
若还没有关闭,可用kill -9 7010(pid的端口号)
再次查看是否关闭 ps -ef|grep java
启动tomcat ./startup.sh
查看tomcat日志
切换到日志文件夹cdusr/local/tomcat5/logs
4.ls
ls查看目录中的文件
ls -F查看目录中的文件
ls -l显示文件和目录的详细资料
ls -a 显示指定目录下所有目录与文件,包括隐藏文件
5.lsof
1.ps -ef|grep ssh 得到pid
2.根据进程pid查端口:
lsof -i|grep pid号
3.根据端口port查进程:
lsof -d:port号
4.根据用户查看进程和端口号:
lsof -i|grep user
5. netstat命令根据进程pid查端口:
netstat -nap | grep pid号
6.查看日志常用命令
此段是引用https://www.cnblogs.com/kbkiss/p/7567725.html
head 显示文件头部
tail 显示文件尾部
1.tail:
tail -100f test.log 实时监控100行日志
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
2.head:
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
3.cat &tac:
cat 显示文件内容,tac 倒序显示文件
cat -n file #显示行号 避免对大文件使用cat
tac是倒序查看,是cat单词反写;例子如下:
cat -n test.log |grep "debug" 查询关键字的日志
1. 应用场景一:按行号查看---过滤出关键字附近的日志
1)cat -n test.log |grep "debug" 得到关键日志的行号
2)cat -n test.log |tail -n +92|head -n 20 选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:
tail -n +92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录
2. 应用场景二:根据日期查询日志
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;
先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点
3.应用场景三:日志内容特别多,打印在屏幕上不方便查看
(1)使用more和less命令,
如: cat -n test.log |grep "debug" |more 这样就分页打印了,通过点击空格键翻页
(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
如:cat -n test.log |grep "debug" >debug.txt
如有错误,请指正。
https://www.cnblogs.com/kbkiss/p/7567725.html
7.内建命令与外部命令
有一些查看帮助的工具在内建命令与外建命令上是有区别对待的。
内建命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在bash源码的builtins里面的,由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。
外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调入内存。虽然其不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。外部命令是在 Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。
我们可以使用type 命令来区分命令是内建的还是外部的。例如这两个得出的结果是不同的
#得到这样的结果说明是内建命令,正如上文所说内建命令都是在 bash 源码中的 builtins 的.def中xxxis a shell builtin#得到这样的结果说明是外部命令,正如上文所说,外部命令在/usr/bin or /usr/sbin等等中xxxis/usr/bin/xxx#若是得到alias的结果,说明该指令为命令别名所设定的名称;xxxisan aliasforxx --xxx
帮助命令
1、help命令
# help xxx 只能用于内部命令,不能用于外部命令 $help cd
# xxx --help 用于外部命令$ls --help
2、man命令
$man ls 得到的内容比用 help 更多更详细,而且 man 没有内建与外部命令的区分,因为 man 工具是显示系统手册页中的内容
3、info命令
$info ls man 和 info 就像两个集合,它们有一个交集部分,但与 man 相比,info 工具可显示更完整的
原地址:https://www.cnblogs.com/kumata/p/8993914.html
8.pwd
显示当前或者工作路径。
9.
Tab键自动补全
cd . 本路径
cd .. 上一级目录
cd /home/qq 绝对路径
10.netstat 查看网络信息
netstat -lnp 监听端口情况
netstat -anp 所有端口情况