如何过滤出以下目录的中的所有一级目录

[root@xcn ~]# ll

total 16

-rw-r--r-- 1 root root    0 Jul  5 11:43 111

-rw-r--r-- 1 root root    0 Jul  5 11:43 222

-rw-r--r-- 1 root root    0 Jul  5 11:43 333

drwxr-xr-x 2 root root 4096 Jul  5 11:43 aaa

drwxr-xr-x 2 root root 4096 Jul  5 11:43 bbb

drwxr-xr-x 2 root root 4096 Jul  5 11:43 ccc

drwxr-xr-x 2 root root 4096 Jul  5 11:43 ddd

方法1:ls -l结果中以d开头的就是目录通过过滤以长格式输出的开头文件标识d

[root@xcn ~]# ls -l |grep ^d

drwxr-xr-x 2 root root 4096 Jul  5 11:43 aaa

drwxr-xr-x 2 root root 4096 Jul  5 11:43 bbb

drwxr-xr-x 2 root root 4096 Jul  5 11:43 ccc

drwxr-xr-x 2 root root 4096 Jul  5 11:43 ddd

提示:^ :以...开头

方法2:通过给目录加标识,然后通过过滤标识,过滤出目录[root@xcn ~]# ls -F   #把目录结尾加上"/",便于区分和过滤出来,ls -p也可以让目录带上斜线

111  222  333  aaa/  bbb/  ccc/  ddd/

[root@xcn ~]# ls -F|grep /$  #把包含斜线"/"的过滤出来就是目录

aaa/

bbb/

ccc/

ddd/

方法3:find的应用[root@xcn ~]# find . -type d    #.代表当前目录

./aaa

./ccc

./bbb

./ddd

方法4:tree[root@xcn ~]# tree -dl

.

|-- aaa

|-- bbb

|-- ccc

`-- ddd

过滤空行及#开头的行[root@xcn ~]# grep -Ev "^#|^$" /etc/init.d/sshd

[root@xcn ~]# egrep -v "^#|^$" /etc/init.d/sshd

注释:

-E  #egrep

-v  #过滤

^#  #井号开头

^$  #空行

方法5:sed[root@xcn ~]# ls -l|sed -n /^d/p

drwxr-xr-x 2 root root 4096 Jul  5 11:43 aaa

drwxr-xr-x 2 root root 4096 Jul  5 11:43 bbb

drwxr-xr-x 2 root root 4096 Jul  5 11:43 ccc

drwxr-xr-x 2 root root 4096 Jul  5 11:43 ddd

注释:

-n #拒绝默认输出

p  #打印

方法6:awk[root@xcn ~]#ls -l|awk '/^d/ {print $0}'

drwxr-xr-x 2 root root 4096 Jul  5 11:43 aaa

drwxr-xr-x 2 root root 4096 Jul  5 11:43 bbb

drwxr-xr-x 2 root root 4096 Jul  5 11:43 ccc

drwxr-xr-x 2 root root 4096 Jul  5 11:43 ddd

2.假如当前目录是[root@xcn ~]# pwd   #这是打印当前目录

/root

现在因为需要进入到了/tmp目录下进行操作,执行的命令如下:[root@xcn ~]# pwd

/root

[root@xcn ~]# cd /tmp/

[root@xcn tmp]# cd -

/root

[root@xcn ~]#

原理:[root@xcn ~]#  env|grep -i oldpwd   #是这个变量记录着上一次的目录

OLDPWD=/tmp

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

解答:[root@xcn etc]# ls -lrt   #执行这个命令后最新的文件会在最下面

#以长格式按照修改时间倒序文件和目录,这样最近创建或修改的文件或目录

-t    #按修改时间

-r    #翻转

4.在配置apache时,执行了./confiure --prefix=/application/apache2.2.17 来编译apache在make installl完成后,希望用户的访问路径更简单,需要给/application/apache2.2.17目录做一个软链接/application/apache,使得内部开发或管理人员通过/application/apache就可以访问到/apache的安装目录/application/apache2.2.17下的内容,请你给出实现的命令(提示:apache为一个http web服务)[root@xcn ~]# ln -s /application/apache2.2.17 /application/apache   #-s 参数表示为创建软链接

5.已知apache服务的访问日志按天记录在服务器本地目录/data/logs下,由于磁盘空间紧张,现在要求只能保留最近7天访问日志!请问如何解决?请给出解决办法或配置或处理命令。-rw-r--r-- 1 root root   0 Jun 28 00:00 2017-06-29_00-00.backstage_access.log

-rw-r--r-- 1 root root   0 Jun 28 00:00 2017-06-29_00-00.backstage_error.log

-rw-r--r-- 1 root root   0 Jun 29 00:00 2017-06-30_00-00.backstage_access.log

-rw-r--r-- 1 root root   0 Jun 29 00:00 2017-06-30_00-00.backstage_error.log

-rw-r--r-- 1 root root   0 Jun 30 00:00 2017-07-01_00-00.backstage_access.log

-rw-r--r-- 1 root root   0 Jun 30 00:00 2017-07-01_00-00.backstage_error.log

-rw-r--r-- 1 root root   0 Jul  1 00:00 2017-07-02_00-00.backstage_access.log

-rw-r--r-- 1 root root   0 Jul  1 00:00 2017-07-02_00-00.backstage_error.log

-rw-r--r-- 1 root root   0 Jul  2 00:00 2017-07-03_00-00.backstage_access.log

-rw-r--r-- 1 root root   0 Jul  2 00:00 2017-07-03_00-00.backstage_error.log

-rw-r--r-- 1 root root   0 Jul  3 00:00 2017-07-04_00-00.backstage_access.log

-rw-r--r-- 1 root root   0 Jul  3 00:00 2017-07-04_00-00.backstage_error.log

-rw-r--r-- 1 root root   0 Jul  4 00:00 2017-07-05_00-00.backstage_access.log

-rw-r--r-- 1 root root   0 Jul  4 00:00 2017-07-05_00-00.backstage_error.log

-rw-r--r-- 1 root root   0 Jul  5 00:00 2017-07-06_00-00.backstage_access.log

-rw-r--r-- 1 root root   0 Jul  5 00:00 2017-07-06_00-00.backstage_error.log

[root@guaji01 ~]# find ./ -type f -name "*.log" -mtime +7|xarge rm -f    #删除7天

find 查找与时间有关参数:

-atime  n   #n为数字,意义为在n天之前的【一天之内】被access过的档案;

-ctime n  #n为数字,意义为在n天之前的【一天之内】内change过状态的档案

-mtime n #n 为数字,意思为在n天之前的【一天之内】被modification过的档案

-newer file #file  为一个存在的档案,意思是说,只要档案比file还要新,就会被列出来find ./ type f -name "*.log" -mtime +7|xargs rm -f

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

法一:[root@xcn ~]# tail -f /var/log/messages

Jul  6 14:51:40 localhost yum[29341]: Installed: gnome-vfs2-devel-2.24.2-8.el6.x86_64

Jul  6 14:51:41 localhost yum[29341]: Installed: dmz-cursor-themes-0.4-4.el6.noarch

Jul  6 14:51:41 localhost yum[29341]: Installed: system-gnome-theme-60.0.2-1.el6.noarch

Jul  6 14:51:41 localhost yum[29341]: Installed: libgnome-2.28.0-11.el6.x86_64

Jul  6 14:51:41 localhost yum[29341]: Installed: libgnome-devel-2.28.0-11.el6.x86_64

Jul  6 14:51:41 localhost yum[29341]: Installed: libbonoboui-2.24.2-3.el6.x86_64

Jul  6 14:51:42 localhost yum[29341]: Installed: libbonoboui-devel-2.24.2-3.el6.x86_64

Jul  6 14:51:42 localhost yum[29341]: Installed: libgnomeui-2.24.1-4.el6.x86_64

Jul  6 14:51:42 localhost yum[29341]: Installed: libgnomeui-devel-2.24.1-4.el6.x86_64

Jul  6 14:51:43 localhost yum[29341]: Updated: glib2-2.28.8-9.el6.i686

法二:[root@xcn ~]# tail -F /var/log/messages

Jul  6 14:51:40 localhost yum[29341]: Installed: gnome-vfs2-devel-2.24.2-8.el6.x86_64

Jul  6 14:51:41 localhost yum[29341]: Installed: dmz-cursor-themes-0.4-4.el6.noarch

Jul  6 14:51:41 localhost yum[29341]: Installed: system-gnome-theme-60.0.2-1.el6.noarch

Jul  6 14:51:41 localhost yum[29341]: Installed: libgnome-2.28.0-11.el6.x86_64

Jul  6 14:51:41 localhost yum[29341]: Installed: libgnome-devel-2.28.0-11.el6.x86_64

Jul  6 14:51:41 localhost yum[29341]: Installed: libbonoboui-2.24.2-3.el6.x86_64

Jul  6 14:51:42 localhost yum[29341]: Installed: libbonoboui-devel-2.24.2-3.el6.x86_64

Jul  6 14:51:42 localhost yum[29341]: Installed: libgnomeui-2.24.1-4.el6.x86_64

Jul  6 14:51:42 localhost yum[29341]: Installed: libgnomeui-devel-2.24.1-4.el6.x86_64

Jul  6 14:51:43 localhost yum[29341]: Updated: glib2-2.28.8-9.el6.i68

法三:[root@xcn ~]# tailf /var/log/messages

Jul  6 14:51:40 localhost yum[29341]: Installed: gnome-vfs2-devel-2.24.2-8.el6.x86_64

Jul  6 14:51:41 localhost yum[29341]: Installed: dmz-cursor-themes-0.4-4.el6.noarch

Jul  6 14:51:41 localhost yum[29341]: Installed: system-gnome-theme-60.0.2-1.el6.noarch

Jul  6 14:51:41 localhost yum[29341]: Installed: libgnome-2.28.0-11.el6.x86_64

Jul  6 14:51:41 localhost yum[29341]: Installed: libgnome-devel-2.28.0-11.el6.x86_64

Jul  6 14:51:41 localhost yum[29341]: Installed: libbonoboui-2.24.2-3.el6.x86_64

Jul  6 14:51:42 localhost yum[29341]: Installed: libbonoboui-devel-2.24.2-3.el6.x86_64

Jul  6 14:51:42 localhost yum[29341]: Installed: libgnomeui-2.24.1-4.el6.x86_64

Jul  6 14:51:42 localhost yum[29341]: Installed: libgnomeui-devel-2.24.1-4.el6.x86_64

Jul  6 14:51:43 localhost yum[29341]: Updated: glib2-2.28.8-9.el6.i686

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

法1:[root@guaji01 conf]# nl nginx.conf

1  user  nginx;

2  worker_processes 4;

3

4  #pid /var/run/nginx.pid;

5

6  events {

7      worker_connections  5000;

8      #use epoll;

9  }

....................

法2:[root@guaji01 conf]# cat -n nginx.conf

1  user  nginx;

2  worker_processes 4;

3

4  #pid /var/run/nginx.pid;

5

6  events {

7      worker_connections  5000;

8      #use epoll;

9  }

10

........................

法3:[root@guaji01 conf]# less -N nginx.conf

1 user  nginx;

2 worker_processes 4;

3

4 #pid /var/run/nginx.pid;

5

6 events {

7     worker_connections  5000;

8     #use epoll;

9 }

10

11 http {

12     include       mime.types;

13     default_type  application/octet-stream;

14

法4:vi 文件 然后执行:set nu,  :set nonu 为取消行号

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

方法1:全部关掉然后开启需要的级别的服务[root@xcn ~]# chkconfig nfs off

#默认2,3,4,5级别都是开启状态,所有需要先都关了。当然也可以chkconfig --level 245 nfs off

[root@xcn ~]# chkconfig --list nfs

nfs             0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭

[root@xcn ~]# chkconfig --level 3 nfs on

[root@xcn ~]# chkconfig --list nfs

nfs             0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:关闭  6:关闭

方法2:关闭不需要的级别的服务[root@xcn ~]# chkconfig --list nfs

nfs             0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

[root@xcn ~]# chkconfig --level 245 nfs off

[root@xcn ~]# chkconfig --list nfs

nfs             0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:关闭  6:关闭

12./etc/目录为Linux系统的默认的配置文件及服务启动命令的目录请用tar打包/etc整个目录(打包及压缩)

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

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

解答:

a:[root@xcn /]# tar zcvf etc.tar.gz  ./etc/

-rw-r--r--    1 root root 9948783 9月  24 04:12 etc.tar.gz

z:压缩

c:创建

v:显示输出

f:文件ch[root@xcn /]# tar tf etc.tar.gz  #查看压缩包里的内容

etc/

etc/sysctl.conf

etc/modprobe.d/

etc/modprobe.d/blacklist.conf

etc/modprobe.d/dist.conf

etc/modprobe.d/anaconda.conf

etc/modprobe.d/openfwwf.conf

etc/modprobe.d/dist-oss.conf

etc/modprobe.d/dist-alsa.conf

etc/gnupg/

etc/oddjobd.conf.d/

etc/oddjobd.conf.d/oddjobd-introspection.conf

etc/oddjobd.conf.d/oddjobd-mkhomedir.conf

etc/updatedb.conf

etc/sudo.conf

etc/mailcap

etc/nanorc

etc/fprintd.conf

etc/printcap

etc/rwtab

13.已知如下命令结果:[root@xcn ~]# echo "I am xcn mysql is 995345781" >> xcn

[root@xcn ~]# cat xcn

I am xcn mysql is 995345781

现在需要从文件中过滤出"xcn"和"995345781"字符串,请给出命令

解答:

方法1:[root@xcn ~]# awk '{print $3 $6}' xcn

xcn995345781

[root@xcn ~]# awk '{print $3 " " $6}' xcn

xcn 995345781

方法2:[root@xcn ~]# cut -d" " -f3,6 xcn

xcn 995345781

-d:指定分隔符[root@xcn ~]# cut -c 6-8 xcn

xcn

14.如何查看/etc/services文件的有多少行?

解答:

方法一:[root@xcn ~]# wc -l /etc/services

10774 /etc/services

方法二:[root@xcn ~]# cat -n /etc/services |tail -1

10774  iqobject        48619/udp               # iqobje

方法三:[root@xcn ~]# sed -n '$=' /etc/services

10774

方法四:[root@xcn ~]# awk '{print NR}' /etc/services|tail -1

10774

方法五:[root@xcn ~]# grep -n $ /etc/services|tail -1

10774:iqobject        48619/udp               # iqobject

15.请执行命令取出Linux中eth1的IP地址

法1:[root@xcn ~]# ifconfig eth1|grep "inet addr"|cut -d ":" -f 2|cut -d " " -f 1

172.16.1.2

法2:[root@xcn ~]# ifconfig eth1|grep "inet addr:"|awk -F ":" '{print $2}'|awk '{print $1}'

172.16.1.2

法3:[root@xcn ~]# ifconfig eth1|grep "inet addr"|awk -F "[: ]" '{print $13}'

172.16.1.2

法4:[root@xcn ~]# ifconfig eth1|sed -n '/inet addr/p'|sed 's#^.*addr:##g'|sed 's#Bc.*$##g'

172.16.1.2

思路:

匹配需要的目标(获取的字符串如上文的ip)前的字符串一般用以..开头(^.*)来匹配开头,匹配的结尾写上实际的字符,如:"^.*addr:"表达式就匹配"   inet addr:",而处理需要的目标后的内容一般在匹配的开头写上实际的字符,而结尾是用以...结尾(.*$)来匹配。如:Bcast:.*$部分表示匹配“Bcast:10.0.0.255 Mask:255.255.255.0”.

法5:[root@xcn ~]# ifconfig eth1|sed -n 's#^.*addr:\(.*\)  Bcast.*$#\1#gp'

172.16.1.2

sed小括号()分组功能

sed 's/■/▲/标签'    #斜线可以被其他字符替换

■部分可以用正则,▲的部分不能用正则

()分组(group)再■部分使用()括起来的内容,再▲的位置可以用使用\1调用前面括号内容

如果有多个括号,那么一次\2,\3调用第二个第三个括号,以此类推

16.如何取得xcn文件的权限对于的数字内容,如-rw-r--r--为644,要求使用命令取得644或0644这样的数字

r  read   w write   -没有x执行

r  4

w 2

x  1

-  0

法1:[root@xcn ~]# stat xcn|sed -n '4p'|awk -F "[/(]" '{print $2}'

0644

法2:[root@xcn ~]# stat xcn|head -4|tail -1|awk -F "[/(]" '{print $2}'

0644

法3:[root@xcn ~]# stat xcn|sed -n 's#^.*s: (\([0-9].*\)/-r.*$#\1#gp'

0644

liunxs运维_Linux运维工程师必备(命令)相关推荐

  1. linux 卸载sphinx,sphinx管理脚本,实现sphinx启动、关闭、重启、生成索引功能 | linux运维小站–linux系统架构_服务器运维_Linux运维工程师工作手札...

    最新sphin问题比较多,生成主索引后无法连接上sphinx的,需要重启searchd进程,为了方便管理sphinx,参考网上资料:http://blog.csdn.net/yagas/article ...

  2. innosetup 同名文件替换_运维工程师必备命令之文件管理

    文件管理: cp.mv.touch.mkdir.less.more.diff... cp命令: 用来将一个或多个源文件或者目录复制到指定的目的文件或目录. 语法: cp [OPTION]... SOU ...

  3. linux系统更新失败处理功能,Proxmox VE升级apt-get update失败处理 | linux运维小站–linux系统架构_服务器运维_Linux运维工程师工作手札...

    安装每一个系统之后第一件事习惯性地升级系统,比如Centos.Redhat执行yum update,ubuntu.Debian执行apt-get update,但是昨天在安装完Proxmox VE执行 ...

  4. linux常用运维shell,常用的shell命令,持续更新 | linux运维小站–linux系统架构_服务器运维_Linux运维工程师工作手札...

    查看可疑文件,查看访问可疑文件IP grep /api/_notes/index.php * . -r>ip.log 查看指定IP的nginx访问日志 cat access.log|grep 1 ...

  5. linux mysql运维_Linux运维常用的 MySQL基础命令

    # MySQL基础命令 ------------- ### 创建MySQL库,授权. >create database mysqldb character set utf8; >grant ...

  6. mysql 工程师必备命令_mysql入门命令语句

    作为围绕着IT行业的personnel,可以只懂windows不懂linux,可以只懂php不懂java. 可以只会敲命令不懂英语,但是 你不能不懂数据库... 如果说要懂数据的话,只要能懂的一些基本 ...

  7. 运维工程师必备之负载 均衡集群及LVS详解

    原文地址:运维工程师必备之负载 均衡集群及LVS详解作者:蚁巡运维平台 来源: chrinux 的BLOG 时间: 2013-07-01 14:00 此博文主要介绍集群和负载均衡的基本理论和类别,内容 ...

  8. 【运维工程师必备技能之一】——英语基础

    提示:运维工作多年,提示想入门小白必备技能分享 文章目录 前言 一.什么是运维工程师? 二.必备基础--英语 1.为什么做运维需要英语基础 总结 前言 运维工程师(Operations)以服务为本,岗 ...

  9. linux运维工程师培训课程_Linux运维工程师面试赋能

    最近很多朋友通过各种渠道找到我,说自己的(朋友,亲戚,同事)毕业后找不到工作:部分同学自学了很长时间或者也参加过培训还是找不到. 更有部分在职的朋友之前的工作也挺好,但是一跳槽突然发现也找不到了,都连 ...

最新文章

  1. 条件随机场CRF简介Introduction to Conditional Random Fields
  2. 什么是python中子类父类_零基础入门:python中子类继承父类的__init__方法实例
  3. 注意!出口货物木质包装IPPC标识规定!
  4. etcd raft library设计原理和使用
  5. MindFusion Pack for ASP.NET发布v2013.R2
  6. .NET 5.0 RC 2 发布,正式版将在 11 月 .NET Conf 大会上发布
  7. 【POJ - 2376】Cleaning Shifts (贪心)
  8. 小哼买书JAVA编写,04_小哼买书
  9. iptables高级应用实例
  10. git删除远程仓库的文件或目录
  11. 如何添加行号 c语言,如何为程序代码加上行号
  12. Android系统的开机画面显示过程分析(12)
  13. 自然语言处理:简单解释
  14. 怎么用电脑设置让wifi变快
  15. **任务一 WEB学习 笔记**
  16. 根据父母身高预测儿子身高
  17. 【无标题】计统大作业-hello
  18. 体育测试成绩用什么软件制表,如何用电子表格进行体育成绩的统计.docx
  19. Java核心知识:面向对象-多态
  20. performance的使用

热门文章

  1. WSL之Emacs中文乱码解决
  2. Qemu架构解析(二)
  3. Qemu(纯软实现)架构+KVM(基于kernel模拟硬件)原理(一)
  4. Ubuntu18.04安装微信(可用)
  5. FFmpeg查看支持的封装、编解码器、滤镜(四)
  6. UAC1.0和UAC2.0区别(八)
  7. Android9.0 HIDL头文件加log编译
  8. Mac使用systrace/monitor/adb等工具
  9. android5.1去掉开机锁屏
  10. ubuntu下cpu以最大频率运行、查看CPU主频几种方法