From 1d47307cbe88f871ec03746eb2ac52c4ae314ac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Thu, 20 Jun 2024 15:45:55 +0000 Subject: [PATCH 01/13] =?UTF-8?q?=E5=A5=BD=E5=A4=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- ...42\350\257\225\345\244\247\345\205\250.md" | 1103 +++++++++++++++++ ...2\350\257\225\345\244\247\345\205\2502.md" | 906 ++++++++++++++ 2 files changed, 2009 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250.md" create mode 100644 "01\351\251\254\346\227\255\344\270\234/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\2502.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250.md" "b/01\351\251\254\346\227\255\344\270\234/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250.md" new file mode 100644 index 0000000..6180492 --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250.md" @@ -0,0 +1,1103 @@ +1. Linux 查看哪个服务程序占用了 8089 端口用什么命令? + +```undefined +答:netstat –anpt | grep 8089 +``` + +1. 杀死 PID 为 4728 的进程用什么命令? + +```undefined +答:kill -9 4728 +``` + +1. 找出当前目录以及子目录下文件名以 en 为首字母的文件用什么命令? + +```undefined +答:find . -name "en* " +``` + +1. Linux 下,为 filename.sh 脚本赋予可执行权限? + +```undefined +答:chmod +x filename.sh +``` + +1. 解压 gz 包、zip 包分别用什么命令和参数? + +```undefined +答:tar -xf .gz -C /usr/local +``` + +1. unzip .zip + +支持 rpm 包的 linux 环境,查询是否安装过 smile 包用何命令? 如安装过,卸载此包用何命令? + +```undefined +答:rpm -q smile ;rpm -e smile +``` + +1. 写出 linux 下设置 jdk 环境变量的方法 + +```undefined +vi /etc/profile添加内容 JAVA_HOME=/usr/local/java/jdk1.8.0_221 PATH=JAVAHOME/bin:PATH CLASSPATH=.:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH +``` + +1. systemctl disable firewalld 此命令的含义是, systemctl stop firewalld 此命令的含义是 + +```undefined +答:永久关闭Firewalld防火墙;后面命令是临时关闭 +``` + +1. 查看 docker 运行状态命令 构建一个镜像,镜像名为 swub,标签 v1 从 swub 镜像启动一个容器 swubsa,要求将容器的 8080 和 9527 端口分别映射到宿主机的 8080 和 9527 端口,主机文件夹 /home/lan/volume 容器卷/swdata + +```undefined +答: 构建镜像:docker build 增加镜像标签docker tag swub:v1 +``` + +1. docker run -itd --name swubsa -p 8080:8080 -p 9527:9527 -v /home/lan/volume:/swdata swub:v1 +2. nginx 如需设置两个服务地址的负载,要操作的配置文件名字是什么 ?启动 nginx 命令 关闭 nginx 命令 + +```undefined +答:/etc/nginx/nginx.conf;systemctl start nginx;systemctl stop nginx +``` + +1. SELECT id, name FROM table1 WHERE id = ( SELECT id FROM table2 WHERE name = “李四”); 一句话描述上面查询语句,此查询的目的是什么? + +```undefined +答:查询table1表id字段等于table2表name字段是李四的信息 +``` + +## 二、填空题形式: + +1. 在Linux系统中,以 `文件` 方式访问设备 . +2. Linux内核引导时,从文件`/etc/fstab` 中读取要加载的文件系统. +3. Linux文件系统中每个文件用 `i节点`来标识. +4. 全部磁盘块由四个部分组成,分别为`引导块 `、`专用块` 、 `i节点`表块 和`数据存储块`. +5. 链接分为: `硬链接` 和 `符号链接` . +6. 超级块包含了`i节点表` 和 `空闲块表`等重要的文件系统信息. +7. 某文件的权限为:`d-rw-_r--_r--`,用数值形式表示该权限,则该八进制数为: `644` ,该文件属性是 `目录` . +8. 前台起动的进程使用 `Ctrl+c` 终止. +9. 静态路由设定后,若`网络拓扑结构`发生变化,需由系统管理员修改路由的设置. +10. 网络管理的重要任务是: `控制` 和 `监控` . +11. 安装Linux系统对硬盘分区时,有两种分区类型: `文件系统分区` 和 `交换分区` . +12. 编写的Shell程序运行前赋予该脚本文件 `执行` 权限. +13. 系统管理的任务之一是能够在 `分布式` 环境中实现对程序和数据的`安全保护`、`备份`、`恢复`和`更新`. +14. 系统交换分区是作为`系统虚拟存储器` 的一块区域. +15. 内核分为 `进程管理系统` 、 `内存管理系统` 、 `I/O管理系统` 和`文件管理系统` 等四个子系统. +16. 内核配置是系统管理员在改变系统配置 `硬件` 时要进行的重要操作. +17. 在安装Linux系统中,使用netconfig程序对网络进行配置,该安装程序会一步步提示用户输入`主机名`、`域名`、`域名服务器`、`IP地址`、 `网关地址` 和 `子网掩码` 等必要信息. +18. 唯一标识每一个用户的是`用户 ID` 和`用户名`. +19. 在Linux系统中所有内容都被表示为`文件`,组织文件的各种方法称为 `文件系统` . +20. DHCP可以实现动态 `IP` 地址分配. +21. 系统网络管理员的管理对象是`服务器`、 `用户` 和`服务器的进程` 以及系统的各种资源. +22. 网络管理通常由`监测`、`传输`和`管理`三部分组成,其中管理部分是整个网络管理的中心. +23. 当想删除本系统用不上的 `设备驱动程序` 时编译内核,当内核不支持系统上的 `设备驱动程序` 时,对内核 `升级` . +24. `Ping`命令可以测试网络中本机系统是否能到达 `一台远程主机` ,常常用于测试网络的 `连通性` . +25. vi编辑器具有两种工作模式: `命令模式` 和 `输入模式` . +26. 可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占 `1` 位,表示 `文件类型` ,第二段占3位,表示 `文件所有者` 对该文件的权限. +27. 进程与程序的区别在于其动态性,动态的产生和终止,从产生到终止进程可以具有的基本状态为: `运行态` 、 `就绪态` 和 `等待态(阻塞态)` . +28. DNS实际上是分布在internet上的主机信息的数据库,其作用是实现 `IP地址和主机名` 之间的转换. +29. Apache是实现WWW服务器功能的应用程序,即通常所说的"浏览web服务器",在`服务器端` 为用户提供浏览 `web服务` 的就是apache应用程序. +30. 在Linux系统上做备份可以有两种类型:`系统备份` 和 `用户备份` .其中前者是指对 `操作系统` 的备份,后者是指对 `应用程序和用户文件`的备份. +31. CD-ROM标准的文件系统类型是 `iso9660` . +32. 当lilo.conf配置完毕后,使之生效,应运行的命令及参数是 `lilo` . +33. 在使用ls命令时,用八进制形式显示非打印字符应使用参数 `-b` . +34. Linux使用支持Windows 9.x/2000长文件名的文件系统的类型是 `vfat` . +35. 设定限制用户使用磁盘空间的命令是 `quota` . +36. 在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是 `/etc` . +37. 硬连接只能建立对 `文件` 链接.符号链接可以跨不同文件系统创建. +38. 套接字文件的属性位是 `s` . +39. 结束后台进程的命令是 `kill` . +40. 进程的运行有两种方式,即 `独立运行`和`使用父进程`运行 . +41. Links分为 `硬链接`和`符号链接 `. +42. 在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是 `ps -aux` . +43. 管道文件的属性位是 `p` . +44. 将前一个命令的标准输出作为后一个命令的标准输入,称之为 `管道` . +45. 为脚本程序指定执行权的命令及参数是 `chmod a x filename` . +46. 进行远程登录的命令是 `telnet` . +47. 欲发送10个分组报文测试与主机abc.tuu.edu.cn的连通性,应使用的命令和参数是:`ping abc.tuu.edu.cn –c 10 `. +48. DNS服务器的进程命名为named,当其启动时,自动装载 /etc目录下的 `named.conf` 文件中定义的DNS分区数据库文件. +49. Apache服务器进程配置文件是 `httpd.conf` . +50. 在 Linux系统中,压缩文件后生成后缀为.gz文件的命令是 `gzip` . +51. 在用vi编辑文件时,将文件内容存入test.txt文件中,应在命令模式下键入`:w test.txt` . +52. 可以在标准输出上显示整年日历的命令及参数是 `cal -y` . +53. 在shell编程时,使用方括号表示测试条件的规则是:方括号两边有 `空格` . +54. 检查已安装的文件系统/dev/had5是否正常,若检查有错,则自动修复,其命令及参数是 `fsck –a /dev/had5` . +55. 在Windows9.x环境下共享Unix/Linux中的用户目录的一个工具是 `Samba服务器` . +56. 系统管理员的职责是进行`系统资源管理`、`系统性能管理`、`设备管理`、`安全管理`和 `系统性能监测` . +57. 在Linux系统中,测试DNS服务器是否能够正确解析域名的的客户端命令,使用命令 `nslookup` . +58. 在Linux系统下,第二个IDE通道的硬盘(从盘)被标识为 hdb . +59. 当系统管理员需升级内核版本和改变系统硬件配置时,应 重新编译内核 . +60. 如果只是要修改系统的IP地址,应修改 /etc/rc.d/rc.inet1 配置文件. +61. 当LAN内没有条件建立DNS服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置 /etc/hosts 文件. +62. 在vi编辑环境下,使用 `Esc`键 进行模式转换. +63. Slackware Linux 9.0通常使用 ext3 文件系统,系统的全部磁盘块由 四 部分组成. +64. 将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式 tar zcvf /home/wang.tar.gz /home/stud1/wang . +65. 管道就是将前一个命令的 标准输出 作为后一个命令的 标准输入 . +66. 在使用手工的方法配置网络时,可通过修改 `/etc/HOSTNAME` 文件来改变主机名,若要配置该计算机的域名解析客户端,需配置 `/etc/resolv.conf` 文件. +67. 启动进程有手动启动和调度启动两种方法,其中调度启动常用的命令为 `at` 、 `batch` 和 `crontab` . +68. test.bns.com.cn的域名是 bns.com.cn ,如果要配置一域名服务器,应在 `named.conf` 文件中定义DNS数据库的工作目录. +69. Sendmail邮件系统使用的两个主要协议是: `SMTP` 和 `POP` ,前者用来发送邮件,后者用来接收邮件. +70. DHCP是动态主机配置协议的简称,其作用是:`为网络中的主机分配IP地址` . +71. 目前代理服务器使用的软件包有很多种,教材中使用的是 `squid` . +72. rm命令可删除文件或目录,其主要差别就是是否使用递归开关 `-r`或`-R` . +73. `mv` 命令可以移动文件和目录,还可以为文件和目录重新命名. +74. 路由选择协议(RIP)的跳数表示到达目的地之前通过的 `网关` 数,RIP接受的最长距离是 `15跳` . +75. ping命令用于测试网络的连通性,ping命令通过`ICMP 协议(internet控制信息协议)`来实现. +76. nfs 协议用于实现`Unix(/linux)主机`之间的文件系统共享. +77. 在Linux操作系统中,设备都是通过特殊的 `文件` 来访问. +78. shell不仅是 `用户命令`的解释器 ,它同时也是一种功能强大的编程语言. bash是Linux的缺省shell. +79. 用 `>>`符号将输出重定向内容附加在原文的后面. +80. 增加一个用户的命令是:`adduser` 或`useradd` . +81. 进行字符串查找,使用`grep`命令. +82. 使用 `*` 每次匹配若干个字符. +83. `/sbin` 目录用来存放系统管理员使用的管理程序. + +## 三.单项选择题形式: + +1. 下面的网络协议中,面向连接的的协议是: `A `. + +```Plain +输控制协议 B 用户数据报协议 C 网际协议 D 网际控制报文协议 +``` + +1. 在/etc/fstab文件中指定的文件系统加载参数中, `D` 参数一般用于CD-ROM等移动设备. + +```undefined +A defaults B sw C rw和ro D noauto +``` + +1. Linux文件权限一共10位长度,分成四段,第三段表示的内容是 `C` . + +```undefined +A 文件类型 B 文件所有者的权限 C 文件所有者所在组的权限 D 其他用户的权限 +``` + +1. 终止一个前台进程可能用到的命令和操作 `B` . + +```undefined + A kill + B 〈CTRL〉; C + C shut down + D halt +``` + +1. 在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是 `D` . + +```undefined +A -m B -d C -f D -p +``` + +1. 下面关于i节点描述错误的是 `A` .(inode是一种数据结构,vfs中描述文件的相关参数??) + +```undefined + A i节点和文件是一一对应的 + B i节点能描述文件占用的块数 + C i节点描述了文件大小和指向数据块的指针 + D 通过i节点实现文件的逻辑结构和物理结构的转换 +``` + +1. 一个文件名字为rr.Z,可以用来解压缩的命令是: `D` . + +```undefined +A tar B gzip C compress D uncompress +``` + +1. 具有很多C语言的功能,又称过滤器的是 `C` . + +```undefined +A csh B tcsh C awk(awk详解) D sed +``` + +1. 一台主机要实现通过局域网与另一个局域网通信,需要做的工作是 `C` . + +```undefined +A 配置域名服务器 +B 定义一条本机指向所在网络的路由 +C 定义一条本机指向所在网络网关的路由 +D 定义一条本机指向目标网络网关的路由 +``` + +1. 建立动态路由需要用到的文件有 `D` . + +```undefined + A /etc/hosts + B /etc/HOSTNAME + C /etc/resolv.conf + D /etc/gateways +``` + +1. 局域网的网络地址192.168.1.0/24,局域网络连接其它网络的网关地址是192.168.1.1.主机192.168.1.20访问172.16.1.0/24网络时,其路由设置正确的是 `B` . + +```undefined +A route add –net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1 +B route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.255 metric 1 +C route add –net 172.16.1.0 gw 172.16.1.1 netmask 255.255.255.0 metric 1 +D route add default 192.168.1.0 netmask 172.168.1.1 metric 1 +``` + +1. 下列提法中,不属于ifconfig命令作用范围的是 `D` . + +```undefined +A 配置本地回环地址 B 配置网卡的IP地址 C 激活网络适配器 D 加载网卡到内核中 +``` + +1. 下列关于链接描述,错误的是 `B` . + +```undefined +A 硬链接就是让链接文件的i节点号指向被链接文件的i节点 +B 硬链接和符号连接都是产生一个新的i节点 +C 链接分为硬链接和符号链接 +D 硬连接不能链接目录文件 +``` + +1. 14. 在局域网络内的某台主机用ping命令测试网络连接时发现网络内部的主机都可以连同,而不能与公网连通,问题可能是 `C`. + +```undefined +A 主机IP设置有误 +B 没有设置连接局域网的网关 +C 局域网的网关或主机的网关设置有误 +D 局域网DNS服务器设置有误 +``` + +1. 下列文件中,包含了主机名到IP地址的映射关系的文件是: `B` . + +```undefined +A /etc/HOSTNAME B /etc/hosts C /etc/resolv.conf D /etc/networks +``` + +1. 16. 不需要编译内核的情况是 D . + +```undefined +A 删除系统不用的设备驱动程序时 B 升级内核时 C 添加新硬件时 D 将网卡激活 +``` + +1. 17. 在shell中变量的赋值有四种方法,其中,采用name=12的方法称 `A` . + +```undefined +A 直接赋值 B使用read命令 C 使用命令行参数 D使用命令的输出 +``` + +1. D 命令可以从文本文件的每一行中截取指定内容的数据. + +```undefined +A cp B dd C fmt D cut +``` + +1. 19. 下列不是Linux系统进程类型的是 `D` . + +```undefined +A 交互进程 B 批处理进程 C 守护进程 D 就绪进程(进程状态) +``` + +1. 20.配置Apache 1.3.19服务器需要修改的配置文件为 `A` + +```undefined +A httpd.conf B access.conf C srm.conf D named.conf +``` + +1. 内核不包括的子系统是 `D` . + +```undefined +A 进程管理系统 B 内存管理系统 C I/O管理系统 D硬件管理系统 +``` + +1. 在日常管理中,通常CPU会影响系统性能的情况是: `A` . + +```undefined +A CPU已满负荷地运转 B CPU的运行效率为30% C CPU的运行效率为50% D CPU的运行效率为80% +``` + +1. 若一台计算机的内存为128MB,则交换分区的大小通常是 `C` . + +```undefined +A 64MB B 128MB C 256MB D 512MB +``` + +1. 在安装Linux的过程中的第五步是让用户选择安装方式,如果用户希望安装部分组件(软件程序),并在选择好后让系统自动安装,应该选择的选项是 `D` . + +```undefined +A full B expert C newbie D menu +``` + +1. Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用 `C` 命令. + +```undefined +A cat B more C less D menu +``` + +1. 下列信息是某系统用ps –ef命令列出的正在运行的进程, `D` 进程是运行Internet超级服务器,它负责监听Internet sockets上的连接,并调用合适的服务器来处理接收的信息. + +```undefined +A root 1 4.0 0.0 344 204? S 17:09 0:00 init +B root 2 0.0 0.1 2916 1520? S 17:09 0:00 /sbin/getty +C root 3 0.0 0.2 1364 632? S 17:09 0:00 /usr/sbin/syslogd +D root 4 0.0 1344 1204? S 17:09 0:10 /usr/sbin/inetd +``` + +1. 在TCP/IP模型中,应用层包含了所有的高层协议,在下列的一些应用协议中, `B`是能够实现本地与远程主机之间的文件传输工作. + +```undefined +A telnet B FTP C SNMP D NFS +``` + +1. 当我们与某远程网络连接不上时,就需要跟踪路由查看,以便了解在网络的什么位置出现了问题,满足该目的的命令是 `C` . + +```undefined +A ping B ifconfig C traceroute D netstat +``` + +1. 对名为fido的文件用chmod 551 fido 进行了修改,则它的许可权是 `D` . + +```undefined +A -rwxr-xr-x B -rwxr--r-- C -r--r--r-- D -r-xr-x-x +``` + +1. 在i节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第1块到第11块,则该文件共占有 `B` 块号. + +```undefined +A 256 B 266 C 11 D 256×10 (??) +``` + +1. 用ls –al 命令列出下面的文件列表, `D` 文件是符号连接文件. + +```undefined +A -rw-rw-rw- 2 hel-s users 56 Sep 09 11:05 hello +B -rwxrwxrwx 2 hel-s users 56 Sep 09 11:05 goodbey +C drwxr--r-- 1 hel users 1024 Sep 10 08:10 zhang +D lrwxr--r-- 1 hel users 2024 Sep 12 08:12 cheng +``` + +1. DNS域名系统主要负责主机名和 `A` 之间的解析. + +```undefined +A IP地址 B MAC地址 C 网络地址 D 主机别名 +``` + +1. WWW服务器是在Internet上使用最为广泛,它采用的是 `B` 结构. + +```undefined +A 服务器/工作站 B B/S C 集中式 D 分布式 +``` + +1. Linux系统通过 `C` 命令给其他用户发消息. + +```undefined +A less +B mesg y +C write +D echo to +[ 注:mesg [y|n] 所有使用者 决定是否允许其他人传讯息到自己的终端机介面 ] +``` + +1. NFS是 `C` 系统. + +```undefined +A 文件 B 磁盘 C 网络文件 D 操作 +``` + +1. `B` 命令可以在Linux的安全系统中完成文件向磁带备份的工作. + +```undefined +A cp +B tr +C dir +D cpio +[注:如果用 echo PATH或者echoPATH或者echoLD_LIBRARY_PATH 等类似的命令来显示路径信息的话,我们看到的将会是一大堆用冒号连接在一起的路径, tr 命令可以把这些冒号转换为回车,这样,这些路径就具有很好的可读性了: echo $PATH | tr ":" "\n"] +``` + +1. Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在 `C` 目录中. + +```undefined +A /bin B /etc C /dev D /lib +``` + +1. 在重新启动Linux系统的同时把内存中的信息写入硬盘,应使用 `D` 命令实现. + +```undefined +A # reboot B # halt C # reboot D # shutdown –r now +``` + +1. 网络管理具备以下几大功能:配置管理、 `A` 、性能管理、安全管理和计费管理等. + +```undefined +A 故障管理 B 日常备份管理 C 升级管理 D 发送邮件 +``` + +1. 关于代理服务器的论述,正确的是 `A` . + +```undefined +A 使用internet上已有的公开代理服务器,只需配置客户端. +B 代理服务器只能代理客户端http的请求. +C 设置好的代理服务器可以被网络上任何主机使用. +D 使用代理服务器的客户端没有自己的ip地址. +``` + +1. 关闭linux系统(不重新启动)可使用命令 `B` . + +```undefined +A Ctrl Alt Del B halt C shutdown -r now D reboot +``` + +1. 实现从IP地址到以太网MAC地址转换的命令为: `C` . + +```undefined +A ping B ifconfig C arp D traceroute +``` + +1. 在vi编辑器中的命令模式下,键入 `B` 可在光标当前所在行下添加一新行. + +```undefined +A 〈a〉; B 〈o〉; C 〈I〉; D A +``` + +1. 在vi编辑器中的命令模式下,删除当前光标处的字符使用 `A` 命令. + +```undefined +A 〈x〉; B 〈d〉;〈w〉; C 〈D〉; D 〈d〉;〈d〉; +``` + +1. 在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用 `C` 命令. + +```undefined +A 上箭头 B 下箭头 C 〈.〉; D 〈*〉; +``` + +1. 用命令ls -al显示出文件ff的描述如下所示,由此可知文件ff的类型为 `A` . -rwxr-xr-- 1 root root 599 Cec 10 17:12 ff + +```undefined +A 普通文件 B 硬链接 C 目录 D 符号链接 +``` + +1. 删除文件命令为: `D` . + +```undefined +A mkdir B rmdir C mv D rm +``` + +1. 在下列的名称中,不属于DNS服务器类型的是:`C` + +```undefined +A Primary Master Server +B Secondary Master Server +C samba +D Cache_only Server +``` + +1. 网络管理员对WWW服务器进行访问、控制存取和运行等控制,这些控制可在 `A` 文件中体现. + +```undefined +A httpd.conf B lilo.conf C inetd.conf D resolv.conf +``` + +1. 邮件转发代理也称邮件转发服务器,它可以使用SMTP协议,也可以使用 `C` 协议. + +```undefined +A FTP B TCP C UUCP D POP +``` + +1. 启动samba服务器进程,可以有两种方式:独立启动方式和父进程启动方式,其中前者是在 `C` 文件中以独立进程方式启动. + +```undefined +A /usr/sbin/smbd B /usr/sbin/nmbd C rc.samba D /etc/inetd.conf +``` + +1. DHCP是动态主机配置协议的简称,其作用是可以使网络管理员通过一台服务器来管理一个网络系统,自动地为一个网络中的主机分配 `D` 地址. + +```undefined +A 网络 B MAC C TCP D IP +``` + +1. 为了保证在启动服务器时自动启动DHCP进程,应将 `A`文件中的dhcpd=no改为dhcpd=yes. + +```undefined +A rc.inet1 +B lilo.conf +C inetd.conf +D httpd.conf[注: 英文原义:RC中文释义:含有程序(应用程序甚至操作系统)启动指令的脚本文件注解:这一文件在操作系统启动时会自动执行,它含有要运行的指令(命令或其它脚本)列表.] +``` + +1. 对文件进行归档的命令为 `D` . + +```undefined +A dd B cpio C gzip D tar +``` + +1. 改变文件所有者的命令为 `C` . + +```undefined +A chmod B touch C chown D cat +``` + +1. 在给定文件中查找与设定条件相符字符串的命令为: `A` + +```undefined + A grep B gzip C find D sort +``` + +1. 建立一个新文件可以使用的命令为 `D` . + +```undefined +A chmod B more C cp D touch(指令改变档案的时间记录.) +``` + +1. 在下列命令中,不能显示文本文件内容的命令是: `D` . + +```undefined +A more B less C tail D join +``` + +1. 在使用匿名登录ftp时,用户名为 `B` . + +```undefined +A users B anonymous C root D guest +``` + +1. 在实际操作中,想了解命令logname 的用法,可以键入 `D` 得到帮助. + +```undefined +A logname --man B logname/? C help logname D logname --help +``` + +1. 如果LILO被安装在MBR,使用 `A` 命令即可卸载LILO. + +```undefined +A lilo –u B lilo –c C lilo –v D lilo -V +``` + +1. 当用命令ls –al查看文件和目录时,欲观看卷过屏幕的内容,应使用组合键 `D` . + +```undefined +A Shift Home B Ctrl PgUp C Alt PgDn D Shift PgUp +``` + +1. mc是UNIX风格操作系统的 `C` . + +```undefined +A 文件编辑器/程序编译器 B 配置网络的窗口工具 C 目录浏览器/文件管理器 D Samba服务器管理工具 +``` + +1. i节点是一个 `D` 长的表,表中包含了文件的相关信息. + +```undefined +A 8字节 B 16字节 C 32字节 D 64字节 +``` + +1. 文件权限读、写、执行的三种标志符号依次是 `A` . + +```undefined +A rwx B xrw C rdx D srw +``` + +1. Linux 文件名的长度不得超过 `C` 个字符. + +```undefined +A 64 B 128 C 256 D 512 +``` + +1. 进程有三种状态: `C` . + +```undefined +A 准备态、执行态和退出态 +B 精确态、模糊态和随机态 +C 运行态、就绪态和等待态 +D 手工态、自动态和自由态 +``` + +1. 从后台启动进程,应在命令的结尾加上符号 `A` . + +```undefined +A & B @ C # D $ +``` + +1. `B` 不是邮件系统的组成部分. + +```undefined +A 用户代理 B 代理服务器 C 传输代理 D 投递代理 +``` + +1. 在Shell脚本中,用来读取文件内各个域的内容并将其赋值给Shell变量的命令是 `D` . + +```undefined +A fold B join C tr D read +``` + +1. crontab文件由六个域组成,每个域之间用空格分割,其排列如下: `B` . + +```undefined +A MIN HOUR DAY MONTH YEAR COMMAND +B MIN HOUR DAY MONTH DAYOFWEEK COMMAND +C COMMAND HOUR DAY MONTH DAYOFWEEK +D COMMAND YEAR MONTH DAY HOUR MIN +``` + +1. 用ftp进行文件传输时,有两种模式: `C` . + +```undefined +A Word和binary +B .txt和Word Document +C ASCII和binary +D ASCII和Rich Text Format +``` + +1. 某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为 `D` . + +```undefined +A 467 B 674 C 476 D 764 +``` + +1. 在DNS系统测试时,设named进程号是53,命令 `D` 通知进程重读配置文件. + +```undefined +A kill –USR2 53 +B kill –USR1 53 +C kill -INT 63 +D kill –HUP 53 +``` + +1. Apache服务器默认的接听连接端口号是 `C` . + +```undefined +A 1024 B 800 C 80 (http)D 8 +``` + +1. PHP和MySQL的联合使用解决了 `C` . + +```undefined +A 在Proxy上处理数据库的访问问题 +B 在WWW服务器上处理黑客的非法访问问题 +C 在WWW服务器上处理数据库的访问问题 +D 在Sendmail邮件系统上处理数据库的访问问题 +``` + +1. OpenSSL是一个 `A` . + +```undefined +A 加密软件 B 邮件系统 C 数据库管理系统 D 嵌入式脚本编程语言 +``` + +1. Samba服务器的配置文件是 `D` . + +```undefined +A httpd.conf B inetd.conf C rc.samba D smb.conf +``` + +1. 关于DNS服务器,叙述正确的是 `D` . + +```undefined +A DNS服务器配置不需要配置客户端 +B 建立某个分区的DNS服务器时只需要建立一个主DNS服务器 +C 主DNS服务器需要启动named进程,而辅DNS服务器不需要 +D DNS服务器的root.cache文件包含了根名字服务器的有关信息 +``` + +1. 退出交互模式的shell,应键入 `C` . + +```undefined +A 〈Esc〉; B ^q C exit D quit +``` + +1. 将Windows C:盘(hda1)安装在Linux文件系统的/winsys目录下,命令是 `B` . + +```undefined +A root@l04.edu.cn:#mount dev/had1 /winsys +B root@l04.edu.cn:#mount /dev/had1 /winsys +C root@l04.edu.cn:#mount /dev/had1 winsys +D root@l04.edu.cn:#mount dev/had1 winsys +``` + +1. 设超级用户root当前所在目录为:/usr/local,键入cd命令后,用户当前所在目录为 `B` . + +```undefined +A /home B /root C /home/root D /usr/local +``` + +1. 字符设备文件类型的标志是 `B` . + +```undefined +A p B c C s D l +``` + +1. 将光盘CD-ROM(hdc)安装到文件系统的/mnt/cdrom目录下的命令是 `C` . + +```undefined +A mount /mnt/cdrom +B mount /mnt/cdrom /dev/hdc +C mount /dev/hdc /mnt/cdrom +D mount /dev/hdc +``` + +1. 将光盘/dev/hdc卸载的命令是 `C` . + +```undefined +A umount /dev/hdc +B unmount /dev/hdc +C umount /mnt/cdrom /dev/hdc +D unmount /mnt/cdrom /dev/hdc +``` + +1. 在/home/stud1/wang目录下有一文件file,使用 `D` 可实现在后台执行命令,此命令将file文件中的内容输出到file.copy文件中. + +```undefined +A cat file 〉;file.copy +B cat 〉;file.copy +C cat file file.copy & +D cat file 〉;file.copy & +``` + +1. 在DNS配置文件中,用于表示某主机别名的是: `B` . + +```undefined +A NS B CNAME C NAME D CN +``` + +1. 可以完成主机名与IP地址的正向解析和反向解析任务的命令是: `A` . + +```undefined +A nslookup B arp C ifconfig D dnslook +``` + +1. 下列变量名中有效的shell变量名是: `C` . + +```undefined +A -2-time B _2$3 C trust_no_1 D 2004file +``` + +1. qmail是 `B` . + +```undefined +A 收取邮件的协议 B 邮件服务器的一种 C 发送邮件的协议 D 邮件队列 +``` + +1. 已知某用户stud1,其用户目录为/home/stud1.分页显示当前目录下的所有文件的文件或目录名、用户组、用户、文件大小、文件或目录权限、文件创建时间等信息的命令是 `D` . + +```undefined +A more ls –al B more –al ls C more 〈 ls –al D ls –al | more +``` + +1. 关于进程调度命令, `B` 是不正确的.at--定期执行程序的调度命令 + +```undefined +A 当日晚11点执行clear命令,使用at命令:at 23:00 today clear +B 每年1月1日早上6点执行date命令,使用at命令:at 6am Jan 1 date +C 每日晚11点执行date命令,crontab文件中应为:0 23 * * * date +D 每小时执行一次clear命令,crontab文件中应为:0 */1 * * * clear +``` + +1. 系统中有用户user1和user2,同属于users组.在user1用户目录下有一文件file1,它拥有644的权限,如果user2用户想修改user1用户目录下的file1文件,应拥有 `B` 权限. + +```undefined +A 744 B 664 C 646 D 746 +``` + +1. 如果想配置一台匿名ftp服务器,应修改 `C` 文件. + +```undefined +A /etc/gateway B /etc/ftpservers C /etc/ftpusers D /etc/inetd.conf +``` + +1. Samba服务器的进程由`B` 两部分组成 . + +```undefined +A named和sendmail B smbd和nmbd C bootp和dhcpd D httpd和squid +``` + +1. 要配置NFS服务器,在服务器端主要配置 `C` 文件. + +```undefined +A /etc/rc.d/rc.inet1 B /etc/rc.d/rc.M C /etc/exports D /etc/rc.d/rc.S +``` + +1. 为保证在启动服务器时自动启动DHCP进程,应对 `B` 文件进行编辑. + +```undefined +A /etc/rc.d/rc.inet2 B /etc/rc.d/rc.inet1 C /etc/dhcpd.conf D /etc/rc.d/rc.S +``` + +1. 在配置代理服务器时,若设置代理服务器的工作缓存为64MB,配置行应为 `D` . + +```undefined +A cache 64MB +B cache_dir ufs /usr/local/squid/cache 10000 16 256 +C cache_ mgr 64MB +D cache_ mem 64MB +``` + +1. 安全管理涉及的问题包括保证网络管理工作可靠进行的安全问题和保护网络用户及网络管理对象问题. `C` 属于安全管理的内容. + +```undefined +A 配置设备的工作参数 B 收集与网络性能有关的数据 C 控制和维护访问权限 D 监测故障 +``` + +1. 以下命令对中,正确的是: `B` . + +```undefined +A ls和sl +B cat和tac +C more和erom +D exit和tixecat是显示文件夹的命令,这个大家都知道,tac是cat的倒写,意思也和它是相反的.cat是从第一行显示到一行,而tac是从一行显示到第一行,而rev 则是从一个字符显示到第一个字符 +``` + +1. `B` 命令是在vi编辑器中执行存盘退出. + +```undefined +A :q B ZZ C :q! D :WQ +``` + +1. 下列关于/etc/fstab文件描述,正确的是 `D` . + +```undefined +A fstab文件只能描述属于linux的文件系统 +B CD_ROM和软盘是自动加载的 +C fstab文件中描述的文件系统不能被卸载 +D 启动时按fstab文件描述内容加载文件系统 +``` + +1. 通过文件名存取文件时,文件系统内部的操作过程是通过 `C` . + +```undefined +A 文件在目录中查找文件数据存取位置. +B 文件名直接找到文件的数据,进行存取操作. +C 文件名在目录中查找对应的I节点,通过I节点存取文件数据. +D 文件名在中查找对应的超级块,在超级块查找对应i节点,通过i节点存取文件数据 +``` + +1. Linux将存储设备和输入/输出设备均看做文件来操作, `C` 不是以文件的形式出现. + +```undefined +A 目录 B 软链接 C i节点表 D 网络适配器 +``` + +1. 关于i节点和超级块,下列论述不正确的是 `B` . + +```undefined +A i节点是一个长度固定的表 +B 超级块在文件系统的个数是唯一的 +C i节点包含了描述一个文件所必需的全部信息 +D 超级块记录了i节点表和空闲块表信息在磁盘中存放的位置 +``` + +1. `D` 设备是字符设备. + +```undefined +A hdc B fd0 C hda1 D tty1(A,B,C为块设备) +``` + +1. `B` 目录存放着Linux的源代码. + +```undefined +A /etc B /usr/src C /usr D /home +``` + +1. 关于文件系统的安装和卸载,下面描述正确的是 `A` . + +```undefined +A 如果光盘未经卸载,光驱是打不开的 +B 安装文件系统的安装点只能是/mnt下 +C 不管光驱中是否有光盘,系统都可以安装CD-ROM设备 +D mount /dev/fd0 /floppy 此命令中目录/floppy是自动生成的 +``` + +1. `B` 不是进程和程序的区别. + +```undefined +A 程序是一组有序的静态指令,进程是一次程序的执行过程 +B 程序只能在前台运行,而进程可以在前台或后台运行 +C 程序可以长期保存,进程是暂时的 +D 程序没有状态,而进程是有状态的 +``` + +1. 文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是 `A` . + +```undefined +A chmod a x g w exer1 B chmod 765 exer1 C chmod o x exer1 D chmod g w exer1 +``` + +1. 有关归档和压缩命令,下面描述正确的是 `C` . + +```undefined +A 用uncompress命令解压缩由compress命令生成的后缀为.zip的压缩文件 +B unzip命令和gzip命令可以解压缩相同类型的文件 +C tar归档且压缩的文件可以由gzip命令解压缩 +D tar命令归档后的文件也是一种压缩文件 +``` + +1. 不是shell具有的功能和特点的是 `C` . + +```undefined +A 管道 B 输入输出重定向 C 执行后台进程 D 处理程序命令 +``` + +1. 下列对shell变量FRUIT操作,正确的是: `C` . + +```undefined +A 为变量赋值:FRUIT=apple +B 显示变量的值:fruit=appleC显示变量的值:echoFRUIT=appleB显示变量的值:fruit=apple +C 显示变量的值:echoFRUIT +D 判断变量是否有值:[ -f "$FRUIT" ] +``` + +## 四.简答题形式: + +1. 简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程. + +```Plain +参考答案 : Linux通过i节点表将文件的逻辑结构和物理结构进行转换. i 节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息.在i节点表中最重要 的内容是磁盘地址表.在磁盘地址表中有13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块.Linux文件系统通过把i节点和文件名进行 连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的i节点号,通过该i节点的磁盘地址表把分散存放的文件物 理块连接成文件的逻辑结构. +``` + +1. 简述进程的启动、终止的方式以及如何进行进程的查看. + +```undefined +参考答 案: 在Linux中启动一个进程有手工启动和调度启动两种方式: +(1)手工启动 用户在输入端发出命令,直接启动一个进程的启动方式.可以分为:①前台启动:直接在SHELL中输入命令进行启动. ②后台启动:启动一个目前并不紧急的进程,如打印进程. +(2)调度启动 系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间和场合,到时候系统会自动完成该任务. 经常使用的进程调度命令为:at、batch、crontab. +``` + +1. 简述DNS进行域名解析的过程. + +```undefined +参考答案: 客户端发出DNS请求翻译IP地址或主机名.DNS服务器在收到客户机的请求后: +(1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息; +(2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息; +(3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机. +(4)若没有找到,则返回错误信息. +``` + +1. 系统管理员的职责包括那些?管理的对象是什么? + +```undefined + 参考答案: 系统管理员的职责是进行系统资源管理、设备管理、系统性能管理、安全管理和系统性能监测.管理的对象是服务器、用户、服务器的进程及系统的各种资源等. +``` + +1. 简述安装Slackware Linux系统的过程. + +```undefined +参考答案: (1)对硬盘重新分区. +(2)启动Linux系统(用光盘、软盘等). +(3)建立Linux主分区和交换分区. +(4)用setup命令安装Linux系统. +(5)格式化Linux主分区和交换分区 +(6)安装Linux软件包 +(7)安装完毕,建立从硬盘启动Linux系统的LILO启动程序,或者制作一张启动Linux系统的软盘.重新启动Linux系统. +``` + +1. 什么是静态路由,其特点是什么?什么是动态路由,其特点是什么? + +```undefined +参考答案: 静态路由是由系统管理员设计与构建的路由表规定的路由.适用于网关数量有限的场合,且网络拓朴结构不经常变化的网络.其缺点是不能动态地适用网络状况的变化,当网络状况变化后由网络管理员修改路由表. 动态路由是由路由选择协议而动态构建的,路由协议之间通过交换各自所拥有的路由信息实时更新路由表的内容.动态路由可以自动学习网络的拓朴结构,并更新路由表.其缺点是路由广播更新信息将占据大量的网络带宽. +``` + +1. 进程的查看和调度分别使用什么命令? + +```undefined +参考答案: 进程查看的命令是ps和top. 进程调度的命令有at,crontab,batch,kill. +``` + +1. 当文件系统受到破坏时,如何检查和修复系统? + +```undefined + 参考答案: 成功修复文件系统的前提是要有两个以上的主文件系统,并保证在修复之前卸载将被修复的文件系统. 使用命令fsck对受到破坏的文件系统进行修复.fsck检查文件系统分为5步,每一步检查系统不同部分的连接特性并对上一步进行验证和修改.在执行 fsck命令时,检查从超级块开始,然后是分配的磁盘块、路径名、目录的连接性、链接数目以及空闲块链表、i-node. +``` + +1. 解释i节点在文件系统中的作用. + +```undefined +参考答案: 在linux文件系统中,是以块为单位存储信息的,为了找到某一个文件在存储空间中存放的位置,用i节点对一个文件进行索引.I节点包含了描述一个文件所的全部信息.i节点是文件系统管理的一个数据结构. +``` + +1. 什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么? + +```undefined +参考答案: 链接分硬链接和符号链接. 符号链接可以建立对于文件和目录的链接.符号链接可以跨文件系统,即可以跨磁盘分区.符号链接的文件类型位是l,链接文件具有新的i节点. 硬链接不可以跨文件系统.它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同. +``` + +1. 在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则. + +```undefined +参考答案: 磁盘簇(或i节点密度)是文件系统调度文件的基本单元.磁盘簇的大小,直接影响系统调度磁盘空间效率.当磁盘分区较大时,磁盘簇也应选得大些;当分区较小时,磁盘簇应选得小些.通常使用经验值. +``` + +1. 简述网络文件系统NFS,并说明其作用. + +```undefined +参考答案: 网络文件系统是应用层的一种应用服务,它主要应用于Linux和Linux系统、Linux和Unix系统之间的文件或目录的共享.对于用户而言可以通过 NFS方便的访问远地的文件系统,使之成为本地文件系统的一部分.采用NFS之后省去了登录的过程,方便了用户访问系统资源. +``` + +1. 某/etc /fstab文件中的某行如下: + +/dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 + +请解释其含义. + +```undefined +参考答案: (1)第一列:将被加载的文件系统名; +(2)第二列:该文件系统的安装点; +(3)第三列:文件系统的类型; +(4)第四列:设置参数; +(5)第五列:供备份程序确定上次备份距现在的天数; +(6)第六列:在系统引导时检测文件系统的顺序. +``` + +1. Apache服务器的配置文件httpd.conf中有很多内容,请解释如下配置项: + +(1)MaxKeepAliveRequests 200 + +(2)UserDir public_html + + (3)DefaultType text/plain + +(4)AddLanguare en.en + +(5)DocumentRoot"/usr/local/httpd/htdocs" + +(6)AddType application/x-httpd-php.php.php.php4 + +```undefined +参考答案: (1)允许每次连接的最大请求数目,此为200; +(2)设定用户放置网页的目录; +(3)设置服务器对于不认识的文件类型的预设格式; +(4)设置可传送语言的文件给浏览器; +(5)该目录为Apache放置网页的地方; +(6)服务器选择使用php4. +``` + +1. 某Linux主机的/etc/rc.d/rc.inet1文件中有如下语句,请修正错误,并解释其内容. /etc/rc.d/rc.inet1: …… ROUTE add –net default gw 192.168.0.101 netmask 255.255.0.0 metric 1 ROUTE add –net 192.168.1.0 gw 192.168.0.250 netmask 255.255.0.0 metric 1 + +```undefined +参考答案: 修正错误: (1)ROUTE应改为小写:route; +(2)netmask 255.255.0.0应改为:netmask 255.255.255.0; +(3)缺省路由的子网掩码应改为:netmask 0.0.0.0; +(4)缺省路由在设定,否则其后的路由将无效. 解释内容: (1)route:建立静态路由表的命令;(2)add:增加一条新路由; (3)-net 192.168.1.0:到达一个目标网络的网络地址; (4)default:建立一条缺省路由; +(5)gw 192.168.0.101:网关地址; +(6)metric 1:到达目标网络经过的路由器数(跳数). +``` + +1. 试解释apache服务器以下配置的含义: + + 1. (1)port 1080 + + (2)UserDir userdoc + + (3)DocumentRoot "/home/htdocs" + + (4)〈Directory /home/htdocs/inside〉; Options Indexes FollowSymLinks AllowOverride None Order deny,allow deny from all allow from 192.168.1.5 〈/Directory〉; + + (5)Server Type Standlone + +```undefined +Apache服务器配置行含义如下: +(1)将apache服务器的端口号设定为1080; +(2)设定用户网页目录为userdoc; +(3)设定apache服务器的网页根目录:/home/htdocs; +(4)在此apache服务器上设定一个目录/home/htdocs/inside,且此目录只允许IP地址为192.168.1.5的主机访问; +(5)定义apache服务器以独立进程的方式运行. +``` + +1. 简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么? + +```undefined +参考答案: +(1)ftp有两种登录方式:匿名登录和授权登录.使用匿名登录时,用户名为:anonymous,密码为:任何合法email地址;使用授权登录时,用户名为用户在远程系统中的用户帐号,密码为用户在远程系统中的用户密码. 区别:使用匿名登录只能访问ftp目录下的资源,默认配置下只能下载;而授权登录访问的权限大于匿名登录,且上载、下载均可. +(2)ftp文件传输有两种文件传输模式:ASCII模式和binary模式.ASCII模式用来传输文本文件,其他文件的传输使用binary模式. +(3)常用的ftp文件传输命令为:bin、asc、put、get、mput、mget、prompt、bye +``` \ No newline at end of file diff --git "a/01\351\251\254\346\227\255\344\270\234/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\2502.md" "b/01\351\251\254\346\227\255\344\270\234/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\2502.md" new file mode 100644 index 0000000..5aadcdd --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\250/\345\256\236\346\226\275\350\277\220\347\273\264\351\235\242\350\257\225\345\244\247\345\205\2502.md" @@ -0,0 +1,906 @@ + + +1. CPU性能指标中,以下指标代表什么意思? + +```Plain +外频:CPU的基准频率,CPU与主板之间同步运行的速度,它决定整个主板的运行速率。 +前端总线频率:直接影响CPU和内存数据交换的速度。 +``` + +1. 主板的两个芯片分别是什么芯片,如何区分?具备什么作用? + +```undefined +北桥:离CPU近,负责CPU、内存、显卡之间的通信;南桥:离CPU远,负责I/O总线之间的通信。 +``` + +1. BIOS是什么,它与CMOS是什么关系? + +```undefined +BIOS是基本输入输出系统,存储计算机基本硬件信息。BIOS设置保存在CMOS芯片中。 +``` + +1. 说明RAM和ROM是什么以及各自的特点。 + +```undefined +RAM:随机访问存储器,可读可写易丢失;ROM:只读存储器,可读不可写不易丢失。 +``` + +1. 什么是虚拟机? + +```undefined +是运行在计算机上的一款软件程序,模拟计算机硬件功能为其他软件程序系统一个独立的计算机环境。 +``` + +6. 虚拟机有几种架构?分别有什么特点 + +```undefined +寄居架构:作为应用软件安装在操作系统上,可以在此应用软件上安装多个操作系统 +原生架构:虚拟机软件直接安装在计算机硬件上,虚拟机本身就是一个操作系统。 +``` + +7. 请列举出三个虚拟机厂商,以及他们的产品和产品架构。 + +```undefined +(1) Vmware + VMware Workstation 寄居架构 + VMware vSphere 原生架构 +(2) 微软 + Virtual PC 寄居架构 + Virtual Server 寄居架构 + Hyper-V 原生架构 +(3) Citrix(思杰) + XenDesktop 原生架构 + XenServer 原生架构 +``` + +8. 什么是操作系统? + +```undefined +也称OS,是一种计算机软件,为应用软件提供访问计算机硬件的服务,提供有效的硬件、软件管理。 +``` + +1. 虚拟机快照有什么特点? + +```undefined +可以轻松将系统恢复到指定的状态 +``` + +1. 虚拟机有几种克隆方式? + +```undefined +链接克隆、完整克隆 +``` + +1. 什么是TCP/IP协议 + +```undefined +TCP/IP通信协议是目前最完整、最被广泛支持的通信协议,它可以让不同网络架构、不同操作系统的计算机之间通信,是Internet的标准通信协议。 +``` + +1. 主机与主机之间通讯的三要素有什么? + +```undefined +IP地址、子网掩码、IP路由 +``` + +1. IP地址的作用、组成、分类、默认子网掩码? + +```undefined +作用:用来标识一个节点的网络地址; +组成:网络位+主机位; +分类:A类:1 – 127 网+主+主+主 255.0.0.0 + B类:128 – 191 网+网+主+主 5.255.0.0 + C类:192 – 223 网+网+网+主 255.255.255.0 + D类:224 – 239 组播(多播) + E类:240 – 254 科研 +``` + +1. 私有IP地址分类及范围。 + +```undefined +A类:10.0.0.1 – 10.255.255.254 +B类:172.16.0.1 – 172.31.255.254 +C类:192.168.0.1 –192.168.255.254 +``` + +1. 什么是网关? + +```undefined +一个网络连接到另一个网络的关口。 +``` + +1. Windows系统命令行模式中,查看IP地址和查看MAC地址的命令是什么? + +```undefined +ipconfig、ipconfig /all 或 ipconfig /all +``` + +1. 工作组和域网络有什么区别? + +```undefined +工作组防落:对等关系、无集中管理; +域网络:有控制器集中管理。 +``` + +1. 计算机名有什么特点及作用? + +```undefined +容易记住; +同一win网络内应保持唯一; +在win网络内可通过计算机名访问其他主机。 +``` + +1. 什么是ALP规则 + +```undefined +将本地用户加入本地组,最后只给本地组分配权限(ALP规则的含义) +``` + +1. 什么是文件系统? + +```undefined +即在外部存储设备上组织文件的方法。 +``` + +1. 常见的文件系统有什么? + +```undefined +FAT、NTFS、EXT +``` + +1. NTFS文件系统的优点有哪些? + +```undefined +提高磁盘读写能力; +可靠性强:加密、访问控制列表; +磁盘利用率:压缩、磁盘配合; +AD需要NTFS的支持。 +``` + +23. NTFS文件系统的特点有哪些? + +```undefined +可针对不同用户的组设置访问权限; +用户必须有相应访问权限才能访问资源; +可防止资源被非法篡改、删除。 +``` + +24. NTFS有哪些权限规则?这些规则有哪些特点? + +```undefined +权限的累加:在权限不冲突的基础上用户的有效NTFS权限累加; +拒绝优先:拒绝大于一切; +继承权限:默认子文件夹或子文件会继承上级文件夹的权限,子文件夹可以取消继承上级文件夹的权限。 +``` + +1. 如何判定共享权限与NTFS的最终有效权限? + +```undefined +共享权限和NTFS权限的交集 +``` + +1. 访问共享文件夹的三种方式 + +```undefined +通过“网络”浏览;通过UNC路径;映射网络驱动器 +``` + +1. 以上三种方式的必要操作及命令有哪些?0000 + +```undefined +通过“网络”浏览:必须启用“网络发现”; +通过UNC路径:\\服务器IP\共享名 或 \\服务器名\共享名 +映射网络驱动器:net use 盘符: \\服务器IP\共享名 +``` + +1. 什么是备份? + +```undefined +另外准备一份,为了应付文件、数据丢失或者损坏等意外情况。 +``` + +1. 备份对象的类别有什么?每种类别有什么特点? + +```undefined +系统备份:针对整个操作系统进行备份;当操作系统损坏或者无法启动时,能通过备份快速恢复。 +数据备份:针对用户的数据文件、应用软件、数据库进行备份;当这些数据丢失或损坏时,也能通过备份恢复。 +``` + +1. 什么是冷/热备份?他们各自有什么优点和缺点? + +```undefined +冷备份:指需要备份的文档不被占用的情况下执行备份的方式;比如将数据库软件关闭,对数据库资料做备份。优点是简单快速、容易恢复到某个时间点、方便维护;缺点是只能恢复到某个时间点、备份期间数据不便正常使用。 +热备份:指执行备份时不影响备份文档正常使用的方式;比如数据库软件正在运行,对数据库资料做备份。优点是备份时间短、不影响数据使用、可达秒级恢复;缺点是所有操作都会同步,包括删除。 +``` + +1. 实现一键还原有什么前提条件?一键还原后有什么后果或后遗症? + +```undefined +提前制作了可用的系统备份文件(通常为.gho格式); +后增加的数据都会丢失。 +``` + +1. 什么是域? + +```undefined +将网络中的计算机逻辑上组织到一起,进行集中管理,这种集中管理的环境称为域。 +``` + +1. 什么是域控制器? + +```undefined +在域中,至少有一台域控制器,域控制器中保存着整个域的用户账号和安全数据库,安装了活动目录的一台计算机为域控制器,域管理员可以控制每个域用户的行为。 +``` + +1. 什么是活动目录? + +```undefined +是一个目录数据库,存储整个windows网络中对象的相关信息,也是一种服务,可对活动目录中数据执行各种操作。 +``` + +1. 活动目录有什么优点? + +```undefined +集中管理、便捷的网络资源访问、可扩展性 +``` + +1. 安装DC的必备条件都有哪些? + +```undefined +本地管理员权限、操作系统版本必须满足windows server版、有TCP/IP设置、有足够的可用磁盘空间、至少有一个NTFS分区、需要DNS的支持。 +``` + +1. 什么命令可以测试域名解析? + +```undefined +nslookup +``` + +1. 域组有哪些类型?有什么作用? + +```undefined +安全组:为用户设置访问权限; +通讯组:用于电子邮件通信,包含联系人和用户账户。 +``` + +1. 组的作用域有哪些?适用范围和特点都有哪些? + +```undefined +本地域组:适用范围:本域针对本域的资源创建本地域组。 +全局组:使用范围:整个林及信任域通常使用全局组来管理需要进行日常维护的目录对象,如用户账户和计算机账户。 +通用组:使用范围:整个林及信任域身份信息记录在全局编录中,查询速度快。 +``` + +1. 通用组和全局组有什么差别? + +```undefined +在多域环境中,通用组成员的身份信息记录在全局编录中,而全局组成员身份信息存储在每个域中。在多域环境中,相比较而言,通用组成员登录或者查询速度较快。 +``` + +1. 打开本地安全策略的命令是什么? + +```undefined +secpol.msc +``` + +1. 强制刷新策略的命令是什么? + +```undefined +gpupdate /force +``` + +1. 什么是组策略?打开本地组策略的命令是什么? + +```undefined +一组策略的集合,运行gpedit.msc +``` + +1. 什么是域组策略?它与本地组策略有什么关系? + +```undefined +一组策略的集合,与本地组策略没有关系。 +``` + +1. 组策略有哪些优点? + +```undefined +减小管理成本、减小用户单独配置错误的可能性、可以针对特定对象设置特定的策略。 +``` + +1. 什么是GPO?有哪些作用? + +```undefined +AD中的一种特殊对象,存储组策略的所有配置信息。 +``` + +1. 说明各组策略应用规则及规则内容。 + +```undefined +策略继承与阻止 下级容器可以继承或阻止应用其上级容器的GPO设置 +策略强制生效 使下级容器强制执行其上级容器的GPO设置 +策略累加与冲突 多个GPO设置在不冲突的情况下累加如冲突后应用生效 +组策略应用顺序:LSDOU本地组策略 站点 域 OU如OU与子OU冲突,子OU生效如果同一个OU上链接了多个GPO,则按照链接顺序从高到低逐个应用 ,例:链接顺序分别为1和2,则链接顺序为1的PO最后应用生效,会覆盖先应用的组策略,具有最高的优先级。 +筛选 阻止一个容器内的用户或计算机应用其GPO设置 +``` + +1. 什么是DNS? + +```Plain +域名系统 +``` + +1. DNS默认端口号是多少? + +```undefined +53 +``` + +1. DNS有什么作用? + +```undefined +将域名解析为IP地址;将IP地址解析为域名。 +``` + +1. 除DNS外,还可通过什么方式进行域名解析?有什么缺点? + +```undefined +hosts文件,缺点是名称容易重复,文件大解析效率下降,单点管理主机容易故障。 +``` + +1. DNS空间结构是怎样的? + +```undefined +空间结构即层次性 +第一层 --> 根域:“.” +第二层 --> 顶级域:组织域(com、net)、国家或地区域(CN、P)、反向域(in-addr-arpa) +第三层 --> 二级域:如 baidu.com、sohu.com、163.com +第四层 --> 主机:如www.baidu.com、www.sohu.com、www.163.com +``` + +1. 在DNS中,主机名又称为什么? + +```undefined +主机名.域名=FQDN名 即 完全合格域名- +``` + +1. DNS有哪两种解析方式?如何解析? + +```undefined +正向解析:由域名查找IP地址; +反向解析:由IP地址查找域名。 +``` + +1. DNS有哪两种查询方式?特点是什么? + +```undefined +递归查询:客户端得到结果只能是成功或失败 +迭代查询:服务器以最佳结果作答。 +``` + +1. 如何减轻单台DNS服务器的负载? + +```undefined +将同一台DNS区域的内容保存在多个DNS服务器中,通过区域传输实现负载均衡。 +``` + +1. 什么是DNS的备份或冗余? + +```undefined +主DNS服务器建立主要区域,辅助DNS服务器简历辅助区域,共同维护DNS资源记录,任何一台DNS服务器故障都不会影响使用。 +``` + +1. 请描述DNS中的区域传输过程。 + +```undefined +从主DNS服务器上将区域文件复制到辅助DNS服务器。 +``` + +1. 一个主区域可以有多少辅助区域? + +```undefined +可以有多个辅助区域,且辅助区域也可以再有辅助区域。 +``` + +1. 什么是子域? + +```undefined +在区域中创建子域来扩展域名空间的行为。 +``` + +1. 什么是委派? + +```undefined +将子域委派给其他服务器维护的行为。 +``` + +1. 子域与委派的区别是什么? + +```undefined +子域的资源在父区域文件中,他们公用一个区域文件,子域的权威服务器是父区域的权威服务器; +委派有独立的区域文件,给新域指定新的权威服务器。 +``` + +1. 什么是FTP? + +```undefined +FTP是一种应用层协议。 +``` + +1. FTP是什么结构? + +```undefined +C/S结构 +``` + +1. FTP运行在那层? + +```undefined +应用层= +``` + +1. FTP使用的是哪层的什么协议? + +```undefined +传输层的TCP +``` + +1. FTP默认端口号是多少? + +```undefined +21与20 +``` + +1. 通过浏览器访问FTP的命令格式。 + +```undefined +FTP://IP或域名 +``` + +1. 命令行模式下,FTP上传、下载的命令是什么? + +```undefined +get:下载单个文件; +mget:下载多个文件; +put:上传单个文件; +mput:上传多个文件。 +``` + +1. FTP的两个匿名用户名及密码是什么? + +```undefined +anonymous:密码为空;ftp:密码为ftp +``` + +1. 什么是虚拟目录? + +```undefined +通过别名方式挂载到网站根目录下的其他目录 +``` + +1. 虚拟目录有什么优点? + +```undefined +便于分别开发与维护;移动位置不影响站点逻辑结构。 +``` + +1. 在web服务中,虚拟主机是什么? + +```undefined +服务器上运行的多个网站; +``` + +1. 实现虚拟主机的三种方式分别是什么? + +```undefined +使用不同IP地址;相同IP地址,不同端口号;相同IP地址及端口号,不同主机名。 +``` + +1. Windows防火墙有几种网络位置类型?分别是什么? + +```undefined +三种:公用网络;专用网络;域网络。 +``` + +1. 加密技术的两个元素是什么? + +```undefined +算法;密钥。 +``` + +1. 什么是密钥? + +```undefined +是用来对数据进行编码和解码的一种算法。 +``` + +1. 数据加密技术总体分为几类?分别是什么? + +```undefined +对称加密;非对称加密。 +``` + +1. 网络排错常用思路及每一步的作用或目的。 + +```undefined +先ping回环地址,检查TCP/IP驱动是否正常; +再ping本网段其他主机,检查内网通信是否正常; +再ping默认网关,检查出口路由是否正常; +再ping其他网段其他主机,检查远程连通性。 +``` + +1. 说明以下HTTP返回的状态分别代表什么意思。 + +```undefined +200:成功,服务器已经成功处理了请求。 +307:临时重定向。 +400:错误请求,服务器不理解请求的语法。 +403,服务器拒绝请求。 +404:未找到,服务器找不到请求的网页。 +500-505:服务器在尝试处理请求时发生内部错误,这些错误可能是服务器本身的错误。 +``` + +82. 说明在什么情况下,会收到以下ping请求返回的结果 + +```undefined +Request timed out:对方关机; +地址根本不存在; +不在同一网段且路由无法找到对方。 +ICMP过滤,如防火墙。 +Destination host Unreachable:对方与自己不在同一网段,且未设置默认路由; +网线故障; +Bad IP address:无法解析此IP或IP地址不存在; +Source quench received:对方或中途服务器繁忙,无法回应; +Unknown host:域名服务器故障; +名字不正确;管理员系统与远程主机间线路故障。 +No answer:中心主机没有运行; +本地或中心主机网络配置不正确; +本地或中心路由器没有工作; +通信线路有故障; +中心主机存在路由选择问题。 +No route to host:网卡工作不正常。 +Transmti failed error code 10043:网卡驱动不正常。 +Unknown host name:DNS配置不正确。 +``` + +1. 回环地址的范围。 + +```undefined +127.0.0.1 ~ 127.0.0.254 +``` + +1. 169.254.X.X是什么地址?配置条件是什么? + +```undefined +临时IP地址; +没有使用DHCP服务,且没有手动配置IP地址时,系统会自动配置该地址。 +``` + +1. MAC是什么地址? + +```undefined +设备物理地址。 +``` + +1. 请列出常用动态磁盘种类及对应所需磁盘数量、磁盘利用率、性能特点、冗余性。 + +```undefined +简单卷、1块磁盘、利用率100%、性能无变化、没有冗余; +跨区卷、2-32块磁盘、利用率100%、性能无变化、没有冗余; +带区卷、2-32块磁盘、利用率100%、提升读写性能、没有冗余; +镜像卷、2块磁盘、利用率50%、降低读写性能、有冗余; +RAID5、3-32块磁盘、利用率=磁盘数-1、降低读写能行、有冗余。 +``` + +1. 打开远程桌面工具的两种方式。 + +```undefined +开始 --> 所有程序 --> Windows附件 --> 远程桌面工具; +win+R --> 运行:mstsc --> 打开远程桌面工具。 +``` + +1. 以.iso结尾的镜像文件与以.gho结尾的镜像文件最基本的区别是什么? + +```undefined +.gho是GHOST镜像文件,是用GHOST备份的克隆文件,是用ghost恢复系统的时候使用的是某个硬盘或者某个硬盘分区的备份文件;.iso文件就相当于一张光盘。 +``` + +1. 盘符是什么? + +```undefined +是DOS、WINDOWS系统对磁盘存储设备的标识符。 +``` + +1. 盘符最基本特点是什么?有哪些默认盘符? + +```undefined +盘符不可重复; +A和B盘符表示软驱; +C通常代表第一磁盘分区或称默认系统分区。 +``` + +1. 顶级域中,以下域名代表什么? + +```undefined +gov:政府部门; +com:商业部门; +edu:教育部门; +net:网络服务结构; +mil:军事部门; +org:民间团体组织。 +``` + +1. 结合DNS查询方式,请说明完整的DNS解析流程。 + +```undefined +在浏览器中输入想要访问的域名,浏览器首先访问自己的hosts文件是否存在映射关系,如存在则直接调用完成解析,如不存在则将访问请求发送给本地域名服务器,本地域名服务器在接收到请求之后查询自己的缓存记录,如存在记录,则直接返回结果,如不存在记录则本地域名服务器会将请求发送给根域名服务器,根域名服务器收到请求后会根据该顶级域返回对应的顶级域名服务器的IP地址,本地域名服务器收到返回的顶级域名服务器IP地址后,会将请求发送给该顶级域名服务器,顶级域名服务器收到请求后查询自己缓存记录,如无法解析,则会再次返回下级域名服务器的地址给本地域名服务器,本地域名服务器在接收到该地址后,重复上面的动作,直至查询到请求中的域名服务器地址。本地域名服务器在接收到解析记录后,首先会自己缓存一份,之后会将解析结果发送给客户端,客户端收到结果后便可直接访问该域名下的web页面。 +``` + +1. 网线接法有几种?分别是什么? + +```undefined +两种,直连、交叉。 +``` + +1. 制作网线的标准有几种?是什么? + +```undefined +T568A、T568B +``` + +1. 以上标准的线序是怎样排列的? + +```undefined +T568A:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕; +T568B:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕。 +``` + +![img](https://bvsm2eqp9o.feishu.cn/space/api/box/stream/download/asynccode/?code=NjEwMTQyZTk1YzNiOGYzMTU0MTIxOGI4MzI2ZTdkM2RfVUZhMGJoM3hmb2VWcEZlbnFPOFVvUE1NZzRzWGVEWE1fVG9rZW46Ym94Y25iM0EzTzdSOURHOUt3TEp2aURoWmNnXzE3MTg4OTgwNTY6MTcxODkwMTY1Nl9WNA) + +1. 直连线和交叉线的应用规则。 + +```undefined +不同设备用直连; +相同设备用交叉。 +``` + +1. PC较多的情况下,快速安装所有电脑的操作系统可以采用什么方法?至少答出一种。 + +```undefined +PXE批量装机 +``` + +1. 为什么教室里面的PC自动获取的IP地址是172.60开头的,在不属于私有IP地址范围的情况下,仍然可以正常使用? + +```undefined +IP地址分为公网IP和私有IP,但在使用的过程中,只要IP地址的格式符合规则,设备就可以成功设置,在内部网络中使用。私有IP地址在公网中是不被认可的,因此私有IP地址范围内的所有IP地址,都无法当做公网IP地址使用。而公网IP地址如在内网使用,则不会影响公网,只要在同一网络中IP地址不重复,即可使用。 +``` + +1. 有一台web服务器,某天某用户投诉上面某个网站速度很慢,如果你是服务器的管理员,以目前所学的知识,你将以什么思路查找原因,请列出排查思路和步骤及理由。(假设服务器有任意操作系统和软件) + +```undefined +首先检测服务器状态,排除硬件和系统故障; +然后检查底层网络状态,如互联情况、延迟、流量,排除网络和网卡故障; +最后检查web服务器软件运行情况。 +``` + +1. 如何用一句话告诉一个6岁的儿童什么是交换机? + +```undefined +开放性题目,没有绝对权威的正确答案 +``` + +1. 两电脑都在同一个网络环境中,A 电脑访问不到 B 电脑的共享文件。此现象可能是哪些 方面所导致?怎样处理? + +```undefined +answer:首先你要确定是不是在一个工作组内,只有在一个工作组内才可以共享文件,然后看一个看一看有没有防火墙之类的,然后确定文件是不是已经共享 +``` + +1. 电脑开机时风扇转, 但是屏幕没有任何显示, 此现象可能是哪些方面所导致?怎样处理? + +```undefined +answer: +1.查看是否有报警声?如果没有接着看第二条。如果有可能是内存或者是显卡问题,建议都取下清理干净,看看是否ok!在经手指部分用橡皮擦擦拭 +2.主板问题,建议先去下 主板上的那块电池,放电主板! 前提是要把全部的电源关掉! +3.电源问题,建议换个电源试试! +``` + +1. 在做 SQL 自动备份时应该先开起什么服务? + +```undefined +answer:SQLServer Agent 这个服务 +``` + +1. 在同一个网络环境中 A 电脑 IP: 192.168.1.100 ,电脑 IP: B 192.168.0.100, 路由器的 IP:192.168.1.1 。请问有那些方法可以让 B 电脑即可以上公网也可 以访问到 A 电脑? + +```undefined +answer:如果你的公网是需要拨号的,那么这需要两个路由器来进行转换,首先要使一个路由能上公网。再使用另一台路由器进行两个网段进行路由转换,在路由器中设置静态路由转换,一个为192.168.1.,一个为192.168.0,这样这两台电脑就能进行互访。把这台路由器和一台电脑分别连接到原公网的路由上就能使两个不同网段的电脑都能上网。如果你的公网不需要拨号,你可以把原连接公网的那台路由器更换为交换机就OK,其他连接同上 +``` + +1. 你熟悉的远程有哪些方法?各种方法应该怎么配置? + +```undefined +answer:1、最简单的QQ上有,打开对话框 上边有个 “应用”图标 点击“远程协助” +2、在要远程的主机安装 “客户机”(一个小软件)端 自己 安装“主机”(软件) 就可以远程控制了 (网络上有下载) +3、还有就是一些大单位的专业通信系统 即时通 OA 之类的 有些远程协助功能(这种要花钱买) +``` + +1. 如果有一个不太懂电脑的客户,你应该采取什么样的方法去教他用公司的软件产品? + +```undefined +answer:我觉得这是一个面试的题目,提问题的人想从其中看出你的为人处事能力。这个可以灵活回答的,如果软件产品比较难懂,你就可以先教一些简单的。再告诉他需要再了解哪些知识来掌握这个软件。如果软件产品比较简单,就可以直接一步一步的教他怎么操作,一直操作熟练就行了 +``` + +1. 当你觉得工作的付出和你的收入不成正比的时候你会怎么想? + +```undefined +answer:如果付出和收入不成正比到一定程度,到你无法忍受的地步,那么就试着让领导加薪或是跳槽 +``` + +1. 在你进行实施的过程中,公司制作的一款软件系统缺少某一项功能,而且公司也明确表示不会再为系统做任何的修改或添加任何的功能,而客户也坚决要求需要这一项功能!对于实施人员来说,应该怎么去合理妥善处理这个问题? + +```undefined +answer:说清楚你实施的是一个项目,不是定制软件。比如超市里卖的皮鞋和鞋匠做的皮鞋,这都是鞋子,但前者是商品,很多一样的商品,你可以买到差不多可以穿的舒服的鞋子;后者是定制,不仅是商品,更是一种劳动,是已完全针对客户需求而生产的,每个细节都是要求完美的。软件也是,没有客户需求的功能,公司既然表明无法实现,那么肯定是功能研发所耗费的时间,财力和利益冲突,你可以对客户说明增加功能要他支付更多的费用,甚至比买软件的价格还贵 +``` + +1. 在项目实施过程中,使用者对产品提出了适合自己习惯的修改意见,但多个使用者相互矛盾,应该如何去处理? + +```undefined +对于客户提出的修改意见,我们实施人员应该有自己的方案。当使用者之间意见出现不一致时,我们应当引导他们内部之间的意见统一,和客户经过沟通或确认后,找到切实可行的方案,双方认可并达成共识。 +``` + +1. 系统启动后,不能连接数据库,可能是哪些方面的原因? + +```undefined +(1)、和数据库有关的服务没启动; +(2)、防火墙可能阻挡了数据库的端口; +(3)、如数据库可以启动,而登陆不了,可能是密码错误或连接参数配置错误; +(4)、数据库文件已被破坏或不存在 +``` + +1. 你认为客户服务的重点是什么? + +```undefined +随着市场的竞争进一步加剧,服务已经成为企业核心竞争力的要素之一,服务的重点是沟通,沟通可以消除客户的误会和不满,沟通可以提高客户的感知度。因此,我认为我们客户服务管理工作就应该从做好沟通的管理开始。自己一定要理解服务,理解服务能干什么,能做到什么,结合公司的业务能给客户提供什么服务。服务过程中是否能给客户提供优秀的服务,倾听客户的意见,持续改进服务方式。尽量在事件发生之前,避免或杜绝客户的投诉,投诉发生后,认真处理。 +``` + +1. 触发器的作用是什么? + +```undefined +触发器是针对数据表(库)的特殊的存储过程,当这个表发生了 Insert、Update或Delete操作时,数据库就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合这些SQL语句所定义的规则。 +``` + +1. SQL 数据库表名为 guest + +![img](https://bvsm2eqp9o.feishu.cn/space/api/box/stream/download/asynccode/?code=YzZkYWQxYzRhYWY2MDNjMGFmMWYzZDI3ZmNkYjA0MjBfSGlWbXVadWI2b3BVTW5Xd1J0Sm5mSUd1WHV5TDFQRzdfVG9rZW46Ym94Y24xeE1rOVZoNkpvZnFDeGN3aEl1QTBlXzE3MTg4OTgwNzk6MTcxODkwMTY3OV9WNA) + +> 1) 查询出房费都大于 200 的帐号。 ) 查询出房费 房费都大于 帐号。 +> +> Select accounts form guest where money >’200’ + +> 2) 查询出 1 月份每个帐号酒水和房费的总金额。 月份每个帐号酒水和房费的总金额。 每个帐号酒水和房费的总金额 ) +> +> Select sum(detail),details form guest where details=’房费’or details=’酒水’ group by detail + +> 3) 删除 1 月份班次为空的记录。 月份班次为空的记录。 ) +> +> Delete form guest where date=>’2010-01-01’ and date=<’2010-01-31’and class is null + +> 4) 将不是房费的记帐代码的班次都更改为‘001’ ) 将不是房费的记帐代码的班次都更改为‘ ’ 。 Update guest set class=’001’were details >< ‘房费’ + +> 5) 查询出消费都大于 100 的帐号。 的帐号。 ) 查询出消费都 +> +> Select distinct accounts form guest accounts not in (select distinct accounts form guest money <’100’) + +1. 已知表: + +Create Table Department + +( + +dept_id varchar(2) not null, – 部门编号 + +dept_name varchar(20) not null, – 部门名称 + +dept_leader varchar(10) –部门经理 + +); + +Create Table Personnel + +( + +id varchar(4) not null, --员工号 + +name varchar(10) not null, --姓名 + +dept_id varchar(2) not null, --部门编号 + +age integer, --年龄 + +gzsj date, --参加工作时间 + +technical_post varchar(10), --职称 + +salary integer –薪水 + +); + +1. 写出表Department增加一条记录 和 更新一条记录的 SQL语句 + +增加记录值 (‘12’, ‘研发部’, ‘张三’) ; 更新 dept_id=’12’的记录 (‘12’, ‘研发部’, ‘张三新’) ; + +```undefined +参考答案: +增加记录:Insert into Department(dept_id,dept_name,dept_leader) values (‘12’,’研发部’,’张三’) +更新记录:Update Department dept_leader=’张三新’ where dept_id=’12’; +``` + +2.需要给表Department增加一列字段notes,长度为10的字符串,默认值为‘0’ , 请写出相关SQL语句 + +```undefined +参考答案: +Alter table Department add notes varchar(10) default 0; +``` + +3.查找工资大于2000元的员工记录,并按员工号id升序排列 + +```undefined +参考答案: +Select name from Personnel where salary integer>2000 order by id; +``` + +4.查找工资大于2000元的员工所在部门、部门编号、部门经理、员工名称 + +```undefined +参考答案: +Select dept_name,dept_id,dept_leader from Department where dept_id in(select dept_id from Personnel where salary integer>2000 ); +``` + +5.查找张三和李四所在部门所有人员的姓名 + +```undefined +参考答案: +Select name from Personnel where name=’张三’ and name=’李四’; +``` + +6、查看每个部门的部门经理和部门人数,按部门人数排序? + +```undefined +参考答案: +Select d.dept_leader,(select count(*) from Personnel p where d.dept_id=p.dept_id) from Department d,personnel p group by d.dept_id order by co; +``` + +7、删除表Department中的所有记录 + +```undefined +参考答案:Delete from Department; +``` + +8、删除表Department + +```undefined +参考答案: +Drop table Department; +``` + +1. 解释Oracle数据库、数据文件、表空间? + +```undefined +参考答案: +(1)、Oracle数据库:Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。 +(2)、数据文件:每一个ORACLE数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表、索引)的数据物理地存储在数据库的数据文件中。 +(3)、表空间:表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表,所以称作表空间。 +``` + +1. 表、视图的区别?存储过程、函数的区别? + +```undefined +参考答案: +(1)、表和视图的区别: + 表:是数据库中的主要结构,它总是表示单个的、特定的集合。每个表至少包含一个字段,即一个主键,他唯一地标识表的每条记录。 + 视图:是由来自数据库中的一个或多个表或多个表的字段所组成的一个虚拟的表。实际上它自身不存储任何数据,存储在数据库中的有关视图的唯一信息几句是它的结构。 +(2)、存储过程、函数的区别 + 存储过程:是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程。 + 函数:通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。 + +``` \ No newline at end of file -- Gitee From f8203404684d6c1a6324a8a75c21f93c5f394975 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:30:41 +0000 Subject: [PATCH 02/13] =?UTF-8?q?=E8=BF=9B=E7=A8=8B=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- ...33\347\250\213\347\256\241\347\220\206.md" | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.06.19-\350\277\233\347\250\213\347\256\241\347\220\206.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.06.19-\350\277\233\347\250\213\347\256\241\347\220\206.md" "b/01\351\251\254\346\227\255\344\270\234/2024.06.19-\350\277\233\347\250\213\347\256\241\347\220\206.md" new file mode 100644 index 0000000..78e0084 --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.06.19-\350\277\233\347\250\213\347\256\241\347\220\206.md" @@ -0,0 +1,127 @@ +# 进程管理 + +#### 1. 进程的基本介绍 + +在linux中,每一个执行的程序和指令都称为一个进程.每一个进程都有一个独立的进程号 + +#### 2. 常用命令 + +1. `ps`:显示当前进程的快照。例如,`ps aux`可以显示所有运行中的进程信息。 + + ###### 查看所有进程 + + ps aux + +2. `top`:实时显示系统中各个进程的资源占用情况。 + + ###### 实时监控进程状态 + + top + +3. `htop`:比`top`更高级的进程查看器,提供颜色编码和更直观的界面。 + +4. `kill`:发送信号到指定进程。例如,`kill -9 PID`可以立即终止一个进程。 + + ###### 杀死进程ID为1234的进程 + + kill 1234 + +5. `pkill`:根据进程名杀死进程。例如,`pkill process_name`可以杀死名为`process_name`的所有进程。 + + ###### 根据名称杀死进程 + + pkill process_name + +6. `pgrep`:查找匹配条件的进程。例如,`pgrep -f httpd`可以查找命令行中包含`httpd`的进程。 + + ###### 查找名为httpd的进程 + + pgrep -f httpd + +7. `jobs`:显示当前shell会话中的作业状态。 + +8. `bg`:将一个暂停(stopped)的作业放到后台执行。 + +9. `fg`:将后台作业调至前台并继续执行。 + + ###### 将后台的作业放到前台执行 + + fg + +10. `nohup`:在用户注销后继续运行命令。 + + ###### 在后台运行nohup命令,即使关闭终端也会继续运行 + + nohup long_running_command & + +#### 3.服务系统 + +1. systemctl + - 启动:systemctl start 服务名 + - 停止:systemctl stop 服务名 + - 重启:systemctl restart 服务名 + - 查看:systemctl status 服务名 + - 重新加载配置文件:systemctl reload 服务名 + +2. service + + - 启动:systemctl 服务名 start + + - 停止:systemctl 服务名 stop + - 重启:systemctl 服务名 restart + - 查看:systemctl 服务名 status + - 重新加载配置文件:systemctl 服务名 reload + +3. 服务怎么配置 + + 1. 创建一个新的服务单元文件(通常以`.service`结尾),并定义服务的启动、停止、重启逻辑。 + 2. 将服务单元文件放置在`/etc/systemd/system/`目录下。 + 3. 重新加载`systemd`管理器配置。 + 4. 使服务在启动时自动启动。 + 5. 启动服务进行测试。 + +4. **服务开机自启**: + + ```bash + sudo systemctl enable service_name + ``` + +5. 怎么变成服务 + 1. 创建一个新的服务单元文件(例如`/etc/systemd/system/myservice.service`)。 + 2. 在服务文件中定义服务的配置。 + 3. 重新加载`systemd`管理器配置。 + 4. 启动服务,并设置为开机启动(如果需要)。 + +下面是一个简单的`systemd`服务文件示例(保存为`/etc/systemd/system/myservice.service`): + +```bash +[Unit]Description=My custom serviceAfter=network.target [Service]Type=simpleExecStart=/path/to/a.shRestart=on-failureUser=yourusernameGroup=yourgroupname [Install]WantedBy=multi-user.target +``` + +替换`/path/to/a.sh`为你的`a.sh`脚本的实际路径,`yourusername`和`yourgroupname`替换为运行脚本的用户和组。 + +接下来,执行以下命令: + +```bash +sudo systemctl daemon-reloadsudo systemctl start myservice.servicesudo systemctl enable myservice.service +``` + +6. 怎么删除一个服务 + + 删除服务的步骤: + + 1. 停止服务: + + sudo systemctl stop [服务名] + + 2. 禁止服务在启动时自动运行: + + sudo systemctl disable [服务名] + + 3. 删除服务的配置文件。通常在`/etc/systemd/system/`或者`/lib/systemd/system/`目录下。 + + sudo rm /etc/systemd/system/[服务名].service + + 4. 重新加载systemd,以确保它知道服务已被移除: + + `sudo systemctl daemon-reload` \ No newline at end of file -- Gitee From a80c8b42d507feb7d077b3ed8afc4abbd90cf48d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:30:58 +0000 Subject: [PATCH 03/13] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- ...15\345\212\241\347\256\241\347\220\206.md" | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.06.22-\346\234\215\345\212\241\347\256\241\347\220\206.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.06.22-\346\234\215\345\212\241\347\256\241\347\220\206.md" "b/01\351\251\254\346\227\255\344\270\234/2024.06.22-\346\234\215\345\212\241\347\256\241\347\220\206.md" new file mode 100644 index 0000000..b325da8 --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.06.22-\346\234\215\345\212\241\347\256\241\347\220\206.md" @@ -0,0 +1,39 @@ +# 服务管理 + +1. 什么是服务,与普通进程有什么区别? + + 进程是动态的,程序是静态的,进程是运行中的程序; + + 程序是一些保存在硬盘上的一些代码; + + 服务是程序,是后台运行的,响应用户或其它程序的请求,提供某种功能的程序,nginx响应用户的http请求,提供web服务 + +2. 如何管理服务 + + 开启 systemctl start 服务 + + 关闭 systemctl stop 服务 + + 重启 systemctl restart 服务 + + 查看状态 systemctl status 服务 + + 重加载配置 systemctl reload 服务 + + 开机自启动 systemctl enalbe/disable 服务 + + * + + service 服务 操作选项 + + /etc/init.d/服务 操作选项 + + systemctl 操作选项 服务 + + * + +3. 如何添加新服务 + + apt 安装 + + 手动编译 \ No newline at end of file -- Gitee From 899d21a41e1f0300382692a0d797fe92a590852e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:31:54 +0000 Subject: [PATCH 04/13] =?UTF-8?q?=E6=88=91=E6=9C=89=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=B0=8F=E6=AF=9B=E9=A9=B4=EF=BC=8C=E6=88=91=E4=BB=8E=E6=9D=A5?= =?UTF-8?q?=E4=B9=9F=E4=B8=8D=E9=AA=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- ...21\347\273\234\347\256\241\347\220\206.md" | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.06.25-\347\275\221\347\273\234\347\256\241\347\220\206.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.06.25-\347\275\221\347\273\234\347\256\241\347\220\206.md" "b/01\351\251\254\346\227\255\344\270\234/2024.06.25-\347\275\221\347\273\234\347\256\241\347\220\206.md" new file mode 100644 index 0000000..484ab7b --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.06.25-\347\275\221\347\273\234\347\256\241\347\220\206.md" @@ -0,0 +1,63 @@ +# 网络管理 + +1. 与网络有关的命令 + + - ip(ifconfig) + + 1. address + 2. route + + - ping + + - wget + + - curt + + - ssh + + - ss<==nestart + + 1. ss -tunl:以数字端口的形式显示正在监听的tcp和udp的端口 + 2. ss -tuna:以数字端口的形式显示所有的端口(含监听和已连接) + + - traceroute + + ---追踪连接到的网络路由 + +2. 如何通过进程号反查服务号 + + - ps -ef | grep 进程号 + - ps aux | grep 进程号 + - ps -p | grep 进程号 + +3. 结束服务所有的进程 + + - killall 服务号 + + ---严格匹配服务号 + + - pkill -9 服务号 + + ---pkill=pgrep + kill 先模糊查询再杀 + +4. 网络安全 + + ---端口安全,禁用非法访问端口,只允许指定的端口开放 + + 防火墙 + + ---firewall,一种安全机制,一种访问机制,相当于一个门卫 + + iptables => firewall(以上) RedHat家族 + + ufw:ubantu默认防火墙,但debian没装 Debian家族 + + !!防火墙:不允许的,默认是禁止的 + + - ufw allow 端口号/协议 + - ufw status 查看状态 + - ufw deny 端口号/协议||端口号 禁端口 + - ufw reload 重新加载 + - ufw delete 第n个 删除 + + *如果用的是云服务,除了防火墙开放端口外,还要去安全组开端口 \ No newline at end of file -- Gitee From 243a0dac5fec9d2c2a266260ece55d4a43e62451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:32:53 +0000 Subject: [PATCH 05/13] =?UTF-8?q?=E6=97=A0=E5=BF=83=E8=BF=87=E9=97=AE?= =?UTF-8?q?=E4=BD=A0=E7=9A=84=E7=9C=BC=E6=B3=AA=E6=88=91=E7=9A=84=E5=90=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- ...45\345\205\205\345\221\275\344\273\244.md" | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.07.02-\350\241\245\345\205\205\345\221\275\344\273\244.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.07.02-\350\241\245\345\205\205\345\221\275\344\273\244.md" "b/01\351\251\254\346\227\255\344\270\234/2024.07.02-\350\241\245\345\205\205\345\221\275\344\273\244.md" new file mode 100644 index 0000000..271b494 --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.07.02-\350\241\245\345\205\205\345\221\275\344\273\244.md" @@ -0,0 +1,74 @@ +# 补充命令 + +1. 排序:sort + + - 默认以每一列的ASCII码 升序 + - 数字排在前面 + + 倒序:sort -r + + - 分隔符:-t ' ' + + - 第几列:-k 数字 + + eg.-k1.2 :第一列的第二个字符 + + - 如果比较的是数字大小 :-n + + - 将结果重新写出去:-o + + - 去重:-u + +2. 去重:uniq(*只去除重复的) + + - 先排序,后去重:sort 文件名|uniq + - -c 显示重复次数 + +3. 统计文件数,内容行数 + + - nl + - cat -n + - vim:set nu 显示行号 + +4. cut + + - -d:指定分隔符 + - -f:指定要显示的列 + - -fM-N:显示第M列、N列 + - -fM-N:显示第M-N列 + +5. 三剑客 + + - grep + + ---本意是显示匹配关键字所在的行(模糊查询) + + -A:取后 + + -B:取前 + + -C:取前后 + + - sed + + 增:i\ a\ + + 删:d /关键字/d + + 改:s/旧/新 只改每行第一个 + + s/旧/新/g 全改 + + 查:/要查的内容/p + + -n:只留查找内容 + + 存:-i + + - awk + + awk -F 分隔符 ‘BEGIN 条件模式{动作} END’ 文件 + + - column -t 文件名 + + ---将文件内容以表格形式表示 \ No newline at end of file -- Gitee From acd77a5da969feb6165a31f8c8f67f76fb192ccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:33:39 +0000 Subject: [PATCH 06/13] =?UTF-8?q?=E6=97=8B=E8=BD=AC=E5=87=A0=E8=BD=AE?= =?UTF-8?q?=EF=BC=8C=E5=8F=98=E6=88=90=E6=88=91=E4=BB=AC=EF=BC=8C=E6=B7=B1?= =?UTF-8?q?=E5=88=BB=E5=9C=B0=E6=8C=87=E7=BA=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- ...3-Debian \345\256\211\350\243\205mysql.md" | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.07.03-Debian \345\256\211\350\243\205mysql.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.07.03-Debian \345\256\211\350\243\205mysql.md" "b/01\351\251\254\346\227\255\344\270\234/2024.07.03-Debian \345\256\211\350\243\205mysql.md" new file mode 100644 index 0000000..8c4ceaa --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.07.03-Debian \345\256\211\350\243\205mysql.md" @@ -0,0 +1,55 @@ +# Debian 安装mysql + +## 一.从网络上获取最新的安装包 + +```bash +wget https://repo.mysql.com/mysql-apt-config_0.8.30-1_all.deb +``` + +```bash +sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb +``` + +![alt text](./image/img004.png) + +![alt text](./image/img005.png) + +如果来回跳,安装成功 + +## 二.更新软件包并安装 + +```bash +sudo apt update +sudo apt install mysql-server +``` + +安装过程中将会弹出设置 MySQL root 密码的对话框,设置root登入mysql的密码。 + +## 三.查看mysql运行状态 + +```bash +systemctl status mysql +``` + +## 四.输入`mysql -u root -p`输入密码即可进入 + +## 五.设置远程登入mysql: + +​ 1.进入mysql :mysql -u root -p + +​ 2.mysql> use mysql; + +​ 3.mysql> update user set host='%' where user ='root' ; + +​ 4.mysql> flush privileges; + +​ 5.在'/etc/mysql/mysql.conf.d'目录下有mysqld.cnf,在最后加上:port =3307 + +​ 6.重启mysql:systemctl restart mysql + +## 六.远程登入mysql + +```bash +mysql -h IP地址 -P 端口 -u root -p +``` + -- Gitee From 5c1e1eab37fd5a3648f33916a13fbe4fbd8e1a30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:34:12 +0000 Subject: [PATCH 07/13] =?UTF-8?q?mysql=E7=9A=84=E5=A4=87=E4=BB=BD=E8=BF=98?= =?UTF-8?q?=E5=8E=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- ...07\344\273\275\350\277\230\345\216\237.md" | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.07.04-mysql\347\232\204\345\244\207\344\273\275\350\277\230\345\216\237.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.07.04-mysql\347\232\204\345\244\207\344\273\275\350\277\230\345\216\237.md" "b/01\351\251\254\346\227\255\344\270\234/2024.07.04-mysql\347\232\204\345\244\207\344\273\275\350\277\230\345\216\237.md" new file mode 100644 index 0000000..1b1156c --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.07.04-mysql\347\232\204\345\244\207\344\273\275\350\277\230\345\216\237.md" @@ -0,0 +1,86 @@ +1. 逻辑备份:默认情况下是,即备份结构又备份数据 + + 1. mysqldump: 单库备份,不会包含建库语句。所以恢复时要先指定数据库。 + + 1. 要么在恢复时,先指定好数据库(这个数据可以任意) + + ```bash + mysqldump -u root -p test2 > /tmp/test.sql + ``` + + 2. 指定多个库的备份,已经包含建库语句了,所以恢复时不指定数据库 + + 1. --databases 库1 库2 .. + + 2. ```bash + mysqldump -u root -p --databases test2 test3 > /tmp/test.sql + ``` + + 3. 备份所有数据库 + + 1. ```bash + mysqldump -u root -p --all-databases > /tmp/test.sql + ``` + + 4. 备份单个表 + + 1. ```bash + # mysqldump -u 用户名 -p 库名 表名> 备份的文件路径 + mysqldump -u root -p mysql_test student> /tmp/test.sql + ``` + + 5. 备份多个表 + + 1. ```bash + # mysqldump -u 用户名 -p 库名 表名1 表2 .. > 备份的文件路径 + mysqldump -u root -p mysql_test student course> /tmp/test.sql + ``` + + 6. 只备份数据库结构,但不备份数据 + + 1. ```bash + mysqldump -u root -p --no-data mysql_test > /tmp/student.sql + ``` + + 7. 只备份数据,但不备份结构 + + 1. ```bash + mysqldump -u root -p --no-create-info mysql_test > /tmp/student.sql + ``` + + 8. 备份数据库,压缩输出 + + 1. ```bash + mysqldump -u root -p mysql_test | gzip > /tmp/test.sql.gz # 先压缩再备份 + gzip -d < /tmp/test.sql.gz | mysql -u root -p # gzip -d = gunzip + gunzip < /tmp/test.sql.gz | mysql -u root -p + ``` + + + +2. 还原(导入) + + 1. mysql -u root -p 数据库名 < 要恢复的文件 (前提是这个数据库名要真实存在) + + ```bash + mysql -u root -p test2 < /tmp/test.sql + ``` + + + + 2. 登录mysql后,先选择要恢复的数据库,再用source 要恢复的文件来恢复 + + ```bash + use test2; + source /tmp/test.sql + ``` + + + +3. 商业的备份工具 + +4. phpmyadmin + +5. 第三方的连接客户端也可以备份 + +6. 想想如何实现自动备份(周期任务,预习shell脚本的写法,全量和增量的备份) \ No newline at end of file -- Gitee From 692053972c948c7264d9ea736cc51872682138c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:34:50 +0000 Subject: [PATCH 08/13] =?UTF-8?q?=E5=96=9C=E6=AC=A2=E7=9C=8B=E4=BD=A0?= =?UTF-8?q?=E7=B4=A7=E7=B4=A7=E7=9A=B1=E7=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- .../2024.07.06-postgresql.md" | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.07.06-postgresql.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.07.06-postgresql.md" "b/01\351\251\254\346\227\255\344\270\234/2024.07.06-postgresql.md" new file mode 100644 index 0000000..e803d35 --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.07.06-postgresql.md" @@ -0,0 +1,79 @@ +# postgresql + +基本操作 + +```postgresql +本地登录postgresql,先切换到postgres这个用户 +su postgres +再连接postgresql,用psql命令,默认什么参数和选项都不写。表示直接连接本地的数据库 +psql +连接数据库时可以指定用户和数据库 +psql -U user -d dbname + 本地连接不需要密码 + +列举数据库,相当于mysql的show databases +\l # list + +切换数据库,相当于mysql的use dbname +\c dbname # change + +列举表,相当于mysql的show tables +\dt \desc table + +查看表结构,相当于desc tblname,show columns from tbname +\d tblname + +\di 查看索引 + +创建数据库: +create database [数据库名]; +删除数据库: +drop database [数据库名]; +*重命名一个表: +alter table [表名A] rename to [表名B]; +*删除一个表: +drop table [表名]; + +*在已有的表里添加字段: +alter table [表名] add column [字段名] [类型]; +*删除表中的字段: +alter table [表名] drop column [字段名]; +*重命名一个字段: +alter table [表名] rename column [字段名A] to [字段名B]; +*给一个字段设置缺省值: +alter table [表名] alter column [字段名] set default [新的默认值]; +*去除缺省值: +alter table [表名] alter column [字段名] drop default; +在表中插入数据: +insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......); +修改表中的某行某列的数据: +update [表名] set [目标字段名]=[目标值] where [该行特征]; +删除表中某行数据: +delete from [表名] where [该行特征]; +delete from [表名];--删空整个表 +创建表: +create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;); +\copyright 显示 PostgreSQL 的使用和发行条款 +\encoding [字元编码名称] + 显示或设定用户端字元编码 +\h [名称] SQL 命令语法上的说明,用 * 显示全部命令 +\prompt [文本] 名称 + 提示用户设定内部变数 +\password [USERNAME] 修改密码 + securely change the password for a user +\q 退出 psql + +``` + + + +1. 设置远程访问 + + 1. 改两个conf + 2. 设置密码 + 3. 防火墙和安全组开放5432端口,试着改端口 + 4. 本地使用客户端去连接 + + **注意 pg_hba.conf 的最后加密方式,不要选trust** + + \ No newline at end of file -- Gitee From 3873943894db919b148a45e9264dc02e762a4441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:35:20 +0000 Subject: [PATCH 09/13] postgresql MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- .../2024.07.06-postgresql2.md" | 172 ++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.07.06-postgresql2.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.07.06-postgresql2.md" "b/01\351\251\254\346\227\255\344\270\234/2024.07.06-postgresql2.md" new file mode 100644 index 0000000..c3f03d1 --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.07.06-postgresql2.md" @@ -0,0 +1,172 @@ +# 2024-7-6-postgredql + +## postgresql的安装 + +```bash +找到postgresql官网https://www.postgresql.org +找到对应的版本 +输入以下命令 +apt install -y postgresql-common /usr/share/postgresqlcommon/pgdg/apt.postgresql.org.sh +apt update +apt install postgresql + whereis postgresql +``` + + + +## PostgreSQL 基本操作命令 + +``` +**除了以下命令,其余命令都与MySQL操作命令相同** + +**在访问数据库之前需要切换到默认用户 `postgres`** +并执行psql 连接本地数据库 +``` + +### **访问数据库** + +- 列举数据库 `\l` +- 选择数据库 `\c 数据库名` +- 查看当前数据库中所有的表 `\dt` +- 切换数据库 `\c 库名` +- 查看当前数据库中的某个表结构 `\d 表名` +- 查看某个表的所有信息 `select * from 表名` +- 显示字符集 `\encoding` +- 退出psql `\q` + +### 连接数据库 + +- 连接到 PostgreSQL 数据库:`psql -U postgresql -d database_name -h ip地址` + +### 数据库操作 + +- 创建数据库:`CREATE DATABASE database_name;` +- 删除数据库:`DROP DATABASE database_name;` + +### 表操作 + +- 展示所有表:`\dt` +- 创建表:`CREATE TABLE table_name (column1 datatype, column2 datatype, ...);` +- 删除表:`DROP TABLE table_name;` + +### 数据操作 + +- 插入数据:`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);` +- 查询数据:`SELECT * FROM table_name;` +- 更新数据:`UPDATE table_name SET column1 = value1 WHERE condition;` +- 删除数据:`DELETE FROM table_name WHERE condition;` + +### 创建索引 + +```md +### 创建索引 + +- 创建索引:`CREATE INDEX index_name ON table_name (column_name);` +``` + +### 创建约束 + +```md +### 创建约束 + +- 创建主键约束:`ALTER TABLE table_name ADD PRIMARY KEY (column_name);` +- 创建外键约束:`ALTER TABLE table_name ADD FOREIGN KEY (column_name) REFERENCES other_table(column_name);` +``` + +### 用户管理 + +```md +### 用户管理 + +- 创建用户:`CREATE USER username WITH PASSWORD 'password';` +- 删除用户:`DROP USER username;` +``` + +### 授权用户 + +```md +### 授权用户 + +- 授权用户访问数据库:`GRANT ALL PRIVILEGES ON DATABASE database_name TO username;` +将xx数据库的所有权限都赋予xx用户 +- 授权用户访问表:`GRANT ALL PRIVILEGES ON TABLE table_name TO username;` +``` + +### 修改用户密码 + +```md +### 修改用户密码 + +- 修改用户密码:`ALTER USER username WITH PASSWORD 'new_password';` +``` + +### 备份数据库 + +```md +### 备份数据库 + +- 备份数据库:`pg_dump -U username -d database_name > backup_file.sql` +``` + +### 恢复数据库 + +```md +### 恢复数据库 + +- 恢复数据库:`psql -U username -d database_name < backup_file.sql` +``` + +## postgresql登录 + +### 本地登录 + +**默认参数都不写则表示直接连接本地的数据库** + +**本地登录不需要密码** + +`psql` + +### 远程登录 + +**语法**: + +`psql -h ip地址 -p 端口 -U 数据库名` + +`psql -h ip地址 -p 端口 -U 数据库名` -d 库名 指定库名远程登录 + +- postgresql 默认端口为5432 +- 记得开启防火墙 `ufw allow 5432/tcp` +- 注意在配置文件中添加内容时,加密方式不能设置为 trust + +``` +1. vim /etc/postgresql/16/main/postgresql.conf +找到配置文件postgresql.conf 修改listen_addresses为* + +2. vim /etc/postgresql/16/main/pg_hba.conf +找到pg_hba.conf配置文件 +将 host all all 0.0.0.0/0 md5 添加至文件中,代表所有的用户任意ip都可以通过md5(密码)的方式登录postgresql +3. systemctl restart postgresql 重启postgresql +4.`psql -h ip地址 -p 端口 -U 数据库名` -d 库名 指定库名远程登录 +``` + + + +## 卸载程序 + +关于在 Debian 系统上使用 apt 命令进行包管理的一些常用操作: + +### apt autoremove + +自动删除不再需要的软件包,包括依赖的软件包。 + +### apt --purge remove + +彻底移除指定的软件包,包括删除配置文件。 + +### apt autoclean + +清理过时的软件包,保留最新版本的软件包。 + +### apt clean + +清理所有已下载的软件包。 \ No newline at end of file -- Gitee From a2fe41fe0d2c2ce7a7cfb147dbdc3e9421d4d4bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:36:11 +0000 Subject: [PATCH 10/13] =?UTF-8?q?=E4=BB=8A=E5=A4=A9=E9=A3=9F=E5=A0=82?= =?UTF-8?q?=E7=9A=84=E9=A5=AD=E8=8F=9C=E4=B8=8D=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- ...75\344\270\216\350\277\230\345\216\237.md" | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.07.09-\346\225\260\346\215\256\345\272\223\347\232\204\345\244\207\344\273\275\344\270\216\350\277\230\345\216\237.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.07.09-\346\225\260\346\215\256\345\272\223\347\232\204\345\244\207\344\273\275\344\270\216\350\277\230\345\216\237.md" "b/01\351\251\254\346\227\255\344\270\234/2024.07.09-\346\225\260\346\215\256\345\272\223\347\232\204\345\244\207\344\273\275\344\270\216\350\277\230\345\216\237.md" new file mode 100644 index 0000000..b34ef01 --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.07.09-\346\225\260\346\215\256\345\272\223\347\232\204\345\244\207\344\273\275\344\270\216\350\277\230\345\216\237.md" @@ -0,0 +1,118 @@ +备份的分类 + +- 物理 + +- 逻辑备份 + +- 冷备份:停止服务,再备份 + +- 温备份: 停止写入。只能读取 + +- 热备份:不停止服务,直接备份 + + + +- 逻辑备份: + - 完全备份,全量备份 + - 差异备份 + - 增量备份:二进制的日志 + +MySQL: + +- 备份与还原 + + ```bash + # 备份单个数据库 + mysqldump -u root -p 要备份的数据库 > 保存的位置 + mysqldump -u root -p Jd50 > /tmp/t1.sql + # 恢复单个数据库 + mysql -u root -p 要还原的数据库 < 保存的位置 + # 单个数据库的恢复需要先创建好,名字任意 + mysql -u root -p Jd50 < /tmp/t1.sql + # 另一种恢复方法,先登录mysql,再use要被恢复的数据库 + source 保存的位置 + + + # 多个数据库一起备份 + mysqldump -u root -p --databases 库1 库2 ... > 保存的位置 + mysqldump -u root -p --databases u1 u2 u3 > /tmp/u234.sql + # 多个数据库一起恢复 + mysql -u root -p < 保存的位置 + mysql -u root -p < /tmp/u234.sql + # 另一种恢复方法,先登录mysql + source 保存的位置 + + + # 备份所有数据库 + mysqldump -u root -p --all-databases > 保存的位置 + # 多个数据库一起恢复 + mysql -u root -p < 保存的位置 + # 另一种恢复方法,先登录mysql + source 保存的位置 + + + # 备份某个数据库单个表 + mysqldump -u root -p 要备份的数据库 表名 > 保存的位置 + # 恢复单个数据库单个表 + mysql -u root -p 要还原的数据库 < 保存的位置 + + # 备份某个数据库多个表 + mysqldump -u root -p 要备份的数据库 表名1 表2 > 保存的位置 + # 恢复单个数据库多个表 + mysql -u root -p 要还原的数据库 < 保存的位置 + + # 备份压缩和解压缩 + mysqldump -u root -p 要备份的数据库 表名1 表2 | gzip > 保存的位置.gz + # 还原压缩包格式的备份 + # 1 + gunzip < 保存的位置.gz | mysql -u root -p + gunzip -c 保存的位置.gz | mysql -u root -p + # 2 + gzip -d < 保存的位置.gz | mysql -u root -p + gzip -cd 保存的位置.gz | mysql -u root -p + + # 逻辑备份,且是全量的,结构和数据一起备份了 + # 只备份结构,或只备份数据的等操作。。。。 + + # 尝试自己写脚本,通过周期任务实现自动备份 + ``` + + + +postgreSQL的备份和恢复 + +```bash +#备份 +pg_dump -U postgres -d test -f /tmp/post_test.sql +pg_dump -U postgres -d test > /tmp/post_test.sql +pg_dump -U postgres -Fc test > /tmp/post_test.dump # 用pg_restore来恢复 +# 恢复 +su postgres +psql -h 127.0.0.1 -U postgres -d 要恢复的数据库 -f 备份的地址 +psql -h 127.0.0.1 -U postgres -d 要恢复的数据库 < 备份的地址 + +#备份一个或多个表 +pg_dump -U postgres -d test -t 表名1 -t 表2 > /tmp/post_test.sql +# 恢复 +su postgres +psql -h 127.0.0.1 -U postgres -d 要恢复的数据库 -f 备份的地址 +psql -h 127.0.0.1 -U postgres -d 要恢复的数据库 < 备份的地址 + +# 备份所有数据库 +pg_dumpall -U > 位置 +# 恢复所有数据库 +psql < 位置 + +# 如果加了-h 主机,就要密码,而且一般要指定-U这个选项指定用户名 + + +# 压缩备份单个数据 +pg_dump -U postgres -d test -t teacher -t student | gzip > /tmp/ts.sql.gz +# 压缩恢复单个数据库 +gunzip < /tmp/ts.sql.gz | psql -h 127.0.0.1 -U postgres -d test + +#所有 +pg_dumpall | gzip > /tmp/222.sql.gz +gunzip < /tmp/222.sql.gz | psql + +``` \ No newline at end of file -- Gitee From 6152ef566b7b42039ffb2112e9452b1b3963418d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:36:34 +0000 Subject: [PATCH 11/13] =?UTF-8?q?=E8=BF=99=E4=B8=AA=E6=9C=89=E7=82=B9?= =?UTF-8?q?=E9=9A=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- ...24.07.10-shell\345\205\245\351\227\250.md" | 273 ++++++++++++++++++ 1 file changed, 273 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.07.10-shell\345\205\245\351\227\250.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.07.10-shell\345\205\245\351\227\250.md" "b/01\351\251\254\346\227\255\344\270\234/2024.07.10-shell\345\205\245\351\227\250.md" new file mode 100644 index 0000000..d743a3a --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.07.10-shell\345\205\245\351\227\250.md" @@ -0,0 +1,273 @@ +# 一、SHELL + +### (一)什么是shell + +使用SHELL的对话方式: + +1. 交互式(Interactive):用户输入一条命令,Shell 解释并执行一条。 +2. 非交互式,又叫批处理(Batch):用户事先编写一个 Shell 脚本(Script)文件,其中包含诸多命令,Shel1 会一次执行完所有命令。 + +查看当前系统支持哪些类型的shell : cat /etc/shells + +### (二)什么是shell脚本 + +shell脚本:就是把原来的Linux语句或命令放在一个文件中,然后通过这个程序文件去执行时,我们就说这个程序为shell脚本或shell程序,我们可以在脚本中输入一系统命令以及相关语法语句组合。 + +#### 1.shell脚本的基本格式 + +首先来创建一个基础的脚本 + +```bash +root@class3:~# vim t.sh +#!/bin/bash +# 第一行开头"#!/bin/bash",表示此行以下的代码语句是通过/bin/bash程序来解释执行。 +# #!/bin/bash为默认的解释器还有其他类型的解释器,#!/bin/python #!/bin/expect +# this is shell +# 第二行为注释内容,以#开头为注释信息,执行时被忽略。可以写一些shell脚本的介绍 +echo "hello world" +mkdir /opt/test +touch /opt/test/a.txt +ls -l /opt +#第3+行为执行语句或命令 +``` + +shell脚本文件一般以.sh结尾 + +#### 2.执行SHELL脚本的三种方式 + +1. 脚本路径执行:可以是绝对路径,也可以是相对路径。需要权限 + + ```bash + root@class3:~# /root/t.sh #绝对路径 + root@class3:~# ./t.sh #相对路径 + # 需要权限 + root@class3:~# chmod +x t.sh + ``` + +2. shell解释器执行:指定使用bash去执行,不需要权限 + + ```bash + root@class3:~#bash t.sh + ``` + +3. source或.:也可以直接执行,不需要权限,但是会影响当前环境 + + ```bash + root@class3:~#source t.sh + root@class3:~#. t.sh + ``` + + | 执行方式 | 是否需要权限 | 是否影响当前环境 | + | :-------------- | :----------: | :--------------: | + | 脚本路径执行 | yes | no | + | shell解释器执行 | no | no | + | source或. | no | yes | + + 因为路径和shell解释器形式,其实是开一个子进程,在子进程中执行脚本,所以不会影响到原来的环境 + +#### 3.shell脚本执行逻辑 + +1. 顺序执行:程序按从上到下顺序执行 +2. 选择执行:程序执行过程中,根据条件的不同,进行选择不同分支继续执行 if +3. 循环执行:程序执行过程中需要重复执行多次某段语句 while for.0 + +### (三)脚本错误调试 bash -x -n + +#### 1.命令错误 + +默认后续的命令还会继续执行,可以使用 bash -x 进行观察 + +```bash +root@class1:~# cat tt.sh +#!/bin/bash +echo 111 +eho 222 +echo 333 + +root@class1:~# bash -x tt.sh ++ echo 111 +111 ++ eho 222 +tt.sh: 行 3: eho: 未找到命令 # 检测到错误 ++ echo 333 +333 +``` + +#### 2.语法错误 + +会导致后续的命令不继续执行,可以用bash -n 检查错误,但是提示的出错行数可能会因为嵌套结构而显得不准确 + +```bash +root@class1:~# cat tt.sh +#!/bin/bash +echo 111 +eho 666 +if +echo 777 + + +root@class1:~# bash -x tt.sh # 可能发现所有错误 ++ echo 111 +111 ++ eho 666 +tt.sh: 行 3: eho: 未找到命令 +tt.sh: 行 6: 语法错误:未预期的文件结束符 +root@class1:~# bash -n tt.sh # 只能发现语法错误 +tt.sh: 行 6: 语法错误:未预期的文件结束符 +``` + +## 二、变量 + +**自定义变量 语法为** : 变量名=变量值 + +- =号两边不能有空格 +- 变量名称**不能以数字开头** +- 字符串加引号 +- 变量名前加$,表示使用变量的值 + +```bash +root@class1:~#myage=18 # 注意没有空格 +``` + +**交互式定义变量 :** read -p + +语法 : read p "提示语" 变量名 + +```bash +# 语法 : read p "提示语" 变量名 +root@class1:~# read -p "请输入一个日期" date +请输入一个日期666 +date=666 +root@class1:~# echo $date +666 + +``` + +#### **只读变量** + +只读变量在声明后不能更改其值。在Bash shell中,通过readonly 命令来声明位置变量 + +```bash +root@class1:~# readonly name=张三 +root@class1:~# echo $name +张三 +root@class1:~# name=李四 +-bash: name: 只读变量 +# 一旦建立后,无法进行追加和删除 +root@class1:~# unset name +-bash: unset: name: 无法取消设定:只读variable +``` + +#### **环境变量** + +环境变量是一种特殊的预定义变量,不仅在当前Shell会话中可用,还会被所有子进程继承。 + +在当前shell环境中定义的变量是无法自动被其它子进程继承的,需要通过export命令去赋予 + +#### **位置变量** + +指的是从命令行传递给脚本或函数的参数。每个参数都有一个编号,从 $0 开始,其中 $0 是脚本本身的名字,而 $1、$2、$3 等依次对应第一个、第二个、第三个参数等。 + +```bash +#!/bin/bash +echo "脚本的文件名 $0" #会打印出脚本的文件名 +echo "$1" #脚本后面的第一个参数 +echo "$2" #脚本后面的第二个参数 +echo "$3" #脚本后面的第三个参数 +echo "${10}" #脚本后面的第十个参数 + +#①:$0是一个特殊变量,它代表脚本的文件名 +#②:${10}必须用大括号括起来,否则将$看成变量,在后面加0 +#$# 参数的个数 +``` + +### 特殊变量与符号 + +#### 1.符号 + +在变量中,有一些特殊符号,需要我们去掌握 + +| 符号 | 名称 | 作用 | +| ------------------------------------------------------------ | ------ | ---------------------------------------- | +| " " | 双引号 | 弱引用 可以识别变量 "$name",将变量转成值 | +| ‘ ’ | 单引号 | 强引用 不能识别变量 '$name',不变值 | +| { } | 大括号 | 定义变量名的范围 ${dizhi}30 | +| \`` | 反撇 | 调用命令的执行结果 ,另一种写法$( 命令 ) \`命令` | | | + +#### 2.特殊变量 + +在预定义变量中,还存在一些特殊变量,比如在之前说到的$0就是一种特殊变量 + +| $* | 代表一个整体,把所有位置参数当成整体返回,所有参数 | +| ---- | ---------------------------------------------------------- | +| $@ | 代表独立个体,把所有位置参数当成个体返回,查询与上面的区别 | +| $? | 上一条命令的执行结果是否成功。正确为0,返回任何非0值为异常 | +| $# | 代表位置参数个数 | +| $0 | 代表当前脚本的名称 | +| $$ | 当前bash的pid | + + + +### (四)四则运算 + +加法 + + +减法 - + +乘法 \ * :*表示乘。但是因为其有特殊含义,需要加上\转义符进行转义,表达原本的意思 + +除法 / + +#### 1.expr运算 + +基本格式为:expr 变量 + 变量 (注意空格) + +```bash +expr $a+$b # 错误 +expr $a + $b +sum=$(expr $a + $b) +``` + +#### 2.使用(())运算 + +将变量a与b相加,格式为 :(( 变量名=算数表达式 )) + +```bash +(( sum=a + b )) +echo $sum +#()内可以直接调用变量,不需要加$符号 +``` + +#### 3.使用let运算 + +格式为 let 运算结果变量名=运算表达式 + +``` +let sum=$a + $b; +``` + +#### 4.方括号[ ]运算 + +语法为:运算结果变量名=$[算术表达式] + +```bash +a=1 +b=2 +sum=$[a+b] +echo $sum +``` + + + +尝试用脚本来实现一些运维的工作: + +1. 用脚本去自动备份数据库 +2. 用脚本去安装nginx, + + + +# Shell相关文档 + +https://blog.csdn.net/hy199707/article/details/135820345 + +https://www.runoob.com/linux/linux-shell.html \ No newline at end of file -- Gitee From 1890429bf1dee20327f958e265f0dd3e831aae5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:38:48 +0000 Subject: [PATCH 12/13] =?UTF-8?q?=E9=82=A3=E9=A9=AC=E8=B7=AF=E4=B8=8A?= =?UTF-8?q?=E5=A4=A9=E5=A4=A9=E9=83=BD=E5=9C=A8=E5=A1=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- ...25\345\217\212\350\257\255\345\217\245.md" | 183 ++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.07.12-Shell\344\270\255\347\232\204\346\265\213\350\257\225\345\217\212\350\257\255\345\217\245.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.07.12-Shell\344\270\255\347\232\204\346\265\213\350\257\225\345\217\212\350\257\255\345\217\245.md" "b/01\351\251\254\346\227\255\344\270\234/2024.07.12-Shell\344\270\255\347\232\204\346\265\213\350\257\225\345\217\212\350\257\255\345\217\245.md" new file mode 100644 index 0000000..1118f35 --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.07.12-Shell\344\270\255\347\232\204\346\265\213\350\257\225\345\217\212\350\257\255\345\217\245.md" @@ -0,0 +1,183 @@ +# Shell中的测试及语句 + +一、测试 + +1. 简单条件测试 + + 格式: + + test 操作符 目录/文件 + + [ 操作符 目录/文件] !!!:[ ] 两边与操作符和条件之间需要有空格 + + 常见操作符: + + - -d:测试是否为目录 + - -e:测试目录或文件是否存在 + - -f:测试是否为文件 + +2. 逻辑测试 + + 格式: + + &&:逻辑的与,“而且”的意思 + + ||:逻辑的或,“或者”的意思 + + ! :逻辑的否 + +3. 整数比较 + + 语法: + + [ 整数 操作符 整数 ] + + 操作符: + + - -eq:判断是否等于 + - -ne:判断是否不等于 + - -gt:判断是否大于 + - -lt:判断是否小于 + - -le:判断是否等于或小于 + - -ge:判断是否等于或大于 + +4. 字符串比较 + + 语法: + + [字符串1 操作符 字符串2] + + 操作符: + + - =:比较字符串内容是否相同 + - !=:比较字符串内容是否不同 + - z:判断字符串内容是否为空 + +二、条件测试语句 + +1. if + + - 单分支 + + 语法: + + ```bash + if [判断条件];then + 需要执行的命令 + fi + + #if表示判断,如果这个变量文件不存在 + + #then表示接下要执行,那么就会执行mkdir -p $DIR + + #fi表示结束 + ``` + + - 双分支 + + 语法 + + ```bash + if [判断条件];then + 需要执行的命令 + else + 条件不成立时需要执行的命令 + fi + ``` + + ```bash + if [判断条件1];then + + 命令序列1 + + elif [判断条件2];then + + 命令序列2 + + elif 判断条件3;then + + 命令序列3 + + else + + 以上条件都为假的命令序列 #托底命令 + fi + ``` + +2. case + + 语法: + + ```bash + case $变量名 in + 模式1) # 判断条件 + 命令1... # 判断为该模式后需要执行的命令 + ;; + 模式2) + 命令2... + ;; + 模式3|模式4) # 可以用'|'分隔多个模式进行联合匹配 + 命令3... + ;; + *) + default_commands... # 匹配所有未明确列出的其他情况(可选) + ;; + esac # 内容的结尾格式,与if语句中的fi类似 + ``` + +三、循环语句 + +1. for循环 + + 语法: + + ```bash + for 变量名 in 取值列表 ;do + 命令序列 + done + + ———————————————————————————————————————————— + + for 变量名 in 取值列表 + do + 命令序列 + done + + -------------------------------------------- + for ((表达式1;表达式2;表达式3)) + do + 命令序列 + done + + #表达式1:定义变量并赋初值 + #表达式2:决定是否循环,正确则循环,不正确直接退出 + #表达式3:决定循环变量如何改变,决定循环什么时候退出 + ``` + +2. while语句 + + 语法: + + ```bash + while 判断条件 + do + 命令1 + done + #语法与if相似 + ``` + +3. until语句 + + ```bash + a=0 + sum=0 + + until [ $a -gt 100] #判断条件。$a大于100则条件为真,会退出循环,若小于100,会陷入循环 + do + sum=$[sum+a] #将当前的a的值累加到sum上 + let a++ #每循环一次,变量值本身+1 + done + echo $sum + ``` + + \ No newline at end of file -- Gitee From 3f8ec9c7d526159fff7866c76623f12f281f2bad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=97=AD=E4=B8=9C?= <3228676708@qq.com> Date: Sat, 13 Jul 2024 09:40:02 +0000 Subject: [PATCH 13/13] =?UTF-8?q?=E5=A4=AA=E9=98=B3=E5=A4=A9=E5=92=8C?= =?UTF-8?q?=E4=B8=8B=E9=9B=A8=E5=A4=A9=EF=BC=8C=E4=BA=BA=E6=8C=A4=E4=BA=BA?= =?UTF-8?q?=E7=9A=84=E5=92=96=E5=95=A1=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 马旭东 <3228676708@qq.com> --- ...05postgresql16\347\211\210\346\234\254.md" | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 "01\351\251\254\346\227\255\344\270\234/2024.07.06-\345\256\211\350\243\205postgresql16\347\211\210\346\234\254.md" diff --git "a/01\351\251\254\346\227\255\344\270\234/2024.07.06-\345\256\211\350\243\205postgresql16\347\211\210\346\234\254.md" "b/01\351\251\254\346\227\255\344\270\234/2024.07.06-\345\256\211\350\243\205postgresql16\347\211\210\346\234\254.md" new file mode 100644 index 0000000..1813012 --- /dev/null +++ "b/01\351\251\254\346\227\255\344\270\234/2024.07.06-\345\256\211\350\243\205postgresql16\347\211\210\346\234\254.md" @@ -0,0 +1,71 @@ +#### 💕安装postgresql 16版本💕 + +##### 卸载安装包 + +```mysql +apt --purge remove postgresql +apt autoremove postgresql* +find / -name postgresql* -exec rm -rf {} \; +``` + +##### 安装 + +```bash +#下载依赖包 +sudo apt install -y postgresql-common +sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh +apt update #更新资源 +apt install postgresql #安装postgresql +``` + +#### 配置 + +1. ```bash + su postgres #切换到postgres用户 + ``` + +2. ```bash + psql #进入postgresql + ``` + +3. ```bash + \q #退出postgresql + ``` + +4. ```bash + 本地登录不需要密码 + ``` + +##### 远程登录配置 + +1. ```bash + vim /etc/postgresql/16/main/postgresql.conf #对该文件进行配置 + # listen_addresses = 'localhost' + # 改为 + listen_addresses = '*' + ``` + +2. ```bash + vim /etc/postgresql/16/main/pg_hba.conf + # 在文本的末尾添加一行 + host all all 0.0.0.0/0 md5 + ``` + +3. ```bash + psql -h localhost -U postgre #测试远程登录 + ``` + +##### postgresql的语法 + +```mysql +-- 查看数据库 +\l +-- 切换导数据库 +\c +-- 列出表 +\dt +-- 查看表结构 +\d +-- 其他语言和mysql类似 +``` + -- Gitee