1.Vim

1.1简介

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,vim通过一些插件可以实现和IDE一样的功能 。

Vim:查看内容、编辑内容、保存内容!

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方;所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。vim 则可以说是一个程序开发工具而不是文字处理软件。

三种使用模式

基本上 vi/vim 共分为三种模式:

  • 命令模式(Command mode)
  • 输入模式(Insert mode)
  • 底线命令模式(Last line mode)
  • 整个流程:

1.2三种模式的作用

命令模式:用户刚刚启动 vi/vim,便进入了命令模式。

i #切换到输入模式,以输入字符
: #切换到底线命令模式,以在最底一行输入命令,如果此时是输入模式,先退到命令模式再:
x #删除当前光标所在处的字符
数字+空格 #例如20按下数字后再按空格键,光标会向右移动这一行的 n 个字符
数字+Enter #光标向下移动 n 行
/字符串 #例如/word,光标之下寻找一个名称为word 的字符串
dd #删除游标所在的那一整行
u #复原前一个动作

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

分析:

注意:如果这个moli.txt存在那就是修改这个文件,不存在就是新建文件。如果以后要修改某个文件,结果一进去下面显示是新文件,那么路径一定弄错了。

输入模式:在命令模式下按下 i 就进入了输入模式,按ESC回到命令模式。

HOME/END #移动光标到行首/行尾
Insert #切换光标为输入/替换模式,光标将变成竖线/下划线

底线命令模式:在命令模式下按下   :(英文冒号) 就进入了底线命令模式,按ESC回到命令模式。

q #退出程序
w #保存文件
wq #保存并退出
set nu #显示行号

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

输入wq,返回正常页面:

1.3Vim按键说明

命令模式

光标移动、复制粘贴、搜索替换等。

输入模式

底行命令模式

2.账号管理

因为我们在公司中一般用的不是root用户。

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户账号的管理:

  • 用户账号的添加、删除与修改

  • 用户口令的管理

  • 用户组的管理

  • 用户账号的管理

用户增删改

添加账号 useradd

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。

useradd -选项 用户名
-m #自动创建这个用户的主目录/home/moli
-c comment #指定一段注释性描述
-d 目录 #指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
-g 用户组 #指定用户所属的用户组
-G 用户组,用户组 #指定用户所属的附加组
-s Shell文件 #指定用户的登录Shell
-u 用户号 #指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号

本质:Linux一切皆文件,这里的添加用户实际上就是往某一个文件(/etc/passwd)中写入用户的信息。

拓展:

  • /etc/passwd参数解释-----用户名:口令(登录密码不可见,所以为X):用户标识号:组标识号:注释性描述:主目录:登录Shell。

  • 这个文件夹中每一行都代表这一个用户,我们可以从这里看出这个用户的主目录在哪里,可以看到属于哪一个组。

  • 许多Linux 系统(如SVR4)都使用了shadow技术,把真正的加密后的用户口令字存放到 /etc/shadow 文件中,保证密码的安全性。

[root@localhost home]# ls
lxt  win
[root@localhost home]# useradd -m moli
[root@localhost home]# ls
lxt  moli  win
[root@localhost home]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
moli:x:503:503::/home/moli:/bin/bash

删除帐号 userdel

-r #删除用户的时候连它的目录页一并删除
[root@localhost home]# userdel -r moli
[root@localhost home]# ls
lxt  win

修改用户 usermod

usermod 选项 用户名
[root@localhost home]# usermod -d /home/233 moli
[root@localhost home]# cat /etc/passwd
moli:x:502:502::/home/233:/bin/bash

常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样。

切换用户

1.切换用户的命令为:su username (username是你的用户名)

2.在终端输入 exit 或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令

3.在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root】

  • $表示普通用户

  • #表示超级用户,也就是root用户

扩展:查看主机名和修改主机名

[root@localhost home]# hostname
localhost
[root@localhost home]# hostname moli   #控制台重启后主机名就会被修改如下
[root@moli Desktop]#
#但是这是临时的,如果重启电脑就没有了

用户的密码设置

如果你是普通用户

passwd

如果你是超级用户

passwd -选项 用户名
-l #锁定口令,即禁用账号
-u #口令解锁
-d #使账号无口令,也不能再次登陆了,账号也相当于冻结
-f #强迫用户下次登录时修改口令
[root@localhost home]# passwd moli
Changing password for user moli.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

用户组增删改

每个用户都有一个用户组,系统可以对一个用户组中所有用户进行集中管理(开发组、运维组、测试组、root)。

Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

[root@localhost home]# groupadd moli
groupadd: group 'moli' already exists

本质:用户组的管理涉及用户组的添加、删除和修改实际上是对/etc/group文件的更新。

新增一个用户组 groupadd

groupadd -选项 用户组
-g #指定新用户组的组标识号(GID)
-o #一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
[root@localhost home]# groupadd moli1
[root@localhost home]# cat /etc/group
root:x:0:
moli:x:502:
moli1:x:503:    #创建完一个用户组后可以得到一个组id,譬如这个是503,这个id是可以指定的
[root@localhost home]# groupadd -g 520 moli2

删除用户组 groupdel

[root@localhost home]# groupdel moli1
[root@localhost home]# groupdel moli2

修改用户组 groupmod

groupmod -选项 用户组
-g #GID为用户组指定新的组标识号
-o #与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同
-n #将用户组的名字改为新名字
[root@localhost home]# groupmod -g 999 -n newmoli moli

扩展:切换用户组

方式一:
# 登上你的用户
$ newgrp root  #切换到了root组方式二:
在创建用户的时候,直接-g添加组别

3.磁盘管理

df、du

  • Linux磁盘管理好坏直接关系到整个系统的性能问题

  • Linux磁盘管理常用命令为 df、du

    • df :列出文件系统的整体磁盘使用量,-h参数将字节转为GBytes, MBytes, KBytes 等格式

    • du:检查磁盘空间使用量

      -k #以 KBytes 列出容量显示
      -m #以 MBytes 列出容量显示
      -a #显示隐藏目录和子目录使用量
      -s #列出总量而已,而不列出每个各别的目录占用容量
      
      [root@localhost home]# du
      4   ./moli/.gnome2
      4   ./moli/.mozilla/extensions
      4   ./moli/.mozilla/plugins
      12  ./moli/.mozilla
      [root@localhost home]# du -a
      [root@localhost /]# du -sm /*           检查根目录下每个目录所占用的容量
      8   /bin
      24  /boot
      1   /dev
      34  /etc
      du: cannot access `/proc/3742/task/3742/fd/4': No such file or directory
      du: cannot access `/proc/3742/task/3742/fdinfo/4': No such file or directory
      du: cannot access `/proc/3742/fd/4': No such file or directory
      du: cannot access `/proc/3742/fdinfo/4': No such file or directory
      1909 /usr     系统初期最大的目录就是我们usr目录了,我们很多文件和程序都在这里
      

磁盘挂载与卸除

根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载”。

Linux 的磁盘挂载使用mount命令,卸载使用umount命令。

挂载:Mac或者想使用Linux挂载我们的一些本地磁盘或者文件:

mount -选项 装置文件名  挂载点
-t #文件系统
-L #Label名
-o #额外选项
-n

卸载:umount

umount -选项 装置文件名或挂载点
-f #强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下
-n #不升级 /etc/mtab 情况下卸除

4.进程管理

  • 在Linus中,每一个程序都有自己的进程,每一个进程都有id号pid
  • 每一个进程都会有父进程
  • 一般服务是后台运行的,基本程序是前台运行的
  • ps 命令查看当前系统中正在执行的各种进程信息
-a #显示当前终端运行的所有进程信息
-u #以用户的信息显示进程
-x #显示后台运行的进程的参数
-aux #查看所有进程
-ef #可以查询到父进程的信息
| #管道符,A|B将A的结果作为输出来操作B
grep #查找文件中符合条件的字符串ps -aus|grep mysql  查看与mysql有关的进程
ps -aus|grep redis
ps -aus|grep java
ps -ef|grep mysql   但是这样查看不是很清晰,我们一般使用目录树查看

查看目录树:

pstree -pu
-p #显示父id
-u #显示用户组

结束进程:我们平时写一个java代码死循环,可以结束进程

kill -9 进程id

5.环境安装

安装软件三种方式:

  • rmp:idk在线发布一个springboot项目
  • 解压缩:tomcat启动并通过外网访问,发布网站
  • yum在线安装:docker直接安装运行跑起来docker就可以(推荐)

jdk(rpm)

我们java程序必须要的环境!

  1. 下载jdk8 rpm包:https://www.oracle.com/cn/java/technologies/javase/javase8-archive-downloads.html

  2. 创建存放目录

    mkdir /usr/java/
    
  3. 使用xftp上传jdk,下载xshell和xftp,连接:使用ifconfig 查看虚拟机系统ip地址(inet addr )。

  4. 查看和安装

    [root@localhost ~]# cd /usr/java
    [root@localhost java]# ls
    jdk-linux-i586.rpm
    [root@localhost java]# java -version                   检查是否存在java环境,有就卸载
    [root@localhost java]# rpm -qa|grep jdk                检查
    jdk1.8.0_131-1.8.0_131-fcs.i586
    [root@localhost java]# rpm -e --nodeps jdk1.8.0_131-1.8.0_131-fcs.i586  强制卸载
    [root@localhost java]# java -version                   再次检查,发现已经卸载
    -bash: /usr/bin/java: No such file or directory[root@localhost java]# chmod 777 jdk-linux-i586.rpm    赋予最高权限
    [root@localhost java]# rpm -ivh jdk-linux-i586.rpm     安装
    Preparing...                ########################################### [100%]1:jdk1.8.0_131           ########################################### [100%]
    Unpacking JAR files...tools.jar...plugin.jar...javaws.jar...deploy.jar...rt.jar...jsse.jar...charsets.jar...localedata.jar...
    [root@localhost java]# java -version
    

5.配置环境变量,vim进入etc/profile下在文件最后增加java配置,在底行命令模式保存并退出。和Windows的配置一样。

[root@localhost java]# vim /etc/profile
export JAVA_HOME=/usr/java/jdk-linux-i586.rpm
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar
export PATH=$PATH:$JAVA_HOME/bin
[root@localhost java]# source /etc/profile        让配置文件生效
[root@localhost java]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) Client VM (build 25.131-b11, mixed mode, sharing)

6.打包项目,先在本地cmd跑起来,Java -jar xxxx

7.看开启了哪些端口

firewall-cmd --list-ports            #看开启了哪些端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent  #开启8080端口
systemctl restart firewalld.service  #重启防火墙
firewall-cmd --list-ports            #再次查看
java -jar xxx                        #运行项目

tomcat(解压缩)

war包就需要tomcat。

1.导入tomcat9.tar.gz

startup.sh -->启动tomcat shutdown.sh -->关闭tomcat

[root@localhost ~]# mkdir /usr/tomcat
[root@localhost ~]# cd /usr/tomcat
[root@localhost tomcat]# ls
[root@localhost tomcat]# tar -zxvf apache-tomcat-9.0.62.tar.gz
[root@localhost tomcat]# ls
apache-tomcat-9.0.62  apache-tomcat-9.0.62.tar.gz
[root@localhost tomcat]# cd apache-tomcat-9.0.62
[root@localhost apache-tomcat-9.0.62]# cd bin
[root@localhost bin]# ./startup.sh                #启动tomcat
[root@haodoop100 bin]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success                                           #开启端口
[root@haodoop100 bin]# service firewalld restart  #重启防火墙
[root@haodoop100 bin]# firewall-cmd --list-ports  #检查端口
8080/tcp

在浏览器中输入http://192.168.198.128:8080/,自己的域名发现安装成功。以后直接购买自己的域名,备案项目就可以发布了。

Docket(推荐yum)

在linux下执行一定要联网,yum(呀木)在线安装

官网安装参考手册:https://docs.docker.com/install/linux/docker-ce/centos/

1.安装准备环境 yum -y install 包名

yum安装gcc相关(需要确保 虚拟机可以上外网 )

cat /etc/redhat-release  #检查centos
yum -y install gcc gcc-c++
yum install -y yum-utils

2.卸载已经存在的docket

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

3.国内的镜像

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.更新yum软件包索引

yum makecache fast

5.安装Docker CE

yum -y install docker-ce docker-ce-cli containerd.io

6.启动docker

systemctl start docker

7.测试

docker version
docker run hello-world
docker images

Mysql

下载地址:https://downloads.mysql.com/archives/community/

1.检查是否安装了mysql

rpm -qa #检查安装的所有软件
[root@haodoop100 /]# rpm -qa|grep mysql    #检查是否有带mysql的软件
[root@haodoop100 /]# rpm -qa|grep mariadb  #检查是否有带mariadb的软件,我是有的,但是这个与数据库冲突,需要卸载
mariadb-libs-5.5.68-1.el7.x86_64#卸载:    rpm -e --nodeps 名称
[root@haodoop100 /]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 #卸载
[root@haodoop100 /]# rpm -qa|grep mariadb  #再次检查

2.创建mysql用户组

#检查用户组是否存在,没有就创建
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql#创建
groupadd mysql
useradd -r -g mysql mysql

3.更改mysql目录下所有文件的用户组、用户和权限

chown -R mysql:mysql /usr/java/mysql/mysql-5.7.16-linux-glibc2.5-x86_64/
chmod -R 755 /usr/java/mysql/mysql-5.7.16-linux-glibc2.5-x86_64/

4.进入mysql/bin目录,编译安装mysql,并初始化。

[root@haodoop100 mysql]# cd mysql-5.7.16-linux-glibc2.5-x86_64
[root@haodoop100 mysql-5.7.16-linux-glibc2.5-x86_64]# cd bin
[root@haodoop100 bin]# ./mysqld --initialize --user=mysql --datadir=/usr/java/mysql/mysql-data --basedir=/usr/java/mysql/mysql-5.7.16-linux-glibc2.5-x86_64
2022-08-06T04:36:23.268390Z 1 [Note] A temporary password is generated for root@localhost: (rB4INA>q9?h
#这句话是编译出来的最后一行,我的密码就是(rB4INA>q9?h

这里会拿到初始密码,复制出来保存好,后面要用。

5.编写etc目录下的my.cnf文件,并授予my.cnf文件775权限

[root@haodoop100 bin]# vi /etc/my.cnf[mysqld]
datadir=/usr/java/mysql/mysql-data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感,敏感为
lower_case_table_names=1[root@haodoop100 bin]# chmod -R 775 /etc/my.cnf

6.修改/support-files/mysql.server文件

[root@haodoop100 mysql-5.7.16-linux-glibc2.5-x86_64]# cd support-files/
[root@haodoop100 support-files]# ls
magic  my-default.cnf  mysqld_multi.server  mysql-log-rotate  mysql.server
[root@haodoop100 support-files]# vi mysql.server



7.启动mysql

#查询mysql
[root@haodoop100 support-files]# ps -ef|grep mysql
root       3664   2603  0 13:26 pts/1    00:00:00 grep --color=auto mysql
[root@haodoop100 support-files]# ps -ef|grep mysqld
root       3667   2603  0 13:26 pts/1    00:00:00 grep --color=auto mysqld#启动
[root@haodoop100 support-files]# /usr/java/mysql/mysql-5.7.16-linux-glibc2.5-x86_64/support-files/mysql.server start
Starting MySQL.. SUCCESS! #添加软链接
ln -s /usr/java/mysql/mysql-5.7.16-linux-glibc2.5-x86_64/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/java/mysql/mysql-5.7.16-linux-glibc2.5-x86_64/bin/mysql /usr/bin/mysql#重启mysql
[root@haodoop100 support-files]# service mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!

8.登录mysql,密码是刚才的初始化密码,修改密码为root

#登录
mysql -u root -p
#修改密码
set password for root@localhost = password('root');
#看是否能正常工作
mysql> show databases;

我们一般不给root用户开放远程链接,所以重新创建一个mysql用户:h为用户名,happy为密码。

mysql> create user 'h'@'localhost'-> identified by 'happy';

查询mysql所有用户信息

use mysql;
select user,host from user;mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> select user,host from user;
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| h         | localhost |
| mysql.sys | localhost |
| root      | localhost |
+-----------+-----------+
3 rows in set (0.01 sec)

现在,让happy用户可以远程链接,给happy用户赋予所有主机的所有权限

update user set host='%' where user='happy';
#赋予happay用户所有权限
grant all on *.* to 'happy'@'%';
#刷新权限
flush privileges;

9.如果系统开启了防火墙,则需要开放3306端口

//开放3306端口命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//配置立即生效
firewall-cmd --reload

10.设置开机启动

//将服务文件拷贝到init.d下,并重命名为mysqld
cp /usr/java/mysql/mysql-5.7.16-linux-glibc2.5-x86_64/support-files/mysql.server /etc/init.d/mysqld
//赋予可执行权限
chmod +x /etc/init.d/mysqld
//添加服务
chkconfig --add mysqld
//显示服务列表
chkconfig --list

lrzsz(文件传输)

#查看是否存在lrzsz
[root@haodoop100 /]# yum list | grep lrzsz
lrzsz.x86_64                              0.12.20-36.el7               @anaconda
[root@haodoop100 /]# yum install lrzsz.x86_64

命令:

rz  #文件传输
sz 名称 #文件下载

防火墙

# 查看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=8080/tcp --permanent
重启防火墙:systemctl restart firewalld.service命令含义:
--zone #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent   #永久生效,没有此参数重启后失效
#老版本开端口(red hat6)
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

Linux----vim、账号管理、进程管理、磁盘管理、java环境安装相关推荐

  1. Linux操作系统6:文件系统及磁盘管理

    Linux操作系统6:文件系统及磁盘管理 一.实验目的: 二.实验内容: 三.实验结果: (1)使用 fdisk 命令进行硬盘分区 (2)用 mkfs 创建文件系统. (3)用 fsck 检查文件系统 ...

  2. linux学习笔记(6)磁盘管理

    linux学习笔记(6)磁盘管理 文章目录   6.1磁盘命名   6.2分区方式   6.3磁盘管理     6.3.1基本分区     6.3.2逻辑卷LVM     6.3.3交换分区管理Swa ...

  3. Linux java集成安装环境,Linux下Java环境安装

    本节主要讲解Linux(Centos 6.5)下Java环境的安装 1. 卸载机器上默认安装的JDK 在Linux环境下一般会默认安装jdk,为了自己项目的开发部署,一般情况要重新装jdk,而且自己装 ...

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

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

  5. linux aarch64 java环境安装(图文详细版)

    文章目录 前言 一.java环境 1.确认服务器版本 2.把包传到服务器上,然后进行解压 3.修改文件名 4.配置环境变量 5.查看java环境 前言 安装过程很简单,请认真确认版本号及服务,直接进入 ...

  6. LInux:vim的使用以及用户账号的管理

    vim编辑器 vim是从vi发展出来的一个文本编辑器.是一款程序开发工具.补全代码,编译及错误跳转等方便编程的功能特别丰富,被广泛运用. 三中使用模式 基本上,基于vi/vim会有三种命令模式:命令模 ...

  7. linux 魔术分区,分区”魔术师”的磁盘管理

    设备文件 I/O Ports: I/O设备地址 一切皆文件: open(), read(), write(), close() 设备类型: 块设备: block,存取单位"块",磁 ...

  8. Linux进阶之路————进程与服务管理

    引言 在Linux 中,每个执行的程序(代码)都成为一个进程,Linux 为每一个进程分配了一个唯一的 id 号 - PID. 每个进程都会对应一个父进程,而这个父进程可以复制多个子进程,例如 www ...

  9. Linux磁盘管理,了解磁盘管理的魅力

    认识磁盘 什么是磁盘 磁盘最主要的用途就是保存电脑里的信息. 计算机的du存储器有两类,一类是zhi内部存储器,一断电dao就会把记住的东西丢失,一类是外部存储器,断了电也能存住. 内存:存储信息速度 ...

最新文章

  1. 人工神经外网络中为什么ReLu要好过于Tanh和Sigmoid Function?
  2. 洽洽三只松鼠良品铺子,到底谁能笑傲“后坚果时代”?
  3. MySQL安装sql追踪器phpgjx
  4. IDC运维团队技术交流总结篇————换个角度看世界
  5. 学材分析计算机一体化,计算机一体化教学的体会
  6. hadoop3 禁用ec_Hadoop + Amazon EC2 –更新的教程
  7. 使用jQuery和Pure.CSS创建一个可编辑的表格
  8. vhdl语言入门_初学Chisel语言,看这篇就够了:最方便简洁的入门资料整理
  9. 博客主机_自动申请续期免费证书
  10. 神秘七年、融资23亿美元,Magic Leap终于发售首款产品,被吐槽full of shit
  11. QQ 5.0的一些特效学习 一
  12. 数据结构与算法---常用三大排序算法
  13. IEEE邮件爆出:禁止华为员工审稿,惨遭网友吐槽!
  14. cpci无法检索_CPCI是什么检索
  15. 常见的需求分析方法(产品篇)
  16. html5游戏 美术,cocos2d-html5游戏学习之绘画小熊
  17. html 与 css 画哆啦A梦
  18. 华为诺亚方舟实验室简述
  19. python 爬取王者荣耀高清壁纸
  20. 华为海思 verilog 笔试准备

热门文章

  1. layui动态添加的表单元素显示异常
  2. 二叉树经典问题-通过前序和后序序列重建二叉树
  3. 如何提高流量主广告收益,这些方法你可以用用
  4. elasticsearch学习(六):IK分词器
  5. 关于final修饰的变量赋值的问题
  6. 02-JVM、JRE、JDK
  7. 【Nginx网站服务】
  8. 那些可以加速国内外开源库的免费CDN
  9. Python实现手机号归属地查询
  10. 流程图分级、分类、分层