# 面试官:如何查看端口被哪个应用程序占用?

# 状态查询
# 查看内存
free
total used free shared buff/cache available
Mem: 1883724 751448 92992 98748 1039284 822780
Swap: 0 0 0
# 以m为单位显示
free -m
total used free shared buff/cache available
Mem: 1839 733 90 96 1014 803
Swap: 0 0 0
# 以g为单位显示
free -g
total used free shared buff/cache available
Mem: 1 0 0 0 0 0
Swap: 0 0 0
# 查看磁盘
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 41151808 3707352 35331024 10% /
devtmpfs 931516 0 931516 0% /dev
tmpfs 941860 0 941860 0% /dev/shm
tmpfs 941860 98740 843120 11% /run
tmpfs 941860 0 941860 0% /sys/fs/cgroup
tmpfs 188376 0 188376 0% /run/user/0
# 以更容易读的方式显示,如以G M K 为单位
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 3.6G 34G 10% /
devtmpfs 910M 0 910M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 97M 824M 11% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0
# 文本操作
文本操作命令能用管道符随意结合,发挥最大的作用
# cat
直接输出文件所有内容,文件内容较大时可以用grep进行过滤
cat fileName
# more
more fileNmae
Enter(向下翻滚一行) 空格(向下滚动一屏) Q(退出命令) B(向上滚动一屏)
# less
less fileName
PageUp 键向上翻页 PageDown键向下翻页
# tail
查看文件的尾行,默认数组最后10行
# 输出文件的最后100行
tail -n 100 fileName
# 实时查看文件的最后内容,一般用来实时查看日志
tail -f fileName
# head
和tail类似,输出头部
head fileName
# 输出文件的前100行
head -n 100 fileName
# uniq
对内容去重,只把相邻且相同的去重,如果想要全局去重,需要先用sort排序
# 文件排序并去重
cat fileName | sort | uniq
# 文件排序并去重,且输出每行出现的次数
cat file | sort | uniq -c
# sort
对内容进行排序,数据按字典序排列,如果想按数值排,加-n选项
cat fileName | sort
# wc
# 文件里有多少行
wc -l fileName
# 文件有多少个单词
wc -w fileName
# 文件有多少个字节
wc -c fileName
# 文件有多少个字符
wc -m fileName
可以和管道符结合使用
cat fileName | wc -l
# 网络
# 远程传输文件scp
先保证服务器间,ssh间能互相跳转 命令格式
scp -r 源目录 用户名@ip:目标目录
-r参数的作用是递归复制源目录,及复制目录下的子目录和文件
scp -r ~/app hadoop@hadoop001:~/
scp -r ~/app hadoop@hadoop002:~/
## 分发环境变量
scp ~/.bash_profile hadoop@hadoop001:~/
scp ~/.bash_profile hadoop@hadoop002:~/
# 查看网络是否连通
Linux
可以先查看地址是否能ping通
ping www.baidu.com
查看端口是否开放 第一种:
telnet www.baidu.com 3306
第二种:
ping www.baidu.com -p 3306
windows
查看远程主机端口是否开放
telnet www.baidu.com 3306
什么都没显示则是开放的,并且那边的服务得开启,如测试80,tomcat的服务得启动
# 观察端口被哪个应用(占用输出详细信息,没有占用则没有输出)
lsof -i:端口号
如查看8080被哪个程序占用
lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 1070 root 27u IPv4 80073916 0t0 TCP *:webcache (LISTEN)
被占用则输出占用的程序,否则无输出
# 下载文件
wget 文件地址