设为首页 收藏本站
查看: 1024|回复: 0

linux shell 面试5

[复制链接]

尚未签到

发表于 2018-8-30 10:03:19 | 显示全部楼层 |阅读模式
  1.如何取得文件/etiantian的权限对应的数字,如-rw-r--r-- 为644,取得644这样的数字。
  解答:
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   Loong:/home/yee/shell# stat -c %a calculate_birthday.sh
  •   777
知识点:  stat
  STAT(1)                                 User Commands                                STAT(1)
  NAME
  stat - display file or file system status                                       显示文件或文件系统状态
  SYNOPSIS
  stat [OPTION] FILE...
  DESCRIPTION
  Display file or file system status.
  -L, --dereference
  follow links
  -f, --file-system
  display file system status instead of file status   显示文件系统状态
  -c  --format=FORMAT
  use  the  specified FORMAT instead of the default; output a newline after each
  use of FORMAT                    用指定的格式代替默认值,输出到新行
  --printf=FORMAT
  like --format, but interpret backslash escapes, and do not output a  mandatory
  trailing newline.  If you want a newline, include \n in FORMAT.
  -t, --terse
  print the information in terse form         简洁形式输出
  --help display this help and exit
  --version
  output version information and exit
  The valid format sequences for files (without --file-system):
  %a     Access rights in octal                用8进制的形式表示权限
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   Loong:/home/yee/shell# stat -c %a calculate_birthday.sh
  •   777
   %A     Access rights in human readable form           可读型表示法[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   Loong:/home/yee/shell# stat -c %A calculate_birthday.sh
  •   -rwxrwxrwx
  %b     Number of blocks allocated (see %B)

  %B     The>  %C     SELinux security context string
  %d     Device number in decimal
  %D     Device number in hex
  %f     Raw mode in hex
  %F     File type

  %g     Group>  %G     Group name of owner
  %h     Number of hard links
  %i     Inode number
  %n     File name
  %N     Quoted file name with dereference if symbolic link

  %o     I/O block>
  %s     Total>  %t     Major device type in hex
  %T     Minor device type in hex

  %u     User>  %U     User name of owner
  %x     Time of last access
  %X     Time of last access as seconds since Epoch
  %y     Time of last modification
  %z     Time of last change
  %Z     Time of last change as seconds since Epoch
  Valid format sequences for file systems:
  %a     Free blocks available to non-superuser
  %b     Total data blocks in file system
  %c     Total file nodes in file system
  %d     Free file nodes in file system
  %f     Free blocks in file system
  %C     SELinux security context string

  %i     File System>  %l     Maximum length of filenames
  %n     File name

  %s     Block>
  %S     Fundamental block>  %t     Type in hex
  %T     Type in human readable form
  NOTE:  your shell may have its own version of stat, which usually supersedes the ver-
  sion described here.  Please refer to your shell's documentation  for  details  about
  the options it supports.
  应用举例:
  Loong:/home/yee/shell# stat practise1.sh
  File: “practise1.sh”
  Size: 144           Blocks: 8          IO Block: 4096   普通文件
  Device: 806h/2054d    Inode: 3776576     Links: 1
  Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
  Access: 2012-11-01 15:23:00.000000000 +0800
  Modify: 2012-11-01 15:20:55.000000000 +0800
  Change: 2012-11-01 15:20:55.000000000 +0800
  可以详细列出文件的大小,块及节点,建立修改时间等
  Loong:/home/yee/shell# stat test
  File: “test”
  Size: 4096          Blocks: 8          IO Block: 4096   目录
  Device: 806h/2054d    Inode: 3776522     Links: 2
  Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
  Access: 2012-11-01 15:45:46.000000000 +0800
  Modify: 2012-11-01 15:23:00.000000000 +0800
  Change: 2012-11-01 15:23:00.000000000 +0800
目录也适用。  2.linux下通过mkdir命令创建一个新目录/mianwww/ett,它的硬链接数是多少,为什么?
  解答:
硬链接的定义
  Linux 文件系统最重要的特点之一是它的文件链接。链接是对文件的引用,这样您可以让文件在文件系统中多处被看到。不过,在 Linux 中,链接可以如同原始文件一样来对待。链接可以与普通的文件一样被执行、编辑和访问。对系统中的其他应用程序而言,链接就是它所对应的原始文件。当您通过链接对文件进行编辑时,您编辑的实际上是原始文件。链接不是副本。有两种类型的链接:硬链接和符号链接(软链接)。  硬链接只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为 inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。
  Loong:/home/yee/shell/test1# ls -ial
  总计 8
  3776564 drwxr-xr-x 2 root root 4096 11-02 14:08 .
  3776513 drwxr-xr-x 6 root root 4096 11-29 10:29 ..
  每个文件和目录都是有两部分构成,inode和data block
  硬链接使用一个inode ,可以用ls -i  查看 i(inode)请注意文件属性后面数字代表被链接的次数
  这两个文件名字只是不同的入口 ,进入相同的内容。所以硬链接不能链接目录 。
  软链接是另外一个文件 ,使用不同的inode
  存储文件的时候例如dir1里存着两个硬连接文件file1和file2,file1和file2的inode是相同的,dir1自身有一个innode,这个inode指向的data block里存着file1和file2两个文件的指向,这两个指向是相同的,都指向一个innode
  3.请执行命令取出linux中eth0的IP地址(请用cut,有能力者也可分别用awk,sed命令答)。
  解答:
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   yee@Loong:~$ ifconfig |head -n 2|tail -1|cut -c 21-32
  •   172.16.3.62
  •   yee@Loong:~$
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   yee@Loong:~$ ifconfig |awk "/addr:/"|head -n 1|awk 'BEGIN {FS=" "}{ print $2}'
  •   addr:172.16.3.62
  4.请给出默认情况eth0网卡配置文件的路径及客户端DNS的路径。
  解答:
  客户端DNS的路径
  /etc/resolv.conf
  eth0网卡配置文件的路径
  /etc/sysconfig/network-scripts/ifcfg-eth0
  1.配置文件
  /etc/hosts(本地主机ip地址映射,可以有多个别名)。
  /etc/services(端口号与标准服务之间的对应关系)。
  /etc/sysconfig/network(设置主机名,网关,域名)。
  HOSTANME=zjw.com(主机名)(需要重启计算机才有效)
  GATEWAY=192.168.1.1(网关)
  /etc/rc.d/init.d/network restart(脚本服务启动)
  service network restart(同上,是命令执行)
  2.和DNS相关
  /etc/host.conf
  /etc/nsswitch.conf
  /etc/resolv.conf(配置dns)
  3.网卡配置文件
  /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0(哪张网卡)
  ONBOOT=yes
  BOOTPROTO=static(静态ip状态设置)
  BOOTPROTO=dhcp(dhcp获取)
  IPADDR=192.168.1.8(静态ip地址)
  NETMASK=255.255.255.0
  GATEWAY=192.168.1.1(网关)(如果在此设置网关,则上面的无效)
  MACADDR=00:0C:29:96:38:F8(修改mac地址)(永久有效)
  /etc/rc.d/init.d/network restart(脚本启动)
  service network restart(命令启动)
  4.IP配置方法及自动获取ip
  ifconfig eth0 192.168.0.10 将采用默认子网掩码
  ifconfig eth0 192.168.0.10 netmask 255.255.255.252 (手动定义子网掩码)
  ifconfig eth0 up(激活网卡)
  /etc/sysconfig/network-scripts/ifup eth0(脚本激活网卡)或者
  ifup eth0(指向/sbin/ifup的符号链接)。注:修改mac地址,用此好像无效,切记。
  ifconfig eth0 down(关闭网卡)
  /etc/sysconfig/netowrk-scripts/ifdown eth0(脚本关闭网卡)或者
  ifdown eth0(指向/sbin/ifdown的符号链接)
  netconfig
  是文本窗口的形式设置IP的命令,修改好之后用
  service network restart (让配置参数生效)
  ifconfig eth0 -dynamic(手动设置获取dhcp ip地址)
  5.修改MAC地址
  ifconfig eth0 down
  ifconfig eth0 hw ether 00:00:0c:12:34:56
  /etc/rd.d/init.d/network(上面的修改可存储在此脚本中)
  ifconfig eth0 up
  #上面这种方法是在内核中修改,下次开机将还原
  要永久有效在网卡配置文件中加入以下这一条:
  MACADDR=00:00:0c:12:34:56
  /etc/sysconfig/network-scripts/ifcfg-eth0
  6.常用测试命令
  ping -c 4 172.16.1.1
  route (对内核的ip路由表进行操作,主要对己配置的接口的主机或网络设置静态路由,如通过ifconfig程序配)
  route add -net 192.168.1.0 netmask 255.255.255.0 eth0 (添加一条到192.168.1.0网络的路由条目)
  route del -net 192.168.1.0 netmask 255.255.255.0 (删除路由条目)
  route -C 查看缓冲表
  route -n 查看本地路由表
  traceroute 路由跟踪
  注:netconfig、ifconfig、route三者结合使用,不用重启系统及服务。
  5.查找当前目录下所有文件,并把文件中的www.mianwww.com字符串替换成rainman
  解答思路:
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   1#!/bin/bash
  •   2
  •   3
  •   4for line in `ls `
  •   5 do
  •   6#对文件内的特定字符进行替换
  •   7
  •   8 done
  单个文件处理字符替换:sed
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   yee@Loong:~/shell$ cat du.txt
  •   957 ./test_practise.sh
  •   503 ./full-name-output.sh
  •   1386    ./passwd
  •   181 ./self_add2.sh
  •   14  ./deal_passwd.sh
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   Loong:/home/yee/shell# sed -e 's/passwd/com/' du.txt   将passwd替换成com
  •   957 ./test_practise.sh
  •   503 ./full-name-output.sh
  •   1386    ./com
  •   181 ./self_add2.sh
  •   14  ./deal_com.sh
  •   Loong:/home/yee/shell#
  6.问题:如何赋予mianwww文件 -rw-r--r-x权限属性
  解答:
  该权限分成3部分:只需通过root或所有者利用chmod更改即可;
  rw-                读写  ----4+2 = 6
  -r-                  读     -----4
  r-x                 读执行 ------4+1 = 5
  chmod 645 file 即可更改;
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   Loong:/home/yee/shell# ls -l du.txt
  •   -rw-r--r-- 1 root root 10211-2915:22 du.txt
  •   Loong:/home/yee/shell# chmod 645 du.txt
  •   Loong:/home/yee/shell# ls -l du.txt
  •   -rw-r--r-x 1 root root 10211-2915:22 du.txt
  •   Loong:/home/yee/shell#
  7.执行下面命令时发现提示需要输入密码,请问提示输入的密码是哪个用户的密码。
  [test@mianwww ~]$ sudo su - mianwww
  解答:
su -   : 切换到 root  
sudo su - : 以 root 身份执行 su - 命令
  

  
不管你以什么身份执行 su - 命令,结果都是一样的,所以 sudo su - 没意义,直接 su - 即可
  
密码应该是root 用户的
  

8.问题:请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。  echo "mianwww";echo "mianwww"
  解答:
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   Loong:/home/yee/shell# echo -n "mianwww";echo "mianwww"
  •   mianwwwmianwww
加参数 -n 不换行[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   Loong:/home/yee/shell# echo -e '\tmianwww'
  •   mianwww
另外,加参数 -e 使用转义字符  9.问题:请给出如下格式的date命令 例:11-02-26
  解答:
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   Loong:/home/yee/shell# date +%y-%m-%d
  •   12-11-29
  10.实现按周输出 比如:周六 输出为 6
  解答:
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   Loong:/home/yee/shell# date +%A
  •   星期四
  •   Loong:/home/yee/shell# date +%A%u
  •   星期四4
  •   Loong:/home/yee/shell# date +%u
  •   4
  11.问题:扩展问题:打印三天前时间,日期格式如:2011-02-26
  解答:
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   Loong:/home/yee/shell# date +%F              可惜是3天前的,不能这样做
  •   2012-11-29
3天前的时间比较复杂,有几种特殊情况,前三天是另一年,另一个月,这样不能单独计算,不晓得有没有在date +%s上减去3天的24*60*3 时间再换算的显示方法,若有则比较简单,你有啥方法呢?  
  12.已知/mianwww/test.txt文件内容为:
  mianwww
  xizi
  xiaochao
  请问如何把文件中的空行过滤掉(要求命令行实现)。
  解答:grep -v "^\s*$" /mianwww/test.txt
[python]view plaincopyhttp://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf

  •   Loong:/home/yee/shell# cat du.txt
  •   test_practise.sh
  •   full-name-output.sh

  •   1386    ./passwd
  •   /self_add2.sh


  •   14  ./deal_passwd.sh
  •   Loong:/home/yee/shell# grep -v "^\s*$" du.txt
  •   test_practise.sh
  •   full-name-output.sh
  •   1386    ./passwd
  •   /self_add2.sh
  •   14  ./deal_passwd.sh
  •   Loong:/home/yee/shell#
  13-14.请描述下列路径的内容是做什么的?
  /var/log/message
  所有的开机系统发生的错误都会在此记录;
  /var/log/secure
  1)/var/log/secure:记录登录系统存取数据的文件;
  例如pop3,ssh,telnet,ftp等都会记录在此
  /var/spool/clientmqueue
  logwatch生成的日志mail文件
  /proc/interrupts
  列出了当前系统定义的所有硬中断
  /etc/fstab
  /etc/fstab存放的是系统中的文件系统信息;它是决定一个硬盘(分区)被怎样使用或者说整合到整个系统中的唯一文件。fstab可以自动挂载各种文件系统格式的硬盘、分区、可移动设备和远程设备等
  /proc/interrupts文件中列出当前系统使用的中断的情况,所以某个中断处理没有安装,是不会显示的。哪怕之前安装过,被卸载了。
  从左到右分别是,
  irq的序号, 在各自cpu上发生中断的次数,可编程中断控制器,设备名称(request_irq的dev_name字段)
$cat /proc/interrupts  CPU0       CPU1
  0: 2822434225          0    IO-APIC-edge  timer
  1:         12         45    IO-APIC-edge  i8042
  补充:
  1)/var/log/secure:记录登录系统存取数据的文件;
  例如pop3,ssh,telnet,ftp等都会记录在此.
  2)/ar/log/wtmp:记录登录这的信息记录,被编码过,所以必须以last解析;
  3)/var/log/message:jihu所有的开机系统发生的错误都会在此记录;
  4)/var/log.boot.log:记录一些开机或者关机启动的一些服务显示的启动或者关闭的信息;
  5)/var/log/maillog:记录邮件的存取和往来;
  6)/var/log/cron:用来记录crontab这个服务的内容;
  7)/var/log/httpd,/var/log/mysqld.log等等文件,记录几个不同的网络服务的记录文件;
  8)/var/log/acpid ,   ACPI - Advanced Configuration and Power Interface,表示高级配置和电源管理接口。
  后面的 d 表示 deamon 。 acpid 也就是 the ACPI event daemon 。 也就是 acpi 的消息进程。用来控制、获取、管理 acpi 的状态的服务程序。
  9)/var/run/utmp 记录着现在登录的用户;
  10)/var/log/lastlog 记录每个用户最后的登录信息;
  11)/var/log/btmp 记录错误的登录尝试;
  12)/var/log/dmesg内核日志;
  13)/var/log/cpus CPU的处理信息;
  14)/var/log/syslog 事件记录监控程序日志;
  15)/var/log/auth.log 用户认证日志;
  16)/var/log/daemon.log 系统进程日志;
  17)/var/log/mail.err 邮件错误信息;
  18)/var/log/mail.info 邮件信息;
  19)/var/log/mail.warn 邮件警告信息;
  20)/var/log/daemon.log 系统监控程序产生的信息;
  21)/var/log/kern 内核产生的信息;
  22)/var/log/lpr   行打印机假脱机系统产生的信息;
  五、
  1. 如何查看apache进程数
  分两个情况
  perfork模式:
  ps -ef|grep http|grep -v grep|wc -l               通过-v 排除grep 进程
  worker模式
  pstree -a|grep httpd|wc -l
  前者进程模式  后者线程模式 故查看方法也有区别
  说明:如果学生答题时,能一分为二的解答 会比一个答案好很多的
  2. 处理以下文件内容,将域名取出并进行计数排序,如处理
  oldboy.log
  http://www.etiantian.org/index.html
  http://www.etiantian.org/1.html
  http://post.etiantian.org/index.html
  http://mp3.etiantian.org/index.html
  http://www.etiantian.org/3.html
  http://post.etiantian.org/2.html
  分析:此类问题是运维工作中最常见的问题。可以演变成分析日志,查看TCP各个状态连接数,查看单IP连接数排名等等
  第一类 过滤域名方法
  方法很多 这里给出六种 为例。还可以写出几种 留给大家了。哈哈
  法一:
  [root@oldboy ~]# cut -d “/” -f 3 oldboy.log |sort|uniq -c           cut 截取指定内容
  1 mp3.etiantian.org
  2 post.etiantian.org
  3 www.etiantian.org
  法二:
  [root@oldboy ~]# awk -F “/” ‘{print $3}’ oldboy.log |sort|uniq -c  截取指定内容
  1 mp3.etiantian.org
  2 post.etiantian.org
  3 www.etiantian.org
  法三:
  [root@oldboy ~]# sed ‘s/^ htt.*\/\///g’ oldboy.log |sed ‘s/\/.*html$//g’|sort|uniq -c
  1 mp3.etiantian.org
  2 post.etiantian.org
  3 www.etiantian.org
  法四:
  [root@oldboy ~]# cat oldboy.log |tr “\/” “\n”|grep etiantian|sort|uniq -c
  1 mp3.etiantian.org
  2 post.etiantian.org
  3 www.etiantian.org
  第二类:
  法五:
  [root@oldboy ~]#  cut -d “/” -f 3 test.log|awk ‘{++S[$1]} END {for(key in S) print key,S[key]}’|sort -k 2
  mp3.etiantian.org 1
  post.etiantian.org 2
  www.etiantian.org 3
  法六:
  一个利用AWK数组综合解决方法
  [root@oldboy ~]# awk -F “/” ‘{++S[$3]} END {for(key in S) print key,S[key]}’ oldboy.log|sort -k2
  mp3.etiantian.org 1
  post.etiantian.org 2
  www.etiantian.org 3
  以上答案 不同组合 已可以达到10多种答案,前面两种还行,后面太复杂,多少有点问题。
六、  问题1:请通过awk命令取出服务器eth0网卡配置的ip地址(注*:此题可上机操作。目的:考察awk应用)。
  解答:
  [root@oldboy-A ~]# ifconfig eth0|grep “inet addr”|awk ‘{print $2}’|awk -F”:” ‘{print $2}’
  10.0.0.148
  问题2:通过sed命令将/tmp/old-boy.txt中的/usr/log替换为 /home/oldboy(来自《360公司》面试 from jeacen)
  解答:
  [root@oldboy-A ~]# cat /tmp/old-boy.txt
  /usr/log
  oldboy
  [root@oldboy-A ~]# sed -e “s#/usr/log#/home/oldboy#” /tmp/old-boy.txt                      “#”在这里是分隔符,代替了默认的“/”分隔符
  /home/oldboy
  oldboy
  [root@oldboy-A ~]# sed -i “s#/usr/log#/home/oldboy#” /tmp/old-boy.txt
  [root@oldboy-A ~]# cat /tmp/old-boy.txt
  /home/oldboy
  oldboy
  方法一:sed -i ‘s#\/usr\/log#\/home\/oldboy#’ /tmp/old-boy.txt 等同sed -i ‘s#/usr/log#/home/oldboy#’ /tmp/old-boy.txt
  sed ‘s#10#100#g’ example—–不论什么字符,紧跟着s命令的都被认为是新的分隔符,所以,“#”在这里是分隔符,代替了默认的“/”分隔符。表示把所有10替换成100
  方法二:sed -i ‘s/\/home\/oldboy/\/usr\/log/’ /tmp/old-boy.txt 关键在转义符使用 \
  方法三:sed -i “s#/usr/log#/home/oldboy#” /tmp/old-boy.txt  ==>双引号也可以。
  提示:”/”为特殊字符,需要转义,在斜线前面加反斜线来转义。本例中方法一不转义也可以完成。
  问题3:通过find搜索/var/log下3天以前的日志并删除
  解答:
  find /var/log/*.log -mtime +3 -exec rm {} \;
  find /var/log/*.log -mtime +3 -type f -exec rm -f {} \;
  find /var/log/*.log -type f -mtime +3 |xargs rm -f
  提示:
  1.有关find的各种详细案例讲解总结请参看〈老男孩笔记系列-find命令实战案例讲解指南〉
  2.rm 命令请慎用,本人近10年运维亲身或听别人说过数十次使用该命令造成的无法弥补的后果。
  问题4:192.168.0.0网段通过192.168.0.1网关的连入172.16.0.0 ip段,如何添加路由(来自《360》面试 from jeacen)
  解答:/sbin/route add -net 172.16.0.0  netmask 255.255.255.0 gw 192.168.0.1
  提示:有关route及ip命令的使用,课上将详细讲解。很重要的命令,必须要掌握。
  问题5:shell特殊变量中 $?,$#分别表示什么意思?
  解答:
  $?  获取执行的上一个指令的返回值(0  为成功,  非零为失败)
  $#  获取当前 shell 命令行中参数的总个数
  问题6:正则表达式中表示以…开头,和以…结尾的符号分别为?
  解答:
  ^ 以…开头
  $ 以…结尾,这个用的少
  问题7:搜索/oldboy.txt中包含oldboy或linux字串的所有行,请给出命令。
  解答:
  [root@oldboy-B tmp]# cat /oldboy.txt|grep -E “oldboy|linux”
  #==>很多同学喜欢这个低效的方法,希望看到本文后能改。
  oldboy
  linux
  [root@oldboy-B tmp]# grep -E “oldboy|linux” /oldboy.txt
  oldboy
  linux
  [root@oldboy-B tmp]# egrep  “oldboy|linux” /oldboy.txt
  oldboy
  linux
  答案:grep -E “oldboy|linux” /oldboy.txt 或 egrep  “oldboy|linux” /oldboy.txt
  问题8:处理以下日志文件内容,将域名取出来并根据域名进行计数排序处理:(百度和sohu面试题)
  /oldboy.log
  http://www.etiantian.org/index.html
  http://www.etiantian.org/1.html
  http://post.etiantian.org/index.html
  http://mp3.etiantian.org/index.html
  http://www.etiantian.org/3.html
  http://post.etiantian.org/2.html
  处理结果形式:
  1 mp3.etiantian.org
  2 post.etiantian.org
  3 www.etiantian.org
  前面的数字分别表示,后面的域名在文件中出现的次数。
  实际上本题就是统计日志中访问不同域名的次数,并按次数排
  说明:本题的思路非常有用,如生产环境中,可以通过netstat查看已建立连接的频繁访问服务的ip排序,
  也可以查看web日志,看看一天或一个小时甚至几分钟内,列出IP访问量的排序等等。
  解答:
  [root@oldboy-A tmp]# cut -d “/” -f3 /oldboy.log |sort|uniq -c
  1 mp3.etiantian.org
  2 post.etiantian.org
  3 www.etiantian.org
  [root@oldboy-A tmp]# awk -F “/” ‘{print $3}’ /oldboy.log|sort|uniq -c
  1 mp3.etiantian.org
  2 post.etiantian.org
  3 www.etiantian.org
  问题9. 在Shell环境下,如何查看远程Linux系统运行了多少时间?( sohu面试题)
  [root@oldboy-A tmp]# uptime
  00:27:01 up  4:54,  1 user,  load average: 0.00, 0.01, 0.00           该答案应该还要添加ssh,前面已有解
  shell脚本编程实战模拟考试题(上机)
  1.执行yum install httpd -y 安装httpd。
  2.检查安装情况
  [root@oldboy-B tmp]# rpm -qa httpd
  httpd-2.2.3-45.el5.centos.1
  3.启动httpd,并检查
  [root@oldboy-B tmp]# /etc/init.d/httpd start
  启动 httpd:[确定]
  [root@oldboy-B tmp]# netstat -lnt|grep 80 #==>检查端口
  tcp        0      0 :::80                       :::*                        LISTEN
  [root@oldboy-B tmp]# ps -ef|grep httpd#==>检查进程
  root      4041     1  0 14:24 ?        00:00:00 /usr/sbin/httpd
  apache    4043  4041  0 14:24 ?        00:00:00 /usr/sbin/httpd
  apache    4044  4041  0 14:24 ?        00:00:00 /usr/sbin/httpd
  apache    4045  4041  0 14:24 ?        00:00:00 /usr/sbin/httpd
  apache    4046  4041  0 14:24 ?        00:00:00 /usr/sbin/httpd
  apache    4047  4041  0 14:24 ?        00:00:00 /usr/sbin/httpd
  apache    4048  4041  0 14:24 ?        00:00:00 /usr/sbin/httpd
  apache    4049  4041  0 14:24 ?        00:00:00 /usr/sbin/httpd
  apache    4050  4041  0 14:24 ?        00:00:00 /usr/sbin/httpd
  root      4061  3793  0 14:25 pts/0    00:00:00 grep httpd



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-558782-1-1.html 上篇帖子: linux shell编程学习笔记(2)bash的特性或功能 下篇帖子: linux shell 面试简答题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表