zoukankan      html  css  js  c++  java
  • 第二波命令-上部

    Linux启动过程

    开机自检(BIOS)##硬件检查
    
    MBR引导
    
    GRUB菜单(选择不同的内核)
    
    加载内核
    
    运行init进程(Linux系统里面第一个进程)
    
    读取/etc/inittab配置文件(读取运行级别)
    
    执行/etc/rc.d/rc.sysinit脚本(系统的初始化脚本 设置IP地址)
    
    执行/etc/rc.d/rc脚本(根据系统的运行级别
    
    在开机的时候启动不同的软件)
    
    启动mingetty进程 显示界面
    

    PATH 变量

    PATH 存放的是Linux下命令的位置

    [root@nfsnobody ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    
    
    
    规律
    /bin
    /sbin
    /usr/bin
    /usr/sbin
    /usr/local/bin
    /usr/local/sbin
    

    Linux执行命令的过程

    是否是别名
    在PATH中找命令是否存在
    没有的话提示command not fonund
    有就执行

    显示一级目录

    如何过滤出已知当前目录下nfsnobody中的所有一级目录
    (提示:不包含nfsnobody目录下面目录的子目录及隐藏目录,即只能是一级目录)?
    创建环境

    mkdir /nfsnobody -p
    cd /nfsnobody
    mkdir ext/nfsnobody test xiaodong xiaofan xingfujie -p
    touch jeacen nfsnobody wodi.gz yingsui.gz
    

    方法一

    tree
    -d  只显示目录
    -L level 最多显示多少层 -L 1 最多显示一层
    
    [root@nfsnobody nfsnobody]# tree -dL 1
    .
    ├── ext
    ├── test
    ├── xiaodong
    ├── xiaofan
    └── xingfujie
    5 directories
    

    方法二

    find
    -maxdepth  最大的深度
    [root@nfsnobody nfsnobody]# find -maxdepth 1 -type
    d
    .
    显示出了目录 但是多了一个.
    ./xingfujie
    ./test
    ./xiaofan
    ./xiaodong
    ./ext
    !排除取反 非
    排除. 只显示目录
    [root@nfsnobody nfsnobody]# find -maxdepth 1 -type
    d ! -name "."
    ./xingfujie
    ./test
    ./xiaofan
    ./xiaodong
    ./ext
    

    方法三grep

    ^以xxx/开头的行  三剑客使用 正则表达式

    [root@nfsnobody nfsnobody]# ls -l |grep
    "^d"
    drwxr-xr-x. 3 root root 4096 Jul 10 19:45 ext
    drwxr-xr-x. 2 root root 4096 Jul 10 19:45 test
    drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaodong
    drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaofan
    drwxr-xr-x. 2 root root 4096 Jul 10 19:45
    xingfujie
    ^以xxx/开头的行  三剑客使用 正则表达式
    

    方法四awk

    $2表示第二列

    [root@nfsnobody nfsnobody]# ls -l |awk '$2>1'                第二列大于一的
    total 20
    drwxr-xr-x. 3 root root 4096 Jul 10 19:45 ext
    drwxr-xr-x. 2 root root 4096 Jul 10 19:45 test
    drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaodong
    drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaofan
    drwxr-xr-x. 2 root root 4096 Jul 10 19:45
    xingfujie
    

    方法五

    [root@nfsnobody nfsnobody]# ls -F |grep
    "/"
    -F 不同的类型文件 加上不同的标记  目录加上/
    

    方法六

    [root@nfsnobody nfsnobody]# ls -ld */  ##看以/结尾的
    

    压缩

    /etc/目录为linux系统的默认的配置文件及服务启动命令的目录
    a.请用tar打包/etc整个目录(打包及压缩)
    b.请用tar打包/etc整个目录(打包及压缩,但需要排除/etc/services文件)
    c.请把a点命令的压缩包,解压到/tmp指定目录下(最好只用tar命令实现)

    tar下的参数

    
    tar zcvf /tmp/etc.tar.gz  /etc/
    压缩之后放在哪
    要压缩的
    z  gzip
    通过gzip软件压缩
    c  create
    创建包
    v  verbose 显示过程
    f  file
    指定文件 (在tar中  f 必须要在最后边)
    t  list
    显示压缩包内容
    x  extaact 解压
    压缩
    zcvf  zcf
    查看  ztf   tf
    解压  zxf   xf
    

    创建压缩包

    一般压缩不用参数v  不用显示压缩过程 所以直接用zcf即可

    [root@nfsnobody tmp]# tar ztf /tmp/etc.tar.gz   打包及压缩
    

    解压

    解压前先进入要解压到的目录

    [root@nfsnobody tmp]# tar zxf etc.tar.gz   ##先进入tmp目录
    

    解压到指定目录

    解压使用参数zxf  z可以省略 xf即可

    [root@nfsnobody tmp]# tar xf /tmp/etc.tar.gz -C
    /opt/  解压到opt目录
    [root@nfsnobody tmp]# ll /opt/                         解压后检查
    total 8
    drwxr-xr-x. 78 root root 4096 Jul 10 19:41 etc
    drwxr-xr-x.
    2 root root 4096 Mar 26  2015 rh
    

    排除某个文件或目录

    要求:排除services

    排除多个
    --exclude-from 加个名单  .txt
    .txt里写上路径内容
    [root@nfsnobody ~]# tar zcf /tmp/etc.tar.gz
    /etc/ --exclude /etc/services
    [root@nfsnobody ~]# tar tf /tmp/etc.tar.gz
    |grep "services"  检查是否排除
    etc/init/readahead-disable-services.conf
    

    tar经典故障

    tar: Removing leading `/' from member names
    

    安全警告  删除 开始   /
    把压缩包的 开头的/ 删除掉
    由绝对路径 变为了相对路径
    防止解压的时候覆盖源文件

    cd ls及tail命令补充

    cd命令补充

    cd      change directory 进入目录
    cd .     进入到当前目录
    cd ..     进入到上一级目录
    cd -     退回到上一次所在的目录
    cd ~     返回家目录
    -号单独在Linux并没有什么特殊含义 与命令连用会有含义 比如cd
    cd /etc/sysconfig/network-scripts/
    [root@nfsnobody network-scripts]# cd -
    /root
    [root@nfsnobody ~]#
    

    cd命令练习题

    进入到/etc/sysconfig/network-scripts/目录,并查看你所在位置
    进入到上一级目录,并查看你所在位置
    进入到/root目录下面,并显示你所在位置
    快速返回到/你上一次的位置
    回到老家

    [root@nfsnobody ~]# cd /etc/sysconfig/network-scripts/   进入/etc/sysconfig/network-scripts/
    [root@nfsnobody network-scripts]# pwd                    查看当前位置
    /etc/sysconfig/network-scripts
    [root@nfsnobody network-scripts]# cd ..                  进入上一级目录
    [root@nfsnobody sysconfig]# pwd                          查看当前位置
    /etc/sysconfig
    [root@nfsnobody sysconfig]# cd                           进入到家目录 cd=cd~
    [root@nfsnobody ~]# pwd                                  查看当前位置
    /root
    
    [root@nfsnobody ~]# cd -                               退出到上一次所在的目录
    /etc/sysconfig
    [root@nfsnobody sysconfig]# cd ~                       返回家目录
    [root@nfsnobody ~]# pwd
    /root
    [root@nfsnobody ~]#
    

    ls命令补充

    ls -lrt 以实际
    -r 逆序
    -t 按照修改时间
    

    tail命令

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

    [root@nfsnobody etc]# tail -f /var/log/secure
    #实时查看日志更新
    tail -f====tailf
    
    -F===-f --try  如果文件不存在  会不断重试
    
  • 相关阅读:
    常见的排序算法
    322. Coin Change
    C++ STL中的lower_bound,upper_bound使用小结
    滑动窗口题汇总
    1658. Minimum Operations to Reduce X to Zero
    739. Daily Temperatures
    240. Search a 2D Matrix II
    474. Ones and Zeroes
    221. Maximal Square
    javac不是内部或外部命令
  • 原文地址:https://www.cnblogs.com/wenrulaogou/p/11982086.html
Copyright © 2011-2022 走看看