一。解答题

1、统计当前主机的TCP协议网络各种连接状态出现的次数

  1. netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
  2. netstat -nat | sed -nr '/^tcp/p' | sed -nr 's/.* ([[:alpha:]]+).*/\1/p' |sort
  3. |uniq -c
  4. ss -tan |tail -n +2|cut -d" " -f1|sort| uniq -c

2、编译源码包过程介绍。采用源码包编译的方式安装软件包时,有哪些基本过程、各自的作用是什么?

  1. tar 解包:解压、释放安装包内的文件
  2. ./configure 配置:针对当前系统环境指定安装目录、选择功能等设置。
  3. make 编译:将源代码编译成二进制的可执行程序、库文件等数据。
  4. make install:将编译好的程序文件、配置文档等复制到对应的安装目录。

3、 为什么说 TCP 协议比 UDP 协议通讯更可靠,并简述 TCP 三次握手和四次挥手的网络连接和断开过
程。

  1. 由于 TCP 协议是基于连接的,具备数据收发确认效验机制,因此他比 UDP 协议通信可靠。
  2. 三次握手:
  3. - 第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给ServerClient
  4. 进入SYN_SENT状态,等待Server确认。
  5. - 第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYNACK
  6. 都置为1 ack=J+1,随机产生一个值seq=K 并将该数据包发送给Client以确认连接请
  7. 求,Server进入SYN_RCVD状态。
  8. - 第三次握手:Client收到确认后,检查ack是否为J+1ACK是否为1,如果正确则将标志位ACK置为1
  9. ack=K+1,并将该数据包发送给ServerServer 检查ack是否为K+1ACK是否为1,如
  10. 果正确则连接建立成功,ClientServer进入ESTABLISHED状态,完成三次握手,随后ClientServer
  11. 之间可以开始传输数据了。
  12. 四次挥手:
  13. - 第一次挥手:Client发送一个FIN,用来关闭ClientServer的数据传送,Client进入FIN_WAIT_1
  14. 状态。
  15. - 第二次挥手:Server收到FIN后,发送一个ACKClient,确认序号为收到序号+1(与SYN相同,一个
  16. FIN占用一个序号),Server进入CLOSE_WAIT状态。
  17. - 第三次挥手:Server发送一个FIN,用来关闭ServerClient的数据传送,Server进入LAST_ACK
  18. 态。
  19. - 第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACKServer,确认序号
  20. 为收到序号+1Server进入CLOSED状态,完成四次挥手

  

4、 请简述将一块 100G 新硬盘插入服务器, 创建EXT4的逻辑卷1G,并配置挂载到 /data/log/,使用一段时
间空间不足,扩容到2G

  1. 看最后

5, 如何配置linux系统的环境变量,如何配置Linux系统的指定用户的环境变量。

  1. 系统环境变量:/etc/profile /etc/bash.bashrc /etc/environment #配置系统变量影响所有人
  2. 用户环境变量:~/profile ~/.bashrc ~/.bash_profile #配置指定用户的环境变量
  3. 不会影响到其他用户

6、检测网络状态一般用哪些指令,请例举。并说明具体用途?(俩种以上)

  1. 连接测试命令ping
  2. 说明:ping命令是windows的自带命令,它基于ICMP协议。通过ping命令的返回信息,可以判断能否连接远
  3. 程主机,并且看到连接远程主机的延迟时间。
  4. 网络连接状态命令netstat
  5. 说明: netstat 是一-个TCP/IP监控命令,它可以显示本机的核心路由表、实际的网络连接、开启的端口列
  6. 表,以及统计IPTCPUDP、和ICMP协议相关的通信流量。
  7. 路由表管理命令route
  8. 说明:使用route命令可以显示和修改本地路由表。入侵远程主机后,可以使用route命令来修改该主机在内网
  9. 的数据包流向,以便侦听内网明文传输的信息,偷窃其他内网用户的网络密码。

7、写出在 CentOS7.6 操作系统上创建系统用户 apache 的命令,要求其用户 id 和组 id 为 799

  1. [root@localhost ~]# groupadd apache -g 799
  2. [root@localhost ~]#
  3. [root@localhost ~]# useradd -r apache -u 799 -g 799
  4. [root@localhost ~]#
  5. [root@localhost ~]# id apache
  6. uid=799(apache) gid=799(apache) groups=799(apache)

8、请简述一下硬链接和软连接的区别和各自的特点

  1. 1.本质:硬链接:是一个文件,软连接 :不是一个文件
  2. 2. 跨设备 硬链接:不支持,软连接:支持
  3. 3. inode 硬链接:相同,软连接: 不同
  4. 4. 链接数 :硬链接:创建新的硬链接,链接数会增加,删除硬链接,链接数会减少,软连接:创建或删除,
  5. 连接数不会变化
  6. 5. 文件夹:硬链接:不支持,软连接:支持
  7. 6.相对路径: 硬链接,原始文件相对路径是相对当前工作目录的,软连接:原始文件的相对路径是相对与链
  8. 接文件的相对路径
  9. 7. 删除源文件:只是链接数减1,但是链接文件的访问不受影响,软链接:链接文件将无法访问
  10. 8. 文件类型,硬链接:和源文件相同,软连接:链接文件,和源文件无关
  11. 9.文件大小:硬链接:和源文件相同,软链接:源文件的路径的长度

9、请简述一下 IP 地址分类和各自的私网或特殊地址范围

  1. 参考答案:
  2. ipv4地址分为5类,分别是
  3. A: 0.0.0.0-127.255.255.255
  4. 其中 0.0.0.0 127.x.x.x 是本地回环地址
  5. 10.x.x.x 是私网地址
  6. B: 128.0.0.0-191.255.255.255
  7. 其中172.16.x.x---172.31.x.x 是私网地址
  8. C: 192.0.0.0-223.255.255.255
  9. 其中192.168.X.X 是私网地址
  10. D: 224.0.0.0-239.255.255.255
  11. 该类地址不分网络地址和主机地址,第一个字节以“1110”开始,它是一个专门保留的地址。
  12. 该类地址主要用于多点广播Multicast之中作为多播组IP地址
  13. E: 240.0.0.0-255.255.255.255,其中段255不可用
  14. 该类地址不分网络地址和主机地址,地址是以“1111”开始,他的第一字节的范围是240~255,为将来使
  15. 用保留

10、请使用文本处理命令打印出 /etc/init.d/functions 的所有函数名称

  1. cat /etc/init.d/functions | sed -nr 's/\{$//p'
  2. cat /etc/init.d/functions | grep "^[a-zA-Z_]\+() {" | cut -d "(" -f1
  3. cat /etc/init.d/functions | grep "()" | sed -nr 's/(.*)\(.*/\1/p'
  4. cat /etc/init.d/functions | grep "() {" | sed -nr "s/(.*)\(\) \{$/\1/p"
  5. cat /etc/rc.d/init.d/functions | egrep '^(_|[a-z])+ ?\(\)'
  6. cat /etc/init.d/functions | sed -nr 's#(.*)\(\) .*#\1#p'
  7. cat /etc/init.d/functions | grep "()"|awk '{print $1}'
  8. egrep "[_[:alpha:]]+\(\)" /etc/rc.d/init.d/functions
  9. cat /etc/rc.d/init.d/functions | egrep '^(_|[a-z])+ ?\(\)'

11、请分别简述几种常见的 raid 模式,并简述一下他们各自的特点

  1. RAID0 是一种简单的、无数据校验的数据条带化技术,可将多个磁盘合并成一个使用,容量大,读写速度
  2. 快。
  3. RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像磁盘,它的磁盘空间利用率为 50%
  4. RAID5 使用数据校验功能的,校验数据分布在阵列中的所有磁盘上,当有一块磁盘损坏时可以使用检验数
  5. 据恢复,恢复数据是磁盘比较慢,
  6. 日常使用频率较高的RAID模式,是 RAID0 RAID1 的折中方案
  7. RAID01:先做镜像,然后内部再做条带,比RAID10有跟好的容错性能,磁盘空间利用率50%
  8. RAID10:先做条带,然后内部再做镜像,磁盘空间利用率50%。比RAID10 风险高,当有一组RAID故障时,
  9. 数据丢失不可用。

12 , 创建网桥br0,配置IP为10.0.0.123/24,并将eth0,eth1加入网桥,持久保存上面配置

  1. nmcli con add type bridge con-name br0 ifname br0
  2. nmcli connection modify br0 ipv4.addresses 10.0.0.123/24 ipv4.method manual
  3. nmcli con up br0
  4. nmcli con add type bridge-slave con-name br0-port0 ifname eth0 master br0
  5. nmcli con add type bridge-slave con-name br0-port1 ifname eth1 master br0
  6. nmcli con up br0-port0
  7. nmcli con up br0-port1

13 抓取从源地址为10.0.0.111主机访问目标主机10.0.0.222的80/tcp端口的流量?

  1. tcpdump -i eth0 -nn src host 10.0.0.111 and dst host 10.0.0.222 and tcp port 80

14 主机202.192.33.160/28的子网掩码是什么,所在网段最多有多个主机?

  1. 子网掩码:255.255.255.240
  2. 所在网段最多有32-28=4,2^4-2=14

二。扩展题

1、写一个脚本,实现批量添加20个用户,用户名为:user1-20,密码为user后面跟着几个随机字符或数
字。

  1. #!/bin/bash
  2. for i in `seq 1 20`;do
  3. useradd user$i
  4. echo "user`echo $RANDOM |md5sum|head -c 6`"| passwd --stdin user$i &>
  5. /dev/null
  6. done

2、编写一键编译安装httpd的脚本

  1. #!/bin/bash
  2. #解决依赖
  3. yum -y install wget gcc gcc+ pcre-devel apr-devel apr-util-devel
  4. yum -y groupinstall "Development Tools"
  5. #下载 apache 安装包
  6. wget https://mirror.bit.edu.cn/apache/httpd/httpd-2.4.46.tar.gz
  7. #解压安装包
  8. tar -xvf httpd-2.4.46.tar.gz && cd httpd-2.4.46
  9. #生成 makefiel
  10. ./configure --prefix=/app/httpd
  11. #开始编译
  12. make && make install
  13. #启动 apache
  14. /app/httpd/bin/apachectl
  15. #通过过滤端口 80 已经打开
  16. [09:57:18 root@a7 ~]#lsof -i:80
  17. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  18. httpd 32963 root 4u IPv6 43432 0t0 TCP *:http (LISTEN)
  19. httpd 33015 daemon 4u IPv6 43432 0t0 TCP *:http (LISTEN)

3,数字答案为 1 到 100 的随机数,执行脚本后等待用户输入数字,若猜中则结束游戏,未猜中则返回答
案和所输入数字的大小关系,最多可以猜5次,5次均未猜中则结束游戏

  1. [root@localhost ~]# cat guess.sh
  2. #!/bin/bash
  3. randomNum=`expr $RANDOM % 100`
  4. echo $randomNum
  5. for((i=1;i<=5;i++)){
  6. read -p "please input a number: " myNum
  7. if [ $myNum -ne $randomNum ];then
  8. if [ $myNum -gt $randomNum ];then
  9. echo "please input a smaller number"
  10. else
  11. echo "please input a bigger number"
  12. fi
  13. else
  14. echo "you win the game , randomNumber is $randomNum"
  15. exit
  16. fi
  17. }

4,如何实现主机之间跨路由跨网段通讯。实验:主机A <<----- router1-----router2------>>主机B
主机A:

172.18.0.111/16
GATEWAY:172.18.0.200

router1:
eth0:172.18.0.200/16
eth1:192.168.6.200/24
router2:
eth0:192.168.38.200/24
eth1:192.168.6.201/24
主机B:192.168.38.222/24
GATEWAY:192.168.38.100

  1. 主机A:设置为桥接
  2. 路由1:设置eth0为桥接,eth1设置为仅主机
  3. 路由2:设置eth0为桥接,eth1NAT
  4. 主机B:设置为NAT
  5. #1、 更改所有机器ip
  6. 主机A:更改eth0 ip172.18.0.111/16 gateway:172.18.0.200
  7. 重启network服务
  8. route -n 查看路由信息
  9. router1:修改eth0 ip172.18.0.200/16
  10. eth1 ip192.168.6.200/24
  11. 重启network服务
  12. router2:修改eth0 ip192.168.38.200/24
  13. eth1 ip192.168.6.201/24
  14. 重启network服务
  15. 主机B:更改eth0 ip192.168.38.222/24 gateway:192.168.38.100
  16. 重启network服务
  17. route -n 查看路由信息
  18. 相邻机器之间可以ping通表示配置没有问题
  19. #2 配置路由
  20. router1:添加网络路由 route add -net 192.168.38.0/24 gw 192.168.6.201 dev eth1
  21. 添加默认路由 route add default gw 192.168.6.201
  22. route -n 查看路由信息
  23. router2:添加网络路由 route add -net 172.18.0.0/16 gw 192.168.6.200 dev eth1
  24. route -n 查看路由信息
  25. #3 linux系统默认不会做转发报文,因此需要添加路由转发选项
  26. cat /proc/sys/net/ipv4/ip_forward
  27. 默认为0表示禁用
  28. router1:
  29. echo > 1 /proc/sys/net/ipv4/ip_forward
  30. router2:
  31. echo > 1 /proc/sys/net/ipv4/ip_forward
  32. 主机B: ping 172.18.0.111 连通即可

5. 简述OSI协议和TCP/IP协议的对应分层功能及相关协议

第四题答案

1.添加硬盘,模拟100G

2.查看是否成功添加磁盘

  1. [root@master01 ~]# lsblk
  2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  3. sda 8:0 0 200G 0 disk
  4. ├─sda1 8:1 0 1G 0 part /boot
  5. ├─sda2 8:2 0 100G 0 part /
  6. ├─sda3 8:3 0 2G 0 part
  7. ├─sda4 8:4 0 1K 0 part
  8. └─sda5 8:5 0 50G 0 part /data
  9. sdb 8:16 0 100G 0 disk #新添加的100G磁盘
  10. sr0 11:0 1 4.3G 0 rom

3.实现逻辑卷

3.1 创建物理卷

  1. 1.#先安装相关工具
  2. [root@master01 ~]# yum install -y lvm2
  3. 2.#创建物理卷
  4. [root@master01 ~]# pvcreate /dev/sdb
  5. Physical volume "/dev/sdb" successfully created.
  6. 3.#查看物理卷简要信息
  7. [root@master01 ~]# pvs
  8. PV VG Fmt Attr PSize PFree
  9. /dev/sdb lvm2 --- 100.00g 100.00g #可以看到物理卷为100G
  10. [root@master01 ~]# pvdisplay /dev/sdb #查看物理卷详细信息
  11. "/dev/sdb" is a new physical volume of "100.00 GiB"
  12. --- NEW Physical volume ---
  13. PV Name /dev/sdb
  14. VG Name
  15. PV Size 100.00 GiB
  16. Allocatable NO
  17. PE Size 0
  18. Total PE 0
  19. Free PE 0
  20. Allocated PE 0
  21. PV UUID Qa7eTs-fam8-8u2E-c8DG-oGUJ-4xPX-afpBbA

3.2 创建卷组

  1. [root@master01 ~]# vgcreate -s 16M vg0 /dev/sdb
  2. Volume group "vg0" successfully created
  3. #-s 16M,指定pe大小为16M
  4. [root@master01 ~]# vgs
  5. VG #PV #LV #SN Attr VSize VFree
  6. vg0 1 0 0 wz--n- 99.98g 99.98g

3.3 创建逻辑卷

  1. [root@master01 ~]# lvcreate -n mydata -L 1G vg0 #创建1G的逻辑卷
  2. Logical volume "mydata" created.
  3. [root@master01 ~]# lvs
  4. LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync
  5. Convert
  6. mydata vg0 -wi-a----- 1.00g

3.4 创建文件系统

  1. [root@master01 ~]# mkfs.ext4 /dev/vg0/mydata
  2. mke2fs 1.42.9 (28-Dec-2013)
  3. Filesystem label=
  4. OS type: Linux
  5. Block size=4096 (log=2)
  6. Fragment size=4096 (log=2)
  7. Stride=0 blocks, Stripe width=0 blocks
  8. 65536 inodes, 262144 blocks
  9. 13107 blocks (5.00%) reserved for the super user
  10. First data block=0
  11. Maximum filesystem blocks=268435456
  12. 8 block groups
  13. 32768 blocks per group, 32768 fragments per group
  14. 8192 inodes per group
  15. Superblock backups stored on blocks:
  16. 32768, 98304, 163840, 229376
  17. Allocating group tables: done
  18. Writing inode tables: done
  19. Creating journal (8192 blocks): done
  20. Writing superblocks and filesystem accounting information: done

3.5 对逻辑卷进行挂载

  1. #先创建挂载点
  2. [root@master01 ~]# mkdir /data/log
  3. [root@master01 ~]# mount /dev/vg0/mydata /data/log/
  4. [root@master01 ~]# df -h
  5. Filesystem Size Used Avail Use% Mounted on
  6. /dev/sda2 100G 3.3G 97G 4% /
  7. devtmpfs 900M 0 900M 0% /dev
  8. tmpfs 910M 0 910M 0% /dev/shm
  9. tmpfs 910M 12M 899M 2% /run
  10. tmpfs 910M 0 910M 0% /sys/fs/cgroup
  11. /dev/sda5 50G 33M 50G 1% /data
  12. /dev/sda1 1014M 138M 877M 14% /boot
  13. tmpfs 182M 0 182M 0% /run/user/0
  14. /dev/mapper/vg0-mydata 976M 2.6M 907M 1% /data/log #已经挂载

4.实现逻辑卷扩容

因为使用一段时间后,导致空间不足,所以要进行扩容,扩容到2G

  1. 1.#空间扩展
  2. [root@master01 ~]# lvextend -L +1G /dev/vg0/mydata
  3. Size of logical volume vg0/mydata changed from 1.00 GiB (64 extents) to 2.00
  4. GiB (128 extents).
  5. Logical volume vg0/mydata successfully resized.
  6. [root@master01 ~]# lvs
  7. LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync
  8. Convert
  9. mydata vg0 -wi-ao---- 2.00g
  10. 2.#文件系统的扩展
  11. [root@master01 ~]# resize2fs /dev/vg0/mydata
  12. resize2fs 1.42.9 (28-Dec-2013)
  13. Filesystem at /dev/vg0/mydata is mounted on /data/log; on-line resizing required
  14. old_desc_blocks = 1, new_desc_blocks = 1
  15. The filesystem on /dev/vg0/mydata is now 524288 blocks long.

检测是否扩展成功

  1. [root@master01 ~]# df -h
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/sda2 100G 3.3G 97G 4% /
  4. devtmpfs 900M 0 900M 0% /dev
  5. tmpfs 910M 0 910M 0% /dev/shm
  6. tmpfs 910M 12M 899M 2% /run
  7. tmpfs 910M 0 910M 0% /sys/fs/cgroup
  8. /dev/sda5 50G 33M 50G 1% /data
  9. /dev/sda1 1014M 138M 877M 14% /boot
  10. tmpfs 182M 0 182M 0% /run/user/0
  11. /dev/mapper/vg0-mydata 2.0G 3.0M 1.9G 1% /data/log #可以看到已经扩容到2G

M43 第一阶段考试的更多相关文章

  1. JAVA EE 第一阶段考试

    在第一阶段中我们学习了Spring Struts2 Hibernate.虽然在外面的公司中,公司项目的框架中都不在使用Struts2了.他好像出现了不可修复的bug.但是在学校,依然还是要学习这个.在 ...

  2. 第一阶段考试:实战Linux系统日常管理

    1. [项目名称] 实战Linux系统日常管理 [项目说明] 1.安装部署rhel系统,组建RAID磁盘阵列. 2.安装nginx 通过脚本编写 nginx服务服务启动脚本 [项目考核技能点] 1.安 ...

  3. 自我总结(六)---(学习j2ee+j2ee第一阶段项目)

    自我完善的过程就是在不断的自我总结不断的改进. 学习了Struts2 Spring Hibernate. 十天前结束了这个课程.也考试了.这次考试老师说机试考的还不错.其实就是一个简单的用户登录,进行 ...

  4. 计算机二级Python(第一阶段)

    介绍   本篇文章主要针对于计算机二级考试的崽崽,当然想了解Python和学习Python的崽崽也是可以看本篇文章的:毕竟,手机和电脑都可以运行Python:本篇我文章虽然是笔记,但是也纯靠手打,希望 ...

  5. PHP四个阶段目标以及第一阶段学习内容

    PHP课程体系主要分为四个阶段,第一阶段讲的是网页HTML和数据库MySQL,第一阶段要学会网页制作的基础知识,熟用各种基本标签,对数据库进行操作,各项考核都能够达标,拿出出众的项目展示. 在第二个阶 ...

  6. Bete冲刺第一阶段

    Bete冲刺第一阶段 今日工作: github团队协作流程 web:调整dao层设计,增加新的dao组件 客户端:之前遗留的界面跳转的BUG 目前所遇问题: 第一,COCOAPODS的安装上还是有点问 ...

  7. java - 第一阶段总结

    java - 第一阶段总结 递归 递归:能不用就不用,因为效率极低 package over; //递归 public class Fi { public static void main(Strin ...

  8. Java第一阶段总结

    学习java已经一个多月的时间了,第一阶段总算完成了. 这中间遇到很多问题,通过问同学问学长,收获了很多,但也知道自己和其他同学相差很远.他们java第一阶段只用了不到一个月的时间,而我拖了很长时间, ...

  9. [原创].NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇)

    原文:[原创].NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇) .NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇) 前言:接着上篇来. 系列文章链接: [ ...

随机推荐

  1. web移动端css reset

    通用版css reset,pc端使用只需要修改html{font-size: 10px;}为html{font-size: 12px;} @charset "utf-8"; htm ...

  2. 深入解析volatile关键字

    前言 很高兴遇见你~ 欢迎阅读我的文章. volatile关键字在Java多线程编程编程中起的作用是很大的,合理使用可以减少很多的线程安全问题.但其实可以发现使用这个关键字的开发者其实很少,包括我自己 ...

  3. ST 表练习笔记

    P2048 [NOI2010]超级钢琴 首先按照 前缀和最大值 建立 \(ST\) 表 对于每一个 \(i\) 维护一个以他为起始点的最大的 "超级和弦" (\(ST\) 表 \( ...

  4. MySQL5.7 主主复制配置

    MySQL 5.7 主主复制配置 一.简介: MySQL主主复制其实就是两个MySQL主从复制组合到一起,接着我的上一篇博客<centos 7 配置 mysql 5.7 主从复制>配置即可 ...

  5. rman恢复实践

    1) Loss of system DATAFILE 2) Loss of non-system DATAFILE 3) Loss of a DATAFILE without Backup 4) Lo ...

  6. 【C#】DockPanelSuite 中 DockState.Document 状态下子窗体控件不显示的解决方案

    DockPanelSuite 是 Winform 中优秀的布局控件,但是这次使用过程中却出了个问题. 我遇到的问题是这样的,主窗体是通过 ShowDialog 显示的,子窗体的停靠状态为 DockSt ...

  7. Greenplum 性能优化之路 --(一)分区表

    一.什么是分区表 分区表就是将一个大表在物理上分割成若干小表,并且整个过程对用户是透明的,也就是用户的所有操作仍然是作用在大表上,不需要关心数据实际上落在哪张小表里面.Greenplum 中分区表的原 ...

  8. 事件修饰符 阻止冒泡 .stop 阻止默认事件 .prevent

    stop修饰符 阻止冒泡行为 可以在函数中利用$event传参通过stopPropagation()阻止冒泡 通过直接在元素中的指令中添加 .stop prevent修饰符 阻止默认行为 可以在函数中 ...

  9. [日常摸鱼]bzoj2038[2009国家集训队]小Z的袜子-莫队算法

    今天来学了下莫队-这题应该就是这个算法的出处了 一篇别人的blog:https://www.cnblogs.com/Paul-Guderian/p/6933799.html 题意:一个序列,$m$次询 ...

  10. aaencode:用颜文字来加密吧

    今天逛大佬博客发现了一个有意思的东西 ゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚ ...