Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > Was sind die allgemeinen Vorgänge der Linux-Shell?

Was sind die allgemeinen Vorgänge der Linux-Shell?

WBOY
Freigeben: 2023-05-30 21:05:24
nach vorne
1449 Leute haben es durchsucht
<ul class="first_class_ul list-paddingleft-2"><ul class="second_class_ul list-paddingleft-2"></ul></ul> <h3>Linux】1 Shell</h3> <h4>1. Zitate</h4> <p>Computer werden nicht nur zur Entwicklung von Websites oder Software verwendet, sie sind auch Werkzeuge in unseren Händen, unsere Werkzeuge. <br>Shell ist die Hauptmethode, mit der wir mit Computern interagieren. Die visuelle grafische Oberfläche ist tatsächlich sehr eingeschränkt. Einige Dinge können nur über voreingestellte Schaltflächen ausgeführt werden. </p> <h4>2. Shell</h4> <h5>2.1 Programm</h5> <p>Die meisten Betriebssysteme verfügen über eine „Shell“, wie zum Beispiel PowerShell in Windows. Es kann einige Unterschiede zwischen ihnen geben, aber im Allgemeinen sind sie ähnlich. Durch die Installation von Git können auch Windows-Systeme Git Bash ähnlich wie Linux nutzen. (Git-Bash unter Windows ist manchmal anders, und ein echtes Linux-System ist eher zu empfehlen) </p> <p>Sie können das Programm ausführen, indem Sie den Programmnamen in die Shell eingeben. Wenn es beispielsweise ein Programm namens date gibt, geben Sie einfach ($ is die Eingabeaufforderung, genau wie >) in Windows, </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ date Sat Mar 18 20:52:33 2023</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p> kann Parameter an das Programm übergeben. Der laufende Effekt des Programms <code>echo</code> besteht beispielsweise darin, die an es übergebenen Parameter auszudrucken, <code>echo</code>的运行效果就是把传递给它的参数打印出来,</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ echo hello hello</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>此外,如果有多个参数,参数之间是使用<strong>空格</strong>分开的,如果传多单词组成的参数,可以使用<code></code>(转义字符),例如下面其实只给<code>echo</code>传了一个参数,</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ echo hello\ world hello world</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>系统可以找到你输入的程序,是通过 <strong>Path</strong>(路径),可以查看环境变量中的所有路径</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ echo $PATH /c/Users/ThinkPad/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/ThinkPad/bin:/c/Program Files/Common ...(我省略了)</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>在你输入一个程序名,比如<code>echo</code>时,shell就会在系统的所有路径的目录中搜索该程序,你可以这样查看一个程序所在的路径</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ which echo /usr/bin/echo</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>补充:关于程序(命令)的参数,我们使用<code>-</code>后面接单个字母,使用<code>--</code>后面接单词。例如<code>-a</code>,<code>--all</code>。</p><h4>2.2 目录</h4><p>程序默认会在当前目录下运行。下面是一些常用的目录操作</p><table><tbody><tr class="firstRow"><th>命令</th><th>介绍</th></tr><tr><td><code>pwd</code>(print work directory)</td><td>打印当前目录路径</td></tr><tr><td><code>ls</code></td><td>列出当前目录下的文件,使用<code>-l</code>参数将显示更多详细信息</td></tr><tr><td><code>cd</code></td><td>切换目录到指定目录,使用<code>cd -</code>可回到刚才所在的目录,方便在两个目录间切换。<code>.</code>表示当前目录,<code>..</code>表示父目录,<code>~</code>表示用户目录,<code>/</code><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ ls --help</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div> </td>Wenn mehrere Parameter vorhanden sind, werden die Parameter außerdem durch <strong>Leerzeichen</strong> getrennt. Wenn Sie Parameter übergeben, die aus mehreren Wörtern bestehen, können Sie beispielsweise <code></code> (Escape-Zeichen) verwenden , das Folgende gibt eigentlich nur <code>echo< /code> einen Parameter weiter: </tr><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ mv hello.txt hello2.txt</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div></tbody>Das System kann das von Ihnen eingegebene Programm über <strong>Pfad</strong> (Pfad) finden, Sie können alle Pfade in der Umgebung anzeigen Variablen</table><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ cp hello2.txt hello.txt</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div>🎜Wenn Sie einen Programmnamen eingeben, zum Beispiel bei <code>echo</code>, sucht die Shell in den Verzeichnissen aller Pfade im System. Sie können den Pfad überprüfen, in dem sich ein Programm befindet befindet sich wie folgt🎜<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ rm hello2.txt</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div>🎜Zusätzlich: Bezüglich der Parameter des Programms (Befehls) verwenden wir <code>-</code> gefolgt von einem einzelnen Buchstaben und <code>--</code> gefolgt von einem Wort. Zum Beispiel <code>-a</code>, <code>--all</code>. 🎜🎜2.2 Verzeichnis🎜🎜Das Programm wird standardmäßig im aktuellen Verzeichnis ausgeführt. Im Folgenden sind einige häufig verwendete Verzeichnisoperationen aufgeführt🎜<table><tbody><tr class="firstRow"><th>Befehl</th><th>Einführung</th>🎜<tr><td><code>pwd < /code>(Arbeitsverzeichnis drucken)🎜<td>Den aktuellen Verzeichnispfad drucken🎜🎜<tr><td><code>ls</code>🎜<td>Listen Sie die Dateien im aktuellen Verzeichnis auf, verwenden Sie <code> -l </code>Der Parameter zeigt detailliertere Informationen an🎜🎜<tr><td><code>cd</code>🎜<td>Wechseln Sie zum angegebenen Verzeichnis und verwenden Sie <code>cd -</code> zurück Das Verzeichnis, in dem Sie sich gerade befanden, erleichtert das Wechseln zwischen den beiden Verzeichnissen. <code>.</code> stellt das aktuelle Verzeichnis dar, <code>..</code> stellt das übergeordnete Verzeichnis dar, <code>~</code> stellt das Benutzerverzeichnis dar und der Anfang von <code>/</ code> stellt das Stammverzeichnis dar. 🎜🎜🎜🎜<p>通过<code>--help</code>参数,可以查看某个命令的用法,例如</p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ ls --help</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div><blockquote><p><strong>想一想</strong>:ls -l列出的目录列表及其信息,如何解读?</p></blockquote><p>为了对文件进行相应的操作,必须拥有整个路径的权限。下面是一些和文件操作有关的命令介绍。</p><h4>2.3 文件</h4><h5>2.3.1 简单文件操作</h5><p>你可以使用<code>mv</code>命令给文件重命名,即使它是<strong>move</strong>(移动)的意思。假设你在当前的目录下已经有个文件<strong>hello.txt</strong>,那么你可以使用命令</p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ mv hello.txt hello2.txt</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div><p>将它重命名为<strong>hello2.txt</strong>。<code>cp</code>命令可以复制文件,它的意思是<strong>copy</strong> (很显然),你可以接着刚才的命令使用</p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ cp hello2.txt hello.txt</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div><p>那么你的<strong>hello.txt</strong>文件又回来了!现在你有了两个相同内容的文件,却有着不一样的名字。但估计你会觉得这有些多余,但好在你可以使用命令<code>rm</code>删掉其中一个,就像下面这样</p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ rm hello2.txt</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div><p>好了,现在我们又回到了刚刚开始的样子,但我们刚刚的操作已经在终端留下了杂乱的信息,使用<code>clear</code>命令清除它们!</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ clear</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>如果你想新建文件,可以使用<code>touch</code>命令,比如新建一个空<strong>hello2.txt</strong>文件</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ touch hello2.txt</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>有时你会感觉命令的名字有些奇怪,为什么创建文件要是touch?其实它就像前面的mv命令,重命名仅仅对它的一种使用方式,而它能做的不止于此,它其实可以将文件移动到你计算机的任何一个地方!</p><p>touch是一个时间戳命令,当操作的文件不存在时就会自动新建一个文件——而不是它本身只有新建文件的功能。当你感到疑惑时可以使用touch --help看看帮助文档。而我使用echo命令同样达到新建文件的目的</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ echo &#39;&#39; > hello3.txt</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>它将新建一个空文件<strong>hello3.txt</strong> 。你可能看着这些linux命令就像回到了高中背单词的时候,同一个单词有着相互略微联系的多种用法——也确实如此,单词是语言的基础。</p><p>至于刚刚命令中的<code>>></code>符号,相信大家一看就懂,我们后面也将会进一步介绍。</p><h5>2.3.2 重定向</h5><p>你可以使用重定向来将程序的输出保存到文件中,而不是直接显示在屏幕上。这里有个流的概念,每个程序都有自己的输入流与输出流,程序从自己的输入流中读取数据,并将运行结果写入到输出流中。而程序默认从键盘输入获取数据,并将运行结果写到屏幕上,我们将键盘输入称为标准输入流,将屏幕称为标准输出流。而重定向将助你获得修改程序输入、输出方向的能力——而不总是键盘和屏幕。</p><p><code>echo</code>命令将输入流中的数据传递到输出流,但我现在不想输出到屏幕,我要将输入的内容保存到文件里,那么可以使用<code>></code>——重定向输出流。</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ echo hello > hello.txt</pre><div class="contentsignin">Nach dem Login kopieren</div></div><blockquote><p><strong>想一想</strong>:为什么<code>echo < hello.txt</code>输出为空?</p></blockquote><p>类似地可以使用<code><</code>重定向输入流。<code>cat</code>命令可以将文件输入显示到屏幕,如</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ cat hello.txt hello</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>现在我们通过重定向,可以将<strong>hello.txt</strong>文件的内容复制到另一个文件<strong>hello2.txt</strong>中</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ cat < hello.txt > hello2.txt $ cat hello2.txt hello</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p><code>cat</code>程序从<strong>hello.txt</strong>中获得输入,并将输出写入了<strong>hello2.txt</strong>中——而不是屏幕上。</p><p><code>></code>重定向的输出流是<strong>覆盖模式</strong>,对应到文件操作中,就是先清空文件中原有的内容,然后写入新内容。如果你是想在原来的基础上添加一些内容,那么<code>>></code>很适合你,它将以<strong>追加模式</strong>写入新内容。</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ echo world >> hello.txt $ cat hello.txt hello world</pre><div class="contentsignin">Nach dem Login kopieren</div></div><table><tbody><tr class="firstRow"><th>命令</th><th>介绍</th></tr><tr><td><code><</code></td><td>重定向输入流</td></tr><tr><td><code>></code></td><td>重定向输出流,以覆盖模式写入</td></tr><tr><td><code>>></code></td><td>重定向输出流,以追加模式写入</td></tr></tbody></table><h4>2.4 管道</h4><p>一个程序的输出可以保存到文件里,也可以直接传递给另一个程序。管道符号 | 的作用就是将左侧程序的输出直接传递作为右侧程序的输入。</p><p>tail命令通过-n参数,可以输出它输入中的最后n行。要仅显示ls -l /命令结果的最后两行,可以使用以下命令</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ ls -l / | tail -n 2 -rw-r--r-- 1 ThinkPad 197121 24183 Nov 28 12:20 unins000.msg drwxr-xr-x 1 ThinkPad 197121 0 Nov 28 12:20 usr/</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p><code>tee</code>命令可以将输入同时输出到屏幕和指定的文件中,那么加上管道你可以像下面这样</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">$ echo linux1234 | tee hello.txt linux1234</pre><div class="contentsignin">Nach dem Login kopieren</div></div>

Das obige ist der detaillierte Inhalt vonWas sind die allgemeinen Vorgänge der Linux-Shell?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage