linux杀进程的命令是什么(Linux命令大全)

个人博客:https://chunyu.work/文章较长,可以收藏备用,下面我们就来聊聊关于linux杀进程的命令是什么?接下来我们就一起去了解一下吧!

linux杀进程的命令是什么(Linux命令大全)

linux杀进程的命令是什么

个人博客:https://chunyu.work/

文章较长,可以收藏备用

常用快捷键

(1)ctrl c:停止进程

(2)ctrl l:清屏

(3)善于用tab键

(4)上下键:查找执行过的命令

文件目录类

(1) pwd 显示当前工作目录的绝对路径

(2) ls 列出目录的内容

ls [参数] [目录或是文件] list

参数:

-a :all,全部的文件,连同隐藏的文档( 开头为 . 的文件) 一起列出来(常用)

-l :长数据串列出,包含文件的属性与权限等等数据;(常用)

-h : 使用接近的文件大小单位显示

文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间

名字

ls -l等同于ll

以aaa文件夹为例:

drwxr-xr-x. 2 root root 4096 2月 11 18:08 aaa

d:代表的是文件夹 -:代表的是文件 l代表的是软连接(快捷方式)

rwx:文件拥有者的权限

r-x:文件所属组的权限

r-x:其他用户的权限

2:代表该文件夹下有两个子目录(注意:"."和".."算两个子目录,所以空文件夹最少显示2)

如果是文件就显示1

root:文件的拥有者

root:文件的所属组名

4096:文件大小,以byte为单位

2月 11 18:08:文件创建或最后修改时间

aaa:文件夹名称

(3) mkdir 创建一个新的目录

用法:

mkdir [-p] 要创建的目录

-p 创建多层目录

(4) rmdir 删除一个空的目录

rmdir test

(5) touch 创建空文件

touch test.java

(6) cd 切换目录

a) cd 绝对路径

b) cd 相对路径

c) cd ~或者cd (功能描述:回到自己的家目录)

d) cd - (功能描述:回到上一次所在目录)

e) cd .. (功能描述:回到当前目录的上一级目录)

f) cd . (功能描述:回到当前目录)

. 即一个英文点号代表当前目录,..即两个英文点号代表上一级目录。

(7) cp 复制文件或目录

a) cp source dest (功能描述:复制source文件到dest)

b) cp -r sourceFolder targetFolder (功能描述:递归复制整个文件夹)

(8) rm 移除文件或目录

a) rmdir deleteEmptyFolder (功能描述:删除空目录),缺点:只能删除空目录。

b) rm -rf deleteFile (功能描述:递归删除目录中所有内容)慎用

参数:

-r递归操作

-f删除时不询问是否删除

(9) mv 移动文件与目录或重命名

a) mv oldNameFile newNameFile (功能描述:重命名)

b) mv /temp/movefile /targetFolder (功能描述:递归移动文件)

(10) cat 查看文件内容

查看文件内容,从第一行开始显示。

适合查看小文件,行数比较少的文件,通常用来查看配置文件。

cat [参数] [要查看的文件]

参数:

-A:相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;

-b:列出行号,仅针对非空白行做行号显示,空白行不标行号!

-E:将结尾的断行字节 $ 显示出来;

-n :列出行号,连同空白行也会有行号,与 -b 的选项不同;

-T :将 [tab] 按键以 ^I 显示出来;

-v:列出一些看不出来的特殊字符

查看CentOS版本命令

[hadoop@hadoop003 桌面]$ cat /etc/redhat-release

(11) tac查看文件内容

查看文件内容,从最后一行开始显示,按行倒序显示,可以看出 tac 是 cat 的倒着写。

cat [参数] [要查看的文件]

(12) more 查看文件内容

查看文件内容,一页一页的显示文件内容

more [要查看的文件]

功能使用说明:

空白键 (space):代表向下翻一页;

Enter:代表向下翻『一行』;

q代表立刻离开 more ,不再显示该文件内容。

Ctrl F (注意是大写)向下滚动一屏 front

Ctrl B 返回上一屏 back

= 输出当前行的行号

可以调用vi编辑器 按下v即可,退出:先按下esc 然后:q 在i编辑器的操作跟我们之前的vi是一样的。

(13) less 查看文件内容

less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用[pageup] [pagedown]往回滚动。

less [要查看的文件]

功能使用说明

空白键 :向下翻动一页;

[pagedown]:向下翻动一页;

[pageup] :向上翻动一页;

/字串 :向下搜寻『字串』的功能;n:向下查找;N:向上查找;

?字串 :向上搜寻『字串』的功能;n:向上查找;N:向下查找;

q :离开 less 这个程序;

(14) head查看文件内容

查看文件内容,只看头几行,优点:对于大文件不必都加载,只显示头几行即可。

head -n 10 文件 (功能描述:查看文件头10行内容,10可以是任意行数)

(15) tail 查看文件内容

查看文件内容,只看尾巴几行,优点:可以查看文件实时追加的内容。

a) tail -n 10 文件(功能描述:查看文件头(从末尾开始数)10行内容,10可以是任意行数)

b) tail - F 文件 (功能描述:实时追踪该文档的所有更新)(F大写)

(16) 重定向命令

a) ls -l >a.txt文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))

b) ls -al >>a.txt文件 (功能描述:列表的内容追加到文件aa.txt的末尾)

(17) echo

a) echo [内容] >> [文件名](功能描述:将要显示的内容,追加到文件中)

echo[内容]>[文件名](功能描述:将要显示的内容,覆盖到文件中)

b) echo 变量 (功能描述:显示变量的值)

案例:

[root@hadoop003 test1]# echo $JAVA_HOME

/opt/module/jdk1.8.0_144

(18)ln软链接(快捷方式)

ln -s [原文件] [目标文件] (功能描述:给原文件创建一个软链接,软链接存放在目标文件目录)

删除软链接(如果是文件夹,要注意没有最后的/):rm -rf hadoop,而不是rm -rf hadoop/

创建一个软链接

[hadoop@hadoop003 opt]$ ln -s /opt/module/hadoop-2.7.2/ /opt/software/hadoop

cd不加参数进入是软链接的地址

[hadoop@hadoop003 software]$ cd hadoop

[hadoop@hadoop003 hadoop]$ pwd

/opt/software/hadoop

cd加参数进入是实际的物理地址

[hadoop@hadoop003 software]$ cd -Phadoop

[hadoop@hadoop003 hadoop-2.7.2]$ pwd

/opt/module/hadoop-2.7.2

(19) history查看所敲命令历史

时间日期类

(1)date显示当前时间

a) date (功能描述:显示当前时间)

b) date %Y (功能描述:显示当前年份)

c) date %m (功能描述:显示当前月份)

d) date %d (功能描述:显示当前是哪一天)

e) date %Y%m%d … (功能描述:显示当前年月日各种格式 )

f) date " %Y-%m-%d %H:%M:%S" 或者单引号也可以 (功能描述:显示年月日时分秒)

(2)date显示非当前时间

a) date -d '1 days ago' (功能描述:显示前一天日期)

b) date -d yesterday %Y%m%d (同上)

c) date -d next-day %Y%m%d (功能描述:显示明天日期)

a) date -d 'next monday' (功能描述:显示下周一时间)

(3) date设置系统时间

date -s "2017-06-19 20:52:18"

(4) cal查看日历

cal [参数] (功能描述:不加选项,显示本月日历)

参数:

-3 ,显示系统前一个月,当前月,下一个月的日历

具体某一年,显示这一年的日历。

[root@hadoop003 /]# cal

[root@hadoop003 /]# cal -3

[root@hadoop003 /]# cal 2016

用户管理命令

(1) useradd 添加新用户(前提是有添加用户的权限)

useradd [用户名](功能描述:添加新用户)

(2) passwd 设置用户密码

passwd [用户名] (功能描述:设置用户密码)

(3) id 判断用户是否存在

id [用户名]

(4) su 切换用户

su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)

su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)

(5) userdel 删除用户

a) userdel 用户名 (功能描述:删除用户但保存用户主目录)

b) userdel -r 用户名 (功能描述:用户和用户主目录,都删除)

注意:在root用户下用su命令切换到普通用户如xiaoming,再切换到root用户,这是如果想删除xiaoming这个用户,如果再用su命令进入xiaoming,然后退出时没有用的,两次su xiaoming 就会有两个进程,这时使用Ctrl D来一次关闭就可以了

(6) who 查看登录用户信息

a) whoami (功能描述:显示自身用户名称)

b) who am i (功能描述:显示登录用户的用户名)

c) who (功能描述:看当前有哪些用户登录到了本台机器上)

(7) 设置hadoop普通用户具有root权限即sudo的使用

修改配置文件

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

## Allow root to run any commands anywhere

root ALL=(ALL) ALL

hadoop ALL=(ALL) ALL

(8) cat /etc/passwd 查看创建了哪些用户

(9) usermod修改用户

usermod -g 用户组 用户名

将用户hadoop加入mygroup用户组:

[root@hadoop003 opt]#usermod -g mygroup hadoop

用户组管理命令

(1) groupadd 新增组

groupadd组名

[root@hadoop003 opt]#groupadd hadoop

(2) groupdel删除组

groupdel组名

[root@hadoop003 opt]# groupdel hadoop

(3) groupmod修改组

groupmod -n [新组名] [老组名]

修改hadoop组名称为hadoop1

[root@hadoop003 hadoop]# groupmod -n hadoop1 hadoop

(4) cat /etc/group 查看创建了哪些组

文件权限类

(1)文件属性

从左到右的10个字符表示:

如果没有权限,就会出现减号[ - ]。从左至右用0-9这些数字来表示:

a) 0首位表示类型

在Linux中第一个字符代表这个文件是目录、文件或链接文件等等

- 代表文件

d代表目录

c字符流,装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

s socket

p管道

l链接文档(link file);

b设备文件,装置文件里面的可供储存的接口设备(可随机存取装置)

b) 第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User

c)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group

d)第7-9位确定其他用户拥有该文件的权限 ---Other

rxw作用文件和目录的不同解释

a) 作用到文件:

[ r ]代表可读(read): 可以读取,查看

[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件

是对该文件所在的目录有写权限,才能删除该文件。

[ x ]代表可执行(execute):可以被系统执行

b) 作用到目录:

[ r ]代表可读(read): 可以读取,ls查看目录内容

[ w ]代表可写(write): 可以修改,目录内创建 删除 重命名目录

[ x ]代表可执行(execute):可以进入该目录

(2) chmod改变权限

chmod [{ugoa}{ -=}{rwx}] [文件或目录] [mode=421 ] [文件或目录]

101 可读、不可写,可执行 十进制5

111 可读、可写,可执行 十进制7

[root@hadoop003 test1]# chmod u x test1.java

[root@hadoop003 test1]# chmod g x test1.java

[root@hadoop003 test1]# chmod o x test1.java

[root@hadoop003 test1]# chmod 777 test1.java

[root@hadoop003 test1]# chmod -R 777 testdir

(3) chown改变所有者(只能够root用户使用)

chown [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)

[root@hadoop101 //]# chown xiaoming b.txt 把b.txt所有者改为xiaoming

(4) chgrp改变所属组

chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)

[root@hadoop101 //]# chgrp bigdata b.txt 把b.txt所有组改为bigdata

(5) 切换用户

su -username (功能描述:切换用户)

[root@hadoop003 hadoop]# su hadoop

[hadoop@hadoop003 ~]$

磁盘分区类

(1) fdisk -l (功能描述:查看磁盘分区详情)

注意:在root用户下才能使用

(2) df查看硬盘

df参数(功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况

参数:

-a:列出所有的文件系统,包括系统特有的 /proc 等文件系统;

-k:以 KBytes 的容量显示各文件系统;

-m:以 MBytes 的容量显示各文件系统;

-h:以人们较易阅读的GBytes, MBytes, KBytes 等格式自行显示;

-H:以 M=1000K 取代 M=1024K 的进位方式;

-T:显示文件系统类型,连同该partition 的 filesystem 名称 (例如 ext3) 也列出

-i:不用硬盘容量,而以inode 的数量来显示

(3) mount/umount挂载/卸载

mount -t iso9660 /dev/cdrom /mnt/mycdrom/

a) -t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。

常用类型有:

光盘或光盘镜像:iso9660

DOS fat16文件系统:msdos

Windows 9x fat32文件系统:vfat

Windows NT ntfs文件系统:ntfs

Mount Windows文件网络共享:smbfs

UNIX(LINUX)文件网络共享:nfs

b) -o options 主要用来描述设备或档案的挂接方式。

常用的参数有:

loop:用来把一个文件当成硬盘分区挂接上系统

ro:采用只读方式挂接设备

rw:采用读写方式挂接设备

iocharset:指定访问文件系统所用字符集

c) device要挂接(mount)的设备

d) dir设备在系统上的挂接点(mount point)

(4) 卸载光盘语法

umount设备文件名或挂载点

卸载时,如果该目录正在被使用,可能无法卸载。

解决:用该命令fuser - identify processes using files or sockets找出占用的进程

假设现在 mount 起来的目录是 /media/share

*查询: fuser -m /media/share

*显示: /media/share: 25023c

就代表是 process 25023(pid) 有使用到此目录, 后面 c 代表的意思可参考下述:

* c: current directory.

* e: executable being run.

* f: open file. f is omitted in default display mode.

* F: open file for writing. F is omitted in default display mode.

* r: root directory.

* m: mmap'ed file or shared library.

要把这个资源释放的话, 可以有下述做法:

* kill -9 25023 # ps aux | grep 25023 应该就会看到它

* fuser -m -v -i -k /media/share # 会问你是不是要把 25023 这个 kill 掉,

选 y 就会 kill 掉。

提示信息如下:

USER PID ACCESS COMMAND

/meida/share: root 25023 ..c.. bash

Kill process 25023 ? (y/N) y

如果这样仍然不能解决,可以不通过secureCRT,直接进入虚拟机卸载。

搜索查找类

(1) find 查找文件或者目录

find [搜索范围] [匹配条件]

a)按文件名

[root@hadoop003 ~]# find /opt/ -name *.txt

b)按拥有者

[root@hadoop003 ~]# find /opt/ -user hadoop

c)按文件大小

[root@hadoop003 ~]find /home -size 200M

(2) grep 过滤查找及“|”管道符

管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

grep 参数 查找内容 源文件

ls | grep -n test

参数:

-c:只输出匹配行的计数。

-I:不区分大小写(只适用于单字符)。

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。

(3) which 文件搜索命令

which 命令 (功能描述:搜索命令所在目录及别名信息)

[root@hadoop003 opt]# which ls

/bin/ls

(4) locate 搜索命令

updatebd 更新索引文件

搜索之前要先建立索引文件 如果长时间没有更新索引文件可能会搜索不出结果

进程线程类

(1)ps查看系统中所有进程

ps -aux (功能描述:查看系统中所有进程)

USER:该进程是由哪个用户产生的

PID:进程的ID号

%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源

%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;

VSZ:该进程占用虚拟内存的大小,单位KB

RSS:该进程占用实际物理内存的大小,单位KB

TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。

STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、 :位于后台

START:该进程的启动时间

TIME:该进程占用CPU的运算时间,注意不是系统时间

COMMAND:产生此进程的命令名

(2) top查看系统健康状态

top [参数]

参数:

-d 秒数:指定top命令每隔几秒更新。默认是3秒。

-i:使top不显示任何闲置或者僵死进程。

-p:通过指定监控进程ID来仅仅监控某个进程的状态。

操作选项,即在执行top命令之后,与top命令进行交互:

P:以CPU使用率排序,默认就是此项

M:以内存的使用率排序

N:以PID排序

q:退出top

查询结果字段解释

第一行信息为任务队列信息

内容

说明

12:26:46

系统当前时间

up 1 day, 13:32

系统的运行时间,本机已经运行1天

13小时32分钟

2 users

当前登录了两个用户

load average: 0.00, 0.00, 0.00

系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。

第二行为进程信息

Tasks: 95 total

系统中的进程总数

1 running

正在运行的进程数

94 sleeping

睡眠的进程

0 stopped

正在停止的进程

0 zombie

僵尸进程。如果不是0,需要手工检

查僵尸进程

第三行为CPU信息

Cpu(s): 0.1%us

用户模式占用的CPU百分比

0.1%sy

系统模式占用的CPU百分比

0.0%ni

改变过优先级的用户进程占用的CPU百分比

99.7%id

空闲CPU的CPU百分比

0.1%wa

等待输入/输出的进程的占用CPU百分比

0.0%hi

硬中断请求服务占用的CPU百分比

0.1%si

软中断请求服务占用的CPU百分比

0.0%st

st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

第四行为物理内存信息

Mem: 625344k total

物理内存的总量,单位KB

571504k used

已经使用的物理内存数量

53840k free

空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了

65800k buffers

作为缓冲的内存数量

第五行为交换分区(swap)信息

Swap: 524280k total

交换分区(虚拟内存)的总大小

0k used

已经使用的交互分区的大小

524280k free

空闲交换分区的大小

409280k cached

作为缓存的交互分区的大小

(3) pstree查看进程树

pstree [参数]

参数:

-p: 显示进程的PID

-u: 显示进程的所属用户

(4) kill终止进程

kill -9 pid进程号

参数:

-9 表示强迫进程立即停止

(5) netstat显示网络统计信息

netstat -anp(功能描述:此命令用来显示整个系统目前的网络情况。例如目前的连接、

数据包传递数据、或是路由表内容)

参数:

-an按一定顺序排列输出

-p 表示显示哪个进程在调用

压缩和解压类

(1) gzip/gunzip压缩

gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件,执行后,原来文件消失,生成压缩文件)

gunzip 文件.gz (功能描述:解压缩文件命令,执行后,压缩文件消失,生成解压后的文件)

特点:

(1)只能压缩文件不能压缩目录

(2)不保留原来的文件

(2) zip/unzip压缩

zip 参数 XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令,window/linux通用,并且可以压缩目录,而且保留源文件)

参数:

-r 压缩目录

注意:使用zip/unzip压缩目录时要加上参数 -r,否则只能压缩一级目录

(3) tar打包

tar 参数 XXX.tar.gz 内容(功能描述:打包目录,压缩后的文件格式.tar.gz)

参数:

-c 产生.tar打包文件 create

-v 显示详细信息 verbose

-f 指定压缩后的文件名 filename

-z 打包同时压缩

-x 解包.tar文件

压缩:

[root@hadoop003 opt]# tar -zcvf test.java.tar.gz test1

解压:

解压到当前目录

[root@hadoop003 opt]# tar -zxvf test.tar.gz

解压到/opt目录

[root@hadoop003 opt]# tar -zxvf test.tar.gz -C /opt

后台服务管理类

service后台服务管理

(1)service network status 查看指定服务的状态

(2)service network stop 停止指定服务

(3)service network start 启动指定服务

(4)service network restart 重启指定服务

(5)service --status-all 查看系统中所有的后台服务

chkconfig设置后台服务的自启配置

(1)chkconfig 查看所有服务器自启配置

(2)chkconfig iptables off 关掉指定服务的自动启动

(3)chkconfig iptables on 开启指定服务的自动启动

crond系统定时任务

crond服务管理

[root@hadoop003 ~]# service crond restart(重新启动服务)

crontab定时任务设置

crontab [参数]

参数:

-e: 编辑crontab定时任务

-l: 查询crontab任务

-r: 删除当前用户所有的crontab任务

参数说明

[root@hadoop003 ~]# crontab -e

a)进入crontab编辑界面。会打开vim编辑你的工作。

* * * * * 执行的任务

项目

含义

范围

第一个“*”

一小时当中的第几分钟

0-59

第二个“*”

一天当中的第几小时

0-23

第三个“*”

一个月当中的第几天

1-31

第四个“*”

一年当中的第几月

1-12

第五个“*”

一周当中的星期几

0-7(0和7都代表星期日)

b) 特殊符号

特殊符号

含义

*

代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。

代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令

-

代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令

*/n

代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令

c) 特定时间执行命令

时间

含义

45 22 * * * 命令

在22点45分执行命令

0 17 * * 1 命令

每周1 的17点0分执行命令

0 5 1,15 * * 命令

每月1号和15号的凌晨5点0分执行命令

40 4 * * 1-5 命令

每周一到周五的凌晨4点40分执行命令

*/10 4 * * * 命令

每天的凌晨4点,每隔10分钟执行一次命令

0 0 1,15 * 1 命令

每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。

案例:

*/1 * * * * /bin/echo `date` >> /tmp/test.txt

每分钟执行一次 输出日期到test.txt文件中

RPM

(1) 查询(rpm -qa)

rpm -qa(功能描述:查询所安装的所有rpm软件包,不用加后缀名)

过滤

rpm -qa | grep rpm软件包

[root@hadoop003 Packages]# rpm -qa |grep firefox

firefox-31.1.0-5.el6.centos.x86_64

(2) 卸载(rpm -e)

a)rpm -e RPM软件包

b)rpm -e --nodeps 软件包 (如果要卸载的软件是其他软件的依赖 要加上-nodeps参数

强制卸载)

(3) 安装(rpm -ivh)

rpm -ivh RPM包全名

-i:install,安装

-h:hash,进度条

--nodeps,不检测依赖进度

yum的常用命令

基本语法:

yum install -y rpm软件包 (功能描述:安装httpd并确认安装)

yum list (功能描述:列出所有可用的package和package组)

yum clean all (功能描述:清除所有缓冲数据)

yum deplist rpm软件包 (功能描述:列出一个包所有依赖的包)

yum remove rpm软件包 (功能描述:删除httpd)

出现网络故障重启网络服务

service network restart

service NetworkManager restart

/var/lib/NetworkManager/NetworkManager.state 编辑为true

安装nc命令

yum install -y nc

nc -lk 9999

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页