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 (&>,&>>表示正确和错误的都放在后面的文件里,注意>和>>一个不追加一个追加。)

 

posted @ 2018-04-19 16:46  Sinsen柳  阅读(403)  评论(0编辑  收藏  举报