一、用自己的语言描述计算机的组成?
计算机系统简介
计算机系统结构:主要有软件部分和硬件部分组成
计算机硬件组成部分: 冯诺依曼计算机模型:运算器,存储器,控制器,输入和输出设备五大部件组成; 现计算机分为三大部分组成:CPU,I/O设备,主存储器
计算机软件组成部分: 系统软件:主要指控制和协调计算机及其他设备,支持软件应用的运行的操作系统,如:windows,linux等 应用软件:主要是计算机用户可以使用的各种由程序开发语言设计出来的应用程序,如:office等
二、nginx是一款web服务器,运行过程中会产生access.log日志,每三天重新生成一次,默认属主属组都是nginx. 领导对小李说要采集nginx的日志,需要用到一款工具叫nxlog,问nxlog如何采集access.log日志比较好(注,此题考察权限,不涉及具体流程)
办法:把ngxlog程序的用户nxlog加入到nginx组,命令: usermod -a -G nginx nxlog
办法:把access.log日志文件权限改为645,让其他用户拥有读权限,命令: chmod 645 access.log
三、用自己的语言简述IO重定向
每个进程都有STDIN,STDOUT,STDERR 3种标准I/O,在进程被创建时,内核默认给进程创建0,1,2三个特殊的FD,(查看命令:ls -l /proc/进程ID/fd),对应的是STDIN,STDOUT,STDERR。
I/O输出重定向基本操作:>和>>把标准输出重定向到文件中,> 输出会覆盖原来的文件内容,>> 输出是把内容追加到文件内容之后,如:echo "123" > test.txt; echo "123" >> test.txt
I/O输入重定向基本操作:<把标准输入从文件输入到命令中,如:cat < file.txt 等同于 cat file.txt; << 通常结合开始标记tag和结束tag来作为输入内容重定向,如:#wc -l << EOF aaa bbb 123 EOF 3 # 输出结果为3行
四、找出/etc/下没有写权限w的文件(即属主属组其他用户都没有写权限)
拥有写权限的文件,最基本的状态为:222,因此查找出来匹配拥有222的权限的文件,取反列出即可,命令: find /etc -type f ! -perm /222 -exec ls -lg {} ;