Linux
1 介绍
2 安装
3 Linux 的目录结构
4 远程操作工具
5 vi 和 vim 编辑器
6 用户管理
7 组
8 系统命令
9 帮助命令
10 目录、文件操作
10.1 pwd、ls
10.2 cd
10.3 mkdir、rmdir
10.4 touch
10.5 cp
10.6 rm
10.7 mv
10.8 cat
10.9 more
10.10 less
10.11 head
10.12 tail
10.13 echo
10.14 >、>>
11 日期与时间
12 搜索目录与文件
13 过滤查找
14 压缩
14.1 gzip、gunzip
14.2 zip、unzip
14.3 tar
15 文件、目录与组的关系
15.1 修改文件或目录的所有者
15.2 修改文件或目录的所在组
16 权限管理
16.1 文件和目录的权限
16.2 查看权限
16.3 修改权限
16.4 用数字的方式修改权限
17 网络配置
18 进程管理
19 服务管理
20 软件包管理
20.1 RPM 包
20.2 YUM 包
21 搭建 JavaEE 开发环境
21.1 安装 jdk
21.2 安装 tomcat
21.3 安装 MySQL
VMware虚拟机

Xshell+Xftp

1 介绍
Linux 是一个开源、免费的操作系统,具有很强的稳定性、安全性、以及处理多并发的能力,目前大多数企业级应用甚至是集群项目都部署运行在 Linux 操作系统上,很多软件公司考虑到开发成本都首选Linux,Linux 在中国软件公司得到了广泛的使用。

Linux 的主要发行版本有以下几种:
Ubuntu(乌班图)、RedHat(红帽)、CentOS、Debain(蝶变)、Fedora、SuSE、OpenSUSE、红旗Linux(国产)。
我们使用 CentOS 进行学习。

2 安装
VMware12 虚拟机。
CentOS 镜像系统。
3 Linux 的目录结构

/:Linux 系统的根目录。
root:该目录为系统管理员目录,root 是具有超级权限的用户。
bin ->usr/bin:存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。
usr:Linux 的系统资源目录,里面存放的是一些系统可执行文件或者系统的一些文件库。
usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。
lib->usr/lib:这个目录存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件,几乎所有的应用程序都需要用到这些共享库。
boot:这个目录存放启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
dev:dev是 Device(设备)的缩写,该目录下存放的是 Linux 的外部设备,Linux 中的设备也是以文件的形式存在。
etc:这个目录存放 Linux 系统的所有配置文件。
home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。
var:这个目录存放在不断扩充的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。
mnt:系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容。
opt:存放 Linux 中额外安装的软件。比如安装的 MySQL 数据库就可以放到这个目录下,该目录默认为空。
tmp:该目录用来存放临时文件。
4 远程操作工具
Xshell:远程终端。
Xftp:远程文件传输。
5 vi 和 vim 编辑器
vi 和 vim 是 Linux 提供的文本编辑器。

三种模式:
模式    进入方法
正常模式    vim 文件名,进入正常模式。若文件存在,则打开文件;若文件不存在,则新建并打开文件。正常模式下只能进行读操作。
编辑模式    在正常模式下,按a或i,进入编辑模式,按ESC,退出编辑模式。在编辑模式下可以进行读写操作。
命令模式    在正常模式下,输入:,进入命令模式。命令模式下,输入q:文件没有做任何修改时退出;wq:保存并退出;q!:不保存强制退出。
快捷键:
快捷键    功能
yy    复制光标所在行
nyy    复制光标所在行向下 n 行(包括光标所在行)
p    粘贴到光标所在行的下一行
dd    删除光标所在行
ndd    删除光标所在行向下 n 行(包括光标所在行)
u    撤销上一次操作
/xxx    搜索 xxx,在命令模式下使用
set nu    显示行号,在命令模式下使用
set nonu    关闭行号,在命令模式下使用
6 用户管理
root 账户,具有 Linux 系统的最高权限,可以进行用户管理操作。

在 root 账户下,使用命令:

useradd 用户名:添加用户。
该命令执行后,会有三个操作:
(1)创建用户
(2)创建用户根目录 /home/用户名
(3)创建主组,组名为用户名,并把该用户添加到该组中。
也可以在创建用户时,指定用户根目录:useradd -d /home/目录名 用户名。
passwd 用户名:为用户设置密码。密码不能少于7位,不能过于简单,不能是单词的组合。
userdel -r 用户名:删除用户以及用户根目录。userdel 用户名:只删除用户,不删除用户根目录。
id 用户名:查看用户信息。主要用于查看用户的组信息。
su 用户名:切换用户。从 root 切换到其他用户可以直接切换;从其他用户切换到 root 需要输入密码。
7 组
组是 Linux 中,进行权限管理的基本方式。可以将具有相同权限的用户放在同一个组中,便于管理。

groupadd 组名:新建组。
groupdel 组名:删除组。
gpasswd -a 用户名 组名:将用户添加到组中。
gpasswd -d 用户名 组名:将用户从组中删除。
useradd -g 组名 用户名:创建用户时指定用户所在组(此时不会创建默认组)。
8 系统命令
shutdown now:立即关机。
shutdown -h 时间:定时关机。时间可以为数字,单位为分钟;也可以为具体时间,如17:00。
shutdown -r now:立即重启。
shutdown -c:取消上一条 shutdown 命令。
reboot:立即重启。
sync:把内存的数据同步到磁盘。
9 帮助命令
man 命令名:查看该命令的系统说明文档。分屏显示,Enter:下一行,空格:下一页,q:退出。
help 命令名:查看该命令的开发注释。
10 目录、文件操作
10.1 pwd、ls
pwd:查看当前所在目录的全路径。
ls [选项] [目录名]:查看指定目录下的所有目录和文件。
ls:查看当前目录。
ls /home:查看 home 目录。
ls -a /home:查看 home 目录下 (包括隐藏和虚拟的) 所有目录和文件。
ls -l /home:以列表形式展示 home 目录下的所有目录和文件。
ls -al /home:以列表形式展示 home 目录下(包括隐藏和虚拟的)所有目录和文件。
10.2 cd
cd 目录名:切换目录。
绝对目录:从盘符根路径开始。Linux 只有一个根路径 /。如,cd /home/mcc:进入 mcc 目录。
相对目录:从当前目录开始。假设当前在 home 目录,cd mcc:进入 mcc 目录。
~:绝对目录,当前用户的根目录。~ = /home/用户名。cd ~:进入用户根目录。
..:相对目录,当前目录的上一级目录。cd ..:进入上一级目录。
.:相对目录,当前目录。cd ./xxx = cd xxx:进入当前目录下的 xxx 目录。
10.3 mkdir、rmdir
mkdir [选项] 目录名:创建目录。如,mkdir /home/mcc/dir:创建 dir 目录。
mkdir -p 目录名/目录名:创建多级目录。mkdir -p dir1/dir2:创建 dir1 和 dir2 目录。
rmdir 目录名:删除一个空目录。
10.4 touch
touch 文件名列表(多个文件名用空格隔开):创建一个或多个空文件。如,touch text1.txt text2.txt。创建后,如果需要编写内容,可以用 vi 或 vim 打开。
vi 或 vim 创建的文件会默认直接打开。如果需要创建之后马上打开编辑,可以使用 vi 或 vim 创建;如果只需要创建,不需要打开,可以使用 touch 创建。

10.5 cp
cp [选项] sourceFile dest:将 sourceFile 复制到 dest (复制单个文件)。如,cp text1.txt dir/textcp.txt:将 text.txt 复制到当前目录下 dir 文件夹下,文件名为 textcp.txt。
cp -r sourceDir dest:将 sourceDir 以及其中的文件,复制到 dest (复制目录和目录中的文件)。如,cp -r dir /home/mcc,将 dir 目录和其中的文件,复制到 /home/mcc 下。
10.6 rm
rm 文件名:删除文件。会提示是否确认删除。
rm -f 文件名:强制删除文件。不提示是否确认删除。
rm -r 目录名:删除目录以及目录中的文件。会提示是否确认删除。执行流程:先进入到目录中,删除目录中的全部文件,再删除该目录。
rm -rf 目录名:强制删除目录以及目录中的文件。不提示是否确认删除。
10.7 mv
命令    结果
mv file dir    (1)dir 存在,将 file 移动到 dir 下。(2)dir 不存在,将 file 重命名为 dir。
mv dir1 dir2    (1)dir2 存在,将 dir1,包括其中的子目录和文件,移动到 dir2 下。(2)dir2 不存在,将 dir1 重命名为 dir2。
mv file1 file2    将 file1 重命名为 file2,若 file2 已经存在,则会将 file2 覆盖。
10.8 cat
cat [选项] 文件名:以只读形式,查看文件内容。
cat -n 文件名:显示行号。
10.9 more
more 文件名:以只读、全屏方式,按页显示文件内容。 
10.10 less
less 文件名:分屏查看文件内容,功能与 more 指令类似。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示加载内容,在显示大型文件时具有较高的效率。

10.11 head
head 文件名:默认查看文件的前 10 行内容。
head -n num 文件名:查看文件的前 num 行内容。如,head -n 5 test.txt:查看 test.txt 的前 5 行内容。
10.12 tail
tail 文件名:默认查看文件的最后 10 行内容。
tail -n num 文件名:查看文件的最后 num 行内容。如,tail -n 5 test.txt:查看 test.txt 的最后 5 行内容。
10.13 echo
echo 输出内容:在控制台输出变量或常量的内容。其中,变量要用$变量名表示。如,echo $PATH:输出环境变量值;echo Hello, Linux:输出 Hello, Linux。
10.14 >、>>
查看命令 > 文件:写入。将查看命令查出的结果保存到指定文件中。若文件不存在,则新建文件再保存;若文件存在,则直接保存。若两次操作指定的文件相同,则后一次查看的结果会覆盖前一次。如,ls > res.txt:将当前目录下的所有目录名和文件名,保存到 res.txt 中。如果再执行,ls test.txt > res.txt:则会覆盖文件中原有内容,将本次查看结果保存到 res.txt 中。
查看命令 >> 文件:追加。与 > 类似,只不过新的查看结果会追加在文件的原有内容之后,不会覆盖。
11 日期与时间
日期与时间:

date:查看系统的日期与时间。
date +%Y:查看年份。
date +%m:查看月份。
date +%d:查看日期。
date '+%Y-%m-%d %H:%M:%S':以 年-月-日 时:分:秒 的格式查看系统日期和时间。
date -S '年-月-日 时:分:秒':设置系统日期和时间。
日历:

cal:查看当前月份的日历。
cal 年份:查看某一年的日历。
12 搜索目录与文件
find:

find [搜索范围] [搜索标准] 关键字:按条件搜索。
搜索标准:-name:按名称查找,默认,文件或目录所在的路径也在搜索范围之内。-size:按大小查找。-user:按用户权限查找。
举例:
查找当前目录下名称中包含 a 的 txt 文件:find *a*.txt = find -name *a*.txt。其中,*是 Linux 系统中的通配符。
查找当前目录下所有名称包含 d 的目录和文件:find *d*。
查找 etc 目录下所有 txt 文件:find /etc *.txt。
查找 etc 目录下文件大小小于 5M 的 txt 文件:find /etc -size -5M -name *.txt。
查找 etc 目录下,所有者是 mcc 的目录和文件:find /etc -user mcc。
locate:

locate 关键字:在 Linux 系统的目录树中查找满足条件的目录和文件。
因为新建的目录和文件不能及时同步到目录树中,因此使用该命令之前,需要先同步目录树:updatedb,再使用 locate 命令查找。
13 过滤查找
查看或搜索命令 |grep [选项] 过滤条件:对查看或搜索的结果进行进一步过滤。
选项:-n,显示匹配行的行号;-i,匹配时忽略大小写。
|:管道符,表示将前一个命令的处理结果,传递给后面的命令处理。
举例:
find *.txt |grep a:查找名称包含 a 的 txt 文件。
cat text.txt |grep -ni abc:查找 text.txt 中的 abc(忽略大小写),并显示 abc 所在行号。

14 压缩
14.1 gzip、gunzip
gzip 被压缩文件名:压缩单个文件,后缀名为.gz,并删除被压缩的文件。
gunzip gz压缩包名:解压 gz 压缩包,解压完成后删除压缩包。
14.2 zip、unzip
zip 压缩包名 被压缩文件或目录列表:压缩单个或多个文件和目录,后缀名为.zip。不会删除被压缩的文件和目录。
unzip 压缩包名:将压缩包解压到当前目录下。原压缩包不会被删除。
unzip 压缩包名 -d 解压目录:将压缩包解压到指定目录下。
14.3 tar
tar -zcvf 压缩包名 被压缩文件或目录列表:压缩一个或多个文件和目录,后缀名为.tar.gz。不会删除被压缩的文件和目录。
tar -zxvf 压缩包名:将压缩包解压到当前目录下。原压缩包不会被删除。
tar -zxvf 压缩包名 -C 解压目录:将压缩包解压到指定目录下。
选项说明:
-c:压缩
-x:解压
-z:打包同时压缩
-f:指定压缩后的文件名
-v:显示详细信息
-C:指定解压到哪个目录
15 文件、目录与组的关系
在 Linux 系统中,每个用户都有一个主组,主组时是创建用户时必须要指定的,并且不能修改。每个用户可以有多个额外组,这些额外组表示用户的其他权限。

对于文件和目录来说,每个文件和目录都有自己的所有者和组,只有所有者和相同组的用户,才有操作权限。

使用命令ls -l查看文件和目录的所有者、所在组。

15.1 修改文件或目录的所有者
chown 新的所有者 文件或目录名:不会修改目录内的文件和目录的所有者。
chown -R 新的所有者 文件或目录名:修改文件或目录的所有者,包括目录内的文件和目录。
chown [-R] 新的所有者:新的所在组 文件或目录名:同时修改所有者和所在组。
15.2 修改文件或目录的所在组
chgrp 新的所在组 文件或目录名:不会修改目录内的文件和目录的所在组。
chown -R 新的所在组 文件或目录名:修改文件或目录的所在组,包括目录内的文件和目录。
16 权限管理
16.1 文件和目录的权限
对于用户来说,一个用户只有一个主组,但可以有多个副组。
对于文件和目录来说,一个文件或目录只能有一个所有者,一个所在组。

文件和目录的权限:

类型    权限
文件    (1)读 read:查看文件,如 cat、more、less、head、tail 等。(2)写 write:编辑文件,如 vi、vim 等。(3)执行 execute:运行可执行文件(.sh 文件)。
目录    (1)读 read:查看目录内容,如 ls 等。(2)写 write:在目录内创建、删除、重命名子目录或文件等。如 mkdir。(3)执行 execute:进入该目录,如 cd 等。
16.2 查看权限
使用ls -l查看文件和目录的权限:

r:读权限。
w:写权限。
x:执行权限。
16.3 修改权限
如果要修改一个文件或目录的权限,那么该用户必须具有对这个文件或目录的w权限。
如果要删除一个文件或目录,那么该用户必须具有对这个文件或目录的上层目录的w权限。

修改权限:

chmod:修改文件或目录权限。
u、g、o、a:分别对应所有者、同组用户、其他组用户、所有用户。
+、-、=:分别对应添加、删除、设置某个权限。
r、w、x:分别对应读、写、执行权限。
举例:
(1)删除 test.txt 同组用户的编辑权限:chmod g-w test.txt;
(2)删除 test.txt 同组用户的读取和编辑权限:chmod g-rw test.txt;
(3)为 test.txt 的同组用户添加执行权限,并删除其他用户的读取权限:chmod g+x,o-r test.txt。
16.4 用数字的方式修改权限
rwx 权限可以用数字的和来表示:r-4, w-2, x-1
若权限为读和写,则可以使用 6,来代替 rw。
注意,如果使用数字设置权限,则必须将 u、g、o 的权限同时设置,也就是说必须三组数字一起使用。

举例:
将 test.txt 所有者权限设置为 rwx,同组用户为 rw,其他用户没有任何权限:chmod 760 test.txt。

17 网络配置
获取 ip 地址,网关,DNS。如果是自己的电脑,按照下面的方法查看,如果是公司服务器,则公司会提供,只需设置进去就可以。

网络的配置文件在 /etc/sysconfig/network-scripts 目录下:cd /etc/sysconfig/network-scripts

使用 vi 或 vim 编辑器打开配置文件,进行配置。

配置完成后,要重启 Linux 系统,才会生效:reboot。

配置完成后,可以使用:ifconfig,查看 ip 地址。

18 进程管理
查看进程:
查看 Linux 系统正在运行的进程:ps -ef。
可以通过过滤功能,查看指定进程是否运行:ps -ef | grep xxx。

关闭进程:
使用命令:ps -ef,查看进程的 PID
使用命令:kill -9 PID,关闭 PID 进程。

19 服务管理
systemctl [start|stop|restart|reload|status|enable] 服务名称

start:开启服务。
stop:停止服务。
restart:重启服务。
reload:重新加载数据、配置文件等。
status:查看服务状态。
enable:将服务设置为开机启动。

防火墙服务:firewalld

20 软件包管理
20.1 RPM 包
查看当前系统中已经安装的 RPM 包:rpm -qa,查看是否安装 xxx 包:rpm -qa | grep xxx。
安装 RPM 包:rpm -ivh xxx.rpm。
卸载 RPM 软件:rpm -e 软件名称。
20.2 YUM 包
YUM 包基于 RPM 包,类似于 Maven,不需要处理软件包之间的依赖关系,通过执行 YUM 命令,系统会自动去 YUM 服务器上下载所有依赖。不需要预先将软件包下载到本地。

查看当前系统中已经安装的 RPM 包:yum list installed,查看是否安装 xxx 包:yum list installed | grep xxx。
安装 RPM 包:yum install 软件名称。
卸载 RPM 软件:yum remove 软件全名。
21 搭建 JavaEE 开发环境
21.1 安装 jdk
使用 Xftp 软件,将 Linux 版本的 jdk 安装包传输到 /opt 目录下。
进入到 /opt 目录下,使用命令:tar -zxvf jdk压缩包名称 -C 解压路径,将 jdk 压缩包解压。
进入到 /etc 目录下,在profile文件中进行环境变量的配置。
配置环境变量:
JAVA_HOME=jdk安装路径
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib:.
export JAVA_HOME PATH CLASSPATH
1
2
3
4
重启 Linux 系统:reboot或重新加载 profile 配置文件:source profile。
输入:java -version,查看 jdk 是否安装成功。
21.2 安装 tomcat
使用 Xftp 软件,将 Linux 版本的 tomcat 安装包传输到 /opt 目录下。
进入到 /opt 目录下,使用命令:tar -zxvf jdk压缩包名称 -C 解压路径,将 tomcat 压缩包解压。
进入到 tomcat 安装目录下的 bin 目录,执行 startup.sh文件,启动 tomcat 服务器。
使用:ps -ef | grep tomcat,查看是否存在 tomcat 进程,如果存在,则代表已经启动了 tomcat 服务器。也可以在浏览器中,输入 http://localhost:8080,看能否访问到页面。
如果要在外部浏览器访问 Linux 的 tomcat 服务器,如在 Windows 系统上访问,则需要关闭 Linux 的防火墙服务:systemctl stop firewalld,之后在 Windows 的浏览器中输入:http://Linux的ip地址:8080,就可以访问。
21.3 安装 MySQL
检查 Linux 中是否安装了 mariadb:yum list installed | grep mariadb,如果安装了,需要卸载:yum remove mariadb全称。

使用 Xftp 软件,将 Linux 版本的 mysql 安装包传输到 /opt 目录下。
进入到 /opt 目录下,使用命令:tar -zxvf mysql压缩包名称 -C 解压路径,将 mysql 压缩包解压。
由于 mysql 解压之后的目录名很长,不方便后续使用,所以重命名 mysql 目录名:mv 原目录名 新目录名,注意,新目录之前不能存在,否则会将原目录移动到新目录下,而不是重命名。这里假设重命名后的目录名为:mysqlDir。
在 mysqldir 下,创建存放数据的目录 data:mkdir data。该目录用来存放数据库文件,数据库的表等数据都放在 data 目录下。
创建用来执行mysqld命令的 Linux 用户:groupadd mysql、useradd -g mysql mysql。该用户专门用来执行 mysql 的 mysqld 命令,此命令用来初始化 msyql 的基本信息。
初始化 mysql,使用 mysqld 命令初始化数据库的基本信息。在 mysqlDir/bin 目录下,使用命令:./mysqld --initialize --user=mysql --datadir=/opt/mysqlDir/data --basedir=/opt/mysqlDir。该命令执行后,会生成一个临时的 mysql 数据库 root 用户的密码,先将改密码记录下来,后续第一次登录 mysql 时需要使用。

开启 mysql 的安全功能。该功能将客户端和服务器之间传输的数据进行加密,通过证书提供了身份验证机制。在 mysqlDir/bin 目录下,使用命令:./mysql_ssl_rsa_setup --datadir=/opt/mysqlDir/data,开启该功能。
修改 mysql 安装目录的权限。由于安装 mysql 是在 root 账户下安装的,所以之前新建的,用于管理 mysql 的账户并不具有最高权限。因此,要修改 mysql 安装目录,即 mysqlDir 的所有者为 mysql,所在组为 mysql,并开放所有权限。在 mysqlDir 的上级目录下执行命令:chown -R mysql:mysql /opt/mysqlDir/、chmod 777 /opt/mysqlDir/。
启动 mysql。在 mysqlDir/bin 目录下,使用命令:./mysqld_safe &,启动 mysql 服务,其中 & 表示后台启动。使用:ps -ef | grep mysql,查看 mysql 服务是否启动成功。
登录 mysql。在 mysqlDir/bin 目录下,使用命令:./mysql -u用户名 -p,输入初始化密码,登录 mysql。其中,-u 表示使用哪个账户登录 mysql,-p 表示使用密码登录。
修改密码。登入 mysql 后,使用命令:show databases;,第一次使用时,会提示修改密码。使用命令:alter user '用户名'@'主机域名或ip' identified by '新密码';,如 alter user 'root'@'localhost' identified by 'mcc';,修改用户密码。
授权远程访问 mysql。在没有授权之前只能在本机访问 mysql,授权远程访问之后,就可以让其他计算机通过网络访问 Linux 上的 mysql。
(1)登入 mysql 后,使用命令:grant all privileges on *.* to 用户名@'%' identified by '密码';,授权远程访问。其中*.* 的第一个*表示所有数据库,第二个*表示所有的数据表,% 表示 ip 地址,也可以指定具体的 ip 地址,如 root@localhost、root@192.168.235.130 等。
(2)更新权限信息,使用命令:flush privileges;,刷新权限。
(3)关闭防火墙:systemctl stop firewalld。可以使用:systemctl status firewalld,查看防火墙是否关闭成功(Active inactive(dead))。
(4)远程连接 mysql。在其他计算机的数据库软件上,如 Windows 上的 SQLyog,输入 Linux 系统的 ip 地址,端口号:3306,授权了远程访问的用户名和密码,即可远程连接 Linux 上的 mysql。
关闭 mysql。在 mysqlDir/bin 目录下,使用命令:./mysqladmin -u用户名 -p shutdown,输入密码,关闭 mysql 服务。使用:ps -ef | grep mysql,查看 mysql 服务是否关闭成功。

【DP之家】centos相关推荐

  1. [DP之家]一个初学者想要的面试宝典

    面试宝典 面试宝典 一.个人简历模版 二.自我介绍话术 三.面试官问题 四.项目介绍 五.面试官问题 六.vue面试题 6.1 . MVC.MVP与MVVM模式 6.2 MVVM模式的优点以及与MVC ...

  2. [DP之家]一个初学者的日常总结

    如何实现拖拽     就是有三个事件 点击时触发的 拖拽时触发的 和松开时触发的  他会 把原先的坐标和 拖拽后的坐标 都传上去  就是结束拖拽的时候 就确定坐标 清楚拖拽 settimeout 实现 ...

  3. 字节跳动后台开发实习岗面试

    后台实习岗面试 技术面有三面,自我感觉: 第一面是基础面,包含计算机基础知识 第二面是算法面,包含一些简单算法 第三面是项目面及对应岗位面,包含项目分析和岗位所需基础知识. 三轮技术面均有手撕代码 一 ...

  4. android 屏幕最小宽度_最小宽度360dp Android屏幕适配—被偷走的dp - 硬件设备 - 服务器之家...

    最小宽度360dp Android屏幕适配-被偷走的dp 发布时间:2017-05-11 来源:服务器之家 一.Android手机屏幕DPI DPI概念自行百度 Android手机按照不同DPI分为: ...

  5. NYOJ740 - “炫舞家“ST (DP)

    题目链接  NYOJ740 [题意] "炫舞家"ST 时间限制:3000 ms  |            内存限制:65535 KB 难度:3 描述 ST是一个酷爱炫舞的玩家.T ...

  6. 3631. [JLOI2014]松鼠的新家【树形DP】

    Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在"树&q ...

  7. nyoj740“炫舞家“ST【dp】

    "炫舞家"ST 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3 描述 ST是一个酷爱炫舞的玩家.TA很喜欢玩QQ炫舞,因此TA也爱屋及乌的喜欢玩跳舞机 ...

  8. nyistOJ-“炫舞家“ST(DP)

    "炫舞家"ST 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3 描述 ST是一个酷爱炫舞的玩家.TA很喜欢玩QQ炫舞,因此TA也爱屋及乌的喜欢玩跳舞机 ...

  9. 洛谷P5664:Emiya 家今天的饭(容斥、dp)

    解析 应该是比较入门的容斥了 统计方案用总方案数-某列超过1半的方案数 dp设计的一个trick是只统计差值 代码 #include<bits/stdc++.h> using namesp ...

最新文章

  1. Spring Cloud Alibaba 一致性挑战:微服务架构下的数据一致性解决方案
  2. 简单Android手机APP地图,android最简单手机地图APP(只需5分钟)
  3. Mac版本的idea非正常关闭后,idea打开项目大面积报红
  4. Google Analytics 图文全攻略
  5. windows无法安装到这个磁盘。选中的磁盘采用GPT分区形式
  6. NSURLSessionDataTask与NSOperationQueue实现多文件断点下载(任意时刻终止进程,重启应用,自动重启下载)...
  7. Swift - 警告提示框(UIAlertController)的用法
  8. P3166-[CQOI2014]数三角形【GCD】
  9. 2017.4.07 js 中的function 实现的方式
  10. selenium动态网页爬虫复习
  11. 几个非常有用的iOS学习博客链接
  12. 块级,行内(内联)对比笔记
  13. java字符串构造函数的应用_构造函数中的参数0需要找不到类型为'java.lang.String'的bean...
  14. Kubernetes 小白学习笔记(28)--kubernetes云原生应用开发-高可用私有镜像仓库搭建
  15. Iterator迭代器遍历Map集合
  16. adobe bridge cs6怎么卸载_卸载after effects cs6卸载不掉 怎么办
  17. 图书馆管理系统测试计划说明书
  18. stm32专题二十一:LCD显示原理
  19. 游戏爱好者如何选购计算机,通俗易懂,游戏本该怎么挑
  20. java入门-java程序

热门文章

  1. 辛苦梳理退市公司名单及情况
  2. 2021.01.14【NOIP提高B组】模拟 总结
  3. 为什么都说Windows 没有 mac OS 流畅呢?
  4. 中大计算机专业最年轻的正教授,32岁中科大少年班毕业生成哈佛史上最年轻正教授...
  5. Java AbstractMethodError 原因分析
  6. AppCan亮相MDCC 受CCTV财经记者青睐
  7. 如何在LaTex中输入度°
  8. 推二手车平台搅局,通用汽车能从Carvana手上抢到蛋糕吗?
  9. android 倒水效果,用RealFlow实现倒水效果之导入模型教程
  10. socket指南(1)