前言

引言没有,只有一张图。

Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令。

  • ifconfig  查询、设置网卡和ip等参数
  • ifup,ifdown 脚本命令,更简单的方式启动关闭网络
  • ip  符合指令,直接修改上述功能
  1. 在我们刚装好linux的时候,需要用xshell进行远程连接,那就得获取ip地址,有时候网卡默认是没启动的,Linux也就拿不到ip地址,因此我们得手动启动网卡
  1. #编辑网卡配置文件
  2. vim /etc/sysconfig/network-scripts/ifcfg-eth0
  3. #修改配置参数
  4. ONBOOT=yes

网卡配置文件详解

如下

  1. 网络配置文件:
  2. /etc/sysconfig/network
  3. 网络接口配置文件:
  4. /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
  5. DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致;
  6. BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用staticnonedhcp表示使用DHCP服务器获取地址;
  7. IPADDR=: IP地址
  8. NETMASK=:子网掩码
  9. GATEWAY=:设定默认网关;
  10. ONBOOT=:开机时是否自动激活此网络接口;
  11. HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省;
  12. USERCTL={yes|no}: 是否允许普通用户控制此接口;
  13. PEERDNS={yes|no}: 是否在BOOTPROTOdhcp时接受由DHCP服务器指定的DNS地址;

ifup,ifdown命令

  1. 启动/关闭一块网卡
  2. ifup eth0
  3. ifdown eth0
  4. ---
  5. 如果关闭网卡,xshell会怎样?

ifconfig命令

  1. ifconfig 查看网卡的ip地址

  1. 直接输入ifconfig会列出已经启动的网卡,也可以输入ifconfig eth0单独显示eth0的信息
  2. 各选项解释是:
  3. eth0 网卡的代号
  4. lo 回环地址loopback
  5. inet IPv4Ip地址
  6. netmask 子网掩码
  7. broadcast 广播地址
  8. RX/TX 流量发/收情况 tx是发送(transport),rx是接收(receive)
  9. packets 数据包数
  10. errors 数据包错误数
  11. dropped 数据包有问题被丢弃的数量
  12. collisions 数据包碰撞情况,数值太多代表网络状况差

ip命令

  1. ip是一个命令,不是TCP/IP那个ip,这个ip命令是结合了ifconfigroute两个命令的功能。
  2. ip addr show #查看ip信息

了解了如何查看网卡信息,接下来查看系统信息。

你的系统是什么版本?

  1. #查看系统版本信息
  2. cat /etc/redhat-release
  3. CentOS Linux release 7.4.1708 (Core)
  4. #查看内核版本号
  5. uname -r
  6. 3.10.0-693.el7.x86_64
  7. #查看系统多少位
  8. uname -m
  9. x86_64
  10. #查看内核所有信息
  11. uname -a

用户管理

  1. 现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源。
  2. 普通用户在所分配到的资源内进行各自的操作,相互之间不受影响。但是这些普通用户的权限是有限制的,且用户太多的话,管理就不便,从而引入root用户。
  3. 此用户是唯一的,且拥有系统的所有权限。root用户所在的组称为root组。“组”是具有相似权限的多个用户的集合

root的权利

  1. Linux系统的特性就是可以满足多个用户,同时工作,因此Linux系统必须具备很好的安全性。
  2. 在安装RHEL7时设置的root管理员密码,这个root管理员就是所有UNIX系统中的超级用户,它拥有最高的系统所有权,能够管理系统的各项功能,如添加/删除用户,启动/关闭进程,开启/禁用硬件设备等等。
  3. 因此“能力越大,责任越大”,root权限必须很好的掌握,否则一个错误的命令可能会摧毁整个系统。

root为什么叫root?

  1. Linux系统中,用户也有自己的UID身份账号且唯一
  2. 系统管理员UID0
  3. 系统用户UID1~999 Linux安装的服务程序都会创建独有的用户负责运行。
  4. 普通用户UID1000开始:由管理员创建

用户组GID

  1. 为了方便管理属于同一组的用户,Linux 系统中还引入了用户组的概念。通过使用用 户组号码(GIDGroup IDentification),我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务。
  2. 假设有一个公司中有多个部门,每个部门中又 有很多员工。如果只想让员工访问本部门内的资源,则可以针对部门而非具体的员工来设 置权限。
  3. 例如,可以通过对技术部门设置权限,使得只有技术部门的员工可以访问公司的 数据库信息等。
  1. Linux管理员在创建用户时,将自动创建一个与其同名的用户组,这个用户组只有该用户一个人

大家都知道windows下有管理员用户

这样

或者这样

Linux/unix是一个多用户、多任务的操作系统。

root:默认在Unix/linux操作系统中拥有最高的管理权限。可以理解为qq群的群主⬇️⬇️⬇️

普通用户:是管理员或者具备管理权限的用户所创建的,只能读、看,不能增、删、改。

创建普通用户

  1. #添加用户
  2. useradd oldboy
  3. #设置密码
  4. passwd redhat
  5. root用户可以修改其他所有人的密码,且不需要验证

切换用户

  1. su命令可以切换用户身份的需求,
  2. su - username
  3. su命令中间的-号很重要,意味着完全切换到新的用户,即环境变量信息也变更为新用户的信息
  1. #先看下当前用户(我是谁)
  2. whoami
  3. #切换用户
  4. su - oldboy
  5. #退出用户登录
  6. logout
  7. ctrl + d
  • 一般情况下,在生产环境避免直接用root用户,除非有特殊系统维护需求,使用完立刻退回普通用户
  • 非交互式设置密码(echo "redhat"|passwd --stdin oldboy && history -c)
  1. Tip:
  2. 1.超级用户root切换普通用户无需密码,例如“群主”想踢谁就踢谁
  3. 2.普通用户切换root,需要输入密码
  4. 3.普通用户权限较小,只能基本查看信息
  5. 4.$符号是普通用户命令提示符,#是超级管理员的提示符
  1. root是当前用户,oldboyedu是主机名,~代表当前路径,也是家目录

groupadd命令

  1. group命令用于创建用户组,为了更加高效的指派系统中各个用户的权限,在工作中常常添加几个用户到一个组里面,这样可以针对一类用户安排权限。
  2. 例如超哥以前在公司里,就负责添加openLDAP用户管理,偶尔台湾,美国的同事去上海协作,我就得给他们添加到it部门组里面,以至于他们有对服务器操作的权限。
  3. groupadd it_dep

userdel删除用户

  1. -f 强制删除用户
  2. -r 同事删除用户以及家目录
  3. userdel -r pyyu

sudo命令

sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

语法

  1. sudo 【选项】【参数】
  2. -b:在后台执行指令;
  3. -h:显示帮助;
  4. -H:将HOME环境变量设为新身份的HOME环境变量;
  5. -k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。
  6. -l:列出目前用户可执行与无法执行的指令;
  7. -p:改变询问密码的提示符号;
  8. -s<shell>:执行指定的shell
  9. -u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
  10. -v:延长密码有效期限5分钟;
  11. -V :显示版本信息

实例

这个sudo命令用在什么时候呢?

看图

怎么办?权限不够,这时候需要sudo ls /root 以root身份去运行,chaoge权利小,root总可以了吧!!

这是由于配置sudo必须编辑/etc/sudoers文件,并且只有root才能修改,咱们可以通过visudo命令直接编辑sudoers文件,使用这个命令还可以检查语法,比直接编辑 vim /etc/sudoers更安全

  1. visudo 编辑sudoers文件
  2. 写入
  3. ## Allow root to run any commands anywhere
  4. root ALL=(ALL) ALL
  5. chaoge ALL=(ALL) ALL #允许chaoge在任何地方,执行任何命令
  1. 此时切换chaoge用户
  2. #su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
  3. su - chaoge
  4. 已经可以使用sudo ls /root 命令

文件与目录权限

Linux权限的目的是(保护账户的资料)

Linux权限主要依据三种身份来决定:

  • user/owner 文件使用者,文件属于哪个用户
  • group 属组,文件属于哪个组
  • others 既不是user,也不再group,就是other,其他人

什么是权限

  1. Linux中,每个文件都有所属的所有者,和所有组,并且规定了文件的所有者,所有组以及其他人对文件的,可读,可写,可执行等权限。
  2. 对于目录的权限来说,可读是读取目录文件列表,可写是表示在目录内新增,修改,删除文件。可执行表示可以进入目录

Linux权限的观察

使用一条命令查看权限

  1. ls -l /var/log/mysqld.log

解读上图:

  1. 权限,第一个字母为文件类型,后续9个字母,每3个一组,是三种身份的权限
  2. 文件链接数
  3. 文件拥有者-属主
  4. 文件拥有组-属组
  5. 文件大小
  6. 最后一次被修改的时间日期
  7. 文件名

先来分析一下文件的类型

  1. - 一般文件
  2. d 文件夹
  3. l 软连接(快捷方式)
  4. b 块设备,存储媒体文件为主
  5. c 代表键盘,鼠标等设备

文件权限

  1. r read可读,可以用cat等命令查看
  2. w write写入,可以编辑或者删除这个文件
  3. x executable 可以执行

目录权限

权限这里测试不要用root实验!!!!root太牛逼了

请用普通用户执行!!!!!测试文件、文件夹权限操作,请用普通用户!

  1. r 可以对此目录执行ls列出所有文件
  2. w 可以在这个目录创建文件
  3. x 可以cd进入这个目录,或者查看详细信息

权限与数字转化

  1. ls -l /var/log/mysqld.log
  2. -rw-r--r-- 1 mysql mysql 6735642 8 11 14:19 /var/log/mysqld.log
  3. 这个就代表mysqld.log文件属主是mysql,属组是mysql,只有mysql用户可以读取编写这个文件,其他人只能读此文件。

查看用户权限命令

  1. id指令查看用户所属群主
  2. [root@oldboy_python ~ 16:34:52]#id root
  3. uid=0(root) gid=0(root) 组=0(root)

修改文件权限属性

  1. 普通用户只能修改自己的文件名,时间与权限(注意)
  2. 因此修改其他用户权限,只能用最nbroot用户

#切换root用户

[pyyu@oldboy_python root]$ su -

  1. 当前/tmp/pyyu.txt文件以存在,且信息是
  2. -rw-rw-r-- 1 pyyu pyyu 0 8 11 16:41 pyyu.txt

修改属主为root

chown

  1. [root@oldboy_python /tmp 16:43:12]#chown root pyyu.txt

查看信息

  1. [root@oldboy_python /tmp 16:43:42]#ll pyyu.txt
  2. -rw-rw-r-- 1 root pyyu 0 8 11 16:41 pyyu.txt

修改属组

chgrp

  1. [root@oldboy_python /tmp 16:43:42]#ll pyyu.txt
  2. -rw-rw-r-- 1 root pyyu 0 8 11 16:41 pyyu.txt
  3. [root@oldboy_python /tmp 16:44:59]#chgrp root pyyu.txt
  4. [root@oldboy_python /tmp 16:45:51]#ll pyyu.txt
  5. -rw-rw-r-- 1 root root 0 8 11 16:41 pyyu.txt

文件权限

我们已知三种身份权限(属主,属组,其他人),每种身份都有rwx的三种权限,系统还提供了数字计算权限。

  1. r read 4
  2. w write 2
  3. x execute 1

每种身份最低是0分,最高是r+w+x 7分

因此三种身份,最高权限是777,最低是000

  1. -rw-rw-r-- 1 root root 0 8 11 16:41 pyyu.txt
  2. 因此可知pyyu.txt的权限是
  3. 属主是6 r+w(4+2)
  4. 属组是6 r+w(4+2)
  5. 其他人是4 r(4)

修改权限的命令

chmod

  1. chmod [身份]   [参数]   [文件]
  2.     u(user)   +(添加)  
  3.     g(group)  -(减去)
  4.     o(other)  =(赋值)
  5.     a(all)

例如

  1. 当前权限
  2. -rw-rw-r-- 1 root root 0 8 11 16:41 pyyu.txt
  3. 方法1
  4. 减去属主的写权限
  5. chmod u-w pyyu.txt
  6. 查看权限
  7. -r--rw-r-- 1 root root 0 8 11 16:41 pyyu.txt
  8. 方法2
  9. 属主添加可读可写可执行权限
  10. chmod 700 pyyu.txt
  11. 属主可读可写可执行
  12. 属组可读可执行
  13. 其他人可读可执行
  14. chmod 755 pyyu.txt

修改文件名,修改文件更改日期

  1. mv pyyu.txt chaoge.txt
  2. #触摸,修改时间
  3. touch chaoge.txt

软连接

软连接也叫做符号链接,类似于windows的快捷方式。

常用于安装软件的快捷方式配置,如python,nginx等

  1. ln -s 目标文件 软连接名
  2. 1.存在文件/tmp/test.txt
  3. [root@master tmp]# ls -l
  4. -rw-r--r-- 1 root root 10 10 15 21:23 test.txt
  5. 2.在/home目录中建立软连接,指向/tmp/test.txt文件
  6. ln -s /tmp/test.txt my_test
  7. 3.查看软连接信息
  8. lrwxrwxrwx 1 root root 13 10 15 21:35 my_test -> /tmp/test.txt
  9. 4.通过软连接查看文件
  10. cat my_test
  11. my_test只是/tmp/test.txt的一个别名,因此删除my_test不会影响/tmp/test.txt,但是删除了本尊,
  12. 快捷方式就无意义不存在了

PS1变量

Linux命令提示符由PS1环境变量控制

  1. [root@oldboy_python ~]# echo $PS1
  2. [\u@\h \W]\$
  3. 可以自行调整全局变量/etc/profile文件用于永久生效 PS1='[\u@\h \W\t]\$'
  4. \d  日期
  5. \H  完整主机名
  6. \h  主机名第一个名字
  7. \t  时间24小时制HHMMSS
  8. \T  时间12小时制
  9. \A  时间24小时制HHMM
  10. \u  当前用户账号名
  11. \v  BASH的版本
  12. \w  完整工作目录
  13. \W  利用basename取得工作目录名
  14. \#  下达的第几个命令
  15. \$  提示字符,root为#,普通用户为$
  16. PS1 > 变量名
  17. $PS1 > 查看变量内容
  18. PS1=新内容 重新赋值
  19. 变量赋值,查看
  20. name='chaoge'
  21. echo $name
  22. PS1显示ip地址
  23. export PS1="[\u@\h `/sbin/ifconfig ens33 | sed -nr 's/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'` \w]\$

tar解压命令

人们发明了各种各样的包,无论是双肩包,或者是装在口袋,都是为了让“文件”更方便携带。linux的文件打包工具最出名的是tar。

  1. tar 命令:用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的

语法

  1. tar(选项)(参数)
  2. -A或--catenate:新增文件到以存在的备份文件;
  3. -B:设置区块大小;
  4. -c或--create:建立新的备份文件;
  5. -C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
  6. -d:记录文件的差别;
  7. -x或--extract或--get:从备份文件中还原文件;
  8. -t或--list:列出备份文件的内容;
  9. -z或--gzip或--ungzip:通过gzip指令处理备份文件;
  10. -Z或--compress或--uncompress:通过compress指令处理备份文件;
  11. -f<备份文件>或--file=<备份文件>:指定备份文件;
  12. -v或--verbose:显示指令执行过程;
  13. -r:添加文件到已经压缩的文件;
  14. -u:添加改变了和现有的文件到已经存在的压缩文件;
  15. -j:支持bzip2解压文件;
  16. -v:显示操作过程;
  17. -l:文件系统边界设置;
  18. -k:保留原有文件不覆盖;
  19. -m:保留文件不被覆盖;
  20. -w:确认压缩文件的正确性;
  21. -p或--same-permissions:用原来的文件权限还原文件;
  22. -P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
  23. -N <日期格式> --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
  24. --exclude=<范本样式>:排除符合范本样式的文件。

实例

  1. tar -zxvf Python-3.7.0b3.tgz #解压
  2. tar -czvf oldboy.txt.tar.gz oldboy.txt #压缩oldboy.txt
  3. 上述命令等于 以下两条命令
  4. tar -cvf oldboy.tar oldboy.txt
  5. gzip oldboy.tar
  6. tar -cf all_pic.tar *.jpg #压缩当前目录所有jpg结尾的文件
  7. tar -xjf xx.tar.bz2  #解压缩bz2结尾的文件

gzip命令

  1. gzip用来压缩文件,是个使用广泛的压缩程序,被压缩的以".gz"扩展名
  2. gzip可以压缩较大的文件,以60%~70%压缩率来节省磁盘空间

语法

  1. -d或--decompress或----uncompress:解开压缩文件;
  2. -f或——force:强行压缩文件。
  3. -h或——help:在线帮助;
  4. -l或——list:列出压缩文件的相关信息;
  5. -L或——license:显示版本与版权信息;
  6. -r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
  7. -v或——verbose:显示指令执行过程;

实例

  1. 压缩当前目录所有文件为.gz文件
  2. gzip *
  3. 把上例中每个压缩的文件解压,并列出详细的信息
  4. gzip -dv *
  5. 显示压缩文件的信息,并不解压
  6. gzip -l *
  7. 压缩一个tar备份文件,扩展名是tar.gz
  8. tar -cf my.tar my_first.py
  9. gzip -r my.tar

netstat命令

  1. netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

语法【选项】

  1. netstat [选项]
  2. -t或--tcp:显示TCP传输协议的连线状况;
  3. -u或--udp:显示UDP传输协议的连线状况;
  4. -n或--numeric:直接使用ip地址,而不通过域名服务器;
  5. -l或--listening:显示监控中的服务器的Socket
  6. -p或--programs:显示正在使用Socket的程序识别码和程序名称;
  7. -a或--all:显示所有连线中的Socket

实例

  1. [root@oldboy_python ~ 10:21:59]#netstat -tunlp
  2. Active Internet connections (only servers)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  4. tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
  5. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 814/sshd
  6. tcp6 0 0 :::111 :::* LISTEN 2703/rpcbind
  7. tcp6 0 0 :::3306 :::* LISTEN 29269/mysqld
  8. udp 0 0 0.0.0.0:758 0.0.0.0:* 2703/rpcbind
  9. udp 0 0 0.0.0.0:111 0.0.0.0:* 2703/rpcbind
  10. udp 0 0 10.141.32.137:123 0.0.0.0:* 484/ntpd
  11. udp 0 0 127.0.0.1:123 0.0.0.0:* 484/ntpd
  12. udp 0 0 0.0.0.0:123 0.0.0.0:* 484/ntpd
  13. udp6 0 0 :::758 :::* 2703/rpcbind
  14. udp6 0 0 :::111 :::* 2703/rpcbind
  15. udp6 0 0 :::123 :::* 484/ntpd

ps命令

ps 命令用于查看系统中的进程状态,格式为“ps [参数]”。

  1. ps  命令常用参数
  2. -a 显示所有进程
  3. -u 用户以及其他详细信息
  4. -x 显示没有控制终端的进程

Kill命令

  1. kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。

选项

  1. -a:当处理当前进程时,不限制命令名和进程号的对应关系;
  2. -l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
  3. -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
  4. -s <信息名称或编号>:指定要送出的信息;
  5. -u:指定用户。

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略,下面是常用的信号:

  1. HUP 1 终端断线
  2. INT 2 中断(同 Ctrl + C
  3. QUIT 3 退出(同 Ctrl + \)
  4. TERM 15 终止
  5. KILL 9 强制终止
  6. CONT 18 继续(与STOP相反, fg/bg命令)
  7. STOP 19 暂停(同 Ctrl + Z

实例

  1. 先用ps查找进程,然后用kill杀掉:
  2. ps -ef | grep vim
  3. root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log
  4. root 3370 2822 0 16:21 pts/0 00:00:00 grep vim
  5. kill 3268

killall命令

  1. 通常来讲,复杂软件的服务程序会有多个进程协同为用户提供服务,如果逐个去结束这 些进程会比较麻烦,此时可以使用 killall 命令来批量结束某个服务程序带有的全部进程。
  2. 例如nginx启动后有2个进程
  3. killall nginx

Linux基础系统优化(一)的更多相关文章

  1. Linux基础 - 系统优化及常用命令

    目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...

  2. Linux基础系统优化及常用命令

    # Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...

  3. Linux基础系统优化

    Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ifconfig 查询.设置网卡和ip等参数 ifup,ifdown    脚本命 ...

  4. Linux基础系统优化(二)

    SELinux功能 SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,这个功能管理员又爱又恨,大多数生产环境也是关闭的做法,安全手段使 ...

  5. day55 linux 基础以及系统优化

    Linux系统基础优化及常用命令   Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...

  6. linux(03)基础系统优化

    Linux之基础系统优化 Linux基础系统优化 >>> https://www.cnblogs.com/pyyu/p/9355477.html Linux的网络功能相当强悍,一时之 ...

  7. Linux之基础系统优化

    Linux基础系统优化 >>> https://www.cnblogs.com/pyyu/p/9355477.html Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命 ...

  8. linux基础简答(1)

    linux基础简答题 扇区及其4个主分区的原因 在第一个扇区中,保存着引导记录和分区信息,容量为512bytes,主引导记录(相当于MBR)446 bytes,分区表64bytes,记录每个分区信息要 ...

  9. Linux基本系统优化

    Linux基本系统优化  Linux Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令, 在配置服务器基础环境时,先了解下网络参数设定命令. ifconfig 查询.设置网卡和ip等参 ...

随机推荐

  1. HAProxy 2.0 and Beyond

    转自:https://www.haproxy.com/blog/haproxy-2-0-and-beyond/  关于haproxy 2.0 的新特性说明 HAProxy Technologies i ...

  2. pgloader 学习(八) pg 2 pg 简单demo

    pg 数据到pg 数据的迁移,同时支持名称的变更 环境准备 docker-compose文件 内容偏多可以忽略部分 version: "3" services: pgloader- ...

  3. terraform v0.12.0 发布了

    v0.12.0 相比以前的有好多新的特性,包括语法,以及函数增强,昨天还在折腾的一个json解码的问题,直接使用 v0.12.0 就可以解决了,同时也包含了for 操作处理同时官方文档对于v0.12. ...

  4. Android中如何引入已经存在的标题栏

    在写程序中很多时候很多页面的标题布局大致都是一样的,这时候不需要挨着都写一遍,只需要写一个xml文件,在所需要的时候进行引用就可以了 只需要这一行代码: <include layout=&quo ...

  5. 集合类 collection接口 LinkedList

    LinkedList 是另外一种重要的数据结构形式, 底层是使用了双向链表数据结构, 特点: 查询速度慢,增删快. 继承关系如下: 可以发现,LinkedList同时实现了Quene和Deque接口. ...

  6. Java8新特性 (一)Lambda

    目录 一.Lambda介绍 二.Lambda用法实例 三.Lambda变量作用域 前言: 这两天彻底的复习了一遍Java8的各种新特性,趁着热乎劲,把知识点整理成博客的形式保存一下. 一.Lambda ...

  7. 第10组 Alpha冲刺(6/6)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 tomcat的学习与实现 服务器后端部署,API接口的beta版实现 后端代码 ...

  8. 【转】Fiddler抓包和修改WebSocket数据,支持wss

    记录一下用Fiddler对WebSocket收发的数据进行抓包分析和篡改数据,只找到这么一个方法,能用就行吧.时间:2019-3-29环境: win7 + Fiddler 5.0 Fiddler抓取W ...

  9. semi-join子查询优化 -- Duplicate Weedout策略

    duplicate weedout是执行semi-join子查询的一种策略. 将semi-join作为一个常规的inner join.然后使用一个临时表,将重复的记录排除. 假设,你有一个查询,你在寻 ...

  10. Spring Boot源码中模块详解

    Spring Boot源码中模块详解 一.源码 spring boot2.1版本源码地址:https://github.com/spring-projects/spring-boot/tree/2.1 ...