zoukankan      html  css  js  c++  java
  • 运行级别,压缩命令,单引号与双引号运用

    1.1 8

    linux 系统运行级别一般为 0-6,请分别写出每个级别的含义。

    1.1.1 运行级别的含义

    0 关机

    1 单用户模式

    2 多用户模式 没有NFS

    3 完全的多用户   命令行模式

    4 没有使用

    5 图形化界面模式

    6 重启

    1.1.2 临时切换运行级别 

    init 5 临时修改

    1.1.3 查看运行级别

    runlevel 显示运行级别

    1.1.4 永久修改运行级别

    修改文件 /etc/inittab

    1.2 9

    希望防火墙,仅在 3 级别上开机自启动,该如何做?

    1.2.1 --level

    --level后加数字指定运行级别 on off

    [root@znix ~]# chkconfig --level 3  iptables on

    [root@znix ~]# chkconfig |grep ipt

    iptables       0:off   1:off   2:off   3:on    4:off   5:off   6:off

    [root@znix ~]# chkconfig --level 3  iptables off

    [root@znix ~]# chkconfig |grep ipt

    iptables        0:off   1:off   2:off   3:off   4:of

    1.3 13

    etc/目录为 linux 系统的默认的配置文件及服务启动命令的目录

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

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

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

    1.3.1 创建压缩包

    创建压缩包的时候尽量使用相对路径

    [root@znix ~]# tar zcvf  /tmp/etc.tar.gz     /etc/

                                       筐(压缩包的名字) 要压缩的文件          

    [root@znix ~]# ls -lh /tmp/etc.tar.gz

    -rw-r--r-- 1 root root 9.3M Aug 25 09:34 /tmp/etc.tar.gz

                  z----压缩工具 gzip  通过gzip软件进行压缩

                  c----create 创建压缩包

                  v----显示 创建/解压 的过程

                  f----指定压缩包的位置和名字

    1.3.2 查看压缩包的内容

    查看压缩包的内容时可以不加z参数,系统会自动选择。

    [root@znix tmp]# tar ztf etc.tar.gz

                  t----显示或者列表

    1.3.3 解压缩

    解压不指定路径的时候会解压到当前路径。

    [root@znix tmp]# tar zxf etc.tar.gz

                  x----extract 解压

           指定解压路径

                  -C (大写c 指定解压路径

    [root@znix ~]# tar xf /tmp/etc.tar.gz  -C /tmp/

    [root@znix ~]# ls -ld /etc/

    drwxr-xr-x. 78 root root 4096 Aug 25 09:42 /etc/

    1.3.4 排除指定文件

    --exclude  后面加上等号填上要排除的文件

    [root@znix /]# tar zcf /tmp/etc-paichu.tar.gz /etc/ --exclude=etc/services

    [root@znix /]# tar tf /tmp/etc-paichu.tar.gz |grep "services"

    etc/init/readahead-disable-services.conf

    1.3.5 压缩时的提示

    Removing leading `/' from member names

    把压缩包中的文件最前面的斜线删除

                压缩包里的内容 绝对路径>>>相对路径

    原因:

           解压的时候会按照压缩包内的路径进行解压,从根目录打包会覆盖其他文件

    系统解决办法:

           出于安全的考虑,把绝对路径前面的'/'去掉,变成相对路径

    1.3.6 相对路径压缩

    先进入根目录再进行压缩。

    [root@znix /]# tar zcf /tmp/etc.tar.gz etc/

           一条命令,进入根目录并且压缩。

    [root@znix ~]# cd / && tar zcf /tmp/data.tar.gz etc/

    && 表示前面的执行好了,再执行后面的

    [root@znix ~]# cd / && tar zcf /tmp/etcbak.tar.gz etc/

    [root@znix /]# ll /tmp/etcbak.tar.gz

    -rw-r--r-- 1 root root 9733401 Aug 25 10:54 /tmp/etcbak.tar.gz

    1.4 13

     

    创建环境

    [root@znix /]# mkdir /clsn ; echo "I am clsn,myqq is 31333741">/clsn/clsn.txt

    [root@znix clsn]# cat clsn.txt

    I am clsn,myqq is 31333741


    现在需要从文件中过滤出“clsn”和“31333741”字符串,请给出命令。

     

    1.4.1 方法一 sed+sed

    先用sed命令将前面的部分替换为空,经过管道,sed在将后面的部分替换为空。

    [root@znix clsn]# sed 's#I am ##g' clsn.txt |sed 's#,myqq is##g'

    clsn 31333741

    1.4.2 方法二 sed+awk

    sed将逗号换为空格,awk以空格为分隔符,print输出列的内容,$3表示第三列,$NF 表示最后一列

    [root@znix clsn]# sed 's#,# #g' clsn.txt |awk '{print $3,$NF}'

    clsn 31333741

    1.4.3 方法三 awk

    使用-F指定分隔符,这里指定为逗号和空格,print 需要在{}中才可以使用

    -F 指定分隔符,表示每一列的结束标记

    [root@znix clsn]# awk -F "[, ]" '{print $3,$6}' clsn.txt

    clsn 31333741

    1.4.4 方法四 sed+cut

    先用sed将逗号替换为空格,然后再用cut 切割。

    -d 表示用什么切割,这里指定为空格,-f36表示第三和六列。

    [root@znix clsn]# sed 's#,# #g' clsn.txt|cut -d ' ' -f3,6

    clsn 31333741

    1.4.5 显示为clsn,31333741

    awk'{print $3","$NF}'里面写双引号里面写什么就显示什么

    [root@znix clsn]# awk -F "[ ,]"  '{print $3","$NF}' clsn.txt

    clsn,31333741

    1.5 14

    查看/etc/services文件内容有多少行

    1.5.1 显示行数 wc

    [root@znix clsn]# wc -l /etc/services

    10774 /etc/services

    -l 显示文件有多少行

    1.5.2 检查进程是否运行(wc运用)

    ps命令,查看正在运行的进程,-ef 显示系统中正在运行的进程

    [root@znix ~]# ps -ef

    [root@znix ~]# ps -ef|grep "/sshd"

    root       1450      1  0 Aug24 ?        00:00:00 /usr/sbin/sshd

    root       4965   4846  0 12:32 pts/0    00:00:00 grep /sshd

           使用wc命令查看行数

           数字大于2时表示程序运行。

    [root@znix ~]# ps -ef|grep "/sshd"|wc -l

    2

    1.6 15

    过滤出/etc/services  文件包含 3306 1521 两数据库端口的行的内容。

    1.6.1 使用grep命令

    [root@znix ~]# grep -E "3306|1521" /etc/services

    mysql           3306/tcp                        # MySQL

    mysql           3306/udp                        # MySQL

    ncube-lm        1521/tcp                # nCube License Manager

    ncube-lm        1521/udp                # nCube License Manager

           "|" 表示或者,必须加在引号中。属于正则表达式。

    1.6.2 使用egrep

    egrepgrep的高级版,与grep -E 相同。

    [root@znix ~]# egrep "3306|1521" /etc/services

    mysql           3306/tcp                        # MySQL

    mysql           3306/udp                        # MySQL

    ncube-lm        1521/tcp                # nCube License Manager

    ncube-lm        1521/udp                # nCube License Manager

    1.7 命令行及shell中加单引号和加双引号的区别

    1.7.1 单引号

    所见即所得, 单引号里的内容会原封不动的显示出来

    [root@znix ~]# echo '$LANG $(hostname)'

    $LANG $(hostname)

    1.7.2 双引号

    解析里面的特殊符号

    [root@znix ~]# echo "$LANG $(hostname)"

    en_US.UTF-8 znix

  • 相关阅读:
    【转】iPython入门技巧
    Python——IPython和NumPy
    Python——类与对象,异常处理
    Python——函数,模块,简单文件读写
    给对象的key 设置成变量
    antd 表单validateFields validateFieldsAndScroll方法不执行
    css 设置禁用
    where与having区别
    重温robotframework--day1
    Linux下查看文件内容的命令
  • 原文地址:https://www.cnblogs.com/clsn/p/7542765.html
Copyright © 2011-2022 走看看