首先我要说一下, linux中并没有findso和finda命令, 这是我自己定制的, 如下:
alias findso='find -depth -type f -iname "*.so" | xargs strings -f | grep --color -nE -ir'
alias finda='find -depth -type f -iname "*.a" | xargs strings -f | grep --color -nE -ir'
对于搞linux开发的人来说, 几乎是必须要把这两条命令用起来, 我把这两条放在~/.bashrc中。 看看吧, alias是重要的别名命令, find很常见, xargs你不能不会, strings命令我已经强调过三次(其实, 我还想再强调一遍的), grep也很常见。 我们把这些命令组装起来, 形成更强大的命令。 linux就是这样, 所想即所得。 当然, 我还用alias定制过很多其他命令。
再看linux的shell脚本, 无非就是多个命令的组装, 带有编程的特点, 你想什么, 就做什么, 然后得到什么, 这一些都体现着所想即所得。
在linux中, 我们可以对cli进行简单组装, 包括直接组装(比如findso)和间接组装(比如shell脚本), 我们也可以对api进行组装, 这实际上就是在编程。 所以, 无论是cli还是api, 我们都可以愉快地做我们要做事的事情, 想怎么样就怎么样, 然后得到我们想的-------所想即所得。
反观Windows, 虽然也提供简单的cmd命令行和batch操作, 但相对较low, 功能也有限, 使用Windows软件的时候, 呈现给我们的是gui, 那个按钮就定在那个地方, 里面的逻辑已经被固化了, 我们看到什么就是什么, 然后就得到什么。 当然, Windows也是提供api操作的, 作为程序员, 我们也可以做自己要做的东西。 更多地, Window给我的感觉就是所见即所得, 你看见什么, 你就得到了什么。
打个简单的彼方, 现在有很多砖、石头、水泥、木材等盖房子所需的东西, linux给你提供的就是这些最原始的东西, 你可以用这些东西构建你自己喜爱的房子, 你可以随意DIY, 任意组装, 只要你喜欢。 你所想的, 就能实现, 你所想的, 就能变成你所得的。 所想即所得, 很主动。 linux的强大, 不是没有道理的。
而Window更像一栋盖好了的房子, 房子很精美, 住起来也很舒服, 你不需要太操心哪里是怎么盖的, 会用即可, 会住即可, 也挺爽的。 不足之处在于, 这个房间已经成型, 不太容易定制了。 你所见到的, 就是所得到的。 所见即所得, 有点被动。 Windows的普及, 也不是没有道理的。
OK, 不多啰嗦了, 近似来讲, 就是这么个道理。 至于你喜欢哪个, 那取决于你。 我只能说, 各有优点和缺点。