学linux近一个月了,经常会遇到一些感觉懂了,深究发现又不懂。感觉懂了,一动手就陷入僵局。这是一个来自小白的一些个人的分享,可能十分浅显,可能不算分享,但是分享不就是重在分享嘛!


接下来是我这近一个月自己遇到的小麻烦,小见解,和平时暂时经常用到的东西,希望大家有所收获.写的有些杂,不要介意哦!

首先是ls命令:

  这是我们初学linux时最长用到的命令,当时我的老师告诉我, ls + 通配符 或者 文件名 的时候最好是 在ls后跟上 -d 的选项,当时我就很不解,虽然知道-d 是只列出目录,但是为什么就一定要-d 呢? 为什么不加 “-d” 时也不搜索任何东西时ls 的列出就只列出文件夹的目录和文件,而一旦想列出某个想要的东西时,如果不加-d就会出现一大堆东西呢?(ps:当时实践的时候一直在/etc 目录,大家知道那个目录文件很多的) 最后经过我很多次不停的试验,我终于发现了问题所在,假设如果你想要列出 abc 这个文件夹, 当ls 不+ “-d” 时通配列出,那么ls就会自动帮你展开这个文件夹,在下面显示出改文件夹里有的所有东西,但是只展示一级,不向下递归!
   然后我总结的就是,ls不特意指定只列出文件夹时,当你通配一个字符的时候,如果匹配到的是文件夹,那么ls命令只是帮你展开这个文件夹的一级文件,并不是列出的没完没了。之所以会列出,其实就是ls的一个贴心的小功能罢了,可能只是它认为,既然你搜索这个文件,那么你肯定想查看它,干脆我就帮你列出,是不是很贴心?(PS: 我感觉我这个发现很蠢)

然后是tr命令

   这个命令说实话我没有什么发现,也没有什么见解,只是想说一些自己经常遇到的东西,然后对这个命令的一些常用的方法。    “tr” 命令,我们都知道最长干的事就是转换字符, 在我现在所学的范围内,经常用的就是 “tr -s “ 空格 ” ” 这个命令能够把连续的空格变成一个空格,或者“tr -d “参数”” 批量的去处某个字符。 而且当你需要cut 出某串数据的时候,配合tr -s 尤其的好用

然后是别名

  说实话别名这个东西我用的真的不多,它的使用方法是  *alias 新的命令='原命令 -选项/参数' * 我想说的是一些我自己对他浅显的理解。 首先这个东西我们可能用的真的不多(ps:仅对于初学者来说的),直到我学会了简单的脚本时,我才发现原来一个复杂而且多功能的自定义别名不就是一个脚本吗? 比如我们可以创建一个别名SuperTouch 并赋予它创建文件,并且把文件直接权限提升 “+x” 那么这样当我们创建一个脚本文件时, 我们就省去了事后再 chmod 修改权限的过程! 是不是轻便了很多? 当然类似的自定义别名就看大家喜好啦!

现在是关于“  ** " " ** ” 

   关于双引号,我只想说我现在还是有一点晕晕的,有时候跟反引号功能差不多,有时候又跟$ 的功能差不多,有时候还能 ( ) 的功能差不多,有时候还。。。。。 总之就是没玩没了,但是我只想说一点! 就是 双引号无论如何一段字符或者命令里都不要用到两对或者以上,因为英文的双引号不分左右有木有!!! 不分左右就是第一个引号,可以和第二个,第三个,第四个。随意对应,不出错就出鬼了!!!!

这个是关于短路或和与的

  讲真,什么与或非啊,从高中的数学我们就开始学了,其他的时候不同的语言,不同的地方,只要是跟计算机沾边,我们都逃不过与或非,这玩意不能多想,想多了你就发现又乱了,所以我把自己的一些小技巧贴出来 在linux中,当一个程序顺利执行完后会返回一个值0 失败了会返回1-255 之间的数字 与: 遇假则结果为假,二者皆真则结果为真,所以与运算,假结果居多 或: 有一个为真则结果为真, 二者皆假结果为假,所以或运算真结果居多   && 短路与 ,如果前一条命令传递的假 则后面的不要执行。 短路与多是为了求真,即 需要前面的命令传递过来真值 ps:“与更激进所以眼里只有真”

  || 短路或 ,如果前一条命令传递为真 则后面不需要执行。 短路或多是为了求假,即 需要前面的命令传递过来假值 ps:“或更宽容所以能容纳假”

这个是我自己经常犯的错误

写if 判断的时候, 要么if敲完后立刻另起一行,要么老老实实加空格,不然肯定报错!!!! 写if的时候完全可以随心所欲,并不是必须要else 和then 他俩只要出现一个就行,但是前提是你要判断好条件! 另外写完一个小嵌套后还是立刻补上 fi 最好 !

个人的一些小捷径

2>&1 把错误的结果转成正确的结果 速记方法: 看做2>1 2本就大于1 所以最终是这个命题是正确的,就记作,因为2>1 是正确的所以 2>&1 是把错误的输出转化为正确的,因为2>1是正确的.

1>&2 把正确的结果转成错误的结果 速记方法: 看做1>2 而1是小于2的 所以最终是这个命题是错误的,就记作,因为1>2 是错误的所以 1>&2 是把正确的输出转化为错误的,因为1>2是错误的.

ps: 就这样吧,也就学了不到20天,这篇博客也就是说一点自己的小见解,如果让大神看到估计会笑掉大牙,但是没关系啊!至少这个博客见证了我的成长,不是吗?