王朝网络
分享
 
 
 

Linux基本命令

王朝学院·作者佚名  2016-08-27  
宽屏版  字体: |||超大  

linux介绍

内核

库: .so 共享对象,windows:dll 动态链接库

应用程序

Linux的基本原则:

1、由目的单一的小程序组成;组合小程序完成复杂任务;

2、一切皆文件;

3、尽量避免捕获用户接口;

4、配置文件保存为纯文本格式;

用户接口:所有用户接口都是一个shell。

GUI 接口(桌面图形化用户接口):

CLI接口(命令用户接口):

命令提示符,PRompt, bash(shell)

#: root

$: 普通用户

命令:就是应用程序的执行入口,一个应用程序可能会有多个入口。

命令格式:命令 选项 参数

选项:

短选项: -

多个选项可以组合:-a -b = -ab

长选项: --

参数:命令的作用对象

虚拟终端(terminal):Ctrl+Alt+F1-F6

Shell:

GUI: Graphic User Interface

Windows(explorer.exe就是Windows的桌面程序)

X-Window

Gnome

KDE:linux的图形化桌面接口

Xface

CLI: Command Line Interface

sh

bash

csh

ksh

zsh

tcsh

prompt,命令提示符:

命令:

magic number: 魔数

shebang

#!/bin/bash

# command options... arguments...

选项:

短选项 -

长选项 --

参数:

list: ls

列出,列表

目录:文件,路径映射

路径:从指定起始点到目的地所经过位置

文件系统:file system

列出指定路径下的文件

目录:working directory, current directory

pwd: Printing Working directory

ls

-l:长格式

文件类型:

-:普通文件 (f)

d: 目录文件

b: 块设备文件 (block)

c: 字符设备文件 (character)

l: 符号链接文件(symbolic link file)

p: 命令管道文件(pipe)

s: 套接字文件(socket)

文件权限:9位,每3位一组,3组 权限(U,G,O)每一组:rwx(读,写,执行), r-- ,第一组:文件的属主用户权限。第二组:文件的属组用户权限,第三组:其他用户权限

文件硬链接的次数

文件的属主(owner)

文件的属组(group)

文件大小(size),单位是字节

时间戳(timestamp):最近一次被修改的时间

访问:access

修改:modify,文件内容发生了改变

改变:change,metadata,元数据

-h:做单位转换

-a: 显示以.开头的隐藏文件

. 表示当前目录

.. 表示父目录

-A

-d: 显示目录自身属性

-i: index node, inode

-r: 逆序显示

-R: 递归(recursive)显示

cd: change directory

家目录,主目录, home directory

cd ~USERNAME: 进入指定用户的家目录

cd -:在当前目录和前一次所在的目录之间来回切换

命令类型:

内置命令(shell内置),内部,内建

外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件

type: 显示指定属于哪种类型

date:时间管理

Linux: rtc

硬件时钟

系统时钟

获得命令的使用帮助:

内部命令:

help COMMAND 比如:help cd

外部命令:

COMMAND --help 比如:date --help

命令手册:manual

man COMMAND

whatis COMMAND

分章节:

1:用户命令(/bin, /usr/bin, /usr/local/bin)

2:系统调用

3:库用户

4:特殊文件(设备文件)

5:文件格式(配置文件的语法)

6:游戏

7:杂项(Miscellaneous)

8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin)

MAN:

NAME:命令名称及功能简要说明

SYNOPSIS:用法说明,包括可用的选项

DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义

OPTIONS:说明每一个选项的意义

FILES:此命令相关的配置文件

BUGS:

EXAMPLES:使用示例

SEE ALSO:另外参照

翻屏:

向后翻一屏:SPACE

向前翻一屏:b

向后翻一行:ENTER

向前翻一行:k

查找:

/KEYWord: 向后

n: 下一个

N:前一个

q: 退出

练习:

使用date单独获取系统当前的年份、月份、日、小时、分钟、秒

hwclock

-w:

-s:

练习:

1、echo是内部命令还是外部命令?

2、其作用?

3、如何显示 echo “The year is 2013." echo "Today is 26.”为两行?

请设置系统时间和硬件时间保持一致。

cp

mv

文件系统:

rootfs: 根文件系统 /

FHS:Linux

/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)

/dev: 设备文件

设备文件:

块设备:随机访问,数据块

字符设备:线性访问,按字符为单位

设备号:主设备号(major)和次设备号(minor)

/etc:配置文件

/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME

/root:管理员的家目录;

/lib:库文件

静态库, .a

动态库, .dll, .so (shared object)

/lib/modules:内核模块文件

/lib64

/media:挂载点目录,移动设备

/mnt:挂载点目录,额外的临时文件系统

/opt:可选目录,第三方程序的安装目录

/proc:伪文件系统,内核映射文件

/sys:伪文件系统,跟硬件设备相关的属性映射文件

/tmp:临时文件, /var/tmp

/var:可变化的文件

/bin: 可执行文件, 用户命令

/sbin:管理命令

绝对路径:以跟目录为起点到目标的路径。

相对路径:以当前目录为起点到目标的路径

mkdir:创建空目录

-p:

-v: verbose

/root/x/y/z

/mnt/test/x/m,y

mkdir -pv /mnt/test/x/m /mnt/test/y

mkdir -pv /mnt/test/{x/m,y}

# tree:查看目录树

删除目录:rmdir (remove directory)

删除空目录

-p

文件创建和删除

# touch

-a

-m

-t

-c

# stat 查看文件信息

创建文件,可以使用文件编辑器

nano

vi(另外一个文件)

删除文件:rm

-i 删除之前确认

-f 删除之前不确认

-r 递归删除

rm -rf / linux 自杀

cp: copy

cp SRC DEST

-r

-i 存在覆盖前确认

-f

-p

-a:归档复制,常用于备份

cp file1 file2 file3

一个文件到一个文件

多个文件到一个目录

cp /etc/{passwd,inittab,rc.d/rc.sysinit} /tmp/

mv: move

移动文件

mv SRC DEST

mv -t DEST SRC

目录管理:

ls、cd、pwd、mkdir、rmdir、tree

文件管理:

touch、stat、file、rm、cp、mv、nano,vi,vim

日期时间:

date、clock、hwclock、cal ,ntpdate

查看文本:cat、tac、more、less、head、tail

cat:顺序显示文件信息,从第一行到最后一行;

tac:倒叙显示文件信息,从最后一行到第一行;

more:分屏显示文件,按空格向后翻屏;

less:分屏显示文件,按空格向后翻屏,按回车向后翻一行;

head:显示文件的前10行;

head -#:显示文件的前#行;

tail:显示文件的最后10行;

tail -#:显示文件的最后#行;

head 文件名 | tail -m:“|”表示通道,显示文件前10行中的最后m行;

head -n 文件名 | tail -m:显示文件前n行中的最后m行;

tail -f: 查看文件尾部,不退出,等待显示后续追加至此文件的新内容,按ctrl+c退出;

文本处理:cut、sort,join、sed、awk

cut:文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不

指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

主要参数:

-b(byte):以字节为单位进行分割,一个空格算一个字节,一个汉字算三个字节;

-c(char):以字符为单位进行分割,中文字符和空格都算一个字符;

-d:自定义分割符,默认为制表符,要与-f一起使用,当以一个空格为分割符的时

候,要用双引号或单引号将空格括起来;

-f(field):与-d一起使用,制定显示哪个区域;

-n:取消分割多字节字符。仅和-b标志一起使用。如果字符的最后一个字节落在由

-b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字

符将被排除。

命令用法:

cut -b list [-n] [file ...]

cut -c list [file ...]

cut -f list [-d delim][-s][file ...]

list表示-b、-c、-f操作范围,-n常常表示具体数字;

file表示的自然是要操作的文本文件的名称;

file表示的自然是要操作的文本文件的名称;

-s表示不包括那些不含分隔符的行(这样有利于去掉注释和标题);

上面三种方式中,表示从指定的范围中提取字节(-b)、或字符(-c)、或字

段(-f)。

例:

1、[root@localhost ~]#date |cut -b 1-4:按字节分割当前日期,取当前日期

的前4个字节;

2、[root@localhost ~]#echo "2,1,3,2,5" | cut -d, -f1:按“,”分割"2,1,3,2,5"

字符串,取第一个域中的字符串;

输出结果:2

3、[root@localhost ~]#echo "2,1,3,2,5" | cut -d, -f1-:按“,”分割字符串,

取从第1个域到结尾,结果的域之间会用“,”隔开;

输出结果:2,1,3,2,5

4、[root@localhost ~]#echo "2,1,3,2,5" | cut -d, -f1-3:按“,”分割字符串,

取从第1个域到第3个域,结果的域之间会用“,”隔开;

输出结果:2,1,3

5、[root@localhost ~]#echo "2,1,3,2,5" | cut -d, -f1-3,5:按“,”分割字符,

取从第1个域到第3个域和第5个域,结果的域之间会用“,”隔开;

输出结果:2,1,3,5

6、[root@localhost ~]#echo "2,1,3,2,5" | cut -d, -f-3:按“,”分割字符,取

第1个到第3个域,结果的域之间会用“,”隔开;

输出结果:2,1,3

7、[root@localhost ~]#echo "2,1,3,2,5" | cut -d, -f5,1-2:按“,”分割字

符,取从第1个域到第2个域和第5个域,结果的域之间会用“,”隔开。cut会先

把-b后面所有的定位进行从小到大排序,然后再提取;输出结果:2,1,3,5

8、[root@localhost ~]#echo "2,1,3,2,5" | cut -d, -f-2,4-:按“,”分割字符,

取第1个域到第2个域和第4个域到最后一个域,结果的域间用“,”隔开。

输出结果:2,1,2,5

cut有哪些缺陷和不足:如果文件里面的某些域是由若干个空格来间隔的,那么用

cut就有点麻烦了,因为cut只擅长处理“以一个字符间”的

文本内容。

文本排序:sort

-n:数值排序

-r: 降序

-t: 字段分隔符

-k: 以哪个字段为关键字进行排序

-u: 排序后相同的行只显示一次

-f: 排序时忽略字符大小写

文本统计:wc (word count)

-l:

-w:

-c:

-L:

sed基本用法:

sed: Stream EDitor

行编辑器 (全屏编辑器: vi)

sed: 模式空间

默认不编辑原文件,仅对模式空间中的数据做处理;而后,处理结束后,将模式空间打印至屏幕;

sed [options] 'AddressCommand' file ...

-n: 静默模式,不再默认显示模式空间中的内容

-i: 直接修改原文件

-e SCRIPT -e SCRIPT:可以同时执行多个脚本

-f /PATH/TO/SED_SCRIPT

sed -f /path/to/scripts file

-r: 表示使用扩展正则表达式

Command:

d: 删除符合条件的行;

p: 显示符合条件的行;

a \string: 在指定的行后面追加新行,内容为string

\n:可以用于换行

i \string: 在指定的行前面添加新行,内容为string

r FILE: 将指定的文件的内容添加至符合条件的行处

w FILE: 将地址指定的范围内的行另存至指定的文件中;

s/pattern/string/修饰符: 查找并替换,默认只替换每行中第一次被模式匹配到的字符串

加修饰符

g: 全局替换

i: 忽略字符大小写

s///: s###, s@@@

\(\), \1, \2

l..e: like-->liker

love-->lover

like-->Like

love-->Love

&: 引用模式匹配整个串

sed练习:

1、删除/etc/grub.conf文件中行首的空白符;

sed -r 's@^[[:space:]]+@@g' /etc/grub.conf

2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5;

sed 's@\(id:\)[0-9]\(:initdefault:\)@\15\2@g' /etc/inittab

3、删除/etc/inittab文件中的空白行;

sed '/^$/d' /etc/inittab

awk:

awk是一个强大的文本分析工具,

相对于grep的查找,sed的编辑,

awk在其对数据分析并生成报告时,显得尤为强大。

简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

awk '{pattern + action}' {commands}

其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。

花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。

pattern就是要表示的正则表达式,用斜杠括起来。

案例:

显示最近登录的5个帐号

#last -n 5 | awk '{print $1}'

读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域

$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",

所以$1表示登录用户,$3表示登录用户ip,以此类推。

如果只是显示/etc/passwd的账户

#cat /etc/passwd |awk -F ':' '{print $1}'

root

daemon

bin

sys

这种是awk+action的示例,每行都会执行action{print $1}。

-F指定域分隔符为':'。

如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割

#cat /etc/passwd |awk -F ':' '{print $1"\t"$7}'

root /bin/bash

daemon /bin/sh

bin /bin/sh

sys /bin/sh

如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。

复制代码

cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}'

name,shell

root,/bin/bash

daemon,/bin/sh

bin,/bin/sh

sys,/bin/sh

....

blue,/bin/nosh

awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作。

搜索/etc/passwd有root关键字的所有行

#awk -F: '/root/' /etc/passwd

root:x:0:0:root:/root:/bin/bash

这种是pattern的使用示例,匹配了pattern(这里是root)的行才会执行action(没有指定action,默认输出每行的内容)。

搜索支持正则,例如找root开头的: awk -F: '/^root/' /etc/passwd

搜索/etc/passwd有root关键字的所有行,并显示对应的shell

# awk -F: '/root/{print $7}' /etc/passwd

/bin/bash

这里指定了action{print $7}

awk内置变量

awk有许多内置变量用来设置环境信息,这些变量可以被改变,下面给出了最常用的一些变量。

ARGC 命令行参数个数

ARGV 命令行参数排列

ENVIRON 支持队列中系统环境变量的使用

FILENAME awk浏览的文件名

FNR 浏览文件的记录数

FS 设置输入域分隔符,等价于命令行 -F选项

NF 浏览记录的域的个数

NR 已读的记录数

OFS 输出域分隔符

ORS 输出记录分隔符

RS 控制记录分隔符

$0变量是指整条记录。$1表示当前行的第一个域,$2表示当前行的第二个域,......以此类推。

统计/etc/passwd:文件名,每行的行号,每行的列数,对应的完整行内容:

#awk -F ':' '{print "filename:" FILENAME ",linenumber:" NR ",columns:" NF ",linecontent:"$0}' /etc/passwd

filename:/etc/passwd,linenumber:1,columns:7,linecontent:root:x:0:0:root:/root:/bin/bash

filename:/etc/passwd,linenumber:2,columns:7,linecontent:daemon:x:1:1:daemon:/usr/sbin:/bin/sh

filename:/etc/passwd,linenumber:3,columns:7,linecontent:bin:x:2:2:bin:/bin:/bin/sh

filename:/etc/passwd,linenumber:4,columns:7,linecontent:sys:x:3:3:sys:/dev:/bin/sh

使用printf替代print,可以让代码更加简洁,易读

awk -F ':' '{printf("filename:%s,linenumber:%s,columns:%s,linecontent:%s\n",FILENAME,NR,NF,$0)}' /etc/passwd

print和printf

awk中同时提供了print和printf两种打印输出的函数。

其中print函数的参数可以是变量、数值或者字符串。字符串必须用双引号引用,参数用逗号分隔。如果没有逗号,参数就串联在一起而无法区分。这里,逗号的作用与输出文件的分隔符的作用是一样的,只是后者是空格而已。

printf函数,其用法和c语言中printf基本相似,可以格式化字符串,输出复杂时,printf更加好用,代码更易懂。

awk编程

变量和赋值

除了awk的内置变量,awk还可以自定义变量。

下面统计/etc/passwd的账户人数

awk '{count++;print $0;} END{print "user count is ", count}' /etc/passwd

root:x:0:0:root:/root:/bin/bash

......

user count is 40

count是自定义变量。之前的action{}里都是只有一个print,其实print只是一个语句,而action{}可以有多个语句,以;号隔开。

这里没有初始化count,虽然默认是0,但是妥当的做法还是初始化为0:

awk 'BEGIN {count=0;print "[start]user count is ", count} {count=count+1;print $0;} END{print "[end]user count is ", count}' /etc/passwd

[start]user count is 0

root:x:0:0:root:/root:/bin/bash

...

[end]user count is 40

统计某个文件夹下的文件占用的字节数

ls -l |awk 'BEGIN {size=0;} {size=size+$5;} END{print "[end]size is ", size}'

[end]size is 8657198

如果以M为单位显示:

ls -l |awk 'BEGIN {size=0;} {size=size+$5;} END{print "[end]size is ", size/1024/1024,"M"}'

[end]size is 8.25889 M

注意,统计不包括文件夹的子目录。

条件语句

awk中的条件语句是从C语言中借鉴来的,见如下声明方式:

复制代码

if (expression) {

statement;

statement;

... ...

}

if (expression) {

statement;

} else {

statement2;

}

if (expression) {

statement1;

} else if (expression1) {

statement2;

} else {

statement3;

}

统计某个文件夹下的文件占用的字节数,过滤4096大小的文件(一般都是文件夹):

ls -l |awk 'BEGIN {size=0;print "[start]size is ", size} {if($5!=4096){size=size+$5;}} END{print "[end]size is ", size/1024/1024,"M"}'

[end]size is 8.22339 M

循环语句

awk中的循环语句同样借鉴于C语言,支持while、do/while、for、break、continue,这些关键字的语义和C语言中的语义完全相同。

数组

因为awk中数组的下标可以是数字和字母,数组的下标通常被称为关键字(key)。值和关键字都存储在内部的一张针对key/value应用hash的表格里。由于hash不是顺序存储,因此在显示数组内容时会发现,它们并不是按照你预料的顺序显示出来的。数组和变量一样,都是在使用时自动创建的,awk也同样会自动判断其存储的是数字还是字符串。一般而言,awk中的数组用来从记录中收集信息,可以用于计算总和、统计单词以及跟踪模板被匹配的次数等等。

显示/etc/passwd的账户

awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' /etc/passwd

0 root

1 daemon

2 bin

3 sys

4 sync

5 games

......

这里使用for循环遍历数组

linux 引号

1、反引号:`` ,命令替换

2、单引号:'' ,字符串

3、双引号: "" ,变量替换

管道:前一个命令的输出,作为后一个命令的输入

命令1 | 命令2 | 命令3 | ...

练习:

1、统计/usr/bin/目录下的文件个数;

# ls /usr/bin | wc -l

判断 /home/goldin目录是否有文件

2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示;

# cut -d: -f7 /etc/passwd | sort -u

4、取出/etc/inittab文件的第6行;

# head -6 /etc/inittab | tail -1

5、取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中;

# tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/users

6、显示/etc目录下所有以pa开头的文件,并统计其个数;

# ls -d /etc/pa* | wc -l

用户管理:

useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage

组管理:

groupadd, groupdel, groupmod, gpasswd

权限管理:

chown, chgrp, chmod, umask

/etc/passwd:

用户名:密码:UID:GID:注释:家目录:默认SHELL

/etc/group:

组名:密码:GID:以此组为其附加组的用户列表

/etc/shadow:

用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间:

用户管理:

useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage

useradd [options] USERNAME

-u UID

-g GID(基本组)

-G GID,... (附加组)

-c "COMMENT"

-d /path/to/directory

-s SHELL

-m -k

-M

-r: 添加系统用户

userdel:

userdel [option] USERNAME

-r: 同时删除用户的家目录

id:查看用户的帐号属性信息

-u

-g

-G

-n

finger: 查看用户帐号信息

finger USERNAME

修改用户帐号属性:

usermod

-u UID

-g GID

-a -G GID:不使用-a选项,会覆盖此前的附加组;

-c

-d -m:

-s

-l

-L:锁定帐号

-U:解锁帐号

chsh: 修改用户的默认shell

chfn:修改注释信息

密码管理:

passwd [USERNAME]

--stdin

-l

-u

-d: 删除用户密码

pwck:检查用户帐号完整性

组管理:

创建组:groupadd

groupadd

-g GID

-r:添加为系统组

groupmod

-g GID

-n GRPNAME

groupdel

gpasswd:为组设定密码

newgrp GRPNAME <--> exit

chage

-d: 最近一次的修改时间

-E: 过期时间

-I:非活动时间

-m: 最短使用期限

-M: 最长使用期限

-W: 警告时间

权限管理:

r:

w:

x:

111 101 101

三类用户:

u: 属主

g: 属组

o: 其它用户

chown: 改变文件属主(只有管理员可以使用此命令)

# chown USERNAME file,...

-R: 修改目录及其内部文件的属主

--reference=/path/to/somefile file,...

chown USERNAME:GRPNAME file,...

chown USERNAME.GRPNAME file,...

# chgrp GRPNAME file,...

-R

--reference=/path/to/somefile file,...

chmod: 修改文件的权限

修改三类用户的权限:

chmod MODE file,...

-R

--reference=/path/to/somefile file,...

rwxr-x---

ps -aux

netstat -ntpl

grep

find

yum install lrzsz 上传文件rz

-linux 安全性

登陆

等日志查看

限制某些IP才能ssh登陆

...

密码一个月换一次

设置密码:特殊符号,大写,小写,1223455,最少8位

防火墙

规则

添加规则

配置文件

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有