引用:Shell是Linux/Unix的一个外壳,你理解成衣服也行。它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后再把结果返回用户或应用程序。----池建强 著. “MacTalk·人生元编程 解释:Shell 是负责与Linux系统进行文字交互的接口,不同的产品平台对Shell的命名不同,但功能都大同小异,核心即为“与系统进行文字交互”。比如:Bash (Bourne Again SHell)是一种广泛应用的Shell。我们可以视为Shell是发行版Linux中的一个功能软件,负责与Linux内核交互。 Shell 的特点:- <div class="highlight" style="margin-top: 1em; margin-bottom: 1em;" helvetica="" neue",="" "pingfang="" sc",="" "microsoft="" yahei",="" "source="" han="" sans="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" sans-serif;="" font-size:="" medium;"=""><pre style="overflow-wrap: initial; background: rgb(245, 245, 245); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;"><code class="language-bash" style="background-color: inherit; border-radius: 0px; font-family: Menlo, Monaco, Consolas, " andale="" mono",="" "lucida="" console",="" "courier="" new",="" monospace;="" font-size:="" inherit;"="">name:~$</code></pre></div><p data-pid="_z2StwGF" style="margin-top: 1.4em; margin-bottom: 1.4em;" helvetica="" neue",="" "pingfang="" sc",="" "microsoft="" yahei",="" "source="" han="" sans="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" sans-serif;="" font-size:="" medium;"=""></p>
复制代码
上面是我们打开Shell后经常看到的命令提示符
name:主机名 ~:路径名 (这里是值在home) $: 表示身份不是root用户(root用户的标识为#)
2. Shell 基于空格分割命令并进行解析,执行的第一个单词代表程序,将后续的单词作为程序可以访问的参数: - <div class="highlight" style="margin-top: 1em; margin-bottom: 1em;" helvetica="" neue",="" "pingfang="" sc",="" "microsoft="" yahei",="" "source="" han="" sans="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" sans-serif;="" font-size:="" medium;"=""><pre style="overflow-wrap: initial; background: rgb(245, 245, 245); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;"><code class="language-text" style="background-color: inherit; border-radius: 0px; font-family: Menlo, Monaco, Consolas, " andale="" mono",="" "lucida="" console",="" "courier="" new",="" monospace;="" font-size:="" inherit;"="">name:~$ echo $PATH</code></pre></div><p data-pid="0nsylwDx" style="margin-top: 1.4em; margin-bottom: 1.4em;" helvetica="" neue",="" "pingfang="" sc",="" "microsoft="" yahei",="" "source="" han="" sans="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" sans-serif;="" font-size:="" medium;"=""></p>
复制代码
echo: 程序
$PATH: 参数
3. Shell 是如何找到程序并执行的? shell在基于$PATH路径搜索到的目录中寻找程序,按照顺序寻找,执行第一个找到相同名字的程序 (技巧:可以使用which程序来检查具体是用的哪一个,也可以直接指定需要执行程序的路径来执行程序)
(注意,对于echo My Photo这种是错误的,应该用反引号 \ 来标记空格!即My\ Photo! 或者用单/双引号包裹) 4. 绝对路径和相对路径: 以 / 开头的为绝对路径,其他的都是相对路径,. 表示当前目录路径,..表示上一层目录路径,当运行一个程序时,如没有指定运行路径,则会在当前目录中运行。
5. 命令标记: 大多数命令接受标记和选项(带值标记),以 -开头
-l 指使用长格式打印
6. 文件格式解析 (重要!!): - <code class="language-text" style="background-color: inherit; border-radius: 0px; font-family: Menlo, Monaco, Consolas, " andale="" mono",="" "lucida="" console",="" "courier="" new",="" monospace;="" font-size:="" inherit;"="">name:~$ ls -l /home #显示在home目录下的文件信息
- drwxr-xr-x 1 name users</code>引用:Shell是Linux/Unix的一个外壳,你理解成衣服也行。它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后再把结果返回用户或应用程序。----池建强 著. “MacTalk·人生元编程
复制代码
解释:Shell 是负责与Linux系统进行文字交互的接口,不同的产品平台对Shell的命名不同,但功能都大同小异,核心即为“与系统进行文字交互”。比如:Bash (Bourne Again SHell)是一种广泛应用的Shell。我们可以视为Shell是发行版Linux中的一个功能软件,负责与Linux内核交互。 Shell 的特点:- [/ discuz_code_4 ][/ discuz_code_3 ][/ discuz_code_2 ][/ discuz_code_1 ][/ discuz_code_0 ][/*][/*]
试读已结束,请付费阅读全文。 ¥ 3.00 付费阅读   本文只能试读34%,付费后可阅读全文。  |