Linux中各个指令是相互联系的,所以一开始学习Linux时,对指令很陌生是正常的,不用花费大量的时间去刻意的记忆,在我们一次次的使用当中,这些指令自然会烂熟于心。
简单看看各个指令的功能
ls指令
显示当前目录下的文件
pwd指令
显示用户当前所处的目录
cd指令
改变到指定的路径
touch指令
新建一个普通文件
mkdir指令
创建一个新目录
ls指令
前边提到了ls指令可以显示当前目录下的全部文件,侧重于不同的板块,它还有很多的其他的选项。
例如我们加一个-a就可以显示一个目录下的所有文件(包括隐藏文件)。
. 和 ..就是隐藏文件。Linux中任何一个目录(包括空目录)中都会存在 .和..。目录就是我们理解的文件夹,文件由属性和内容两部分构成创建的一个新的文件夹(不额外储存任何信息)那么它任然会占用内存,储存文件的属性也需要内存;而学习文件无非就是对文件的内容和属性进行操作。用stat命令可以查看一个文件的详细信息,文件的时间包括三部分--ACM。
A(Access Time, atime)访问时间,记录文件最后被访问的时间。每次读取文件时,这个时间会更新。
C(Change Time, ctime)修改时间,记录文件元数据(如权限或所有者)最后被更改的时间。与文件内容无关,但如果文件的权限或其他属性被修改,这个时间会更新。
M(Modification Time, mtime)状态改变时间,记录文件内容最后被修改的时间。当文件内容被写入时,此时间会更新。
.指向(当前目录)当前的目录本身 ,而..指向(上级目录)当前目录的父目录。这是不是和我们数据结构中学习的二叉树很相似呢,Linux的文件结构就是一棵以/(根节点)开头的多叉树。并且子叶节点一定是普通文件或者空目录,非子叶节点一定是非空目录。windows的文件结构也一样,也是由根目录(此电脑)开头的多叉树。
通过..我们就可以切换到上一级目录
那么一直使用..向父目录切换,会发生什么呢?
我们发现,最终会停在根目录,就无法向上一级目录切换了。
ls -l可以以长格式显示文件的内容
在window中,以文件的扩展名(后缀)来区分文件
以exe结尾的是可执行程序:
PDF文件的后缀就是pdf。
在Linux中以d开头的是目录(文件夹),以-开头的是普通文件
在Linux中,几乎所有的命令本质都是可执行文件,当我们把自己写的程序编译后生成可执行程序后 再拷贝到当前路径下就可以像输入命令一样使用它,这里先埋个坑,这个我们后边再实现。
对于ls指令只了解到这里,这里是它其他的常用选项。
-a
:显示所有文件,包括隐藏文件(以.
开头的文件)。-l
:以长格式显示详细信息,包括权限、所有者、文件大小和修改时间。-h
:与-l
结合使用,显示人类可读的文件大小(例如 KB, MB)。-R
:递归地列出所有子目录。-t
:按修改时间排序,最近的文件排在前面。-S
:按文件大小排序。-r
:反向排序。
pwd指令
在终端中输入pwd后,按下回车键,系统会输出当前所在的目录路径。
常用选项
-
-L
(或--logical
)- 输出当前工作目录的逻辑路径,包含符号链接的路径。
- 这是
pwd
命令的默认行为。
-
-P
(或--physical
)- 输出当前工作目录的物理路径,解析所有符号链接,显示实际的文件系统路径。
cd命令
相对路径和绝对路径
绝对路径
- 定义:绝对路径是从根目录开始,描述文件或目录的完整路径。
- 示例:在Unix/Linux系统中,绝对路径通常以
/
开头,比如/home/user/documents/file.txt
;在Windows系统中,路径可能以驱动器字母开头,例如C:\Users\User\Documents\file.txt
。 - 特点:无论当前工作目录是什么,绝对路径总是指向同一个位置。
以根目录为参考访问各个目录
相对路径
- 定义:相对路径是相对于当前工作目录来描述文件或目录的路径。
- 示例:如果当前工作目录是
/home/user
,那么documents/file.txt
就是一个相对路径,指向/home/user/documents/file.txt
。 - 特点:相对路径依赖于当前工作目录,可能在不同的上下文中指向不同的位置。
通过..访问上一路径,参考当前目录。
用法
常用示例
-
更改到指定目录:
cd /path/to/directory
-
返回上一级目录:
cd ..
3.返回用户主目录(家目录):
cd ~
4.更改到上一次访问的目录:
cd -
用户刚登录时所处的路径就是家目录。
touch指令
touch指令可以新建一个普通文件,也可以改变文档或目录的日期和时间。
常用选项
-
-a
仅更新文件的访问时间(Access time)。touch -a filename
-
-m
仅更新文件的修改时间(Modification time)。touch -m filename
-
-c
如果文件不存在,不会创建新文件。只会在文件存在时更新时间戳。touch -c filename
-
-t
使用指定的时间戳格式设置时间,格式为[[CC]YY]MMDDhhmm[.ss]
。例如:touch -t 202310031230.00 filename
这将设置文件的时间戳为 2023 年 10 月 3 日 12:30:00。
-
-d
使用指定的日期字符串作为时间戳。可以使用人类可读的日期格式。touch -d "2023-10-03 12:30:00" filename
-
-r
使用另一个文件的时间戳来更新目标文件的时间戳。touch -r referencefile targetfile
-
--help
显示帮助信息。touch --help
-
--version
显示版本信息。touch --version
mkdir指令
-
-p
可以连续创建一串目录 -
-m
设置新目录的权限模式,格式为八进制数字。例如,设置权限为 755:mkdir -m 755 newdir
-
--help
显示帮助信息。mkdir --help
-
--version
显示版本信息。mkdir --version