Linux基本指令(上篇)

179 阅读6分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情

【写在前面】

这里不会把所有的指令及选项在入门阶段全部讲出来,当然也不可能全部记住。大量的实例证明一开始死记的人大多数多记不住,这里只讲一些指令的基本功能和一些重要的选项,其余的以后遇到了再实践。在讲每条指令时其中会穿插一些别的概念,其次这里会大概了解下 os 。

一、简单了解os概念及定位

❗ os 概念 ❕

  操作系统 (Operating System,简称 OS) 是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

在早期的计算机比如 “埃尼阿克” 都是跟硬件或者一堆按钮打交道,无疑成本是很高的;随着计算机的发展,操作系统给用户带来的价值是使用计算机硬件的成本降低。

❗ os 作用 ❕

  对上:给用户提供一个良好的稳定 (简单) 的操作环境

  对下:和硬件打交道,进行合理的软硬件管理

❗ os 定位 ❕ 在这里插入图片描述


在这里插入图片描述 事实上键盘的出现比鼠标要早,在有键盘没有鼠标的年代,人们都是用命令行和计算机交流

❓ 那现如今我们为啥还要逆流而上去学习命令行呢 && 命令行 VS 图形界面❔

  首先界面本质上对用户来说是一种进步的表现,因为没有界面,计算机也不可能普及;但对于学习者,命令行是一种很重要的方式,因为它更接近原生系统。其次命令行的操作效率是比图形界面要更快的,当然命令行的体验肯定不如界面,因为界面所见即所得

二、基本指令

1、ls指令

语法:ls [选项][目录或文件]

功能:对于目录,该命令列出该目录下的所有子目录与文件;对于文件,将列出文件名以及其它信息

常用选项 (选项的意思就是以核心功能为主,扩展其它功能):

▶ 空 ,显示当前目录下的文件信息     目录名 显示目录下文件信息

▶ -a ,列出目录下的所有文件,包括以 . 开头的隐藏文件

  Linux 下凡是以 . 开头的文件都是隐藏文件,其实隐藏文件就是告诉你它是隐藏文件,你不要乱搞,就像 C 语言中 const 修饰变量,仍然能通过指针修改,那它的意义何在呢

在这里插入图片描述

⚠ 注意

 1️⃣ . 是当前路径 —— cd .

 2️⃣ . . 是上级路径 —— cd ..

▶ -d ,将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录

▶ -i ,输出文件的 i 节点的索引信息。 如 ls –ai 指定文件

▶ -k ,以 k 字节的形式表示文件的大小。ls –alk 指定文件

▶ -l ,列出文件的详细信息 (ls -l 也可以替换成 ll)

在这里插入图片描述

❗ 文件类型 ❕

我们可以通过 ls -l 或 ll 查看,即用第一个字符来标识不同文件

在这里插入图片描述 - :普通文件 (文本文件、可执行文件、各种库文件) 对比 windows 来说雀实很粗暴

d :目录文件

l :链接文件,类似于 windows 下的快捷方式

在这里插入图片描述 p :管道文件,用于控制进程之间的通信

c :字符文件 (字符设备:键盘、显示器【Linux下一切皆文件】)

b :块设备 (磁盘)

💨小结

 Windows 区分文件类型用的是后缀 .exe、.docs、.html

 Linux 区分文件类型不通过后缀,通过属性列的第一个字符 (注意这里的不通过不是代表它不使用)  下图发现可以改变后缀,且不影响文件 (但最好不要做),这里也说明了 Linux 下文件的作用并不取决后缀,虽然不禁止使用,但是一般也不用

在这里插入图片描述

❓ Linux 下文件的作用并不取决后缀 ❔

这里把 T.c 文件改成 T 后,再编译

在这里插入图片描述 Linux 系统不关心后缀,并不代表编译器不关心 (gcc 是 Linux下的编译器),不要混淆了

▶ -n 用数字的 UID,GID 代替名称。(介绍 UID, GID)

在这里插入图片描述

▶ -F 在每个文件名后附上一个字符以说明该文件的类型,“*” 表示可执行的普通文件;“/” 表示目录;“@” 表示符号链接;“|” 表示 FIFOs;“=” 表示套接字(sockets)。(目录类型识别)

 比较少用,因为后面有其它方法可以看文件类型

在这里插入图片描述

▶ -r ,对目录反向排序

▶ -t ,以时间排序

▶ -s ,在文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)

▶ -R ,列出所有子目录下的文件。(递归)

▶ -1 ,一行只输出一个文件

2、pwd指令

语法:pwd

功能:显示用户当前所在的目录

常用选项:无

在这里插入图片描述

⚠ 注意

 1️⃣ root、test1、test2、test3 都是目录,类似于文件夹

 2️⃣ / 是路径分隔符 ,注意区分 windows 下是 \

 3️⃣ 第一个 / 是根目录

3、cd指令

(windows下) 左键双击 = (linux下) cd + ls Linux 系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。多叉树中非叶子节点一般是目录,叶子节点一般是文件或者是空目录。

在这里插入图片描述

语法:cd 目录名

功能:改变工作目录。将当前工作目录改变到指定的目录下

常用选项:无

❓ 绝对路径 || 相对路径 ❔

在这里插入图片描述

💨小结:

  绝对路径对应的文件一直可以找到,一般是系统或者软件的配置文件中使用

  使用简单,只限当前路径,一般是在命令行中使用

❓ 为什么通过路径能标识 (唯一) 一个文件 ❔

  一个节点可能会存在多个子节点,但是任何一个节点它只有一个父节点,所以多叉树中路径具有唯一性

❗ cd除了加目录名,还有一些别的用法 ❕

 ▶ cd . . :回到上级目录

 ▶ cd - :跳转最近操作的路径

 ▶ cd ~ :进入当前用户的家目录 (登录云后,默认所处的路径)