• linux命令详解


    命令语法介绍

    命令   【参数】 【文件或路径】

    rm       -f                  /etc/hosts

    注:命令和参数至少一个空格(可以多个连着写)      路径不带空格           

    1,中括号[]表示可选,即命令的参数和与路径是可选的,

    2,参数选项表示使用一个命令的不同的功能。

    用命令练习下

    先说下 windows/linux盘符合目录的结构

      windows  是分盘符 有C,D,E 盘,  linux  只有一个盘符  /  它为所有的目录的顶点 

    创建一个目录命令

      mkdir /data(根下)    mkdir data(桌面)

      查看可以是   ls     更精准的是   ls -ld data

                 -l(long)长格式   d (查看目录)  

      drwxr-xr-x. 2 root root 4096 10月 13 04:07 data

      有时候需要进入目录创建文件或者目录可以用    ;(两个命令一起使用) 如:

      cd data;mkdir qing.txt

    切换目录:

      cd  change  directory 改变目录的路径  如:

      cd ~      cd data

      cd /etc/sysconfig/network-scripts/ifcfg-eth0

    相对路径和绝对路径

      从 / 开始的路径是绝对路径

      不从 / 开始是相对路径

      显示当前路径     pwd     print work directory 

      打印工作路径    (显示当前路径)

    touch命令   (摸,触摸)

      没有创建,有就修改文件的时间属性。如:

      touch zhang.txt

      cd data;touch zhang.txt

      cd data;mkdir zhang

    创建完文件了我们怎样写内容呢?

    vi 编辑器

      常规操作;

      执行 vi zhang.txt进入文件,

      点击  a 或者  i 进入编辑模式,写入想要写的内容如:这是美好的一天。

      写完以后按sec按:wq 保存退出,write quit

      不想保存是 :q      强制退出 :q!

    这里会有人说vim 编辑器了     vi和vim的区别:

      vi 是简单的记事本,

      vim 是复杂的编辑器,在以后写shell或者python用的比较多,有高亮,缩进等功能。

      在平常情况下没什么区别。

    我们只是想加一个内容感觉用这个vi有点复杂所以我们可以用 echo 命令(打印的意思,吃啥打啥)

    echo 命令(有点危险)如想在zhang.txt里面写东西,(里面本来是有定西会覆盖原有的文章)

      如果没有就创建,有就覆盖

      一个     >                          意识是输出重定向,会清楚原有的数据    

      echo '覆盖新的内容'>zhang.txt

      两个  >>   意识是追加重定向         追加内容        只在末尾追加

      echo '追加'>> zhang.txt

       注了解:追加多行可以在编辑器上写好,在粘贴上去。如:

      echo 'zhang

      yao

      qing'>>zhang.txt

      另一种多行追加方式:

      cat >>/data/zhang.txt<<EOF

      追加的内容,

      多行。。。

      多行。。。

      EOP     

    注:>> 写到那个文件,

      << EOF     EOF  是成对出现的,如果和要追加的内容有一样的单词还有问题。

      

      cat >>text.txt<<EOF
      zhang
      yao
      qing zhang.txt
      EOF

    >  表示数据的流向,

    0>标准输入(stdin)

    1>标准正常输出(stdout)

    2>标准错误输出(stdrr)

    有了echo以后输入多个字符时,可以分组如:

      echo 1 2 3 4 5 6 7 8 >zhang.txt     输入1 2 3 4 .......

      xargs -n 2 <zhang.txt  

    结果  1 2

        3 4

        .....

      xargs   从标准输入中获取内容创建和分组,  有一个参数  -n   是分组

    cp 复制                   copy

    没有参数时  只拷贝文件

      -r  是递归拷贝

      -a 是带提示拷贝

      -p 连同档案的属性复制过去,而非使用默认属性

    如:cp zhang.txt /tmp           拷贝单个文件

      cp -r data /tmp    默认是不能拷贝目录的,但是加上 -r   ( r 是递归  )

    rm      (remove  删除目录和文件 )   

      - r   递归   用于删除

      -f   强制(force)

      -i   询问用户是否确认删除,用  y n

    如: rm zhang.txt      删除文件

      rm -f zhang.txt      不带提示的删除文件

      rm -rf data        递归删除目录

    注:删除命令要慎用,非常的危险,删除前一定要备份。  也可以放到/tmp目录里面

    mv     移动文件或者目录

      如 :mv zhang.txt /tmp    移动文件

        mv data tmp 移动目录

    (重要命令)    find      查找   -type  文件类型(f(file)) ,d  (directory), c(charactor),b(block),s(socket),l(link),     -name '文件名 '    ,-mtime    时间,按时间查找,时间数字

      +7 以前  ,    7 第七天     -7    最近7天  。     

    如:  查找特定的文件。

      find /data -type f -name '*.txt'           在data目录下查找名字是以.txt结尾的文件。

      想结合 mv 使用如:

      mv `find /data -type f -name '*.txt' /tmp    插到的文件移动到 /tmp    遵循mv 的规则,前面用反引号。

      

    返回上级命令    cd ..   或者 cd ../      (两个点)

    (重要命令)     grep  过滤内容    -v 排除的内容,

      例如:grep -v text zhang.txt    在zhang.txt里面排除text文本,显示其他的。 

    head       头,

       默认是显示前10行。-n

       head -2 text.txt    只去前2行。

    tail    尾, 尾巴

      输出文件的后n行,默认10行,-n       习惯-5  

      如: tail -3 text.txt   输出倒数3行

    连续创建目录   mkdir -p /aa/bb/cc/dd     递归创建。      

          -p      是递归创建

      创建完了可以用 tree 命令查看树状图,

        yum install tree -y    这个需要先安装tree

        如: tree /aa

        结果是树状图。

    问题:现在有个需求是,/tmp/test.txt  拷贝到 /mnt    不让它提示。

    两种方法:

      cp /tmp/test.txt /mnt/

      /bin/cp /tmp/test.txt /mnt

      unalias cp (不要用,练习用,临时起效,重启恢复原来)         unalias   取消别名

    注:为什么要这样呢。(别名的作用)

      alias   查看和设置别名

      unalias   取消别名

      如 : alias rm='echo not commed does use'

      通过 alias  命令查看,危险的命令默认都是会提示,让人确认的。

      1,系统为一些危险的命令加一些保护的命令,防止人为误操作。

      2,把很复杂的命令或者字符串变成一个简单的命令,或者字符串。

    问题:只查看test.txt文件(100行)内第20到第30行的内容

    sep = sequence    序列

    sed stream editor        流编辑器     linux 三剑客老二,实现对文件的正删改查。

      -n 代表行   p  代表打印

    awk   老大       三剑客    过滤,输出内容 

    awk 'NR'>19&&NR>31 text.txt          NR 是行号。

    grep    老三    三剑客             过滤内容

    grep 20 -A 10 text.txt      除了20行之后的多少行

    grep 20 -B10 text.txt      除了20行之前的多少行

    grep 20 -C 10 text.txt  除了20行前后多少行

  • 相关阅读:
    总纲与计划(持续更新)
    【MyBatis】MyBatis缓存
    【MyBatis】MyBatis源码架构
    【JVM】CPU飙升问题
    【Spring boot】SpringApplication三板斧
    【MySQL】借助binlog排查一次生产问题
    【Docker】常用命令
    【Python】CentOS7安装Python3.7以及注意事项
    【高并发】乐观锁和悲观锁
    【java基础】说清楚equals和==
  • 原文地址:https://www.cnblogs.com/littlesky1124/p/9781413.html
Copyright © 2020-2023  润新知