介绍ubuntu的使用…
使用技巧
快捷键
显示隐藏文件:
ctrl+h
;zsh窗口复制:
ctrl+insert
;zsh窗口粘贴:
shift+insert
;查看cpu信息
查看是否支持64位,cpu架构arm或者x86,x86_64等,0表示支持64位
cat /proc/cpuinfo | grep flags | grep lm | wc -l
64位会有x86_64标识
uname -a
查看cpu型号:
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
查看逻辑core的个数(系统有关)
cat /proc/cpuinfo| grep "processor"| wc -l
查看磁盘是否是固态,0表示是固态,1表示是机械盘
lsblk -d -o name,rota
系统版本
1 | cat /proc/version |
查看内存命令
查看内存使用:
free -h
查看分区内存信息,内存单位KB
df
查看分区内存信息,内存单位MB
df -h
机器的内存使用信息
cat /proc/meminfo
查看当前目录中各个文件的大小,前者单位为B,后者单位为KB、MB显示;
ls -ll 或者 ls -lh
查看当前文件夹的磁盘使用情况:
du -h --max-depth=1
查看当前目录(指定目录)总大小:
du -sh (指定目录)
进程与线程
查看进程PID
ps -ef | grep demo
查看进程的线程
方法一:top -H -p demo-pid
方法二:cat /proc/线程pid/status
, 其中有Threads
显示线程数量
方法三:cat /proc/进程pid/sched
, 其中第一行threads
显示线程数量
查看进程RSS使用情况
cat /proc/PID/status | grep RSS
网络
根据端口号查进程
ps -aux|grep 3333
根据进程号查进程情况
ps -ef|grep 15522
查看并释放使用的端口:
1
2sudo lsof -i:3333 # 查看占用进程号9999
sudo kill -i 9999网络流量监控iptables
对程序暴露端口流量进行监控统计,可以利用Linux中自带的Iptable添加简单的规则让其起到端口流量统计的作用。但是需要注意的是在服务器重启、Iptable服务重启的时候统计数据会被重置清零。输入监控
下面示例是监控目标端口是8080的输入流量 –dport(destination port 的缩写)。即查看输入到本机端口为8080的输入流量,1
iptables -A INPUT -p tcp --dport 8080
查看统计数据
1
iptable -L -v -n -x
输出监控
下面示例是监控来源端口是8080的输出流量 –sport(source port 的缩写)。即本机输出端口号为8080的输出流量1
iptables -A OUTPUT -p tcp --sport 8080
查看统计数据
1
iptable -L -v -n -x
举例
其中的chain input中,可以看到添加的对应监控端口的输入流量。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45⚡ root@localhost /home/mvi2-inference1/compose iptables -A INPUT -p tcp --dport 3087
⚡ root@localhost /home/mvi2-inference1/compose iptables -L -v -n -x
Chain INPUT (policy ACCEPT 238 packets, 39083 bytes)
pkts bytes target prot opt in out source destination
177436 10272381989 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8083
177436 10272381989 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8083
0 0 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3087
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
209763 82397219 DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0
209763 82397219 DOCKER-ISOLATION-STAGE-1 all -- * * 0.0.0.0/0 0.0.0.0/0
138270 79520797 ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
71493 2876422 ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 36 packets, 6400 bytes)
pkts bytes target prot opt in out source destination
51887 185028735 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:8083
Chain DOCKER (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8001
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.3 tcp dpt:8001
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.4 tcp dpt:8001
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8001
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8001
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8001
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8001
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.9 tcp dpt:8001
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
pkts bytes target prot opt in out source destination
71493 2876422 DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
209763 82397219 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-ISOLATION-STAGE-2 (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * docker0 0.0.0.0/0 0.0.0.0/0
71493 2876422 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-USER (1 references)
pkts bytes target prot opt in out source destination
209763 82397219 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
查看可执行文件的相关信息
file 可执行文件
:可查看可执行文件是ARM架构还是X86架构;nm 可执行文件
:可查看文件中的符号,包括全局变量,全局函数等;ldd 可执行文件
:可查看文件执行所需要的动态库;strings 可执行文件
:可查看文件中所有的符号,包括编译器版本信息;readelf 可执行文件或者库文件
:可查看文件的所有详细信息,包括文件的头信息,动态库信息,段信息等;readelf -h library.a
:查看文件架构等信息;
查看库文件函数接口
nm -g --defined-only *.a
,或者*.so;
权限查看与修改
- 修改文件夹以及子文件夹的读写权限:
chmod -R 777 /dir1/dir2
;
查看文件末尾指定行数
tail -n 100 a.txt
查找
- 查找指定目录的指定文件:
find / -name "a.txt"
- 在某个目录下查找包含某个字符串的文件:
grep -r "zh_CN" ./
进入root权限
- 暂时性的
1
2
3
4
5sudo -i
# 输入密码即可
# 但是这个方法持续的时间只有五分钟,
# 想要延长时间可以用以下命令再延长五分钟。
sudo -v - 非暂时性的
1
2
3
4
5
6
7sudo passwd root
--> 设置密码
su
--> 输入刚设置密码
# 如果想要退出
exit
Issues
Issue1:/dev/loop 100%
Solution:
1 | sudo apt autoremove --purge snapd |
Issue: 搜狗输入法的右上角图标消失
Solution: 搜索fcitx打开输入标志。
如果还是没有,setting->region & language,先安装语言支持,再搜索fcitx,打开右上角输入图标,选择对应的输入法。
Issue: error_log占用空间太大
根本原因是改了某些路径的权限导致。
使用tail error_log
查看有问题的路径,然后:
1 | # 修改问题路径的权限 |