1. 常用简单命令:
1. 查看占用8080端口的进程
netstat -nap | grep 8080
2. 查看进程名为 java的进程
ps -ef | grep java
3. 平日线上经常使用nohup和&配合来启动程序, 命令举例:
nohup java -jar xxxx.jar &
4. 文件传输命令:
scp {要传输的文件目录} root@{远程主机IP}:{要传到的文件目录}
5. 删除目录:
rm -rf MyDocuments/
6. 删除文件:
rm -f out.txt
2. 命令详解
1. rm 命令 (删除)
删除目录:
rm -rf MyDocuments/
说明:
- -i 删除前逐一询问确认。
- -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
- -r 将目录及以下之档案亦逐一删除。
2. ps 命令 (进程管理命令)
- ps -ef : 显示所有命令,连带启动进程时使用的命令行
# ps -ef //显示所有命令,连带命令行
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 10:22 ? 00:00:02 /sbin/init
root 2 0 0 10:22 ? 00:00:00 [kthreadd]
其中相关的列代表:
-
UID: 用户ID
-
PID: 进程ID
-
PPID: 父进程ID, 启动该进程的父进程ID
-
C: CPU利用率,以整数表示。
-
STIME: 进程的启动时间
-
TTY: 与进程关联的终端
-
TIME: 进程使用CPU累计时间
-
CMD: 执行文件的名称
-F选项添加了进程使用内存方面的一些信息:
SZ 进程用到的swap的量,这是一个粗略计算;
RSS 驻留内存大小
PSR 进程使用的处理器,在多处理器上可以体现出来,如下面的两个进程使用的不同的处理器(超线程的也算):
https://www.runoob.com/linux/linux-comm-ps.html
3. grep 命令: 在文档中查找文件里符合条件的字符串
如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来
1. 简单使用
例如:
# 查找进程列表中包含 java 字段的进程
ps -ef|grep java
如图:
2. 对于命令:
grep -v grep
一般为了去除包含grep的行 ,避免影响最终数据的正确性 。
-v 或 --invert-match : 显示不包含匹配文本的所有行。
例如使用命令:
ps -ef|grep java|grep -v grep
查找进程行中包含 java 字段的进程行, 同时去除包含grep的进程行 ,避免影响最终数据的正确性 .
https://www.runoob.com/linux/linux-comm-grep.html
4. awk 命令(强大的文本分析工具)
举例: log.txt文本内容如下:
2 this is a test
3 Are you like awk
This's a test
10 There are orange,apple,mongo
# 每行按空格或TAB分割,输出文本中的1、4项
awk '{print $1,$4}' log.txt
结果如下:
---------------------------------------------
2 a
3 like
This's
10 orange,apple,mongo
实际使用 如:
ps -ef|grep java|grep -v grep|awk '{print $2}'
效果是: 前面搜索进程行的结果每行按空格或TAB分割,输出文本中的第2项 , 如下图:
最终相当于取出了进程的 PID
https://www.runoob.com/linux/linux-comm-awk.html
5.xargs 命令 (给命令传递参数的一个过滤器,也是组合多个命令的一个工具)
-
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
-
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。
xargs 一般是和管道一起使用。
命令格式:
somecommand |xargs -item command
命令举例:
ps -ef |grep java|grep -v grep|awk '{print $2}'|xargs kill -9
前半部分的命令获取到 进程名含java 的进程 PID, 然后传递给 kill -9 命令, 最终作用是结束进程名含java 的进程的运行.
https://www.runoob.com/linux/linux-comm-xargs.html
6. 查看占用某端口号的命令
# 查看占用8080端口的进程
netstat -nap | grep 8080