我讨厌温柔的人.|

AgonySec

园龄:1年10个月粉丝:8关注:2

Linux学习

Linux学习

1.下载与安装

2.基础命令

2.0 特殊符号

  • 通配符 * 搭配查询命令使用
  • 管道符 | 管道符左边命令的结果可以作为右边命令的输入
  • 重定向符 >和>> ,> 将左侧命令的结果,覆盖写入符号右侧指定的文件中,>> 将左侧命令结果,追加写入到符号右侧指定文件中

2.1 Linux命令基础格式

语法:command [-option] [parameter]

2.2 pwd 查看当前目录

2.3 cd:切换目录

cd # 回到当前用户的家目录

cd.. #回到上一级目录

cd ~ # 可用于表示用户家目录

cd /etc # 切换到/etc目录

cd - # 切换到跳转之前的上一次的目录

2.4 touch:创建文件

touch file1 # 创造文件

2.5 rm:删除文件

rm命令可用于删除文件、文件夹

语法:rm[-r -f] 参数1 参数2. 。。。参数N

  • -r 选项用于删除文件夹

  • -f 选项用于强制删除文件

rm命令支持通配符*,用来做模糊匹配

  • 符号*表示通配符,及匹配任意内容
  • *test 表示删除所有以test结尾的文件

2.6 ls:列出目标目录

ls:列出目标目录中的所有子目录和文件

格式:ls [选项] [目录名]
-a 用于显示所有文件和子目录(保罗点文件),展示出隐藏的内容
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
-r 将目录的内容清单以英文字母顺序的逆序显示。
-t 按文件修改时间进行排序,而不是按文件名进行排序。
-A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。
-F 在列出的文件名和目录名后添加标志。例如,在可执行文件后添加“*”,在目录名后添加“/”以区分不同的类型。
-R 如果目标目录及其子目录中有文件,就列出所有的文件。
. 和..
. 表示当前目录
.. 表示父目录
文件类型
ls # 列出当前目录下的文件和目录
ls . # 列出当前目录下的文件和目录
ls .. # 列出当前目录的父目录下的文件和目录
ls /etc # 列出/etc目录下的文件和目录
ls -l # 以长格式显示文件信息

2.7 文件权限

rwxrwxr-- : 三组rwx 分别表示 所有者、所有组、其他人 的权限。
r : 表示可读, 可以用数字 4 来表示
w : 标识可写 ,可以用数字 2 来表示
x : 表示可执行 , 可以用数字 1 来表示

  • :表示没有相应权限 可以用数字 0 来表示

2.8 mkdir 创建目录

语法:mkdir [-p] Linux路径

-p 选项的作用

​ 可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

2.9 cat 查看文件内容

语法: cat Linux路径

2.10 more 查看文件内容

more 支持翻页,通常用于查看文件内容过多的文件

2.11 cp 复制文件文件夹

语法: cp [-r] 参数1 参数2

  • -r 选项,可选,用于复制文件夹使用,表示递归

  • 参数1,Linux路径,表示被复制的文件或文件夹

  • 参数2,Linux路径,表示要复制去的地方,复制过来的文件名等于参数2的名字

    image-20230425170334377

2.12 mv 移动文件或文件夹

语法 :mv 参数1 参数2

如果文件不存在,将会创造文件

2.13 su - root 切换到root用户

输入命令: su - root 并输入root密码,进入root账号登入

输入exit命令,返回普通用户

2.14 which 查找命令的所在的位置

例如:which cd

image-20230425221532692

2.15 find 按文件名查找文件

按文件名查找

​ 语法:find 起始路径 -name "被查找的文件名"

按文件大小查找

​ 语法:find 起始路径 -size +|- n[kMG]

  • +、-表示大于和小于
  • n表示大小数字
  • kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
  • 例如:查找小于10KB的文件 find / -size -10k

支持使用通配符(*)

2.16 grep 从文件中通过关键字过滤文件行

语法:grep [-n] 关键字 文件路径

只显示包含关键字的所在行

  • 选项-n ,可选,表示在结果中显示匹配的行的行号
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,使用""把关键字包起来
  • 参数,文件路径,可以作为管道符的输入

2.17 wc命令做数量统计

可以通过wc命令统计文件的行数、单词数量

语法:wc[-c -m -l -w] 文件路径

  • -c,统计bytes数量

  • -m,统计字符数量

  • -l,统计行数

  • -w,统计单词数量

  • 参数,文件路径,被统计的文件,可以作为管道符的输入

2.18 echo 在命令行内输出指定内容

  • 无需选项,只有一个参数,表示要输出的内容
  • 例如:echo "hello world" 用双引号把字符串包起来
  • echo pwd 被反引号包围的内容将会被作为命令执行

2.19 tail 查看文件尾部内容,并可持续跟踪

  • 查看文件尾部内容,并可持续跟踪
  • 语法: tail [-f -num] Linux路径
  • -f 设置查看尾部多少行,默认10行,可持续跟踪
  • linux路径表示被查看的文件

2.20 ln命令创建软连接

在系统中创建软连接,可以将文件、文件夹链接到其他位置

类似windows系统中的快捷方式

语法: ln -s 参数1 参数2

  • -s选项,创建软连接
  • 参数1:被链接的文件或文件夹
  • 参数2:要链接去的目的地

实例:

  • ln -s /etc/yum.conf ~ /yum.conf 注意:~时home目录

2.21 su和exit命令

su命令就是用于账户切换的系统命令(Switch User)

语法: su [-] [用户名]

  • -符号是可选的,表示是否在切换用户后加载环境变量

  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root

  • 切换用户后,可以通过exit命令退回上一个用户,也可使用快捷键ctrl + d

  • 使用普通用户,切换到其他用户需要输入密码

  • 使用root用户,切换其他用户无需输入密码

2.22 sudo命令

使用sudo命令,为普通的命令授权,临时赋予root授权

语法 : sudo 其他命令

  • 在其他命令之前,带上sudo,即可为这一条命令临时赋予root权限
  • 需要为普通用户配置sudo认知,才能使用sudo

为普通用户配置sudo认证

  1. 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
  2. 在文件的最后添加: itchen ALL=(ALL) NOPASSWD: ALL
    • 其中最后的NOPASSWD:ALL表示sudo命令,无需输入密码
  3. 最后通过wq保存
  4. 切换会普通用户
  5. 执行的命令,均以root运行
  6. 注意:在ubuntu中好像自动给普通用户配置了sudo认证,在输入sudo su - root 时不需要输入密码!

2.23 systemctl 命令

语法:systemctl start | stop |status |enable | disable 服务名

作用:可以控制软件(服务)的启动、关闭、开机自启动

  • 系统内置服务均可被systemctl控制
  • 第三方软件,如果自动注册了可以被systemctl控制
  • 第三方软件,如果没有自动注册,可以手动注册

注意:ubuntu暂时用不了systemctl命令

2.24 date命令

date命令查看系统的时间

语法: date [-d ] [+格式化字符串]

  • -d 按照给定的字符串显示日期,一般用于日期计算
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
    • %Y 年
    • %y 年份后两位数字
    • %m 月份(01,12)
    • %d 日(01,31)
    • %H 小时(00,23)
    • %M 分钟(00,59)
    • %S 秒(00,60)
    • %s 自1970-01-01 00:00:00 UTC到现在的秒数

image-20230427160452965

ps:可以用双引号包括起来

3.用户权限

3.0 Linux系统的超级管理员(root用户)

如何切换用户?如何设置root用户?

3.1 su和exit命令

su命令就是用于账户切换的系统命令(Switch User)

语法: su [-] [用户名]

  • -符号是可选的,表示是否在切换用户后加载环境变量

  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root

  • 切换用户后,可以通过exit命令退回上一个用户,也可使用快捷键ctrl + d

  • 使用普通用户,切换到其他用户需要输入密码

  • 使用root用户,切换其他用户无需输入密码

3.2 sudo命令

使用sudo命令,为普通的命令授权,临时赋予root授权

语法 : sudo 其他命令

  • 在其他命令之前,带上sudo,即可为这一条命令临时赋予root权限
  • 需要为普通用户配置sudo认知,才能使用sudo

为普通用户配置sudo认证

  1. 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
  2. 在文件的最后添加: itchen ALL=(ALL) NOPASSWD: ALL
    • 其中最后的NOPASSWD:ALL表示sudo命令,无需输入密码
  3. 最后通过wq保存
  4. 切换会普通用户
  5. 执行的命令,均以root运行
  6. 注意:在ubuntu中好像自动给普通用户配置了sudo认证,在输入sudo su - root 时不需要输入密码!(已验证)

3.3 创建root用户的密码

3.3.1 背景

在安装Ubuntu系统时并没有设置root的密码,登录的时候也没有使用root账户。
当我们输入su命令,切换到root用户时候,会提示认证失败!

好像有个命令直接进入root用户

注意:在ubuntu中好像自动给普通用户配置了sudo认证,在输入sudo su - root 时直接切换到root用户,不需要输入密码!(已验证)

3.3.2 创建root用户的密码

给root创建一个密码,输入:sudo passwd root
看准提示进行输入,root的密码最好和其他用户的密码不同,以增加其安全性!

3.4 用户组管理

用户组管理

以下命令需root用户执行

  • 创建用户组

    groupadd 用户组名

  • 删除用户组

    groupdel 用户组名

用户管理

以下命令需root用户执行

  • 创建用户

    useradd[-g -d] 用户名

  • 删除用户

    userdel [-r] 用户名

  • 查看用户所属组

    id[用户名]

  • 修改用户所属组

    usermod -aG

getent passwd 查看系统全部用户信息

getent group 查看系统全部组信息

3.5 权限控制信息

认知权限信息

image-20230426215105859

举例:drwxr-xr-x,表示

  • 这是一个文件夹,首字母d表示
  • 所属用户的权限师:rwx 就是有r有w有x
  • 所属用户组的权限是:r-x 有r无w有x
  • 其他用户的权限:r-x 有r无w有x

rwxrwxr-- : 三组rwx 分别表示 所有者、所有组、其他人 的权限。
r : 表示可读,
w : 表示可写 ,针对文件夹,可以在文件夹内:创建、删除、改名
x : 表示可执行 ,针对文件夹,表示可以更改工作目录到此文件夹,就是可以cd进入此文件夹

3.6 chmod命令 修改文件、文件夹的权限信息

使用chmod命令,修改文件、文件夹的权限信息

注意,只有文件、**文件夹的所属用户或root用户可以修改***

语法:chmod [-R] 权限 文件或文件夹

  • 选项: -R,对文件夹内的全部内容应用同样的操作
  • chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-x--x 其中:u表示user所属用户权限,g表示group用户组权限,o表示other其他用户权限

权限的数字序号

image-20230427083759713

3.7 chown命令 修改文件、文件夹所属的用户和用户组

使用chown命令 修改文件、文件夹所属的用户和用户组

普通用户无法修改所属为其它用户或组,所有此命令只适用于root用户执行

语法: chown [-R] [用户] [:] [用户组] 文件或文件夹

  • 选项 ,-R,同chmod,对文件夹内全部内容应用相同规则
  • 选项,用户,修改所属用户
  • 选项,用户组,修改所属用户组
  • :用于分隔用户和用户组

实例:

  • chown root hello.txt 将hello.txt 所属用户修改为root

  • chown :root hello.txt 将hello.txt 所属用户组修改为root

  • chown root:itchen hello.txt 将hello.txt 所属用户修改为root,用户组修改为itchen

4.Linux文件

Linux系统中一切皆文件

image-20230424173044857

Linux文件是正斜杠(/)路径,这才是正确的路径,而计算机使用反斜杠(\),这其实是不对的

因为(\)有表示转义字符的意思

在用windows时我们在进行一些配置时,有时候会用(\\)或者(/)来写路径,而不是直接用(\)

5.文件目录

bin目录放一些二进制命令

6.FinalShell连接Linux

6.1在Linux终端中输入ifconfig获取IP地址

image-20230425104210004

inet 192.168.40.130 这一行的数字就是ip地址

6.2打开FinalShell新建连接,把主机名(IP),用户名,密码输入连接就行了

image-20230425104307937

7. vi\vim编辑器

7.1 什么是vi、vim编辑器?

  • vi\vim编辑器就命令行下的文本编辑器,用来编辑文件
  • vim是vi的升级版,一般用vim就行,包含vi所有内容

7.2 基础命令

  • vim 文件路径
  • vi 文件路径

7.3 三种工作模式

image-20230426083042459

  • 命令模式: 默认进入命令模式,通过键盘快捷键控制文件内容

  • 输入模式:在命令模式中按 i 进入输入模式,对文件内容进行编辑,按 esc 退回命令模式

  • 底线命令模式:在命令模式中按冒号(:)进入,可以对文件进行保存、关闭等操作,输入wq进行保存并退出(先保存再退出,w放前面)

8. 实用技巧

  • ctrl + c

    强制停止命令

    退出当前输入,重新输入

  • ctrl + d

    退出账户的登入

    退出某些特定程序的专属页面

    ps:不能用于退出vi/vim

    历史命令搜索

    输入history,查看历史输入过的命令

  • 可以通过: !命令前缀,自动执行上一次匹配前缀的命令

  • ctrl + r 搜索历史命令

  • ctrl + a|e 光标移动到命令开始或结束

  • ctrl + 左箭头|右箭头,左右跳单词

  • ctrl + l 或clear命令 清屏

9. 软件管理命令

9.1 CentOS系统

在CentOS系统中,使用yum命令联网管理软件安装

yum语法:yum [-y] [install |remove | research] 软件名称

9.2 Ubuntu系统

在Ubuntu系统中,使用apt命令联网安装软件

apt语法:apt [-y] [install |remove | research] 软件名称

9.3 systemctl 命令

语法:systemctl start | stop |status |enable | disable 服务名

作用:可以控制软件(服务)的启动、关闭、开机自启动

  • 系统内置服务均可被systemctl控制
  • 第三方软件,如果自动注册了可以被systemctl控制
  • 第三方软件,如果没有自动注册,可以手动注册

10.日期和时间

10.1 date命令查看系统的时间

语法: date [-d ] [+格式化字符串]

  • -d 按照给定的字符串显示日期,一般用于日期计算
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
    • %Y 年
    • %y 年份后两位数字
    • %m 月份(01,12)
    • %d 日(01,31)
    • %H 小时(00,23)
    • %M 分钟(00,59)
    • %S 秒(00,60)
    • %s 自1970-01-01 00:00:00 UTC到现在的秒数

image-20230427160452965

ps:可以用双引号包括起来

10.2 如何修改Linux时区

rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

10.3 ntp的作用

通过yum 安装ntp

可以自动联网同步时间,也可以手动同步时间通过 ntpdate -u ntp.aliyun.com手动校准时间

11.IP地址、主机名

11.1 什么是IP地址?

每一台联网的电脑都会有一个地址,用于和其他计算机进行通讯

IP地址主要有2个版本,V4和V6版本

IPv4的地址格式是:a.b.c.d 其中abcd表示0~255的数字

可以通过命令:ifconfig 查看本机的ip地址,如无法使用ifconfig,可以安装:yum -y install net-tools

特殊IP地址

  • 127.0.0.1 这个ip指代本机
  • 0.0.0.0 特殊IP地址
    • 可以指代本机
    • 可以在端口绑定中用来确定绑定关系
    • 在一些ip地址限制中,表示所有ip的映射,如放行规则设置为0.0.0.0 ,表示允许任意ip访问

11.2 什么是主机名?

每一台电脑除了对外联络地址(IP地址)以外,也可以有应该名字,称之为主机名

在Linux中修改主机名

  • 可以使用命令:hostname查看主机名
  • 使用命令:hostnamectl stl-hostname 主机名,修改主机名(需要root)

11.3 什么是域名解析(主机名映射)

可以通过主机名找到对应的计算机的IP地址,这就是主机名映射(域名解析)

image-20230428080218043

配置主机名映射

在Windows系统的:‪C:\Windows\System32\drivers\etc\hosts

最后添加 “你的ip地址” “主机名”

image-20230428080102404

12.配置Linux固定IP地址

12.1 为什么需要固定IP?

当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的

DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致ip地址频繁变更

如果我们配置了虚拟机IP地址和主机名的映射,那么ip变更,我们也需改变映射关系

12.2 在VMware Workstation中配置固定IP

  1. 在VMware Workstation中配置ip地址网关和网段(ip地址的范围)

    1. 点击打开VMware 点击编辑-->虚拟网络编辑器
    2. 先选择上面的VMnet8,再点击更改设置,将子网IP设置为192.168.88.0(88不是固定的,按需求可以自己更改,但后面对应的也要更改)
    3. 子网掩码设置为 255.255.255.0

    image-20230428084458917

    1. 在点击NAT设置,网关IP改成192.168.88.2 ,确定应用打开启动Linux虚拟机
    2. image-20230428084537075
  2. 在Linux系统中手动修改配置文件,固定IP

    1. 打开终端,使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33,填入如下内容(版本不同,不一定是ens33,需要自己去查询一下)

    image-20230428085408824

    1. systemctl stop network 再重新打开 systemctl start network 最后关闭虚拟机,重新启动,查看ifconfig

    image-20230428085905278

13.网络传输

13.1 下载和网络请求

13.1.1 ping命令

语法:ping [-c num] ip 或主机名

选项:-c ,测试的次数

13.1.2 wget命令

语法:wget [-b] url

选项:-b, 后台下载

13.1.3 curl命令

语法: curl [-O] url

选项: -O ,用于下载使用

13.2 端口

13.2.1 什么是端口?

端口是指计算机和外部交互的出入口,可以分为物理端口和虚拟端口

  • 物理端口:USB、HDMI、DP、VGA、RJ45等
  • 虚拟端口:操作系统和外部交互的出入口

IP只能确定计算机、通过端口才能锁定要交互的程序

13.2.2 端口的划分

  • 公认端口:1-1023,用于系统内置或常用知名软件绑定使用
  • 注册端口:1024-49151,用于松散绑定使用(用户自定义)
  • 动态端口:49152-65535,用于临时使用(多用于出口)

13.2.3 查看端口占用

可以使用Linux命令去查看端口的占用情况

  • 使用nmap命令,安装nmap: yum -y install nmap

语法: nmap 被查看的IP地址

22端口,一般是SSH服务使用,即FinalShell远程链接Linux所使用的端口

  • 使用netstat命令,查看指定端口的占用情况

语法: netstat -anp | grep 端口号 ,安装netstat : yum -y install net-tools

14.进程管理

14.1 进程

程序运行再操作系统中,是被操作系统所管理的

为管理运行的程序,每一个程序再运行的时候,便被操作系统注册为系统中的一个:进程

并会为每一个进程都分配一个独有的:进程ID(进程号)

14.2 查看进程

通过ps命令查看Linux系统中的进程信息

语法: ps[-e -f]

选项:-e,显示出全部的进程

选项:-f,以完全格式化的形式展示信息(展示所有信息)

查看指定进程

  • 在FinalShell中,执行命令:tail ,可以看到,此命令一直阻塞在哪里
  • 我们可以使用管道符配合grep来进行过滤,如:ps -ef|grep tail

14.3 关闭进程

在Linux中,通过kill命令关闭进程

语法: kill [-9] 进程ID

选项: -9 ,表示强制关闭进程。

15.主机状态

15.1 查看系统资源占用

  • 使用top命令查看CPU、内存使用情况,类似Windows任务管理器

top命令内容详解

image-20230429163600785

image-20230429163835181

  • top命令选项

    • -p 只显示某个进程的信息
    • -d 设置刷新时间,默认5s
    • -c 显示产生进程的完整命令,默认是进程名
    • -n 指定刷新次数
    • -b 亦非交互全屏模式进行
    • -i 不显示任何闲置(idle)或无用(zombie)的进程
    • -u 查找特定用户启动的进程
  • top交互式选项

    image-20230429164257276

15.2 磁盘信息监控

  • 使用df命令,可以查看硬盘的使用情况

    语法:df[-h]

    选项:-h ,以更加人性化的单位显示

  • 使用iostat查看CPU、磁盘的相关信息

    语法:iostat[-x] [num1] [num2]

    • ​ 选项:-x ,显示更多信息

    • ​ num1: 数字,刷新间隔,num2:数s字,刷新几次

15.3 网络状态监控

  • 使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)
    • 语法:sar -n DEV num1 num2
    • 选项: -n 查看网络,DEV表示查看网络接口
    • num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)
    • image-20230429192644056

16.环境变量

16.1 环境变量:PATH

无论当前的工作目录是什么,都能执行/usr/bin/cd 这个程序,这个就i是借助环境变量中PATH这个项目的值来做到的

image-20230429194206228

PATH记录了系统执行任何命令的搜索路径,如上图记录了:

  • /usr/local/bin
  • /usr/bin
  • /usr/local/sbin
  • /home/itheima/.local/bin
  • /home/itheima/bin

当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体

16.2 $符号

在Linux系统中,$符号被用于取“变量”的值

语法:$ 环境变量名

比如:echo $PATH

16.3 自行设置环境变量

Linux 环境变量可以用户自行设置,其中分为:

  • 临时设置,语法:export 变量名=变量值
  • 永久生效
    • 针对当前用户生效,配置在当前用户的: ~/.bashrc文件中
    • 针对所有用户生效,配置在系统的:/etc/profile中
    • 并通过 语法:source 配置文件,进行立刻生效,或重新等了FinalShell生效

17.上传下载

rz、sz命令

rz、sz命令需要去安装,可以通过: yum -y install lrzsz 安装

  • rz命令,进行上传,语法:直接输入rz即可
  • sz命令进行下载,语法:sz 要下载的文件

18.压缩解压

压缩格式

  • zip格式:Linux、Windows、MacOS,常用
  • 7zip,rar:Windows系统常用
  • tar:Linux、MacOS常用
  • gzip:Linux、MacOS常用

18.1 tar命令

Linux和Mac系统常用2种压缩格式,后缀名分别是:

  • .tar ,称之为tarball,归档文件,并没有太多文件体积减少,仅仅是简单的封装
  • .gz 使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积

针对这两种格式,使用tar命令均可以进行压缩和解压缩

语法: tar [-c -v -x -f -z -C] 参数1 参数2.。。。参数N

  • -c 创建压缩文件,用于压缩模式
  • -v 显示压缩、解压过程,用于查看进度
  • -x 解压模式
  • -f 要创建的文件,或要解压的文件,-f 选项必须在所有选项中位置处于最后一个
  • -z gzip模式,不是-z就是普通的tarball格式
  • -C 选择解压的目的地,用于解压模式

常见tar压缩组合

  • tar -cvf test.tar 1.txt 2.txt 3.txt

注意:-z如果要选的话,放在第一位,-f 必须放在最后一位

常见tar解压组合

  • tar -xvf test.tar

18.2 zip 命令压缩文件

语法: zip [-r] 参数1 参数2 参数3.。。。参数N

  • -r 被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致

18.3 unzip命令解压文件

语法: unzip [-d] 参数

  • -d 指定要解压去的位置,同tar 的-C选项
  • 参数,被解压的zip压缩包文件

本文作者:chenyuanhang

本文链接:https://www.cnblogs.com/agonysec/p/17354868.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   AgonySec  阅读(30)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起