




文档简介
Linux 基础知识一本通 学习 面试必备宝典学习 面试必备宝典 目录 第第一一章章 LinuxLinux 网络工具网络工具 第第二二章章 Linux ShellLinux Shell 第第三三章章 Linux VILinux VI 第第四四章章 LinuxLinux 压缩管理压缩管理 第第五五章章 LinuxLinux 磁盘管理磁盘管理 第第六六章章 LinuxLinux 磁盘配额磁盘配额 第第七七章章 LinuxLinux 防火墙及防火墙及 NATNAT 第第八八章章 Linux LVMLinux LVM 第第九九章章 Linux RPMLinux RPM 安装与维护安装与维护 第第十十章章 LinuxLinux 进程进程 性能管理性能管理 第第十一十一章章 LinuxLinux 内核编译与模组管理内核编译与模组管理 第第十二十二章章 LinuxLinux 用户管理用户管理 第第十三十三章章 LinuxLinux 正规表达法正规表达法 第第十四十四章章 LinuxLinux 目录操作目录操作 第第十五十五章章 Linux chrootLinux chroot 配置配置 第第十六十六章章 LinuxLinux 远程访问练习题远程访问练习题 第第十七十七章章 LinuxLinux 网络文件系统网络文件系统 NFSNFS 第第十八十八章章 LinuxLinux 的的 softwareRaidsoftwareRaid 第第十九十九章章 LinuxLinux 的的 dnsdns 配置配置 第第二十二十章章 LinuxLinux 的的 postfixpostfix 第第十一十一章章 Linux SELinuxLinux SELinux 第第二十二二十二章章 LinuxLinux 的的 ntpntp 服务服务 第第二十三二十三章章 Linux sambaLinux samba 第第二十四二十四章章 LinuxLinux 的的 vsftpdvsftpd 第第二十五二十五章章 LinuxLinux 的的 DHCPDHCP 第第二十六二十六章章 LinuxLinux 的的 NISNIS 第第二十七二十七章章 LinuxLinux 的的 NISNIS 第第二十八二十八章章 LinuxLinux 的的 autofsautofs 第第二十九二十九章章 LinuxLinux 的的 squidsquid 第第三十三十章章 LinuxLinux 的的 MysqlMysql 第第三十一三十一章章 LinuxLinux 的的 MysqlMysql 第第三十二三十二章章 LinuxLinux 的的 snmpsnmp 第第三十三三十三章章 LinuxLinux 的的 gpggpg 加密加密 第第三十三十四四章章 LinuxLinux 的的 ACLACL 第第三十五三十五章章 LinuxLinux 的的 openvpnopenvpn 第一章 Linux 网络工具 1 设定 eth0 网卡地址为 192 168 0 11 子网为 255 255 255 0 MTU 的值为 6000 ifconfig eth0 192 168 0 11 netmask 255 255 255 0 mtu 6000 2 用 route 来增加一个路由 目的网段为 192 168 1 0 route add net 192 168 1 0 netmask 255 255 255 0 dev eth0 3 删除以上建立的路由信息 route del net 192 168 1 0 netmask 255 255 255 0 dev eth0 4 加入默认网关 192 168 0 2 route add default gw 192 168 0 2 5 删除默认网关 192 168 0 2 route del default gw 192 168 0 2 6 用 ip 命令来操作管理网络 6 1 用 ip 命令显示 eth0 的介面信息 6 2 关闭 eth0 网卡 6 3 更改 eth0 网卡代号为 ckhitler 并查看结果 6 4 更改 eht0 网卡的 MAC 地址为 bb bb bb bb bb bb 并查看结果 6 5 开启 eth0 网卡 ip link show ip s link show eth0 ip link set eth0 down ip link set eth0 name ckhiler ip link show ip link set eth0 address bb bb bb bb bb bb ip link show ip link set eth0 up 7 启用 dhcp 的 client dhclient eth0 8 PING 网关地址 192 168 0 1 判断 MTU 包 是否在 1000 以内 ping c 2 s 1000 M do 192 168 0 1 9 PING 网关地址 192 168 0 1 判断 MTU 包 是否在 1000 以内 ping c 2 s 2000 M do 192 168 0 1 10 追踪到 www britepic org 的路由表 traceroute n www britepic org 11 用 netstat 显示端口信息 11 1 显示 TCP UDP 端口状态为 LISTEN 的信息 11 2 显示 TCP UDP 端口状态为 ESTABLISHED 的信息 netstat tunl netstat tun 12 用 nslookup 来查询 www britepic org 域名的正解信息 nslookup www britepic org 13 用 nslookup 来查询 202 108 9 39 地址的反解信息 nslookup 202 108 9 39 14 用 tcpdump 来监视网络数据包信息 14 1 只监视网卡 eth0 的网络数据包 14 2 只监视网卡 eth0 及端口 25 的网络数据包 14 3 只监视网卡 eth0 及端口 25 的网络数据包 并用 16 进程方式显示 14 4 只监视网卡 eth0 及端口 25 和源地址为 192 168 0 3 的网络数据包 并用 16 进程方式显示 14 5 只监视网卡 eth0 及端口 25 和源地址为 192 168 0 3 而长度为 10240 的网 络数据包 14 6 只监视网卡 eth0 及端口 25 和源地址为 192 168 0 3 的网络数据包 以 Snarf 的形式抓完整的数据包到 tmp data cap 文件 tcpdump i eth0 nn tcpdump i eth0 nn port 25 telnet 192 168 1 12 25 tcpdump i lo nn X port 25 tcpdump i eth0 nn port 25 and src host 192 168 0 3 X tcpdump i eth0 s 10240 nn port 25 and src host 192 168 0 3 X tcpdump i eth0 nn port 25 and src host 192 168 0 3 s0 w tmp data cap 15 用 nc 命令监视本机地址端口 22 的信息 并将信息写入 test txt 文件 nc vv o test txt 192 168 0 12 22 16 用 nmap 扫描 192 168 0 12 地址的 TCP UDP 端口 nmap sTU 192 168 0 12 17 用 nmap 扫描 192 168 0 0 24 网段活跃的主机 nmap sP 192 168 0 0 24 18 用 nmap 扫描 192 168 0 0 24 网段的端口 端口范围在 1 1024 nmap p 1 1024 192 168 0 0 24 第二章 linux shell 1 更改 Shell 1 1 利用 PS1 变量改变命令提示 新提示符包括使用者帐号名称 u 主机名 h 完整路径 w 时间 A 历史命令个数 1 2 更改 ls 显示目录文件的颜色为白色字体 蓝色背景 参考答案 PS1 u h w A echo LS COLORS declare x LS COLORS LS COLORS di 00 37 44 2 显示本 SHELL 的 PID 值 参考答案 echo 3 显示上个命令的回传码 参考答案 echo 4 提示使用者 30 秒內输入自己的名字 将该输入字串存储到 named 变量 参考答案 read p Please input your name t 30 named 5 变量运算 5 1 进行 100 300 50 的加运算 将结果存入数值变量 sum 5 2 定义 a 3 b 5 输出 a b 的和 5 3 显示输出 Your cost is 5 00 参考答案 declare i sum 100 300 50 echo sum a 3 b 5 echo a b echo Your cost is 5 00 6 让 sum 变量变成环境变量 参考答案 declare x sum export grep sum 7 将 sum 变量变成只读变量 参考答案 declare r sum sum love 8 立即将当前的历史命令写到 history 档案中 参考答案 history w 9 显示所有 stty 的参数 将 erase 更改为 ctrl h 参考答案 stty a stty erase h 10 将 erase 更改为默认的后退键 backspace 参考答案 stty erase 11 打印输出 PATH 变量的第五个路径 参考答案 echo PATH cut d f 5 12 打印输出 PATH 变量的第 3 列与第 5 列 参考答案 echo PATH cut d f 3 5 13 输出 export 命令的信息 但要求是每行第 12 字符以后的字串 参考答案 export cut c 12 14 显示 etc passwd 內容是以 来分隔的 以字符形式来排序第三栏 参考答案 cat etc passwd sort t k 3 15 显示 etc passwd 內容是以 来分隔的 以数字形式来排序第三栏 参考答案 cat etc passwd sort t k 3 n 16 聚合 last 命令的帐号一栏 参考答案 last cut d f1 sort uniq c 17 将 ls l home 资料存一份到 homefile 同时输出到屏幕 参考答案 ls l home tee homefile more 18 将 ls l 资料追加一份到 homefile 下 同时输出到屏幕 参考答案 ls l tee a homefile more 19 打印输出 etc passwd 文件 将冒号 删除 参考答案 cat etc passwd tr d 20 将 etc passwd 与 etc shadow 相关资料整合成一栏 参考答案 join t etc passwd etc shadow 21 将 etc passwd 与 etc group 整合 依据的是 etc passwd第4列的GID 及 etc group 第 3 列的 GID 参考答案 join t 1 4 etc passwd 2 3 etc group 22 将 etc passwd 与 etc shadow 同一行贴在一起 参考答案 paste etc passwd etc shadow 23 通过 ulimit 显示所有当前资源极限 参考答案 ulimit a 24 通过 ulimit 设置创建文件的最大块为 1 一块为 512 字节 拷贝 passwd 文件 进行测试 参考答案 ulimit f 1 cp etc passwd 25 通过 ulimit 设置创建文件的最大块数为无限制 参考答案 ulimit f unlimited 26 查看 etc passwd 文件 依据每行的第二个字符进行排序 参考答案 cat etc passwd sort k 1 2 27 查看 etc yp conf 是否有拼写错误 参考答案 aspell check etc yp conf 28 xargs 的用法 28 1 新建三个文件 1 txt 2 txt 3 txt 28 2 用 ls l 将三个文件名重定向到 delete txt 28 3 用 xargs 通过 delete txt 将三个文件删除 参考答案 touch 1 txt 2 txt 3 txt ls l 1 txt 2 txt 3 txt awk print 9 delete txt cat delete txt xargs rm f 29 BASH 内置的命令集 29 1 查看内置的命令集 29 2 尝试打开 BASH 下 vi 属性 按 esc 键进入 vi 的命令操作介面 敲 i 进入插 入 敲入 hacker 敲 esc 键 用 dd 删除当前行 29 3 关闭 BASH 的 vi 属性 参考答案 set o set o vi set o vi 或用 bash 命令恢复 30 1 在 shell 下搜索之前最近输入的以 aspell 为关键词的命令 30 2 输入 aspell check etc pnm2ppa conf 将光标移到行首 再将光标移到 行尾 30 3 剪切命令行中光标所在处之前的所有字符 不包括自身 粘贴刚才剪切的 命令行 30 4 退到行首 剪切命令行中光标所在处之后的所有字符 包括自身 参考答案 ctrl r 输入 aspell Ctrl a Ctrl e Ctrl u Ctrl y Ctrl a Ctrl k 第三章 Linux VI 1 在每行的行首增加字符串 HITLER 参考答案 g s HITLER g 2 在每行的行尾添加 LOVE 参考答案 g s LOVE g 3 从文本的第 3 行至最后一行的行首全部插入字符串 HACKER 参考答案 3 s HACKER 4 在整个文件中的 root 替换为特定字符串 hacker 参考答案 s root hacker g 5 将 3 到 7 行的 sbin 换成 xxxx 参考答案 3 7s sbin xxxx 6 移动光标 到 5 行 到行尾 到行首 下移 10 行 上移 7 行 到屏幕的底层 到屏幕的顶层 到屏幕的中间 参考答案 5G 0 10 7 L H M 7 移动到 10 行 左移 10 个字符 删除到行首 删除到行尾 参考答案 10G 10 d0 d 8 将 1 行到 5 行之间的内容拷贝到第 10 行下 参考答案 1 5 co 10 9 将 1 行到 3 行之间的内容移至到第 5 行下 参考答案 1 3 m 5 10 将 1 行到 15 行之间的内容删除 参考答案 1 15 d 11 执行 shell 命令 ls l tmp 参考答案 ls l tmp 12 将命令 ls l root 的输出结果放到当前行 参考答案 ls l root 13 在打开的文件 file 中光标所在处读入 etc passwd 参考答案 r etc passwd 14 仅仅把第 20 59 行之间的内容存盘成文件 tmp 1 参考答案 20 59w tmp 1 15 移动到第 1 行 对当前的行到文件尾的数据进行排序 参考答案 G sort 16 设置 vi 中色彩高亮 参考答案 syntax on 17 显示在 vi 状态行上的 vi 状态信息 包括正在编辑的文件名 是否修改过 当 前行号 文件的行数以及光标之前的行占整个文件的百分比 参考答案 ctrl G 第四章 Linux 压缩管理 1 将 etc man config 复制到 tmp 目录下 用 gzip 压缩 参考答案 cd tmp cp etc man config gzip man config 2 查看 tmp man config gz 文件里的内容 参考答案 zcat man config gz 3 解压缩 man config gz 参考答案 gzip d man config gz 4 将 man config gz 用最佳压缩比压缩 且包留副本 参考答案 gzip 9 c man config man config gz 5 将 man config 用 bzip2 压缩 参考答案 bzip2 z man config 6 读 man config bz2 的内容 参考答案 bzcat man config bz2 7 解压缩 man config bz2 参考答案 bzip2 d man config bz2 8 用最佳的压缩比例压缩 且保留副本 参考答案 bzip2 9 c man config man config bz2 9 用 tar 的 gzip 压缩打包 etc 目录下所有文件 参考答案 tar zcvf tmp etc tar gz etc 10 查看 etc tar gz 文件里的内容 参考答案 tar tzvf tmp etc tar gz 11 用 tar 的 bzip2 压缩打包 etc 目录下的所有文件 参考答案 tar jcvf tmp etc tar bz2 etc 12 查看 etc tar bz2 文件中的内容 参考答案 tar jtvf etc tar bz2 13 只解压缩 etc tar gz 包中 etc passwd 文件 参考答案 tar zxvf tmp etc tar gz etc passwd 14 用 tar 的 gzip 压缩打包 etc 目录下的文件 并加上权限 参考答案 tar zcvpf tmp etc tar gz etc 15 用 tar 的 gzip 压缩打包 etc 目录下比 2007 06 01 新的文件 参考答案 tar N 2007 06 01 zcvf etc tar gz etc 16 用 tar 的 gzip 压缩打包 etc 所有文件 但不包括 etc passwd 参考答案 tar exclude etc passwd zcvf myfile tar gz etc 17 备份 dev sda 的 mbr 参考答案 dd if dev sda f tmp mbr back bs 512 count 1 18 用 cpio 备份 etc 目录下所有的普通文件 参考答案 find etc type f cpio o tmp etc cpio 19 用 cpio 解压缩 tmp etc cpio 参考答案 cpio idvm tmp etc cpio 第五章 Linux 磁盘管理 1 读分区 dev sda1 的文件系统详细信息 参考 dumpe2fs dev sda1 2 查看 LINUX 内核支持的文件系统 参考 ls l lib modules uname r kernel fs 3 查看已经启用的档案系统 参考 cat proc filesystems 4 将系统内的所有特殊档案格式及名称都列出來 参考 df aT 5 用 fdisk 分割磁盘 dev sdb 分区如下 sdb1 为主分区 1200M sdb2 为扩展分区 1200M sdb5 为逻辑分区 500M sdb6 为逻辑分区 300M sdb7 为逻辑分区 400M 其中 sdb6 为 swap sdb7 为 vfat32 6 将 sdb5 格式化为 ext3 且名称为 logical block 为 2048 inode 为 4096 参考 mke2fs j L logical b 2048 i 4096 dev sdb5 7 用 fsck 检查 dev sdb5 显示进度 指定文件系统为 ext3 参考 fsck C t ext3 dev sdb5 8 新建 mnt sdb5 目录 挂载 dev sdb5 分区 参考 mkdir mnt sdb5 mount t ext3 dev sdb5 mnt sdb5 9 将 dev sdb5 重新挂载 并加入 ro 参考 mount o remount ro mnt sdb5 10 将 mnt sdb5 卸载 参考 umount mnt sdb5 11 将 label 为 logical 的分区挂载到 mnt sdb5 参考 mount t ext3 L logical mnt sdb5 12 将 home 目录挂载到 tmp home 上去 参考 mkdir tmp home mount bind home tmp home 13 建立 sdc40 设备 指定为存储设备 主设备号 3 次设备号 10 参考 mknod dev sdc40 b 3 10 13 改变 dev sdb5 设备的 label 为 sdb5 并用 dumpe2fs 查看显示结果 参考 e2label dev sdb5 sdb5 dumpe2fs h dev sdb5 grep volume name 14 格式化 dev sdb7 为 ext2 用 tune2fs j 将其转化为 ext3 参考 mkfs t ext2 dev sdb7 tune2fs j dev sdb7 15 设定 dev sdb7 超级块属性 15 1 设置每两次进行文件系统完整性检查的最大挂装次数为 0 即不检查 15 2 设置每两次进行文件系统完整性检查的时间间隔为 0 即不检查 15 3 列出 dev sdb7 的超级块属性 参考 tune2fs c 0 i 0 dev sdb7 tune2fs l dev sdb7 16 当本系统第一次使用 ext3 文件系统时 可能要将 ext3 模块重新加载进 initrd 中 参考 mkinitrd f v boot initrd uname r img uname r 17 查看主板上 IDE 接口信息 参考 lspci v 18 查看硬盘 dev sdb 的读写效能 参考 hdparm Tt dev sdb 19 将 dev sdb6 格式化为 swap 并用 swapon 激活 用 free 查看 最后关闭 dev sdb6 的 swap 参考 mkswap dev sdb6 swapon dev sdb6 free m swapoff dev sdb6 free m 20 用 dd 建立交换文件 用 swapon 激活 参考 dd if dev zero f tmp swap bs 4k count 16382 mkswap tmp swap free m swapon tmp swap free m swapoff tmp swap 第六章 Linux 磁盘配额 1 建立测试组 gtest 测试用户 test1 test2 test3 以上两个测试用户的初始组 为 gtest 参考答案 groupadd gtest useradd m g gtest test1 useradd m g gtest test2 useradd m g gtest test3 passwd test1 passwd test2 passwd test3 2 让 dev sdb5 支持 quota 参考答案 vi etc fstab dev sdb5 mnt sdb5 ext3 usrquota grpquota 1 2 3 重新挂载 dev sdb5 并检查结果 参考答案 mount o remount dev sdb5 cat etc mtab grep sdb5 4 扫描磁盘使用者情况 产生 aquota group 和 aquota user 参考答案 quotacheck avug ls mnt sdb5 l 5 启动 quota 参考答案 quotaon avug 6 编辑用户 test1 的 block 软限制为 4M 硬限制为 5M 参考答案 edquota u test1 dev sdb5 0 4096 5120 0 0 0 7 切换到 test1 用户 用 dd 产生三个测试文件 分别是 3M 4M 5M 观察结果 参考答案 chmod 777 mnt sdb5 su test1 cd mnt sdb5 dd if dev zero f test3 bs 1024k count 3 dd if dev zero f test3 bs 1024k count 4 dd if dev zero f test3 bs 1024k count 5 8 返回 root 用户 编辑用户 test2 的 inodes 软限制 60 硬限制 100 参考答案 edquota u test2 dev sdb5 2 0 0 1 60 100 9 写一个测试 inodes 脚本 要求在 mnt sdb5 上新建 200 个文件 参考答案 vi test sh bin bash declare i i for i 1 i proc sys net ipv4 ip forward iptables t nat A POSTROUTING s 192 168 6 0 o 192 168 6 217 j MASQUERADE iptables L nv 9 定制防火墙的 NAT 访问策略 9 1 清除所有 NAT 策略 9 2 重置 ip forward 为 1 9 3 通过 SNAT 设定来源于 192 168 6 0 网段通过 eth1 转发出去 9 4 用 iptables 观察转发的数据包 参考答案 iptables F t nat iptables X t nat iptables Z t nat echo 1 proc sys net ipv4 ip forward iptables t nat A POSTROUTING o eth1 j SNAT to 192 168 6 217 iptables L nv 10 端口转发访问策略 10 1 清除所有 NAT 策略 10 2 重置 ip forward 为 1 10 3 通过 DNAT 设定为所有访问 192 168 6 217 的 22 端口 都访问到 192 168 6 191 的 22 端口 10 4 设定所有到 192 168 6 191 的 22 端口的数据包都通过 FORWARD 转发 10 5 设定回应数据包 即通过 NAT 的 POSTROUTING 设定 使通讯正常 参考答案 iptables F t nat iptables X t nat iptables Z t nat echo 1 proc sys net ipv4 ip forward iptables t nat A PREROUTING d 192 168 6 217 p tcp dport 22 j DNAT to destination 192 168 6 191 22 iptables A FORWARD p tcp d 192 168 6 191 dport 22 j ACCEPT iptables t nat I POSTROUTING p tcp dport 22 j MASQUERADE 第八章 Linux LVM 1 将 dev sdb 硬盘进行分区 分成两个区 指定类型为 LVM 参考答案 fdisk dev sdb LVM 的类型为 8e 2 让内核读取最新的分区信息 参考答案 partprobe 3 扫描 pv 卷 并将 sdb1 sdb2 指定为 PV 格式 参考答案 pvscan pvcreate dev sdb1 pvcreate dev sdb2 pvscan 4 查看 PV 的详细状态 参考答案 pvdisplay 5 用 sdb1 和 sdb2 建立 vg vg 名为 ckvg 并指定 PE 为 32MB 参考答案 vgcreate s 32M ckvg dev sdb1 dev sdb2 6 扫描 vg 参考答案 vgscan 7 显示 ckvg 的详细信息 参考答案 vgdisplay 8 将 sdb2 从 ckvg 中抽除 并查看 ckvg 的详细信息 参考答案 vgreduce ckvg dev sdb2 9 将 sdb2 加入到 ckvg 中 并查看 ckvg 的详细信息 参考答案 vgextend ckvg dev sdb2 10 在 ckvg 上创建 lv 空间大小为 1000M vl 取名为 cklv 参考答案 lvcreate L 1000M n cklv ckvg 11 用 ls 查看新创建的 lv 参考答案 ll dev ckvg cklv 12 搜索并显示 lv 参考答案 lvscan lvdisplay 13 格式化 cklv 新建目录 mnt lvm 并将 cklv 挂载到 mnt lvm 参考答案 mke2fs j dev ckvg cklv mkdir mnt lvm mount t ext3 dev ckvg cklv mnt lvm 14 扩展空间 卸载 cklv 增加新分区 dev sdb3 将 dev sdb3 做成 pv 将 dev sdb3 加入到 ckvg 将 cklv 再扩展 1000M 用 resize2fs 处理 cklv 从新挂载 cklv 参考答案 umount mnt lvm fdisk dev sdb partprobe pvcreate dev sdb3 vgextend ckvg dev sdb3 vgdisplay pvscan lvextend L 1000M dev ckvg cklv lvdisplay resize2fs f dev ckvg cklv mount t ext3 dev ckvg cklv mnt lvm df h 15 移除 LVM 先卸载系统上面的 LVM 磁区 使用 lvremove 移除 LV 使用 vgchange a n VGname 让 VGname 这个 VG 不具有 Active 的标志 使用 vgremove 移除 VG 使用 pvremove 移除 PV 最后 使用 fdisk 修改 ID 回來啊 参考答案 umount mnt lvm lvremove dev ckvg cklv vgchange a n ckvg vgremove ckvg pvremove dev sdb1 pvremove dev sdb2 pvremove dev sdb3 第九章 Linux RPM 安装与维护 1 列出 logrotate 套件所有的目录和文档 参考答案 rpm ql logrotate 2 列出 logrotate 套件的所有资讯 参考答案 rpm qi logrotate 3 列出 logrotate 套件的所有配置文档 参考答案 rpm qc logrotate 4 列出 zip 2 3 27 i386 rpm 包要求的环境 参考答案 rpm qpR zip 2 3 27 i386 rpm 5 用 RPM 校验 etc crontab 有没有被修改过 参考答案 rpm Vf etc crontab 6 修改 etc crontab 再校验一下 参考答案 echo 00 1 root cat etc passwd etc crontab rpm Vf etc crontab 7 重建 rpm 资讯库 参考答案 rpm rebuilddb 8 安装 coreutils 的 SRPM 包 并生成 RPM 套件 参考答案 rpmbuild ba coreutils spec 9 承上题 生成 SRPM 套件 rpmbuild bb coreutils spec 10 自己建立一个 RPM 包 在 SOURCES 下新建一个 SHELL 将 shell 打包成 tar gz 包 进行 SPECS 目录 编辑 spec 文件 根据生成的 spec 打包成 rpm 包 安装 rpm 包 并校验 spec 文件格式如下 格式如下 Summary This is a demo RPM package Name rpmbuild Version 1 0 Release 1 License GPL Group rpmbuild Source rpmbuild tar gz Url Packager ckhitler descr ption This package is just a demo RPM prep setup c install install m 755 rpmbuild sh usr local bin rpmbuild sh files usr local bin rpmbuild sh 参考答案 cd usr src RedHat SOURCES echo i love you qiu ming rpmbuild sh tar cvzf rpmbuild tar gz rpmbuild sh cd usr src RedHat SPECS vi rpmbuild spec Summary This is a demo RPM package Name rpmbuild Version 1 0 Release 1 License GPL Group rpmbuild Source rpmbuild tar gz Url Packager ckhitler descr ption This package is just a demo RPM prep setup c install install m 755 rpmbuild sh usr local bin rpmbuild sh files usr local bin rpmbuild sh rpmbuild bb rpmbuild spec rpm ivh usr src RedHat RPMS i386 rpmbuild 1 0 1 i386 rpm rpm qi rpmbuild 10 用 cpio 将 rpm 包转换 cpio 文件 再将其导入到新增的目录下 参考答案 rpm2cpio sysstat 5 0 5 1 i386 rpm sysstat cpio mkdir sysstat mv sysstat cpio sysstat cpio it tmp hacker 4 用 at 在 2007 年 8 月 26 日执行命令 将 shadow 文件输出到 tmp kkk 文件 参考答案 at 10 00 2007 08 26 more etc shadow tmp kkk 5 查询系统是否有 at 例行任务 查到后删除该任务 参考答案 atq atrm 3 atq 6 显示所用的 kill 信号 并用 man 查询 signal 的详细信息 参考答案 kill l man 7 signal 7 打印当前进程 包括 CPU 内存等信息 参考答案 ps aux 8 打印当前进程 以扩展格式显示输出 参考答案 ps ef 9 打印当前进程 以树状格式显示输出 参考答案 ps axjf 10 打印当前进程 并显示所有命令参数信息 参考答案 ps auxeww 11 用 top 命令显示当前系统进程状态 每隔 2 秒更新一次 参考答案 top d 2 12 用 top 命令将显示两次的结果输出到 top txt 文件里 参考答案 top b n 2 top txt 13 用 top 命令监控 sshd 进程 并用 top 命令将该进程的优先级更改为 10 参考答案 top d 2 p pgrep sshd sed n 1p r 输入进程号 10 14 用 killall 命令 重载 syslogd 进程 强制杀死 httpd 进程 参考答案 ps ef grep syslogd killall 1 syslogd ps ef grep syslogd killall 9 httpd 15 显示当前网络中 tcp udp 协议的连接 IP 和端口号及对映的 PID 参考答案 netstat tulnp 16 用 sar 显示当前 CPU 的利用率 共显示三次 一秒更新一次 参考答案 sar u 1 3 17 用 sar 显示当前内存的利用率 共显示三次 一秒更新一次 参考答案 sar r 1 3 18 用 sar 显示物理磁盘的利用率 共显示三次 一秒更新一次 参考答案 sar d 1 3 19 用 sar 显示系统进程资源的利用率 共显示 1 万次 一秒更新一次 参考答案 sar v 1 1000 18 在 proc 里查看 sshd 进程的详细信息 比如 maps status 等 参考答案 cd proc ps aux grep sshd cd 1700 more maps 19 进入 root 目录 用 fuser 查出 root 的进程 并杀掉 root 进程 参考答案 cd fuser v root fuser k root 20 用 lsof 查出系统中用到 lib tls libc 2 3 2 so 文件的进程 参考答案 lsof lib tls libc 2 3 2 so 21 用 lsof 列出关于 root 用户的所有程序开启的 socket 参考答案 lsof u root a U 22 用 lsof 列出有哪些进程在对 root 目录进行操作 参考答案 lsof root 23 用 lsof 查看有哪些进程在用网络 参考答案 lsof i 24 用 lsof 查看 sshd 服务用了哪些文件 参考答案 lsof c sshd 25 用 lsof 查看用户 root 所开启的进程中用了哪些文件 参考答案 lsof u root 26 用 lsof 查看除用户 root 外 其它用户所开启的进程中用了哪些文件 参考答案 lsof u root 27 用 lsof 查看目前系统上面所有的被启动的设备 参考答案 lsof d dev 28 用 watch 来监控 free 每 1 秒更新一次 参考答案 watch n 1 d free 29 用 watch 来监控 oracle 进程所用的 CPU 利用率等 间隔时间为 45 秒 参考答案 watch interval 45 ps auxw grep oracle 30 列出树状的进程 参考答案 pstree 31 列出 init 和 syslogd 服务的 PID 参考答案 pidof init syslogd 32 找出 bash 即以 bash 为 PPID 的几个主要的 PID 参考答案 pidof x bash 33 用 root 给一个 nice 值为 5 用于执行 vi 并观察该进程 参考答案 nice n 5 vi static int hello init void printk KERN EMERG Hello world n return 0 static void hello exit void printk KERN EMERG Goodbye world n module init hello init module exit hello exit 2 编写对映的 Makefile 执行后生成 ko 模块 文件存放目录与 hello c 一致 参考答案 obj m hello o KERNELDIR lib modules 2 6 9 42 EL build PWD shell pwd modules MAKE C KERNELDIR M PWD modules modules install MAKE C KERNELDIR M PWD modules install clean rm rf o core depend cmd ko mod c tmp versions 3 编译 hello c 为内核模块程序 并将内核模块插入到 modules 中 观察结果 参考答案 make insmod hello ko 4 用 lsmod 查看目前的模块 参考答案 lsmod 5 用 modinfo 查看 hello 模块 参考答案 modinfo hello ko 6 列出所有的模块文件 参考答案 modprobe l 7 列出所有的模块信息 参考答案 modprobe c 8 升级内核 RedHat es4 2 6 9 2 6 23 8 1 删除以前留下的 o 文件 8 2 以菜单方式进行内核方式选择 8 3 清除掉以前的 o 文件 8 4 制作出核心文件 8 5 制作出模组相关的文件 8 6 安装模组 8 7 产生 initrd 文件 8 8 安装核心到 boot 8 9 编辑 menu lst 加入新核心选项 参考答案 cd linux 2 6 23 make mrproper make menuconfig 保存退出 vi config make clean make bzImage make modules make modules install mkinitrd boot initrd 2 6 23 img 2 6 23 make install boot grub menu lst 加入以下内容 title ckhitler Kernel 2 6 23 root hd0 1 kernel boot bzImage 2 6 23 ro root LABEL initrd boot initrd 2 6 23 img 1 编写内核态程序 hello c 功能 插入时打印输出 Hello world 退出时打印输 出 Goodbye world 参考答案 include include MODULE LICENSE Dual BSD GPL static int hello init void printk KERN EMERG Hello world n return 0 static void hello exit void printk KERN EMERG Goodbye world n module init hello init module exit hello exit 2 编写对映的 Makefile 执行后生成 ko 模块 文件存放目录与 hello c 一致 参考答案 obj m hello o KERNELDIR lib modules 2 6 9 42 EL build PWD shell pwd modules MAKE C KERNELDIR M PWD modules modules install MAKE C KERNELDIR M PWD modules install clean rm rf o core depend cmd ko mod c tmp versions 3 编译 hello c 为内核模块程序 并将内核模块插入到 modules 中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深圳科目一理论考试试题及答案
- 2025年广西民族大学继续教育学院招聘考试笔试试题(含答案)
- 2025年甘肃省直文博单位招聘事业编制工作人员考试笔试试题(含答案)
- 2025年鄂尔多斯市消防员考试笔试试题(含答案)
- 2024年生产经营单位安全生产知识竞赛题库与答案
- 危急值报告制度考试题及答案
- 2024山西安全生产月知识培训考试试题附参考答案
- 树墩爷爷的秘密课件
- 2024年度福建“安全生产月”知识考试试题附参考答案
- 2024年初级银行从业资格之初级风险管理通关试题库有答案
- 2025年辽宁省地质勘探矿业集团有限责任公司校园招聘笔试备考题库附答案详解
- GB/T 45911-2025人工影响天气作业用弹药存储安全要求
- 排污许可证审核及环境应急管理服务方案投标文件(技术方案)
- 驻京信访工作组管理办法
- 尿道下裂的诊断及分型
- 肿瘤的诊断与治疗
- 【高朋律师事务所】RWA发展研究报告:法律、监管和前瞻(2025年)
- DB42∕T 2272-2024 微粒化岩沥青改性沥青路面施工技术规范
- 办公耗材应急方案(3篇)
- 新高中班级团建活动方案
- 护理执行医嘱制度
评论
0/150
提交评论