linux常用命令

  1、mkdir       make directorys 创建目录   例子:mkdir /data;cd /;mkdir data   在根/下创建data目录   -p递归创建目录

  2、ls              list(列表)    列表目录文件   例子:ls /    列根/目录下目录和文件    ls  是当前文件下面的目录和文件

                        参数:-l  (long)长格式                        -d(directorys)查看目录

  3、cd           change directory  改变目录路径(切换目录)   例子:cd /etc  切换到根目录下的etc目录

  4、pwd        print work directory 打印工作目录(显示当前所在路径)。

  5、touch      创建文件或更新文件的时间戳,如果文件处在,则只更新文件的时间戳;如果文件不存在,则重新创建文件。

  6、echo       打印输出内容,配合“>或>>”可以为文件覆盖及追加内容,“>”意思为重定向,会清楚文件里所有以前的数据,“>>”为内容追加,只在文件尾部追加需要的内容,还有一个较复杂不常用的类似命令printf。

  vi:相当于windows的记事本,比较简单,vi加上文件名(filename)编辑文件。例子:vi oldboy.txt

  vim:跟vi差不多,比vi复杂, 比较复杂的编辑器。如果做运维,比如学会使用编辑器。文本编辑器:emeditor:复杂编辑器:功能复杂,高亮,自动缩进等

 

  相对路径和绝对路径:

  Windows绝对路径:

  E:\alex\sb  ,从头(盘符)开始的路径; 

  linux绝对路径:cat /etc/sysconfig/network-scripts/ifcfg-eth0,从跟/开始的路径。

  相对路径:不从根开始,不从头(/跟)开始的路径。相对路径是相对于当前文件的路径来说的。

  特殊符号

  >或1>               输出重定向:把前面输出的东西输入到后面的文件中,会清楚文件原有的内容。

  >>或1>>          追加重定向:把前面输出的东西追加到后面的文件尾部,不会清楚文件原有内容。

  0<或<               输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名。

  0<<或<<           追加输入重定向:后跟字符串,用来表示“输入结束”,也可用ctrl + d来结束输入。

  2>       错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容。

  2>>                    最佳错误重定向:把错误的信息追加到后边的文件中,不会删除文件原有内容。

  说明:

  1、箭头的指向就是数据的流向。

  2、数字说明:

  1.标准输入(stdin):              代码为0,使用<或<<。数据流向从右向左。

  2.标准输出(stdout):            代码为1,使用>或>>。数据流向从左向右。朝着箭头的方向流动。

  3.标准错误输出(stderr):     代码为2,使用2>或2>>。数据(错误的数据)流向从左向右。

  4.2&1标准正常输出和标准错误输出一样,相当于跟屁虫,1放到哪里,2就放到哪

  echo "oldboy" >a.txt 2>&1

  echo "oldboy" 1>a.txt 2>a.txt

  echo "oldboy" >a.txt 2>&1

  echo "oldboy" &>a.txt    &代表正确的和错误的都放入一个文件中

root@zhu-K53SJ:/data# xargs -n 2 <oldboy.txt     #<表示数据的流向
1 2
3 4

  标准错误输出,如下:

root@zhu-K53SJ:/data# echo "I am studying linux" 1>oldboy.txt 2>alexsb
root@zhu-K53SJ:/data# cat oldboy.txt
I am studying linux
root@zhu-K53SJ:/data# cat alexsb
root@zhu-K53SJ:/data# cho "标准错误输出" 1>oldboy.txt 2>alexsb    #正确的流向oldboy.txt文件,错误的流向alexsb文件
root@zhu-K53SJ:/data# cat alexsb                               #命令有误,可以看出,流向了alexsb文件。
未找到 'cho' 命令,您要输入的是否是:
 命令 'cdo' 来自于包 'cdo' (universe)
 命令 'co' 来自于包 'rcs' (universe)
 命令 'cht' 来自于包 'chemtool' (universe)
 命令 'who' 来自于包 'coreutils' (main)
 命令 'echo' 来自于包 'coreutils' (main)
cho:未找到命令

  工作中,正确的错误的都放入一个文件,echo "正确的错误的都放入一个文件" 1>oldboy.txt 2>oldboy.txt,标准正确和错误输出。

  echo function > a.txt 2>&1   把正确输出和错误输出都放入同一个文件(推荐常用方法)

  echo function 2&1>a.txt     把正确输出或错误输出都放入一个文件

  注意:..是退回上一级目录,一个点"."代表当前目录。.. 上一级目录   . 当前目录

  grep           Linux三剑客老三,五星级命令  过滤需要的内容,如果用-v表示排除内容,排除之外的内容。例子:grep -v oldboy test.txt排除文件中的oldboy

  head          头,头部     读取文件的前n行,head -n filename  读取文件的前几行  head -n 2 filename,默认没有参数读取前10行

  tail            尾部     输出文件的后n行,默认后10行,head -n 数字 filename    习惯忽略-n,直接tail -2 filename

  alias          查看别名,直接输入alias   设置别名 alias rm='echo this command does not allow to use.'

      alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'    #网卡的地址,以后输入net就能直接查看网卡的配置信息,里面加命令

   seq           sequence序列,接数字,从哪里到哪里  seq 1 2 10  代表从1到10,间隔是2,第一个参数是开始,第二个是间隔,第三个参数是结尾

   sed          stream  editor   流编辑器,实现对文件的增删改查替换。老二

        s常说的查找并替换,用一个字符串替换成另一个。

        s与g联合使用时,表示对当前行全局匹配替换

        sed -n '20,30'p ett.txt   -n取消默认打印,默认是全部打印,使之按照要求打印,p是打印,p用来打印; 参数 -n  取消 默认输出  p打印的意思。

        sed 's###g' filename    口诀:sed 一对 sg(s表示替换,g表示全局替换,所有内容都要替换) 三井 一文件,例子如下:

root@zhu-K53SJ:/data# sed 's#oldboy#gongli#g' oldboy.txt    #sed替换文件内容,默认没有参数,只修改输出,没有修改源文件里面的内容
gongli oldgirl
gongli
alexsb
gengchagnxue
gongli
root@zhu-K53SJ:/data# cat oldboy.txt
oldboy oldgirl
oldboy
alexsb
gengchagnxue
oldboy

root@zhu-K53SJ:/data# sed -i 's#oldboy#gonglijiejie#g' oldboy.txt    #sed加参数-i修改源文件
root@zhu-K53SJ:/data# cat oldboy.txt
gonglijiejie oldgirl
gonglijiejie
alexsb
gengchagnxue
gonglijiejie

 

  awk          三剑客的老大,过滤,输出内容,awk一门语言,自称体系;NR代表行号,&&(且)

root@zhu-K53SJ:/# alias rm='echo this command does not allow to use.'     #给危险属性设置别名,禁止别人使用,rm=“一段指令”,执行rm的时候执行什么命令,这里执行打印的命令
root@zhu-K53SJ:/# rm
this command does not allow to use.

  unalias rm 取消别名

  定义别名永久生效:

  /etc/profile  全局生效

  ~/.bashrc     当前用户生效 

posted @ 2017-10-12 23:36  love_linux  阅读(367)  评论(0)    收藏  举报