昨天在用curl发送简单的HTTP请求做測试的时候发现自己每次使用的时候都是在网络上查看别人的演示样例才干想起来怎么用,这样效率太低了。尽管有网络依旧在,可是总感觉不是被自己掌握着,心里不踏实,回忆起来自己使用Linux也差点儿相同有三四年了。从最開始接触就是用一本Linux基础教程的书籍(不是鸟哥的书)。開始接触的就是linux的各种各样的命令一些关于简单的shell编程的知识。可是当时只掌握了一些经常使用的命令。对于大多数的命令还是在使用的时候遇到再翻资料查看,可能处于对英文文档的畏惧或是感到乏味。通过man命令查看的过程中总是不可以所有掌握一个命令的使用。而不过该命令的某一个參数,以后都这样使用。事实上可能还存在第二种更简单有效的方案,而自己全然不知道。
鉴于以上的问题。我认为还是有必要静下心来好好的学习一下常常使用到的linux命令,这样以后自己说出“熟悉Linux操作系统”(当然这句话不是只掌握一些命令就能够了)的时候心里更有底气了。另外也让自己能把一些碎片时间收集起来。坚持做一件事情。锻炼一下自己对一件事情的坚持,这点是曾经自己最欠缺的。
Linux命令有上百个,我们经常使用的也就那几十个。首先就从这几十个開始吧,主要參考man命令的描写叙述,这样顺便能锻炼一下自己的英文文档的阅读能力,每一个命令尽可能的通过实例配合讲述每一个參数的使用以及组合的使用。当然可能有一些命令会很复杂。须要一段时间的学习才干真正的吃透,只是如今时间还算充足。收集一下碎片时间,仅仅要自己可以坚持。肯定可以战胜的。
Linux命令一般保存在/usr/local/sbin,/usr/local/bin,/usr/sbin,/usr/bin,/sbin,/bin这些文件夹下,我们一般使用的时候并不须要输入命令的绝对路径。而只输入命令名就能够了,这是由于在shell中(经经常使用的bash)会依据依据环境变量PATH的配置。在全部PATH下的文件夹中查找是否存在输入的命令,假设存在则使用该文件,假设不存在则报错:-bash:
ls: 没有那个文件或文件夹,我们能够通过which命令后面跟着bash的命令查看命令的运行文件详细存放在那个文件夹下,比如which ls输出/bin/ls。
事实上每个命令仅仅是一个linux的可运行文件,这个可运行文件能够是二进制文件、脚本文件等,当我们运行它们的时候和运行一些我们编译连接完毕之后的程序一样的,对于脚本文件我们能够通过查看该文件内容的方式查看详细运行过程,而二进制文件通常是ELF格式的二进制文件,类似于C语言写出来的程序编译连接生成的可运行文件。能够通过strace命令跟踪一个命令运行过程中使用的系统调用,在分析问题的时候这是一个非常棒的方法。当我们启动运行一个命令的时候,事实上我们是处于另外一个进程的上下文中,这个进程就是我们使用的bash进程,它始终在等待着用户的输入。然后依据输入的命令行的第一个參数从PATH(假设仅仅是一个參数名会从PATH中查找,假设包括绝对路径或者相对路径则依据当前路径查找)中查找该文件,假设找到之后再启动一个新进程(exec系统调用)。这个子进程运行命令,而bash进程则依据是否该命令的是否以后台进程运行决定是否等待子进程运行完毕。
好了,经过以上的介绍算是拉开综合研究Linux前奏命令,然后仔细研究每一个命令,坚持。
版权声明:本文博主原创文章,博客,未经同意不得转载。