Linux】1 Shell 1 Petikan Komputer bukan sahaja digunakan untuk membangunkan laman web atau perisian, ia juga ada dalam kami. tangan Alat tajam, alat kami. Shell ialah cara utama kita berinteraksi dengan komputer Antara muka grafik visual sebenarnya sangat terhad. Anda hanya boleh melakukan beberapa perkara melalui butang pratetap. 2. Shell Program 2.1 Kebanyakan sistem pengendalian mempunyai "shell", seperti PowerShell dalam Windows. Mungkin terdapat beberapa perbezaan di antara mereka, tetapi secara umumnya mereka serupa. Dengan memasang Git, sistem Windows juga boleh menggunakan Git Bash serupa dengan Linux. (Git bash di bawah windows kadangkala berbeza, dan sistem Linux sebenar lebih disyorkan) Anda boleh melaksanakan program dengan memasukkan nama program dalam shell Contohnya, jika terdapat program yang dipanggil tarikh, hanya enter ($ ialah Command prompt, sama seperti > dalam Windows) $ date Sat Mar 18 20:52:33 2023 boleh menghantar parameter kepada program Contohnya, kesan berjalan program echo adalah untuk mencetak parameter yang dihantar kepadanya, $ echo hello hello Selain itu, jika terdapat berbilang parameter, parameter dipisahkan dengan ruang Jika anda lulus parameter yang terdiri daripada berbilang perkataan, anda boleh menggunakan (aksara melarikan diri). , hanya echo diberikan di bawah Melepasi parameter, $ echo hello\ world hello world sistem boleh mencari program yang anda masukkan melalui Path (laluan), anda boleh melihat semua laluan dalam pembolehubah persekitaran <.>$ 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 ...(我省略了) dalam anda Apabila anda memasukkan nama program, seperti , shell akan mencari program dalam semua direktori sistem Anda boleh menyemak laluan di mana program terletak seperti ini echo $ which echo /usr/bin/echoTambahan: Berkenaan program (perintah) Untuk parameter, kami menggunakan diikuti dengan satu huruf dan - diikuti dengan perkataan. Contohnya --, -a. --all2.2 Direktori Atur cara akan dijalankan dalam direktori semasa secara lalai. Berikut ialah beberapa operasi direktori yang biasa digunakan 通过--help参数,可以查看某个命令的用法,例如$ ls --help想一想:ls -l列出的目录列表及其信息,如何解读? 为了对文件进行相应的操作,必须拥有整个路径的权限。下面是一些和文件操作有关的命令介绍。 2.3 文件 2.3.1 简单文件操作 你可以使用mv命令给文件重命名,即使它是move(移动)的意思。假设你在当前的目录下已经有个文件hello.txt,那么你可以使用命令$ mv hello.txt hello2.txt将它重命名为hello2.txt。cp命令可以复制文件,它的意思是copy (很显然),你可以接着刚才的命令使用$ cp hello2.txt hello.txt那么你的hello.txt文件又回来了!现在你有了两个相同内容的文件,却有着不一样的名字。但估计你会觉得这有些多余,但好在你可以使用命令rm删掉其中一个,就像下面这样$ rm hello2.txt好了,现在我们又回到了刚刚开始的样子,但我们刚刚的操作已经在终端留下了杂乱的信息,使用clear命令清除它们!$ clear如果你想新建文件,可以使用touch命令,比如新建一个空hello2.txt文件$ touch hello2.txt有时你会感觉命令的名字有些奇怪,为什么创建文件要是touch?其实它就像前面的mv命令,重命名仅仅对它的一种使用方式,而它能做的不止于此,它其实可以将文件移动到你计算机的任何一个地方! touch是一个时间戳命令,当操作的文件不存在时就会自动新建一个文件——而不是它本身只有新建文件的功能。当你感到疑惑时可以使用touch --help看看帮助文档。而我使用echo命令同样达到新建文件的目的$ echo '' > hello3.txt它将新建一个空文件hello3.txt 。你可能看着这些linux命令就像回到了高中背单词的时候,同一个单词有着相互略微联系的多种用法——也确实如此,单词是语言的基础。 至于刚刚命令中的>>符号,相信大家一看就懂,我们后面也将会进一步介绍。 2.3.2 重定向 你可以使用重定向来将程序的输出保存到文件中,而不是直接显示在屏幕上。这里有个流的概念,每个程序都有自己的输入流与输出流,程序从自己的输入流中读取数据,并将运行结果写入到输出流中。而程序默认从键盘输入获取数据,并将运行结果写到屏幕上,我们将键盘输入称为标准输入流,将屏幕称为标准输出流。而重定向将助你获得修改程序输入、输出方向的能力——而不总是键盘和屏幕。 echo命令将输入流中的数据传递到输出流,但我现在不想输出到屏幕,我要将输入的内容保存到文件里,那么可以使用>——重定向输出流。$ echo hello > hello.txt 想一想:为什么echo 5c5a8058c4ec53745d781e9d23512638重定向的输出流是覆盖模式,对应到文件操作中,就是先清空文件中原有的内容,然后写入新内容。如果你是想在原来的基础上添加一些内容,那么>>很适合你,它将以追加模式写入新内容。$ echo world >> hello.txt $ cat hello.txt hello world 命令 介绍 1425b567f32074e1fba21625d3c7885e 重定向输出流,以覆盖模式写入 >> 重定向输出流,以追加模式写入 2.4 管道 一个程序的输出可以保存到文件里,也可以直接传递给另一个程序。管道符号 | 的作用就是将左侧程序的输出直接传递作为右侧程序的输入。 tail命令通过-n参数,可以输出它输入中的最后n行。要仅显示ls -l /命令结果的最后两行,可以使用以下命令$ 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/tee命令可以将输入同时输出到屏幕和指定的文件中,那么加上管道你可以像下面这样$ echo linux1234 | tee hello.txt linux1234