zoukankan      html  css  js  c++  java
  • NO2 pwd-touch-vim-vi-echo-重定向等命令

    ·查看网卡配置:cat/etc/sysconfig/network-scripts/ifcfg-eth0
    ·改onboot=no:sed -i's#noboot=yes#g' /etc/sysconfig/network-scripts/ifcfg-eth0
    ·不改每次开机要输入:ifup eth0
    ·SSH软件基础设置-选项-会话选项-日志文件-%S_%Y_%M_%D.txt

    ·路径等知识问答形式讲解:
    【root@oldboy ~】#
    root:当前登入用户
    @:分割
    oldboy:主机名字
     ~:波浪线表示加盟,当前工作路径
    #:管理员ROOT提示符号

    Linux系统命令操作语法的格式:
    命令空格【参数选项】空格【文件或路径】
    rm (此处至少一个空格)-f(此处至少一个空格) /etc/hosts(一个路径间不能有空格)
    【参数选项】:一个命令不同的功能
    一个命令有多个参数可直接加在第一个参数后,要加“-”


    问题一:创建一个目录/data
    ·windows路径样式有c:/data/test;Linux路径为:/data/test(只有/它是所有目录定点)
    ·英文:make directorys缩写后是mkdir,此为创建目录的命令
    ·此题答案:mkdir /data或cd /;mkdir data
    ·使用分号可以在一行内分隔2个命令,不然会报错。
    ·查看目录:ls -ld/data(ls是list列表。-ld是ls参数-长格式查看目录属性)
    ·删除目录:rm -r /data
    ·rm:是否删除 目录“/data”? 输入y表示确认删除
    ·cd /:进到根目录/下;“/”在Linux里是根的意思,所有目录的顶点。
    ·cd /;mkdir data:此处不用带/了,因为已经进入/了
    ·cd后跟相对路径或者绝对路径,表示进入目录。若不跟任何东西就会进入当前用户的家目录
    ·相对路径:不从/开始,而是从当前目录开始:data/,mnt/oldboy
    ·绝对路径:从/开始:/data/,./mnt/oldboy
    ·windows绝对路径:E:data,从头开始的路径
    ·Linux绝对路径:cat /etc/sysconfig/network-scripts/ifcfg-eth0,从根开始的路径
    ·相对路径:不从/根开始的路径,不从头开始的路径

    问题二:在/data下面建立一个文件oldboy.txt
    ·[root@oldboy etc]#touch /data/oldboy.txt (注意这里是在etc目录里,但是在根/下建)
      [root@oldboy etc]#ls /data
      oldboy.txt
      [root@oldboy etc]#cd /data
      [root@oldboy data]#touch oldboy.txt
      [root@oldboy data]#touch oldboy.txt(注意这时回到目录data下,再建已有的只会改变文件时间戳的属性,文件时间分:创建时间,访问时间等)

    ·windows创建一万个文件夹操作很繁琐
      Linux:[root@oldboy etc]#touch stu{1..10000}
                  [root@oldboy etc]#ls
                  [root@oldboy etc]#stu1,stu2...stu10000
     

    问题三:为上文的oldboy.txt增加内容为“i am studying linux.”
    ·方法一:常规编辑方法
    执行vi oldboy.txt进入vi编辑器(默认命令模式),点击a或i进入编辑模式,敲入内容“i am studying linux.”然后按键盘上的esc键退出编辑模式(此时就是进入到命令模式),按‘:’号回到最后一行,再敲:wq(write quit)保存并退出。q!  强行退出,wq!强行保存退出。

    ·方法二:单行或多行文本插入常用命令,内容都是放到文件的尾部
    [root@oldboy data]#rm -f oldboy.txt 删除之前的文件oldboy.txt(注意这里还是在data下)
    [root@oldboy data]#echo 'i am studying linux'C 这里C是按Ctrl+c,表示中止一下。
    [root@oldboy data]#ls
    没有显示有oldboy.txt文件,表示已经被删除了。
    [root@oldboy data]#echo 'i am studying linux'>oldboy.txt
    [root@oldboy data]#cat oldboy.txt
    i am studying linux
    ·如果使用了echo和>:若没有后面要写入的文件则会创建文件再写入内容;
                         若已有文件,会先清空已有内容再放入单引号里的内容。So记得备份。

    ·注意:使用echo和>是会覆盖写入内容的:
    [root@oldboy data]#echo  'i am studying linux'
    i am studying linux
    [root@oldboy data]#echo 'oldboy'>oldboy.txt
    [root@oldboy data]#cat oldboy.txt
    oldboy    
    ·使用echo和>是会覆盖写入内容的,在>后面再加一个>就会追加写入内容,这在企业里会常用:
    [root@oldboy data]#echo 'oldboy'>>oldboy.txt
    [root@oldboy data]#cat oldboy.txt
    i am studying linux
    oldboy
    oldboy

    ·echo也可以写入多行
    [root@oldboy data]#rm -f oldboy.txt
    [root@oldboy data]#echo '    1111
    >    2222
    >    3333'>>oldboy.txt
    [root@oldboy data]#cat oldboy.txt
        1111
        2222
        3333        

    ·除了echo命令可以改文件,还有cat命令可以改文件:
    [root@oldboy data]#rm -f oldboy.txt
    [root@oldboy data]#cat >oldboy.txt    (也有>和>>俩种)
    i am studying linux
    C      (这里是按Ctrl+C或Ctrl+D)
    [root@oldboy data]#cat oldboy.txt
    i am studying linux

    ·方法三:cat的多行追加(编辑命令可以现在编辑器里先写好再复制到SSH里)
    [root@oldboy data]#cat >>/data/oldboy.txt<<EOF
    >i am studying linux.
    >EOF     (前后2个EOF可换成任何成对的字母)
    [root@oldboy data]#cat oldboy.txt
    i am studying linux
    i am studying linux

    [root@oldboy data]#cat >>/data/oldboy.txt<<sinsenliu
    >i am studying linux.
    >313131
    >sinsenliu
    [root@oldboy data]#cat oldboy.txt
    i am studying linux
    i am studying linux
    i am studying linux.
    313131


    ·方法四
    [oldboy@A ~]$cat >>/data/oldboy.txt    # 编辑新文件
    echo 'i am studying linux'
    按Ctrl+C或Ctrl+D组合键俩遍结束编辑。


    ·小总结:
    mkdir    make directorys 创建目录:mkdir /data,在根/下创建data目录
    ls       list列表  列表目录文件:ls ,列根/目录下的目录和文件
             -l(long)长格式,-d(directorys)查看目录
    cd       change directory 改变目录路径:cd /etc
    pwd      print working directory 打印/显示当前所在目录
    touch    创建问价或更新文件的时间戳,如果文件不存在就建立新文件,如果在就改变文件的访问时间atime等时间戳信息。
    vi       windows记事本,简单。例子:vi oldboy.txt
    vim      复杂编辑器(功能复杂:高亮,自动缩进,shell/python脚本用。做运维要用vim,vi会出问题),老师用EmEditor,
    echo     打印输出内容,配合>或>>,即为文件覆盖或追加内容。还有一个较复杂不常用的类似命令printf。
    >        意思为重定向,会清除文件里所有以前数据。
    >>       意思为内容追加,只在文件尾部追加需要的内容。

    ·特殊符号:
    >或l>    输出重定向:把前面输出的东西输入到后面的文件中,会清楚文件原有内容。
    >>或l>>  追加重定向:吧前面输出的东西追加到后面的文件尾部,不会清除文件原有内容。
    0<或<    输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名。
    0<<或<<  追加输入重定向:后面跟字符串,用来表示“输入结束”,也可用ctrl+d来结束输入。
    2>       错误重定向:把错误信息输入到后面的文件中,会删除文件原有内容。
    2>>      错误追加重定向:把错误信息追加到后面的文件中,不会删除文件原有内容。
    说明:
    一、箭头的指向就是数据的流向。
    二、数字说明:
    1、标准输入stdin:代码为0,使用<或<<。数据流向从右向左。
    2、标准正常输出stdout:代码为1,使用>或>>。数据(正确数据)从左向右。
    3、标准错误输出stderr:代码为2,使用2>或2>>.数据(错误数据)从右向左。
    4、2>&1:标准正常输出和标准错误输出一样,1放哪2也放哪。
           
    ·Eg:<,<<:把后面的内容输入给前面命令处理,不是每个命令都能适用。
    [root@oldboy data]#echo 1 2 3 4 >oldboy.txt
    [root@oldboy data]#cat oldboy.txt
    1 2 3 4
    [root@oldboy data]#xargs -n 2 <oldboy.txt (此命令是分组的意思)
    1 2
    3 4

    ·2>,2>>:把错误报错收集在后面的文件里
    [root@oldboy data]#echo oldgirl 1>a.txt 2>b.txt
    [root@oldboy data]#cat a.txt
    old girl
    [root@oldboy data]#cat b.txt (此时b.txt无内容,因为前面命令是正确的,没有报错)
    [root@oldboy data]#cho oldgirl (打一个错误命令)
    --bash:cho:command not found (系统报错)
    [root@oldboy data]#cho oldgirl 1>a.txt 2>b.txt
    [root@oldboy data]#cat b.txt (报错内容被输入到b.txt里)
    -bash:cho:command not found
    ·还有一种更简单写的方法:echo或者cho oldgirl 1>a.txt 2>&1(表示若有错误信息,会像1一样输入进文件a.txt里。)(1>,1是可写可不写,但2要写的。)(这种是常用/推荐的方法。)
    ·第三种写法:echo或者cho oldgirl &>或者&>>a.txt (&>,&>>表示正确和错误的都放在后面的文件里,注意>和>>一个不追加一个追加。)

  • 相关阅读:
    011. Python中*args, **kwargs 和 pass 和self 解释
    010. windows10下安装kivy 1.9.1版
    013. MVC5过滤器
    制作ubuntu16.04 自动安装iso镜像 二
    Nexus安装
    使用docker-compose 大杀器来部署服务 上
    Docker-Compose入门
    nvidia-docker命令详解
    安装使用NVIDIA-Docker-- 可使用GPU的Docker容器
    frp实现内网穿透
  • 原文地址:https://www.cnblogs.com/sinsenliu/p/8884244.html
Copyright © 2011-2022 走看看