【Linux】从零开始学习Linux基本指令(一)

🚩纸上得来终觉浅, 绝知此事要躬行。

🌟主页:June-Frost

🚀专栏:Linux入门

🔥该文章主要了解Linux操作系统下的基本指令。

目录:

  • ⌛️指令的理解
  • ⏳目录和文件的理解
  • ⏳一些常见指令
    • [✉️ 查看账户信息](#✉️ 查看账户信息)
    • [✉️ pwd 指令](#✉️ pwd 指令)
    • [✉️ ls 指令](#✉️ ls 指令)
    • [✉️ cd 指令](#✉️ cd 指令)
    • [✉️ tree 指令](#✉️ tree 指令)
    • [✉️ touch 指令](#✉️ touch 指令)
    • [✉️ stat 指令](#✉️ stat 指令)
    • [✉️ mkdir指令](#✉️ mkdir指令)
    • [✉️ rmdir指令 && rm 指令](#✉️ rmdir指令 && rm 指令)
  • [❤️ 结语](#❤️ 结语)

⌛️指令的理解

在计算机发展过程中,先出现的是指令,后来才有了图形化界面。指令操作和图形化界面操作在本质上是相同的,都是用户与操作系统交互的方式。它们都是为了实现特定的计算机任务而设计的,但是它们在表现形式和使用方式上有所不同:

  • 指令操作是一种基于文本的交互方式,用户通过输入命令来与操作系统进行交互。每个命令都有明确的语法和参数,系统根据用户输入的命令进行相应的操作。这种操作方式通常需要用户具有一定的计算机基础知识,能够理解命令的含义和操作方式。

  • 图形化界面是一种基于图形和图标的人机交互方式,用户通过鼠标点击、拖拽、选择等操作来与操作系统进行交互。这种操作方式通常需要用户通过直观的视觉感知来操作,不需要理解命令的含义和语法。

图形化界面对于初学者或者不熟悉命令行的人来说较为友好,提供了直观易用的操作方式,例如通过鼠标点击、图标和菜单进行系统操作。但是,在某些情况下,由于技术、硬件设备或者用户体验等方面的原因,指令操作可能会比图形化界面操作更加快速、精确或者高效。


⏳目录和文件的理解

  • 文件:

    文件分为文件属性和文件内容。 文件属性指的是文件的元数据,即文件的一些描述信息,如文件的创建时间、修改时间、文件大小、文件类型等。文件内容指的是文件的数据,即文件中所包含的信息,如文本、图像、音频、视频等。无论是文件属性还是文件内容,它们都是二进制数据,都会被计算机存储。而且我们通过代码或指令进行的文件操作的本质是:对文件内容做操作或对文件属性做操作。

  • 目录

    Linux的整体目录结构是一颗多叉树 。在Linux系统中,目录也被视为文件,它们以树形结构被组织在一起。**根目录(/)**是整个文件系统的起点,所有的目录和文件都从根目录开始。每个目录都包含一个或多个子目录,子目录可以是其他文件或文件夹,也可以是程序或脚本。

    Linux树状结构的每个目录节点都包含了对应的权限和所有者等信息。通过这种树状结构,用户可以轻松地浏览、查找和管理系统中的文件和目录。

    同时,Linux文件系统的树状结构也使得系统管理员可以更方便地进行系统管理和维护。例如,可以通过在根目录下创建新的目录来组织和管理不同类型的文件和程序,也可以通过修改目录的权限和所有者来控制用户对文件的访问权限。

    对于叶子节点,一定是普通文件或者空目录。对于非叶子节点,一定是目录。对文件的访问,必须先进行对节点的查找来找到对应的文件。


⏳一些常见指令

✉️ 查看账户信息

  • 语法 :whoami
    功能: 查看当前账号身份。

  • 语法 :who
    功能: 查看当前登录系统的用户信息

✉️ pwd 指令

  • 语法 :pwd
    功能:显示当前所处的工作目录。

✉️ ls 指令

  • 语法 :ls [选项][目录或文件]
    功能:显示文件的属性列表。

ls的裸指令可以打印所有当前目录下的文件名属性

📗ls指令有很多选项,例如:

ls -l 可以列出文件的详细信息,包括文件类型、权限、所有者、组、大小、创建时间、名称等详细信息。

ls -l 也可以直接用 ll 表示。

ls -a 列出目录下的所有文件,包括以 . 开头的隐藏文件。ls -a 会将文件名列出,如果搭配上 -l 就会列出详细信息。

注意: 指令ls -l -a 可以写成 ls -a -lls -alls -la
- d将目录像文件一样显示,而不是显示其下的文件。

一些其它选项:

  • -i 输出文件的 i 节点的索引信息。
  • -k 以 k 字节的形式表示文件的大小。
  • -n 用数字的 UID,GID 代替名称。
  • -F 在每个文件名后附上一个字符以说明该文件的类型, "*"表示可执行的普通文件; "/"表示目录; "@"表示符号链接; "|"表示FIFOs; "="表示套接字(sockets)。
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -s 在文件名后输出该文件的大小。
  • -R 列出所有子目录下的文件。
  • -1 一行只输出一个文件。

✉️ cd 指令

语法 :cd 目录名 (绝对路径或相对路径)
功能:实现路径切换,改变工作目录。将当前工作目录改变到指定的目录下。

🔭 路径:

在Linux中,"路径"是指文件或目录在目录结构中的位置。路径是由以"/"为路径分隔符多个目录名 组成的,它表示从根目录(/)开始到达某个文件或子目录的线路。例如:/root/node

由于Linux的整体目录结构是一颗多叉树,子节点只有唯一一个父节点,所以文件或目录的搜索路径具有唯一性。

前文中我们提到了两个隐藏文件:. 和 ... ,他们分别表示当前路径和上级路径。

cd 的作用就是实现路径切换,所以可以很好的利用 . 和 ... 文件 。

因为.和...文件在每个目录中都存在,所以根据路径写法的不同,可以将路径分为绝对路径和相对路径 。绝对路径是指从根目录(/)开始 表示系统中某个文件或目录的位置的方式。绝对路径在配置文件中常用,在系统当中,无论在什么位置都可以唯一定位一个文件 。相对路径是以当前目录为参考起点 ,表示系统中某个文件或目录在目录结构中的位置的方式。在命令行场景经常用到。

⭐️一些其它的操作:

  • cd - 跳转回最近一次所处的目录。

  • cd ~ 进入用户家目录

    🔭在Linux系统中,家目录是每个用户的宿主目录,也是用户数据的存储位置。每个用户都有自己的家目录,通常在"/home"目录下,而root用户的家目录位于"/root"下。这些家目录是Linux系统中非常重要的部分,通常包含用户的配置文件、环境变量、命令信息和其它个人文件。当用户登录系统时,所处的位置就是自己的家目录。在家目录中,用户可以创建、修改和删除自己的文件和目录,也可以修改自己的环境变量和配置文件。

✉️ tree 指令

  • 语法 :tree [选项] [目录]
    功能:以树状图列出目录的内容,包括文件和子目录等。

目录是需要显示目录结构的路径。如果未指定目录,则将默认使用当前目录

📗一些常用选项:

  • -a 显示所有文件和目录,包括以.开头的隐藏文件。
  • -d 只显示目录,而不显示文件。
  • -L level 限制显示的层级深度,替换level为一个整数。
  • -I pattern 通过指定一个模式来过滤不想显示的文件或目录。
  • -f 输出完整的路径名称。
  • -i 不以 ASCII 图形显示树状结构,使用简单的一致的缩进格式。

✉️ touch 指令

  • 语法 :touch [选项] <文件名>
    功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

也可以通过touch n1 n2 n3连续创建文件。

📗一些常用选项:

  • -a 或--time=atime或--time=access或--time=use 只更改存取时间。
  • -c 或--no-create 不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m 或--time=mtime或--time=modify 只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间。

✉️ stat 指令

  • 语法 :stat [选项] 文件名
    功能 :显示指定文件或文件系统的文件状态信息。

Access,Modify,Change是文件系统针对文件操作的三种不同类型的时间记录

📗Access指的是最后一次读取文件的时间,也就是文件被访问的时间。在终端上用cat、more 、less、grep、sed、 cp 、file一个文件时,此文件的Access的时间记录都会被更新(空文件例外),纯粹的access并不会影响modify和change,但会受到modify行为的影响。

📘 Modify指的是最后一次修改数据的时间,通常是指文件内容的修改,即文件的写操作。例如,当更改了一个文件的内容时,此文件的modify的时间记录会被更新。用ls -l看到的文件时间是最近一次modify的时间。对于目录也是如此。

📙 Change指的是最后一次修改元数据的时间,也就是用来描述数据的数据,更通俗的说就是数据的属性。元数据并不改变文件的内容,而是文件的属性,例如文件的权限、所有者、时间戳等信息。

📗一些常用选项:

  • -c 指定输出格式。
  • -f 显示文件系统状态而非文件状态。
  • -t 以简洁方式输出信息。

✉️ mkdir指令

语法 :mkdir [选项] 目录名
功能:在当前目录下创建目录。


📗一些常用选项:

  • -p 递归建立多个目录

✉️ rmdir指令 && rm 指令

  • 语法 :rmdir [选项] 目录
    功能 :删除空目录
    适用对象:具有当前目录操作权限的所有使用者。
  • 语法 : rm [选项][目录或文件名]
    功能 :删除文件或目录。
    适用对象:所有使用者。

📗一些常用选项:

  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

📙删除目录(注意带上-r):

📙删除文件:


❤️ 结语

文章到这里就结束了,如果对你有帮助,你的点赞将会是我的最大动力,如果大家有什么问题或者不同的见解,欢迎大家的留言~

相关推荐
朝九晚五ฺ42 分钟前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream1 小时前
Linux的桌面
linux
xiaozhiwise1 小时前
Makefile 之 自动化变量
linux
Kkooe2 小时前
GitLab|数据迁移
运维·服务器·git
久醉不在酒2 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
意疏4 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
虚拟网络工程师4 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb
BLEACH-heiqiyihu4 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿4 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx