linux的一般命令
本文最后更新于 2024年6月25日 早上
记录一些常见linux命令
1 查询类
whatis
简要说明命令的作用
示例,ls命令的作用
1
2root@VM-12-2-ubuntu:~/autoBash# whatis ls
ls (1) - list directory contents示例,正则匹配
1
2root@VM-12-2-ubuntu:~# whatis -w "what*"
whatis (1) - display one-line manual page descriptions示例,关于分类
1
2
3root@VM-12-2-ubuntu:~# whatis printf
printf (1) - format and print data
printf (3) - formatted output conversion上面括号中数字代表其列表,有如下
1
2
3
4
5
6
7
8
9(1)、用户可以操作的命令或者是可执行文件
(2)、系统核心可调用的函数与工具等
(3)、一些常用的函数与数据库
(4)、设备文件的说明
(5)、设置文件或者某些文件的格式
(6)、游戏
(7)、惯例与协议等。例如Linux标准文件系统、网络协议、ASCⅡ,码等说明内容
(8)、系统管理员可用的管理条令
(9)、与内核有关的文件
man
查询命令的说明文档
- 示例,将会直接打开文档,按q退出文档
1
man whatis
which
查询程序路径
- 示例
1
2root@VM-12-2-ubuntu:~# which ls
/usr/bin/ls
find
查找文件或者目录
示例
1
2root@VM-12-2-ubuntu:~# find ./ -name "auto*" | xargs file
./autoBash: directory示例,查找指定后缀文件
1
2
3root@VM-12-2-ubuntu:~# find ./ -name "*.sh"
./autoBash/task_doc.sh
./autoBash/task1.sh查询文件中包含字符串的文件,打印文件名
1
find ./code |xargs grep -ri "python3" -l
2 修改类
chmod
修改文件权限
- 示例(-R参数可以对当前目前下所有文件进行修改)
1
2
3
4
5root@VM-12-2-ubuntu:~/autoBash# ls -all
-rw-r--r-- 1 root root 581 Feb 23 19:22 task1.sh
root@VM-12-2-ubuntu:~/autoBash# chmod 777 task1.sh
root@VM-12-2-ubuntu:~/autoBash# ls -all
-rwxrwxrwx 1 root root 581 Feb 23 19:22 task1.sh
# | 权限 | rwx | 二进制 |
---|---|---|---|
7 | 读 + 写 + 执行 | rwx | 111 |
6 | 读 + 写 | rw- | 110 |
5 | 读 + 执行 | r-x | 101 |
4 | 只读 | r– | |
3 | 写 + 执行 | -wx | 011 |
2 | 只写 | -w- | 010 |
1 | 只执行 | –x | 001 |
0 | 无 | — | 000 |
- 示例,给脚本添加可执行权限
1
chmod a+x task_doc.sh
文件修改
- 清空文件
1
:> log.txt
3 进程管理工具
PS
进程查询
示例,查询正在运行的进程信息
1
ps -ef
示例,查询归属某个用户的进程
1
ps -ef | grep root
示例 完整格式显示所有进程
1
ps -ajx
lsof
示例,查看端口占用的进程状态
1
2
3
4root@iZbp13hj0qh9d0nh16f1k7Z:~# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 997524 root 4u IPv4 223584532 0t0 TCP iZbp13hj0qh9d0nh16f1k7Z:ssh->117.173.140.243:34426 (ESTABLISHED)
sshd 1104458 root 3u IPv4 192648542 0t0 TCP *:ssh (LISTEN)示例,查看用户的进程所打开的文件
1
lsof - u username
示例,查询进程打开文的文件
1
lsfo -c sshd
示例,查询指定进程打开的文件
1
lsof -p 12311
示例,查询指定目录下被开启的文件
1
lsof +d root/
top
查看进程的CUP、内存使用状态,输入top进入页面
1 |
|
pmap
输出进程内存状况,分析线程堆栈
- 示例
1
pmap PID
4 性能监控
sar
示例,查看CUP使用率
1
sar -u
示例,查看CPU平均负载
1
sar -q 1 2
示例,查看内存使用状态
1
sar -r 1 2
示例,查看页面交互发生状态
1 |
|
5 网络
netstat
示例,列出所有端口
1
netstat -a
示例,列出所有TCP端口
1
netstat -at
列出所有监听的服务状态
1
netstat -l
查询端口状态
1
netstat -antp | grep 22
route/host
示例,查看路由状态
1
route -n
示例,探测前往地址IP的路由路径
1
traceroute IP
示例,DNS查询,寻找域名domain对应的IP
1
host domain
示例,反向DNS查询
1
host IP
scp
网络复制
示例,将本地localpath指向的文件上传到远程主机的path路径
1
$scp localpath ID@host:path
示例,遍历下载path路径下的整个文件系统,到本地的localpath
1
$scp -r ID@site:path localpath
netcat
查询远程主机端口状态
- 示例,查询目标端口是否被打开
1
2nc -zv 192.168.1.1 22
nc -zv 192.168.1.1 20-80
6 系统管理
查询系统版本
1
2
3
4
5
6
7
8root@iZbp13hj0qh9d0nh16f1k7Z:~# uname -a
Linux iZbp13hj0qh9d0nh16f1k7Z 5.4.0-77-generic #86-Ubuntu SMP Thu Jun 17 02:35:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
root@iZbp13hj0qh9d0nh16f1k7Z:~# lsb_release -a
LSB Version: core-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal查询CPU信息
1
cat /proc/cpuinfo
查看CPU的核的个数
1
cat /proc/cpuinfo | grep processor | wc -l
查看内存信息
1
cat /proc/meminfo
显示内存page大小(kByte)
1
pagesize
显示架构
1
2root@iZbp13hj0qh9d0nh16f1k7Z:~# arch
x86_64
7 其他命令
查看磁盘空间
1 |
|
查看目录大小
1 |
|
打包解包
1 |
|
性能分析
快捷键
bash中
1 |
|
linux的一般命令
https://blog.kala.love/posts/b04fa9c2/