Bootstrap

风吹字符起,诗意Linux:一场指令与自由的浪漫邂逅(上)


在这里插入图片描述

前言

在浩瀚的数字宇宙中,Linux的世界犹如一片广袤的荒原,风沙弥漫却透着无尽的希望。每一条指令,都如同嵌在荒原中的符文,简洁而强大。它们是语言,是诗,是人与机器对话的密码;也是钥匙,开启自由与创造的大门。在这片土地上,掌握指令,不仅是技术的历练,更是一次诗意的探险。

接下来,让我们拾起这片荒原上的字符宝石,逐步走入Linux指令的美学与哲学。

一. 知识过渡

文件的属性与类型

在linux中, 可以将文件分为两类, 一类是普通文件, 也就是touch出来的; 一类是文件夹, 也就是mkdir出来的。 对应我们windows中的文件夹(如图红框框)和普通文件(如图蓝框框)
在这里插入图片描述
文件的操作 = 文件内容的操作 + 文件属性的操作。

    现在来看一下下面这张图中前面的一个长条红框框。 框起来的部分就是文件的类型。 

在这里插入图片描述
文件的类型分为:

  • 文件目录——以d开头、
  • 普通文件——以-开头。

.文件的作用
在linux中, 任何文件目录下面都有两个隐藏文件"."".."为什么? 他们有什么用?

首先来看".", 这个隐藏文件是表示当前目录。 我们在执行某些程序或者操作(本质上都是文件, linux下一切皆文件)时,可能需要确定是哪个路径下的程序或者操作。

这个时候, 如果要执行当前目录下的程序或者文件, 我们就要用到".",表示执行当前目录下的某些操作

路径

在操作系统(包括 Linux、Windows 等)中,路径(Path)
是用来指明文件或目录在文件系统中的位置的标识符。路径就像地图上的一串坐标,指引用户或程序准确找到目标文件或目录。

路径分为两种主要形式:相对路径绝对路径

  • 绝对路径(Absolute Path)
    是从文件系统的根目录(/ 在 Linux 中)开始,逐级指向目标文件或目录的完整路径。

  • 相对路径(Relative Path)
    是从当前工作目录(Current Working Directory)出发,指向目标文件或目录的路径。

在这里插入图片描述

二. 基本指令

ls、 cd、 pwd、mkdir、 touch

ls:显示当前目录下的文件信息
cd:进入某一个文件夹
pwd:查看当前路径
mkdir:创建文件夹
touch:创建普通文件

ls:风起草长,窥见世界的全貌

  • 全称:list
  • 作用:列出当前目录中的文件和目录。

Linux世界的初遇,总是从 ls 开始的。初入一个目录,你并不知晓周围的风景。而
ls,恰如一阵轻风,吹过草原,拨开眼前的迷雾,让你窥见万物的轮廓。

ls

在这里插入图片描述
一行行文件名跃然屏幕,仿佛跳动的诗句,简洁却充满信息。
如果你想看到更详细的面貌,可以在风中加上一抹灯光——-l 参数,将文件的大小、时间、权限一一呈现:(也可以直接使用缩写指令ll)

ls -l

在这里插入图片描述
如果你想探索隐藏的秘密,加上一面更敏锐的“镜子”——-a,它会将那些被隐藏的文件也一并呈现:

ls -la

在这里插入图片描述
如探险家拨开丛林,发现了未曾见过的洞穴,那些以“.”开头的隐藏文件,诉说着系统深处的秘密。

cd:穿梭路径间,漫步荒原的远方

  • 全称:change directory
  • 作用:切换当前工作目录。

如果 ls 是一扇窗,那么 cd 就是那通向窗外世界的脚步。Linux的世界没有边界,而 cd 是你探索的舟楫,载你穿梭于这片无尽的荒原。

当你想步入名为 Documents 的目录,只需:

cd Documents

分析:

  • 我们首先mkdir创建了一个dir2的文件
  • 使用cd命令进入了该目录
  • pwd显示路径,发现路径由/root改为/root/dir2
    在这里插入图片描述
    而当你迷茫时,想回到初始的起点,输入:
cd ~

在这里插入图片描述
即可返回初始路径。

那波浪线 “~” 就如同归途的灯塔,带你回到主目录的温暖怀抱。而当你站在某个岔路口,想后退一步重新选择路径,cd .. 便是你的转身:

cd ..

在这里插入图片描述

该命令可使你回退到上级目录。

这便是 cd 的哲学:每一步,都是一次旅程。

pwd:定位自我,荒原上的坐标

  • 全称:print working directory
  • 作用:显示当前工作目录的绝对路径。

在Linux的探索中,有时你会迷失方向,犹如站在荒原中,不辨东西。此时,pwd 是你定位自己的罗盘,它能告诉你,你此刻在哪里

pwd

返回的路径是一串字符,比如:

/home/user/Documents

这条路径是你在Linux世界中的坐标,是风中一枚可靠的指南针,随时指引你向正确的方向出发。

mkdir:种下希望,创建属于自己的世界

  • 全称:make directory
  • 作用:创建新的目录。

Linux的美好在于,你并不仅仅是旅人,你也可以成为创造者。mkdir 是你播种的工具,帮助你在荒原上创建一片属于自己的绿洲。

mkdir my_folder

一间空白的房间随即诞生,等待着你为它添砖加瓦。而若想在荒原上种下一片树林(多层目录),只需一个额外的选项 -p:

mkdir -p projects/2025/January

一条完整的路径被开辟,树木的枝干向远方延伸。

touch :另辟蹊径,产出新生

touch:

  • 语法: touch [选项]… ⽂件…
  • 功能:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件。
    常⽤选项:
    • -a : change only the access time
    • -c : change only the modification time

分析:

  • 首先touch创建了文件dir3
  • stat显示该文件的详细信息

stat 是一个用于显示 文件或文件系统的详细信息 的命令,它可以提供比 ls -l 更全面、更深入的文件元数据(metadata)。在处理文件属性时,stat 是一种强大而高效的工具。

在这里插入图片描述

三. 常用指令

rmdir&&rm

rmdir是⼀个与mkdir相对应的命令,mkdir是建⽴⽬录,⽽rmdir是删除命令

  • 语法: rmdir [-p] [dirName]
  • 适⽤对象:具有当前⽬录操作权限的所有使⽤者
  • 功能:删除空⽬录

常⽤选项:
• -p 当⼦⽬录被删除后如果⽗⽬录也变成空⽬录的话,就连带⽗⽬录⼀起删除。

在这里插入图片描述
需要注意只能删除dictory

rm 命令可以同时删除⽂件或⽬录

  • 语法: rm [-f-i-r-v] [dirName/dir]

  • 适⽤对象:所有使⽤者

  • 功能:删除⽂件或⽬录

在这里插入图片描述

man

Linux的命令有很多参数,我们不可能全记住,可以通过查看联机⼿册获取帮助
语法: man [选项] 命令
在这里插入图片描述

cp 指令

  • 语法: cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
  • 功能: 复制⽂件或⽬录

说明:

• cp指令⽤于复制⽂件或⽬录 • 如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定所有⽂件或⽬录复制到此⽬录中

常⽤选项
• -f 或 --force 强⾏复制⽂件或⽬录, 不论⽬的⽂件或⽬录是否已经存在
• -i 或 --interactive 覆盖⽂件之前先询问⽤⼾
• -r 递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理

mv 指令

mv命令是move的缩写,可以⽤来移动⽂件或者将⽂件改名(move (rename) files,经常⽤来备份⽂件或者⽬录

  • 语法: mv [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
  • 功能:
  1. 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其 移⾄⼀个新的⽬录中。
  2. 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬ 录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
  3. 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄⽬标⽬录中。

常⽤选项:
• -f :force 强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖
• -i :若⽬标⽂件 (destination) 已经存在时,就会询问是否覆盖!
在这里插入图片描述

cat 指令

  • 语法: cat [选项] [⽂件]
  • 功能: 查看⽬标⽂件的内容
  • 常⽤选项:

• -b 对⾮空输出⾏编号
• -n 对输出的所有⾏编号
• -s 不输出多⾏空⾏
在这里插入图片描述

more 指令

  • 语法: more [选项]
  • 功能:more命令,功能类似 cat
  • 常⽤选项:

• -n 指定输出⾏数
• q 退出more

less 指令

• less ⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具,功能极其强⼤
• less 的⽤法⽐起 more 更加的有弹性,在 more 的时候,我们并没有办法向前⾯翻, 只能往后⾯看
• 但若使⽤了 less 时,就可以使⽤ [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件,更容易⽤来查看⼀个⽂件的内容
• 除此之外,在 less ⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜。

语法: less [参数] ⽂件
功能:less与more类似,但使⽤less可以随意浏览⽂件,⽽more仅能向前移动,却不能向后移动,⽽且less在查看之前不会加载整个⽂件。

选项:
• -i 忽略搜索时的⼤⼩写
• -N 显⽰每⾏的⾏号
• /字符串:向下搜索“字符串”的功能
• ?字符串:向上搜索“字符串”的功能
• n:重复前⼀个搜索(与 / 或 ? 有关)
• N:反向重复前⼀个搜索(与 / 或 ? 有关)
• q:quit

head 指令

head 与 tail 就像它的名字⼀样的浅显易懂,它是⽤来显⽰开头或结尾某个数量的⽂字区块,head ⽤来显⽰档案的开头⾄标准输出中,⽽ tail 想当然就是看档案的结尾。

  • 语法:head [参数]… [⽂件]…
  • 功能:head ⽤来显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏。
  • 选项:
    • -n<⾏数> 显⽰的⾏数

tail 指令

tail 命令从指定点开始将⽂件写到标准输出.使⽤tail命令的-f选项可以⽅便的查阅正在改变的⽇志⽂件,tail -f filename会把filename⾥最尾部的内容显⽰在屏幕上,并且不断刷新,使你看到最新的⽂件内容.

  • 语法: tail 必要参数 [⽂件]
  • 功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。
    选项:
    • -f 循环读取
    • -n<⾏数> 显⽰⾏数

date 指令

指定格式显⽰时间: date +%Y:%m:%d

  • ⽤法: date [OPTION]… [+FORMAT]
  1. 在显⽰⽅⾯,使⽤者可以设定欲显⽰的格式,格式设定为⼀个加号后接数个标记,其中常⽤的标记
    列表如下
    • %H : ⼩时(00…23)
    • %M : 分钟(00…59)
    • %S : 秒(00…61)
    • %X : 相当于 %H:%M:%S
    • %d : ⽇ (01…31)
    • %m : ⽉份 (01…12)
    • %Y : 完整年份 (0000…9999)
    • %F : 相当于 %Y-%m-%d
  2. 在设定时间⽅⾯
    • date -s //设置当前时间,只有root权限才能设置,其他只能查看。
    • date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
    • date -s 01:01:01 //设置具体时间,不会对⽇期做更改
    • date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
    • date -s “01:01:01 20080523″ //这样可以设置全部时间
    • date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
    • date -s “20080523 01:01:01″ //这样可以设置全部时间
  3. 时间戳
    • 时间->时间戳:date +%s
    • 时间戳->时间:date -d@1508749502
    • Unix时间戳(英⽂为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1⽉1
    ⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒在这里插入图片描述

cal 指令

cal命令可以⽤来显⽰公历(阳历)⽇历。公历是现在国际通⽤的历法,⼜称格列历,通称阳历。“阳历”⼜名“太阳历”,系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名“西历”。

  • 命令格式: cal 参数 [年份]
  • 功能:⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份和年份

常⽤选项:
• -3 显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历
• -j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)
• -y 显⽰当前年份的⽇历

在这里插入图片描述

find 指令

• Linux下find命令在⽬录结构中搜索⽂件,并执⾏指定的操作。
• Linux下find命令提供了相当多的查找条件,功能很强⼤。由于find具有强⼤的功能,所以它的选项也很多,其中⼤部分选项都值得我们花时间来了解⼀下。
• 即使系统中含有⽹络⽂件系统( NFS),find命令在该⽂件系统中同样有效,只要你具有相应的权限。
• 在运⾏⼀个⾮常消耗资源的find命令时,很多⼈都倾向于把它放在后台执⾏,因为遍历⼀个⼤的⽂件系统可能会花费很⻓的时间(这⾥是指30G字节以上的⽂件系统)。

  • 语法: find pathname -options
  • 功能:⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)
  • 常⽤选项
    • -name 按照⽂件名查找⽂件
    • 其他选项需要在查,这个命令其实⽐较复杂

尾声:在字符之间发现诗意

Linux的指令,不只是冷冰冰的工具,更是人类追寻自由与秩序的诗篇。它们虽短,却承载着广阔的可能;它们虽简单,却蕴藏着深邃的智慧。

当你徜徉于 ls 的广袤,漫步于 cd 的旅途,种植 mkdir 的希望,或是放手 rm 的遗憾,你会发现,每一个字符都带着灵魂,每一行代码都通向自由的远方。

在风吹字符起的荒原上,Linux等待着你,用指令书写属于自己的诗篇。

本篇关于linux基础指令的介绍就暂告段落啦,希望能对大家的学习产生帮助,欢迎各位佬前来支持斧正!!!

在这里插入图片描述

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;