Linux运维工程师必备(命令)

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

[[email protected] ~]# 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
[[email protected] ~]# 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:通过给目录加标识,然后通过过滤标识,过滤出目录

[[email protected] ~]# ls -F   #把目录结尾加上"/",便于区分和过滤出来,ls -p也可以让目录带上斜线
111  222  333  aaa/  bbb/  ccc/  ddd/
[[email protected] ~]# ls -F|grep /$  #把包含斜线"/"的过滤出来就是目录
aaa/
bbb/
ccc/
ddd/

方法3:find的应用

[[email protected] ~]# find . -type d    #.代表当前目录
./aaa
./ccc
./bbb
./ddd

方法4:tree

[[email protected] ~]# tree -dl
.
|-- aaa
|-- bbb
|-- ccc
`-- ddd

过滤空行及#开头的行

[[email protected] ~]# grep -Ev "^#|^$" /etc/init.d/sshd 
[[email protected] ~]# egrep -v "^#|^$" /etc/init.d/sshd 
注释:
-E  #egrep
-v  #过滤
^#  #井号开头
^$  #空行

方法5:sed

[[email protected] ~]# 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

[[email protected] ~]#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.假如当前目录是

[[email protected] ~]# pwd   #这是打印当前目录
/root

现在因为需要进入到了/tmp目录下进行操作,执行的命令如下:

[[email protected] ~]# pwd
/root
[[email protected] ~]# cd /tmp/
[[email protected] tmp]# cd -
/root
[[email protected] ~]#

原理:

[[email protected] ~]#  env|grep -i oldpwd   #是这个变量记录着上一次的目录
OLDPWD=/tmp

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

解答:

[[email protected] 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服务)

[[email protected] ~]# 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

[[email protected] ~]# 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的更新,如何做?

法一:

[[email protected] ~]# 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

法二:

[[email protected] ~]# 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

法三:

[[email protected] ~]# 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:

[[email protected] 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:

[[email protected] 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:

[[email protected] 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 为取消行号

时间: 2024-10-04 22:18:06

Linux运维工程师必备(命令)的相关文章

Linux运维工程师必备的十个技能点

1.Linux 系统基础 这个不用说了,是基础中的基础,连这个都不会就别干了,参考书籍,可以看鸟哥 Linux 基础篇,至少要掌握这书 60% 内容,没必须全部掌握,但基本命令总得会吧! 2. 网络服务 服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如 FTP, DNS,SAMBA, 邮件, 这几个大概学一下就行,LAMP 和 LNMP 是必须要熟练,我所指的不是光光会搭建,而是要很熟悉里面的相当配置才行,因为公司最关键的绝对是 Web 服务器,所以 nginx 和 apache

linux运维工程师必备技能

1.Linux系统基础 2.网络服务 3.shell脚本和另一种脚本语言 4.sed和awk工具 5.文本处理命令 6.数据库 7.防火墙 8.监控工具 9.集群和热备 10.数据备份

运维工程师必备150个命令(连载中...)

运维工程师必备150个命令 1.mkdir  make directory        创建目录,例子:mkdir /data表示在根下创建data目录. 2.cd        change directorys    切换目录,例子:cd /表示进入根目录. 3.ls          list                            列表目录,例子:ls /etc, -l(long)长格式显示目录或文件属性. -d(directory),表示查看目录 4.touch   

详解linux运维工程师入门级必备技能

详解linux运维工程师入门级必备技能 | 浏览:659 | 更新:2013-12-24 23:23 | 标签:linux it自动化运维就是要很方便的运用各种工具进行管理维护,有效的实施服务器保护 linux运维人员常用工具介绍 1.很多地方经常会用到的rsync工具 实施几台服务器的同步效果 我们公司就是使用这个工具完成服务器的游戏的服务端和客户端同步,有几个文章例子 rsync 强化技术(手动修改端口开启防火墙的情况下)并且通过脚本只同步需要的服务器 inotify+rsync+mutt+

如何快速成为一名Linux运维工程师

作为刚入门的同学,无非视频.书籍.网站帖子之类的学习方式,视频虽然讲得详细,但是所需要花费的时间也是巨大的,据我了解很少有人能持之以恒把一系列视频看完:网站帖子之类的,一般都比较散乱,不成学习系统,学起来如同没有头的苍蝇:书籍从目录来看就非常有条理,看书可以系统化的学习.循序渐进,不会初学者不知道从哪儿开始的感觉.建议选择一本Linux入门书籍,前期可以安装一个Linux虚拟机,重复练习为主要手段,把一本书好好吃透,重点是吃透,那么你也就入门了,尤其推荐想自学Linux系统的同学买一本<Linu

详解Linux运维工程师打怪升级篇

详解 Linux 运维工程师打怪升级篇 积累经验篇 做运维也快4年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师 是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火...(相对表示就是 python 比较火) 前面也讲了运维基础篇,发现对很多人收益挺大,接下来也写下关于这4年多的运维实践经验,从事了2年多游戏运维,1年多安全运维,1年大数据运维,相关行业信息不能

高薪岗位云计算面试题,云计算运维工程师必备

云计算产业市场规模快速增长,人才需求数量激增.相关云计算企业加大对核心技术的投入,提高对客户的服务,无论从技术层面,运营商层面还是集成与服务提供层面,人才需求巨大.下面给大家分享高薪岗位云计算面试题,云计算运维工程师必备好好收藏吧. 1.osi七层参考模型有哪些? 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 2.udp协议工作在哪一层?ping工作在哪一层? UDP工作在传输层 ping 工作在网络层 3.linux系统中用于检测通信的命令有哪些?(四个以上) ping trac

要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...

   本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具.我就大概列出这几方面,这样入门就基本没问题了.linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究一下SUSE,有些公司也喜欢用,例如我公司 .....工具如下: 1.linux系统基础,这

Linux运维工程师初级到高级学习线路图

51CTO推出的一系列Linux培训教程(绝大部分免费),适合Linux系统管理.开发.尤其适合Linux下系统运维! 通过这个线路图的学习,可以快捷.有目标性的指导Linux运维人员快速的成长. ...... --Linux基础入门的简介 --Linux系统目录及文件权限认识 --Linux系统常用命令操作 --Linux系统下简单服务的构建 --Linux Shell编程学习 --Linux主流服务及集群构建 --Linux系统内核优化 --Linux架构优化及深入编程 --自动化运维开发