Easton's Blog Easton's Blog
首页
  • 编程语言

    • Python
  • 框架

    • Django
  • Mdn (opens new window)
  • HTML
  • CSS
  • JavaScript
  • Mysql
  • PostgreSQL
  • Elasticsearch
  • MongoDB
  • Redis
  • 服务器命令
  • Docker
  • GIT
  • 摄影
  • 草稿
  • 归类方式

    • 分类
    • 标签
    • 归档
  • 关于博客

    • 博客教程
    • 友情链接
    • 关于
导航站
GitHub (opens new window)

Easton Yang

爱生活😊爱学习
首页
  • 编程语言

    • Python
  • 框架

    • Django
  • Mdn (opens new window)
  • HTML
  • CSS
  • JavaScript
  • Mysql
  • PostgreSQL
  • Elasticsearch
  • MongoDB
  • Redis
  • 服务器命令
  • Docker
  • GIT
  • 摄影
  • 草稿
  • 归类方式

    • 分类
    • 标签
    • 归档
  • 关于博客

    • 博客教程
    • 友情链接
    • 关于
导航站
GitHub (opens new window)
  • 服务器命令

    • vim
    • shell快捷键
    • linux常用命令
      • ls 查看文件信息
      • find 搜索文件/文件夹
      • grep 文本搜索
      • curl
      • 查看 ip 和端口是否联通
      • su 切换用户
      • passwd 修改后台密码
      • chown 设置文件用户权限
      • chmod 设置文件权限
      • 重复使用命令
      • 系统信息查看
      • 查看 linux 版本信息
      • netstat 正在监听的端口
      • 开放端口
      • service
    • systemctl
    • tcpdump抓包
    • linux性能分析
  • Docker

  • 服务器
  • 服务器命令
eastonyangxu
2023-05-11
目录

linux常用命令

# ls 查看文件信息

ls -l -a -h  # -l查看详情,-a查看所有,-h文件大小按合适的单位转换
1

# find 搜索文件/文件夹

在根目录下所有文件中查看nginx文件或文件夹:find / -name nginx

find 命令中的 -type 参数用于指定要查找的文件类型。常用的 -type 参数如下:
-type f:查找普通文件(不包括目录)。
-type d:查找目录。
-type l:查找符号链接。
-type b:查找块设备文件。
-type c:查找字符设备文件。
-type p:查找命名管道。
-type s:查找套接字文件。

find / -name nginx -type d ,表示只查找名为nginx的目录
1
2
3
4
5
6
7
8
9
10
11
12

# grep 文本搜索

grep [options] pattern [file...]
其中,pattern是要查找的内容,file是要查找的文件名。如果省略file参数,则grep命令会从标准输入中读取数据。

以下是一些常用的grep命令选项:
-i:忽略大小写
-r:递归查找子目录
-n:显示匹配行的行号
-w:只匹配整个单词,而不是单词的一部分
-v:显示不匹配的行

例如,要在当前目录下的所有文件中查找包含字符串hello world的行,可以使用以下命令:
grep "hello world" *

如果要忽略大小写,可以使用-i选项:
grep -i "hello world" *

如果要递归查找子目录,可以使用-r选项:
grep -r "hello world" .
这将在当前目录及其所有子目录中查找包含字符串hello world的行。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# curl

-h : curl -h  查看帮助文档(大部分命令通用 -h 来查找帮助)
--insecure : 允许连接到没有证书的SSL站点
-X :后面加请求类型  POST、GET、PUT等  默认是GET
-v : 显示更多的信息
-d : 后面跟POST请求的数据
-H : 后面跟请求头 例如"Content-Type: application/json"

curl --insecure -H "Content-Type: application/json" -X POST -d '{"one": 1}' -v https://test.com

使用@+文件名 :文件传值
curl --insecure -H "Content-Type: application/json" -X POST -d @data.json -v https://test.com
1
2
3
4
5
6
7
8
9
10
11

# 查看 ip 和端口是否联通

ping IP
telnet IP [port]
wget http://IP:PORT
nc -v IP PORT

nc 命令有许多参数,以下是一些常用的参数及其介绍:
-l:监听模式,用于在本地主机上监听指定端口的连接请求。
-p:指定本地端口号。
-u:使用 UDP 协议。
-v:详细模式,输出更多信息。
-w:设置超时时间,单位为秒。
-z:扫描模式,用于扫描指定主机的端口是否开放。
-4:强制使用 IPv4 协议。
-6:强制使用 IPv6 协议。
-s:指定本地源地址。
-c:指定发送或接收的字节数。
-e:指定执行的命令,用于在连接建立后执行命令。
除了上述参数外,nc 命令还有许多其他参数,可以通过 man nc 命令查看完整的帮助文档。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# su 切换用户

su root
1

# passwd 修改后台密码

passwd username(要更改密码的用户名)
回车以后会提示输入新密码。
1
2

# chown 设置文件用户权限

chown root:root <file-name>  # 前面是用户,后面是用户组
1

# chmod 设置文件权限

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)
a:all(所有用户)   o:others(所有其他用户)   g:group(文件所有者所在组)   u:user(文件所有者)
r:读   w:写   x:执行  X:特殊执行
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限

为文件所有者添加执行权限:chmod u+x <file-name>
为所有用户添加执行可写权限:chmod a+w <file-name>  # 同等于   chmod +w <file-name>

0:无  1:只执行  2:只写  3:写+执行  4:只读  5:读+执行  7:读+写  8:读+写+执行

添加所有权限:chmod 777 <file-name>
1
2
3
4
5
6
7
8
9
10
11

# 重复使用命令

1.使用 ctrl+r ,输入后会自动匹配之前用过的命令
2.使用 history ,查看之前所有输入的命令。
如果要查找docker run相关的命令,可以使用 history | grep 'docker run'
1
2
3

# 系统信息查看

内存:
free -h   : -h 会自动计算内存大小的单位,-m M单位, -g  G单位
total = used + free + buff/cache

CPU:
pidstat -u

查看系统的实时负载, 包括进程、CPU负载、内存使用等等:
top
进入top的实时界面后,默认按照CPU的使用率排序,通过“shift+m“按键将进程按照内存使用情况排序,可以查看哪些进程是当前系统中的内存开销“大户”
top命令中,按下 f 键,进入选择展示列表界面,这里可以选择要显示的信息列,要按照哪些信息列进行排序等
1
2
3
4
5
6
7
8
9
10
11

# 查看 linux 版本信息

查看Linux内核版本信息: cat /proc/version  ,  uname -a
查看Linux系统版本信息: cat /etc/issue

/proc 文件系统。它不是普通的文件系统,而是系统内核的映像,
该目录中的文件是存放在系统内存之中的,它以文件系统的方式为访问系统内核数据的操作提供接口。
我们使用命令 uname -a 的信息就是从该文件获取的,当然用 cat /proc/version 方法直接查看它的内容也可以达到同等效果。
另外,加上参数"-a"是获得详细信息,如果不加参数为查看系统名称。

查看CPU信息: lscpu
查看系统CPU架构:arch
1
2
3
4
5
6
7
8
9
10

# netstat 正在监听的端口

netstat -tlnp
netstat -tlnp | grep :5000  # 查看具体的端口服务
1
2

# 开放端口

centos命令:  netstat -tlnp | grep :5000
1

# service

service 命令用于对系统服务进行管理。
 -启动 (start)
 -停止 (stop)
 -重启  (restart)
 -重新加载配置  (reload)
 -查看状态 (status)等

service 命令是系统管理员命令,需要管理员权限才可以执行。
service 命令本质上是一个 Shell 脚本,地址一般为 /sbin/service


/etc/init.d/ 中包含许多系统服务的启动和停止脚本
service xxxx start|stop|restart 相当于是对 /etc/init.d/ 下的 xxxx 的封装,相当于是一个管理命令
实际执行的是 /etc/init.d/下的可执行程序。如果 /etc/init.d/下没有该服务的可执行程序,则会查找对应的 service 文件

service 文件是使用 systemd 作为初始化程序的 Linux 系统才有的服务文件,叫“服务配置单元文件”,用来取代旧初始化系统中的脚本文件,但是他们可能会同时存在系统中。
如果同时存在的话,在目录 /etc/init.d/ 下的脚本文件的优先级会高于目录 /etc/systemd/system/ 下的 service 文件。


以mysql为例:将 mysql/support-files/mysql.server(mysql是mysql的安装目录) 文件复制到 /etc/init.d/mysql
 -启动mysql:service mysql start
 -停止:service mysql stop
 -重启:service mysql restart
 -查看状态:service mysql status
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#服务器命令
上次更新: 2023/08/11, 15:08:41
shell快捷键
systemctl

← shell快捷键 systemctl→

最近更新
01
攻略制作要点
07-18
02
摄影主题拍摄
07-18
03
延时摄影剧本
07-18
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Easton Yang | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式