1. gdb命令
backtrace bt 打印当前的函数调用栈的所有信息。
2. linux下解释: ip rule add from 192.168.3.112/32 [tos 0x10] table 2 pref 1500。
向规则链增加一条规则,规则匹配的对象是IP为192.168.3.112,tos等于0x10的包,使用路由表2,这条规则的优先级是1500
3.你被需要检查系统中的设备情况,/var/log/messages的日志信息
- /var/log/messages — 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。
- /var/log/dmesg — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
- /var/log/auth.log — 包含系统授权信息,包括用户登录和使用的权限机制等。
- /var/log/boot.log — 包含系统启动时的日志。
- /var/log/daemon.log — 包含各种系统后台守护进程日志信息。
- /var/log/dpkg.log – 包括安装或dpkg命令清除软件包的日志。
- /var/log/kern.log – 包含内核产生的日志,有助于在定制内核时解决问题。
- /var/log/lastlog — 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。
- /var/log/maillog /var/log/mail.log — 包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。
- /var/log/user.log — 记录所有等级用户信息的日志。
- /var/log/Xorg.x.log — 来自X的日志信息。
- /var/log/alternatives.log – 更新替代信息都记录在这个文件中。
- /var/log/btmp – 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。
- /var/log/cups — 涉及所有打印信息的日志。
- /var/log/anaconda.log — 在安装Linux时,所有安装信息都储存在这个文件中。
- /var/log/yum.log — 包含使用yum安装的软件包信息。
- /var/log/cron — 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。
- /var/log/secure — 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
- /var/log/wtmp或/var/log/utmp — 包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。
- /var/log/faillog – 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。
除了上述Log文件以外, /var/log还基于系统的具体应用包含以下一些子目录:
- /var/log/httpd/或/var/log/apache2 — 包含服务器access_log和error_log信息。
- /var/log/lighttpd/ — 包含light HTTPD的access_log和error_log。
- /var/log/mail/ – 这个子目录包含邮件服务器的额外日志。
- /var/log/prelink/ — 包含.so文件被prelink修改的信息。
- /var/log/audit/ — 包含被 Linux audit daemon储存的信息。
- /var/log/samba/ – 包含由samba存储的信息。
- /var/log/sa/ — 包含每日由sysstat软件包收集的sar文件。
- /var/log/sssd/ – 用于守护进程安全服务。
4. read ,pread,write,pwrite,lseek是系统调用,而fseek是函数
5. 关于bash
.bash_logout:退出shell时,要执行的命令
.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行
6.telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。
wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。
scp就是secure copy,是用来进行远程文件拷贝的。
7.下面有关new/delete和malloc/free的区别?
malloc与free是标准库函数,new/delete是运算符
new初始化对象,调用对象的构造函数,malloc仅仅分配内存
new、delete返回的是所分配类型变量(对象)的指针,malloc、free返回的是void指针
8.init启动进程需要读取/etc/inittab配置文件
sbin/init在核心完整的加载后,开始运行系统的第一支程序,主要的功能就是准备软件运行的环境,包括系统的主机名称、网络配置、语系处理、文件系统格式及其他服务的启动等。
9.top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,默认5秒刷新一下进程表.
10. 软链接和硬链接,i节点并不是和文件名一一对应
11.在/etc/fstab文件中指定的文件系统加载参数中, 参数一般用于CD-ROM等移动设备。noauto
defaults 使用默认设置 sw 自动挂载的可读写分区 noauto 设备(分区)只能手动挂载
ro 挂载为只读权限
rw 挂载为读写权限 所以选择D
12.局域网的网络地址192.168.1.0/24,局域网络连接其它网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时,其路由设置正确的是?
route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1路由信息是由{目的主机所在的网络地址,下一跳地址,子网掩码}组成
13.clone是fork的升级版本,不仅可以创建进程或者线程,还可以指定创建新的命名空间(namespace)、有选择的继承父进程的内存、甚至可以将创建出来的进程变成父进程的兄弟进程等等
fork() 函数复制时将父进程的所以资源都通过复制数据结构进行了复制,然后传递给子进程,所以 fork() 函数不带参数; clone() 函数则是将部分父进程的资源的数据结构进行复制,复制哪些资源是可选择的,这个可以通过参数设定,所以 clone() 函数带参数,没有复制的资源可以通过指针共享给子进程
14.
15.一个文件名字为rr.Z,可以用来解压缩的命令是:uncompress
16./etc/hosts 主机名到 IP 地址的映射关系的文件
1)防止程序指令被修改,设置代码段权限为只读,设置数据段权限为可读写
2)代码段和数据段分开有利于提高程序的局部性,现代CPU缓存一般设计为数据缓存和指令缓存分离,指令和数据分开存放可以提高CPU缓存命中率。
3)共享指令,当系统运行多个程序的副本时,它们指令时一样的,因此内存只需保存一份程序的指令代码。每个副本进程的数据区是进程私有,可以节省内存。
18.ifconfig命令作用范围的是配置本地回环地址,配置网卡的ip地址,激活网络适配器
19.
20.IP地址越多,系统建立的连接数就越多,文件句柄是应用程序调用系统函数对文件进行I/O操作时,函数返回的用来唯一表示这个文件的符号,它会影响虚拟文件系统的数值。
会限制Linux服务器并发连接数:
系统内存大小
系统最大文件句柄数量
系统IP地址数量