文章目录

前言
接下来,让我们拾起这片荒原上的字符宝石,逐步走入Linux指令的美学与哲学。
一. 知识过渡
文件的属性与类型
在linux中, 可以将文件分为两类, 一类是普通文件
, 也就是touch出来的; 一类是文件夹
, 也就是mkdir出来的。 对应我们windows中的文件夹(如图红框框)和普通文件(如图蓝框框)
文件的操作 = 文件内容的操作 + 文件属性的操作。
现在来看一下下面这张图中前面的一个长条红框框。 框起来的部分就是文件的类型。
文件的类型分为:
- 文件目录——以d开头、
- 普通文件——以-开头。
.文件的作用
在linux中, 任何文件目录下面都有两个隐藏文件"."
和".."
为什么? 他们有什么用?
这个时候, 如果要执行当前目录下的程序或者文件, 我们就要用到".",表示执行当前目录下的某些操作
路径
路径分为两种主要形式:相对路径
和 绝对路径
。
-
绝对路径(Absolute Path)
是从文件系统的根目录(/ 在 Linux 中)开始,逐级指向目标文件或目录的完整路径。 -
相对路径(Relative Path)
是从当前工作目录(Current Working Directory)出发,指向目标文件或目录的路径。
二. 基本指令
ls:风起草长,窥见世界的全貌
- 全称:list
- 作用:列出当前目录中的文件和目录。
ls
一行行文件名跃然屏幕,仿佛跳动的诗句,简洁却充满信息。
如果你想看到更详细的面貌,可以在风中加上一抹灯光——-l 参数,将文件的大小、时间、权限一一呈现:(也可以直接使用缩写指令ll
)
ls -l
如果你想探索隐藏的秘密,加上一面更敏锐的“镜子”——-a,它会将那些被隐藏的文件也一并呈现:
ls -la
如探险家拨开丛林,发现了未曾见过的洞穴,那些以“.”开头的隐藏文件,诉说着系统深处的秘密。
cd:穿梭路径间,漫步荒原的远方
- 全称:change directory
- 作用:切换当前工作目录。
当你想步入名为 Documents 的目录,只需:
cd Documents
分析:
- 我们首先mkdir创建了一个dir2的文件
- 使用cd命令进入了该目录
- pwd显示路径,发现路径由/root改为/root/dir2
而当你迷茫时,想回到初始的起点,输入:
cd ~
即可返回初始路径。
那波浪线 “~” 就如同归途的灯塔,带你回到主目录的温暖怀抱。而当你站在某个岔路口,想后退一步重新选择路径,cd ..
便是你的转身:
cd ..
这便是 cd 的哲学:每一步,都是一次旅程。
pwd:定位自我,荒原上的坐标
在Linux的探索中,有时你会迷失方向,犹如站在荒原中,不辨东西。此时,pwd 是你定位自己的罗盘,它能告诉你,你此刻在哪里。
pwd
返回的路径是一串字符,比如:
/home/user/Documents
这条路径是你在Linux世界中的坐标,是风中一枚可靠的指南针,随时指引你向正确的方向出发。
mkdir:种下希望,创建属于自己的世界
Linux的美好在于,你并不仅仅是旅人,你也可以成为创造者。mkdir 是你播种的工具,帮助你在荒原上创建一片属于自己的绿洲。
mkdir my_folder
一间空白的房间随即诞生,等待着你为它添砖加瓦。而若想在荒原上种下一片树林(多层目录),只需一个额外的选项 -p:
一条完整的路径被开辟,树木的枝干向远方延伸。
touch :另辟蹊径,产出新生
touch:
- 语法: touch [选项]… ⽂件…
- 功能:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件。
常⽤选项:
• -a : change only the access time
• -c : change only the modification time
分析:
- 首先touch创建了文件dir3
- 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 [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
- 功能: 复制⽂件或⽬录
说明:
常⽤选项
• -f 或 --force 强⾏复制⽂件或⽬录, 不论⽬的⽂件或⽬录是否已经存在
• -i 或 --interactive 覆盖⽂件之前先询问⽤⼾
• -r 递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理
mv 指令
mv命令是move的缩写,可以⽤来移动⽂件或者将⽂件改名(move (rename) files,经常⽤来备份⽂件或者⽬录
- 语法: mv [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
- 功能:
常⽤选项:
• -f :force 强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖
• -i :若⽬标⽂件 (destination) 已经存在时,就会询问是否覆盖!
cat 指令
- 语法: cat [选项] [⽂件]
- 功能: 查看⽬标⽂件的内容
- 常⽤选项:
more 指令
- 语法: more [选项]
- 功能:more命令,功能类似 cat
- 常⽤选项:
less 指令
• less ⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具,功能极其强⼤
• less 的⽤法⽐起 more 更加的有弹性,在 more 的时候,我们并没有办法向前⾯翻, 只能往后⾯看
• 但若使⽤了 less 时,就可以使⽤ [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件,更容易⽤来查看⼀个⽂件的内容
• 除此之外,在 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]
- 在显⽰⽅⾯,使⽤者可以设定欲显⽰的格式,格式设定为⼀个加号后接数个标记,其中常⽤的标记
列表如下
• %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 - 在设定时间⽅⾯
• 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″ //这样可以设置全部时间 - 时间戳
• 时间->时间戳: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基础指令的介绍就暂告段落啦,希望能对大家的学习产生帮助,欢迎各位佬前来支持斧正!!!