📜  基本的 Linux/Unix 命令

📅  最后修改于: 2022-05-13 01:57:34.503000             🧑  作者: Mango

基本的 Linux/Unix 命令

Unix 现在是最常用的操作系统之一,用于各种用途,例如个人使用、服务器、智能手机等等。它是 1970 年代在 AT&T 实验室由两位著名人物 Dennis M. Ritchie 和 Ken Thompson 开发的。

  • 您会惊讶地发现最流行的编程语言 C 是为了编写 Unix 操作系统而出现的。
  • Linux 是类 Unix 操作系统。
  • Linux 最重要的部分是 Linux Kernel,它由 Linus Torvalds 于 90 年代初首次发布。 有几个可用的 Linux 发行版(大多数是开源的,可以免费下载和使用),例如 Ubuntu、Debian、Fedora、Kali、 Mint、Gentoo、Arch 等等。
  • 现在来到 Linux/Unix 部分的基本和最有用的命令。 (请注意,所有的 linux/unix 命令都是在 linux 系统的终端中运行的。终端就像 Windows 操作系统中的命令提示符一样)
  • Linux/Unix 命令区分大小写,即 Hello 与 hello 不同

基本的Unix命令:

1. who '$ who' 命令显示当前登录系统的所有用户。如上图所示,我是当前登录的唯一用户。tty2 是用户正在使用的终端线路,下一个行给出当前日期和时间

$ who
Output: harssh tty2 2017-07-18 09:32 (:0)

2. pwd '$pwd'命令代表'打印工作目录',顾名思义,它显示我们当前所在的目录(目录与Windows操作系统用户的文件夹相同)。  
在输出中,我们是 harssh 目录(移动到 Linux 的 Windows 操作系统的文件夹),它存在于主目录中

$ pwd
Output: /home/harssh

3. mkdir '$ mkdir' 代表'make directory',它创建一个新目录。我们使用'$ cd'(在下面讨论)进入新创建的目录并再次给出'$ pwd'命令,我们将显示新的“newfolder”目录。



$ mkdir newfolder
$ cd newfolder
$ pwd
Output: /home/harssh/newfolder

4. rmdir : '$ rmdir' 命令删除我们想要删除的任何目录,你可以通过它的名字 'rmdir' 来记住它,它代表 'remove directory'。

$ rmdir newfolder

5. cd '$ cd' 命令代表'更改目录',它将您当前的目录更改为'newfolder' 目录。您可以通过双击一个文件夹然后在该文件夹中执行一些操作来理解这一点。

$ cd newfolder (assuming that there is a directory named 'newfolder' on your system)

6. ls 'ls' 命令只显示目录的内容。

$ ls
Output: Desktop Documents Downloads Music Pictures Public Scratch Templates Videos

7. touch : '$ touch' 命令创建一个文件(不是目录),你可以简单地在它后面添加一个扩展名,如 .txt 使其成为文本文件。

$ touch example
$ ls
Output: Desktop Documents Downloads Music Pictures Public Scratch Templates Videos example

注意:需要注意的是,根据 Unix 文件结构,Unix 将它拥有的所有东西都视为一个“文件”,甚至目录(文件夹)也被视为一个文件。您将了解更多关于这一点的信息你将进一步使用基于 Linux/Unix 的操作系统 🙂
8. cp 这个'$ cp'命令代表'copy',它只是简单地将文件复制/粘贴到任何你想要的地方。在上面的例子中,我们将一个文件'file.txt'从目录harssh复制到一个新的目录新建。

$ cp /home/harssh/file.txt /home/harssh/new/

9. mv '$ mv'命令代表'move',它只是将一个文件从一个目录移动到另一个目录。在上面的例子中,一个名为'file.txt'的文件被移动到一个新目录'new'

$ mv /home/harssh/file.txt /home/harssh/new

10. rm 用于删除的“$ rm”命令和“-r”只是递归地删除文件。在你的终端尝试 '$ rm filename.txt' 🙂

$ rm file.txt

11. chmod : '$ chmod'命令代表更改模式命令。因为Unix中有很多模式可以用来在Unix环境中操作文件。基本上有3种模式我们可以与'chmod'命令一起使用 
1. +w(代表写,它改变文件的写权限)  
2. +r(代表读取,它改变文件的读取权限)  
3. +x(一般用来使文件可执行)



$ chmod +w file.txt
$ chmod +r file.txt
$ chmod +x file.txt

12. cal '$ cal' 表示日历,它只是在屏幕上显示日历。

$ cal
Output : July 2017
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

13. file : '$ file' 命令显示文件的类型。正如我前面提到的,Linux 将所有东西都当作一个文件,因此在目录(下载)上执行命令文件时,它会显示目录作为输出

$ ls
Output: Desktop Documents Downloads Music Pictures Public Scratch Templates Videos
$ file Downloads
Output: Downloads: directory

14. sort 顾名思义,'$sort'根据ASCII规则对文件内容进行排序。

$ sort file

15. grep grep 是“全局搜索正则表达式并打印它”的首字母缩写词。“$ grep”命令完全(全局)搜索指定的输入以查找与提供的模式匹配的匹配项并显示它。  
在这个例子中,这将在文件 newsfile 中搜索单词“picture”,如果找到,包含它的行将显示在屏幕上。

$ grep picture newsfile

16. man '$ man' 命令代表'manual',它可以显示我们需要的大多数命令的内置手册。在上面的例子中,我们可以阅读'$ pwd' 命令。

$ man pwd

17. lpr : '$ lpr' 命令将文件发送到打印机进行打印。

$ lpr new.txt

18. passwd : '$ passwd' 命令只是改变用户的密码。在上面的例子中'harssh' 是用户。

$ passwd
Output: Changing password for harssh.
(current) UNIX password:

19. clear : '$ clear' 命令用于清理终端,以便您可以更准确地输入🙂

$ clear

最后,我想说,这些是 Linux 操作系统中使用的最基本,最重要的命令。即使您要推进 Unix,您也将需要它们。如果你想掌握它们,就继续练习它们。

此外,不可能涵盖所有 Unix 命令,因为它们数量太多。你可以找到更多,只要谷歌一下,你就会找到其中的大部分。另外,如果您想掌握 Unix 操作系统,请学习 Unix Shell 脚本/Bash 脚本。相信我,互联网上有很多很棒的教程。



在 Unix 终端中编译您的 C/C++ 程序

首先到达您的 .c 或 .cpp 文件所在的目录(假设其名称是 new.c 或 new.cpp)。请注意,为了编译 C,您将需要 GCC 编译器,为了编译 C++,您将需要 g++。下面我会告诉你如何安装它们。

对于 C:

$ gcc new.c -o new
$ ./new

对于 C++:

$ g++ new.cpp -o new
$ ./new

通过这种方式,您可以编译 C 和 C++ 程序。你甚至可以编译更多我将在我接下来的文章中介绍的内容。

获取 gcc, g++

对于基于 deb 的 Linux,例如 Ubuntu、Debian、Kali 等:

$ sudo apt-get install gcc
$ sudo apt-get install g++

对于基于 rpm 的 Linux,例如 Fedora、Oracle Linux 等:

$ dnf install gcc
$ dnf install g++
 OR 
$ yum install gcc
$ yum install g++