Linux操作系统笔记

  • Linux
    • 关机命令
    • 目录结构
    • 常用基本命令
      • 目录管理
      • 文件权限属性
      • 文件内存查看
      • Vim编辑器
      • 账号管理
      • 用户组管理
      • 拓展
      • 磁盘管理
      • 进程管理
      • 压缩和解压
      • 时间日期类
      • 搜索查找类
      • 帮助指令
    • crond任务调度
    • at定时任务
    • 环境安装
      • JDK安装
    • 防火墙配置
    • 手动启动MariaDB
    • 项目jar包部署到服务器上
      • 创建数据库
      • 启动项目
      • 关闭项目
  • Shell编程
    • Shell脚本的执行方式
    • Shell的变量
    • 设置环境变量
    • 位置参数变量
    • 预定义变量
    • 运算符
    • 条件判断
    • 流程控制
      • case
      • for循环
      • while循环
      • read读取控制台输入
      • 系统函数
      • 自定义函数

Linux

关机命令

在Linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

关机指令为:shutdown;

sync # 将数据由内存同步到硬盘中shutdown # 后不加参数默认一分钟后关机,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机shutdown -h 10 # 计算机将在10分钟后关机shutdown -h now # 立即关机shutdown -h 20:25 # 系统会在今天20:25关机shutdown -h +10 # 10分钟后关机shutdown -r now # 立即重启shutdown -r +10 # 10分钟后重启reboot # 就是重启,等同于 shutdown -r nowhalt # 关闭系统,等同于 shutdown -h now 和 poweroff

最后总结一下,不管系统重启还是关机,首先需要执行 sync 命令,把内存中的数据写到磁盘中。

目录结构

  • /bin:bin是Binary的缩写,这个目录存放着最经常使用的命令。
  • /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)
  • /dev:dev是Device(设备)的缩写,存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
  • /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。(不要动)
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放突然关机的文件)
  • /media:Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别的设备挂载到这个目录下。
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
  • /opt:这是给主机额外安装软件所摆放的目录。比如你按照一个ORACLE数据库则就可以放在这个目录下。默认是空的。
  • /proc:这个目录是一个虚拟的目录,它是系统的映射,我们可以通过直接访问这个目录来获取系统信息。(不用管)
  • /root:该目录为系统管理员,也称为超级权限者的用户主目录。
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删除或清除。
  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统用管理程序。
  • /srv:该目录存放一些服务启动之后需要提取的数据。
  • /sys:这是Linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs
  • /tmp:这个目录是用来存放一些临时文件的。
  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  • /usr/bin:系统用户使用的应用程序。
  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src:内核源代码默认的放置目录。
  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /www:存放服务器网站相关的资源,环境,网站的项目

常用基本命令

目录管理

cd 地址# 切换目录
./ # 当前目录
cd .. # 返回上一级目录
cd ~ # 回到当前用户目录ls # 列出目录-a # all,查看全部的文件,包括隐藏文件-l # 列出所有的文件,包含文件从属性和权限,没有隐藏文件-al 或 -la # 列出全部的文件,包含文件从属性和权限,包含隐藏文件pwd # 显示当前用户所在的目录mkdir 目录名 # 创建一个目录
mkdir -p test1/test2/test3 # 创建多级目录touch 文件名 # 创建文件rmdir 目录名 # 删除一个目录
rmdir -p test1/test2/test3 # 删除多级目录
rmdir只能删除空的目录,如果下面有文件,需要先删除文件cp 文件 目录 # 将文件拷贝一份放到指定目录中rm 文件或目录 # 删除一个文件或目录-f 文件或目录 # 忽略不存在的文件,不会出现警告,强制删除-r 递归删除目录-i 互动,删除时询问是否删除mv 文件 目录 # 移动文件到指定目录
mv 文件名1 文件名2 # 如果目标目录中已经存在该文件,则为重命名-f 强制-u 只替换已经更新过的文件

文件权限属性


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

  • [ d ] 是目录
  • [ - ] 是文件
  • [ l ] 表示链接文档(link file)
  • [ b ] 表示为装置文件里面的可供存储的接口设备(可随机存取装置)
  • [ c ] 表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

接下来的字符中,以三个为一组,且均为 [rwx] 的三个参数的组合

其中,[r] 代表可读(read)、[w] 代表可写(write)、[x]代表可执行(execute)

要注意的是,这三个权限的位置不会变化,如果没有权限,就会在相应的位置出现[-]

修改文件属性

1. 更改文件属组
chgrp [-R] 属组名 文件名-R # 递归更改文件属组,就是在某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改2. 更改文件属主,也可以同时更改文件属组
chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名3. 更改文件9个属性(必须要掌握)
chmod [-R] xyz 文件或目录
Linux文件属性有两种设置方法,一种是数字,一种是符号
Linux文件的基本权限就有九个,分别是 owner/group/others 三种身份各有自己的 read/write/execute 权限文件的权限字符为:[-rwxrwxrwx],这九个权限是三个三个一组的!其中我们可以使用数字来代表各个权限,各个权限的对照表如下:
r:4 w:2 x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx---]分数则是:owner = rwx = 4 + 2 + 1 = 7group = rwx = 4 + 2 + 1 = 7others = --- = 0 + 0 + 0 = 0chmod 770 filename

文件内存查看

Linux系统中使用以下命令来查看文件的内容:

你可以使用 man [命令] 来查看各个命令的使用文档,如:map cp

cat # 由第一行开始显示文件内容
tac # 从最后一行开始显示,可以看出tac是cat的倒着写的
nl # 显示的时候,顺便输出行号
more # 一页一页的显示内容,空格翻页,enter向下看一行 :f 显示行号
less # 于 more 很相似,但是比more更好,他可以往前翻页
head # 只看头几行,通过-n参数控制显示几行
tail # 只看尾巴几行

硬链接和软连接

ln 原文件 链接文件 # 硬链接
ln -s 原文件 链接文件 # 软链接

Vim编辑器

vim 文件名 # 如果该文件存在,则为编辑当前文件,如果不存在,则创建文件

Linux的文本编辑器

  • 正常模式
    在正常模式下,我们可以使用快捷键。
    以 vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用「删除字符』或『删除整行』来处理档案内容,也可以使用『复制、贴上』来处理你的文件数据。
  • 编辑模式
    在模式下,程序员可以输入内容。
    按下 i, I, o,O, a,A, r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可
  • 命令行模式
    在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!

账号管理

添加用户
useradd -选项 用户名-m 自动创建这个用户的主目录-d 指定生成的目录-G 给用户分配一个组删除用户
userdel -选项 用户名-r 删除用户时将他的目录页一并删除修改用户
usermod 对应修改的内容 修改的那个用户切换用户
su 用户名
su - 用户名 # 使得shell为可登录的shell登出,退出当前登录
exit 或 logout

修改密码
root用户操作:
passwd 用户名
普通用户修改自己的密码:
passwdroot权限时可操作:
锁定账户
passwd -l 用户名 # 锁定之后这个用户就不能登录了
passwd -d 用户名 # 没有密码也不能登录,-d就是删除这个用户的密码
passwd -u 用户名 # 解锁用户账号

用户组管理

属主、属组

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理(开发、测试、运维、root)。不同Linux系统对用户的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新

创建用户组
groupadd 用户组名 # 创建完用户组后可以得到一个组的id,这个id是可以指定的!-g 520,若不指定就是自增1删除用户组
groupdel 用户组名修改用户组的权限信息和名字
groupmod -选项 用户组名-g 修改组的id-n 修改名字

拓展

/etc/passwd

用户名:口令(登录密码,我们不可见):用户标识号:组标识号:注释性描述:主目录:登录Shell

磁盘管理

df  # 列出文件系统整体的磁盘使用量
df -hdu  # 检查磁盘空间使用量
du -a
du -sm /*

进程管理

ps # 查看当前系统中正在执行的各种进程的信息!
ps -xx:-a 显示当前终端运行的所有进程信息-u 以用户的信息显示进程-x 显示后台运行进程的参数ps -aux|grep mysql# | 在linux中这个符号叫做管道符
# grep 查找文件中符合条件的字符串
ps -ef #
ps -ef|grep mysql-e:等价于 ‘-A’ ,表示列出全部的进程-f:显示全部的列(显示全字段)pstree -pu # 进程数-p 显示父id-u 显示用户组kill -9 进程id # 强制杀掉进程

压缩和解压

# zip/unzip指令
# zip用于压缩文件,unzip用于解压的zip -选项 定义压缩包名 压缩的文件或目录-r 递归压缩,即压缩目录
unzip -选项<目录> 压缩包-d<目录> 指定解压后的存放目录
# tar指令
# tar指令是打包的指令,最后打包后的文件是.tar.gz的文件tar -选项 XXX.tar.gz 打包的内容 # 打包目录,压缩后的文件格式.tar.gz-c 产生.tar打包文件-v 显示详细信息-f 指定压缩后的文件名-z 打包同时压缩-x 解包.tar文件压缩:tar -zcvf XXX.tar.gz 打包的内容(如果是多个,用空格隔开)
解压:tar -zxvf XXX.tar.gz

时间日期类

date # 显示当前时间
date +%Y # 显示当前年份
date +%m 显示当前月份
date +%d 显示当前是哪一天
date "+%Y-%m-%d %H:%M:%S" # 显示年月日时分秒cal # 本月日历

搜索查找类

# find指令
# find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端
find 搜索范围 选项-name<查询方式> 按照指定的文件名查找模式查找文件-user<用户名> 查找属于指定用户名的所有文件-size<文件大小> 按照指定的文件大小查找文件(+200M:大于200M的文件 -200M:小于 200M:等于,单位:K,M,G)
# locate指令
# locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻# 由于locate指令基于数据库查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
locate poxiao
# 查找指令所在目录
which 指令
# grep指令和管道符|
# grep过滤查找,管道符,'”,表示将前一个命令的处理结果输出传递给后面的命令处理。
grep -选项 查找内容 源文件-n 显示匹配行及行号-i 忽略字母大小写

帮助指令

# man获得帮助信息
man 命令或配置文件# help指令
help 命令

crond任务调度

crontab进行定时任务的设置

  • 概述
    任务调度:是指定系统在某个特定的时间执行特定的命令或程序
    任务调度分类:
    系统工作:有些重要的工作必须周而复始的执行,如病毒扫描 个别用户工作:个别用户可能希望执行某些程序,比如MySQL数据库备份
ceontab -选项-e 编辑crontab定时任务-l 查询crontab任务-r 删除当前用户的crontab任务



案例:每天凌晨2:00将mysql数据库itcast,备份到文件中。提示:指令为:

0 2 * * * mysqldump -uroot -p123456 数据库 >> /home/db.bak

at定时任务

  1. at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行。
  2. 默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。
  3. at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了
  4. 在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看
未完!!!!!

环境安装

安装软件一般有三种方式:rpm、解压缩、yum在线安装

JDK安装

rpm方式

  1. 下载JDK rpm包,去官网下载即可
  2. 安装java环境
java -version# 检查当前系统是否存在java环境
# 如果有需要卸载
# rpm -qa|grep jdk #检测jdk版本信息
# rpm -e --nodeps jdk# 卸载完成后可安装jdk
# rpm -ivh rpm包名# 配置环境变量
  1. 运行Tomcat,进入bin目录,和我们以前在Windows下看的都是一样的
# 解压
tar -zxvf 压缩包名# 执行:startup.sh -->启动tomcat
# 执行:shutdown.sh -->关闭tomcat
./startup.sh
./shutdown.sh

防火墙配置

确保Linux的防火墙端口是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的!

# 查看firewall服务状态
systemctl status firewalld# 开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop# 查看防火墙规则
firewall-cmd --list-all    # 查看全部信息
firewall-cmd --list-ports  # 只看端口信息# 开启端口
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service命令含义:
--zone #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent   #永久生效,没有此参数重启后失效

手动启动MariaDB

1、输入reboot 命令重启服务器
2、重启完成,登录服务器,输入netstat -nlp 命令检查 3306端口,发现 mysqld 服务没有启动
3、了解到mysqld 无法自动启动,尝试手动启动,启动命令 :systemctl start mariadb
4、启动完成后(等候时间 大约 3、4 秒 ),输入netstat -nlp 命令查看端口 3306 是否存在

项目jar包部署到服务器上

创建数据库

liunx 版本ubuntu 16.4
mysql 版本 5.6

1)准备*.sql文件 (* 是准备导入的sql文件的名字)

2)liunx 远程客户端 SecureCRT 7.0

alt+p 打开文件上传窗口 通过复制或者直接拖拽 将准备好的*.sql 文件上传到liunx服务器上

3)登陆liunx 服务器 输入mysql -u用户名 -p密码 (mysql 的用户名 密码)进入mysql数据库

4)show databases 查看当前mysql数据库管理工具中有哪些数据库

5)如果存在已有的 删除操作 drop database 数据库名称

6)创建数据库 create database 数据库名称 charset utf8 (指定字符集编码)

7)查看以上传的*.sql文件 一般都在/root/*.sql文件

8)use 数据库名称 切换到创建好要导入的数据中

9)执行导入 source /root/.sql 是导入在linux 上.sql文件的位置 source 导入命令

启动项目

启动jar包的命令为:
nohup java -jar xxxxxx.jar &

nohup:把输出内容放入到nohup的日志中并生成日志文件

java -jar:启动java的jar包命令

cc-java-export:此处放入你自己的jar包名称

&:关闭linux连接时 服务不会挂断

关闭项目

查看当前应用所占用端口:

netstat -nlp|grep 9090 //9090是系统启动访问的端口, 由此可得到9090 是java运行的端口,

关闭系统:
kill 9578 //9578是上面查询出来的进程id

Shell编程

Shell脚本的执行方式

脚本格式要求

  1. 脚本以#!/bin/bash开头
  2. 脚本需要有可执行权限

编写一个Shell脚本

  1. 创建一个Shell脚本,输出hello world!

脚本的常用执行方式

  1. 方式1:(输入脚本的绝对路径或相对路径)

    说明:首先要赋予helloworld.sh脚本的执行权限,再执行脚本

  2. 方式2:(sh + 脚本)

    说明:不用赋予脚本执行权限,直接执行即可

Shell的变量

Shell变量介绍

  1. Linux Shell中的变量分为,系统变量和用户自定义变量
  2. 系统变量:$HOM$PWD$SHELL$USER,比如:echo $HOME 等等…
  3. 显示当前shell中所有变量:set

Shell变量的定义

  1. 定义变量:变量=值
  2. 撤销变量:unset 变量
  3. 声明静态变量:readonly变量,注意不能unset

变量定义规则

  1. 变量名称可以由字母、数字和下划线组成,但不能以数字开头
  2. 等号两侧不能有空格
  3. 变量名称一般习惯为大写

将命令的返回值赋给变量

A=`date`,反引号,运行里面的命令,并把结果返回给变量A
A=$(date),等价于反引号

设置环境变量

基本语法

  1. export 变量名=变量值(功能描述:将Shell变量输出为环境变量/全局变量)
  2. source 配置文件(功能描述:让修改后的配置文件立即生效)
  3. echo $变量(功能描述:查询环境变量的值)

shell脚本的多行注释

:<<!
内容...
内容...
内容...
内容...
!

位置参数变量

介绍

  1. 当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量
    比如:sh var.sh 100 200,这个就是一个执行shell的命令行,可以在myshell脚本中获取到参数信息

基本语法

$n(功能描述:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10})
$*(功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
$@(功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
$#(功能描述:这个变量代表命令行中所有参数的个数)

预定义变量

基本介绍

就是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用

基本语法

$$(功能描述:当前进程的进程号(PID))
$!(功能描述:后台运行的最后一个进程的进程号(PID))
$?(功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)

运算符


注意:使用expr方式时才需要转义:\*

条件判断

需要加 if
支持else


案例:


流程控制

case


for循环


while循环


read读取控制台输入


系统函数


自定义函数


Linux操作系统笔记(基本命令+环境安装项目部署+Shell编程)相关推荐

  1. [linux学习笔记] GCC环境安装问题

    在运行Ritter提供的TwitterNLP时,需要运行其中的build.sh, 其中包含一段代码:./configure --prefix=`pwd`/../ && make &am ...

  2. linux学 java_[操作系统]Linux学习第二步(Java环境安装)

    [操作系统]Linux学习第二步(Java环境安装) 0 2017-05-19 00:02:21 jdk版本:jdk-8u131-linux-x64.rpm 注:以下操作在root用户或具有root权 ...

  3. Linux操作系统下软件的安装与卸载

    在Windows下安装软件时,只需运行软件的安装程序(setup.install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall.unware."卸载" ...

  4. Linux操作系统应用实例_Discuz安装

    Linux操作系统应用实例--Discuz安装配置 第一部分:总体设计与计划制定 通过在Linux操作系统上完整部署Discuz社区论坛软件系统,熟练掌握Linux操作系统的基本原理,掌握Linux操 ...

  5. 深度linux系统运行软件,Linux Deepin 2014 alpha下载(深度linux操作系统)V14.6.16 安装版...

    Linux Deepin 2014 alpha下载(深度linux操作系统)V14.6.16 安装版 Deepin 2014 Alpha –准备进入全新的深度世界 注意: 1:Alpha版本仍然是初期 ...

  6. OrangeS操作系统笔记1_环境的配置与第一个系统

    OrangeS操作系统笔记1_环境的配置与第一个系统 前言 开始学习Orange's:一个操作系统的实现,记录并总结一下学习中遇到的一些问题,由于我汇编基础几乎为0,对计算机也不是很了解,所以写的这些 ...

  7. Linux综合实训案例教程,Linux操作系统教程-实训与项目案例原稿.ppt

    Linux操作系统教程-实训与项目案例原稿分析 第11章 Bash 使用详解 本章内容 Shell概念 Linux下用户Shell的指定 Bash的使用 Bash的常见技巧与快捷键 Bash的变里使用 ...

  8. php larval框架运行环境,4种Windows系统下Laravel框架的开发环境安装及部署方法详解...

    1.准备工作 1.1PHP集成环境 这里我们使用的是XAMPP,XAMPP是一个功能强大的建站集成软件包,采用一键安装的方式,包含PHP7.0.Mysql.Tomcat等.最新版下载地址:PHP 5. ...

  9. Linux操作系统中Anaconda的安装

    Linux操作系统中anaconda的安装 Anaconda由数据科学家为数据科学家建造,超过2000万人使用我们的技术来解决最棘手的问题. Anaconda其实就是一个开源的Python发行版本,其 ...

  10. Linux操作系统笔记(超详细)

    [历史文章] Ubuntu在进行更新系统时出现Hash校验和不符的问题 Linux常用的命令总结(一)--ls命令与cd命令 Linux命令(二)mkdir命令与rmdir命令 Linux命令(三)t ...

最新文章

  1. python 深度 视差 计算_开源双目视觉BM算法-Matlab/Python/Javascript
  2. java dateformat类_JAVA--常量池,Date类,SimpleDateFormat类与Calendar类
  3. 【Python】调用百度云API人脸检测 Face Detect
  4. java表格树_Java程序员值得拥有的TreeMap指南
  5. android listview添加数据_Android面经分享,失业两个月,五一节前拿到offer
  6. js给标签添加属性和值_jquery节点属性
  7. 云存储是否能拯救数据泛滥
  8. d2550性能 服务器,长得像I3的ATOM终于诞生了,D2550 ITX小板性能实测
  9. CTF中各种好用的软件以及解密网址合集
  10. 单招软件职业技能测试,招生信息网-2019年单独招生《职业技能测试》考试大纲...
  11. 人、机客户服务质量 - 实时透视分析
  12. 蓝牙耳机买什么品牌好一些?2022蓝牙耳机品牌排行榜10强
  13. 【原创】php ssh2 远程秘钥登录华三防火墙F5030
  14. pyScripter2.7 运行时提示远程解释器再初始化了
  15. C. The Intriguing Obsession
  16. 一个利用拼音与汉字混合过滤字符串的函数
  17. 地平线开发者社区真心话大冒险,邀你闯关!
  18. Android Weekly #35 知识工作者就是管理者——虽未管人,但在管事
  19. 电脑小技巧:怎么查看电脑网络密码
  20. vim !!_让我们学习Vim! 第2部分

热门文章

  1. GHOST系统封装详细图文教程完整版(二)
  2. 在线富文本编辑器-基于Web的HTML编辑器大全(二)
  3. 关于使用canvas时fillRect添加矩形高度问题
  4. 马士兵的经典名言!!!
  5. 小屏幕android手机,小尺寸、小屏幕的安卓手机有哪些
  6. LR-Web服务器和应用程序服务器区别(性能指标)
  7. PHP内裤,用sqlmap来扒下她的内裤吧~
  8. 学习笔记(109):R语言入门基础-text函数
  9. GB/T28181之国标编码一览表,需要自取
  10. Raspberry3B+搭建有线路由器-实现网口转发