一大波命令(2)

1.如何过滤出已知当前目录下oldboy中的所有一级目录

(提示:不包含oldboy目录下面目录的子目录及隐藏目录,即只能是第一级目录)?

cd ~
mkdir oldboy -p
cd oldboy/
mkdir ext/oldboy test xiaodong xiaofan xingfujie -p
touch jeacen oldboy wodi.gz yingsui.gz
LANG=en

 

方法一:利用tree命令

  tree -Ld 1 /root/oldboy

 

方法二:利用find命令

  find /root/oldboy -maxdepth 1 -type d

  说明:-maxdepth参数最好放在所有参数最前面

 

方法三:利用三剑客命令

  1)grep

  ls -l /root/oldboy|grep "^d"    或   ls -pl /root/oldboy|grep "/$"

  说明:"^d"表示以d开头的,"/$"表示以 / 结尾的,-p参数会给目录末尾加上标识符 /

  2)sed

  ls -l /root/oldboy|sed -n '/^d/p'   或   ls -pl /root/oldboy|sed -n '/\/$/p'

  3)awk

  ls -l /root/oldboy|awk '/^d/'   或   ls -pl /root/oldboy|awk '/\/$/'

 

方法四:通过硬链接信息

  ls -l /root/oldboy|awk '$2>1'   或   ls -l /root/oldboy|awk '$2!=1'

 

方法五:

  cd oldboy

  ls -ld */

 

2.如何进行目录之间快速切换

  cd -          还原到切换目录以前所在的路径

  cd .          切换到当前所在目录

  cd ..            切换到上一层目录

  cd ~/cd          切换到当前登录用户的家目录

 

3. 一个目录中有很多文件(ls查-看时好多屏),想最快速度查看到最近更新的文件。如何看?

  ls -lt /etc/

  ls -ltr /etc/

  说明:利用-t参数,可以按照时间信息排序显示文件内容(由新到旧排序)

     利用-rt参数,可以按照时间信息反向排序

 

4. 已知nginx服务的访问日志按天记录在服务器本地目录/app/logs下,由于磁盘空间紧张,现在要求只能保留最近7天访问日志!

  创建模拟环境:

  mkdir /app/logs -p

  第一个里程:修改时间

  data -s "20170824"

  第二个里程:按天创建出相应文件

  for time in {01..20};do time -s "2017-08-$time";touch /app/logs/access_log. "2017-08-$time";done

 

  -mtime   按天找寻数据信息

  找寻几天以前的  +x

  找寻几天以内的  -x

  找寻第几天前的  x

  方法一:

  find /app/logs -type f -mtime +7 | xargs rm

  方法二:

  find /app/logs -type f -mtime +7 delete

  方法三:

  find /app/logs -type f -mtime +7 -exec rm {} \;

  方法四:

  \rm $(find /app/logs -type f -mtime +7)

 

05. 调试系统服务时,希望能实时查看系统日志/var/log/messages的更新,如何做?

  tail -f /var/log/messages

 

06. 查找/oldboy下所有以log结尾的大于1M的文件复制到/tmp目录

  方法一:find /oldboy -type f -name "*.log" -size +1M |xargs cp -t /tmp

  方法二:find /oldboy -type f -name "*.log" -size +1M |xargs -i cp {} /tmp

  方法三:find /oldboy -type f -name "*.log" -size +1M |xargs -I {} cp {} /tmp

 

07.打印配置文件nginx.conf内容的行号及内容,该如何做?

  方法一:利用vim编辑

  vim nginx.conf

  在命令模式下输入 :set nu

  方法二:cat

  cat -n nginx.conf

  方法三:grep

  grep -n '.' nginx.conf

  方法四:sed

  sed '=' nginx.conf|xargs -n2

  方法五:awk

  awk '{print NR,$1}' nginx.conf

 

08.如何查看配置系统运行级别 

  系统运行级别:
  0 关机级别
  1 单用户级别
  2 多用户级别(没有网络)
  3 多用户级别
  4 未使用
  5 x11 图形化界面级别
  6 重启级别

  

  临时修改:

  init 4

  永久修改:

  利用vim修改配置文件/etc/inittap

  id:3:initdefault:              ---3代表当前运行级别

  

  查看当前系统运行级别:runlevel

 

09. 装完系统后,希望让网络文件共享服务NFS(iptables),仅在3级别上开机自启动,该如何做?

  关闭所有级别的开机自启动:chkconfig iptables off

  查看iptables的开机自启动状态:chkconfig | grep "ipt"    或   chkconfig --list iptables

  设置仅在3级别上开机自启动:chkconfig --level 3 iptables on

 

10.如何设置中文字符信息显示

  临时设置:export LANG="zh_CN.UTF-8"

  永久设置

  修改配置文件:sed -i 's#zh_CN.UTF-8#en_US.UTF-8#g' /etc/sysconfig/i18n

  加载配置文件:source /etc/sysconfig/i18n

 

11.如何详细查看文件的行数信息

  方法一:cat -n line.txt|tail -1 |awk '{print $1}'

  方法二:cat line.txt | wc -l

 

12.如何进行系统数据 压缩 打包/etc/目录为linux系统的默认的配置文件及服务启动命令的目录

  a.请用tar打包/etc整个目录(打包及压缩)。

  tar zcvf /tmp/etc.tar.gz /etc

  z  --- 表示压缩数据的方式 gzip

  c  ---创建需要压缩的数据包 create

  v  ---详细显示压缩过程(可以不用设置)verbose

  f  ---指定生成压缩文件路径信息

 

  检查压缩包数据内容的方法

  tar tf /tmp/etc.tar.gz

  t  ---检查压缩包中的数据信息

  

  b.请用tar打包/etc整个目录(打包及压缩,但需要排除/etc/services文件)。

  tar zcvf /tmp/etc.tar.gz /etc --exclude=/etc/services

  --exclude  ---排除指定文件或目录信息

 

  c.请把a点命令的压缩包,解压到/tmp指定目录下(最好只用tar命令实现)。

  绝对路径:tar zxf /tmp/etc.tar.gz -C /tmp

  相对路径:tar zxf /tmp/etc.tar.gz

  x  --- 解压提取数据信息 extract

  C    --- 解压到相应目录 change

 

13.进行文件字符信息过滤

  /test.txt文件中有"I am xiang,myqq is 289234123"  取出字符串 xiang 和 289234123

  方法一:sed 's#I am ##g' /test.txt | sed 's#,myqq is##g'

  方法二:awk -F '[  ,]'  '{print $3,$6}' /test.txt

  -F '[  ,]'   --- 指定列的分隔符信息,可以指定多个

  $3    --- 第三列

  方法三:sed 's#,# #g' /test.txt | cut -d " " -f3,6

  cut    --- 切割一行字符串信息

    -d   --- 指定用什么字符进行切割,只能指定一个 delimiter

 

14.过滤出/etc/services 文件包含3306或1521两数字所在的行的内容。

  方法一:grep -E "3306|1521" /etc/services

      egrep "3306|1521" /etc/services

  方法二:sed -n '/3306\|1521/p'  /etc/services

      sed -rn '/3306|1521/p'  /etc/services

  方法三:awk '/3306|1521/' /etc/services

 

posted @ 2018-07-16 22:41  艾玛1  阅读(177)  评论(0编辑  收藏  举报