Hello大家好! 很高兴与大家见面! 给生活添点快乐,开始今天的编程之路。
我的博客:<但愿.****
我的专栏:C语言** 、题目精讲 、算法与数据结构 、C++ 、Linux**
欢迎点赞,关注
前言
我们先了解几个基础的命令,方便后面细解各个命令
pwd:显示当前工作目录
whoami:显示当前用户
clear:清除
cd 进入
mkdir:创建目录(空文件夹)
touch:创建文件
一 ls 指令
1.1语法和功能
语法:ls [选项] [目录或文件]
功能:
对于目录:列出该目录下的所有子目录以及文件。注意文件夹就是目录,要区分文件和文件夹(及windows系统中的文件夹和记事本文件和可执行文件等等。
对于文件:列出文件名以及文件的其他信息(文件的属性)
1.2ls常用的选项
|----|------------------------------------------------------------------------------------------------|
| 选项 | 功能 |
| -a | 列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件。 |
| -d | 将⽬录像⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。 如:ls ‒d 指定⽬录 |
| -i | 输出⽂件的 i 节点的索引信息。 如 ls ‒ai 指定⽂件 |
| -k | 以 k 字节的形式表⽰⽂件的⼤⼩。ls ‒alk 指定⽂件 |
| -l | 列出⽂件的详细信息(文件属性) |
| -n | ⽤数字的 UID,GID 代替名称。 (介绍 UID, GID) |
| -F | 在每个⽂件名后附上⼀个字符以说明该⽂件的类型,"*"表⽰可执⾏的普通⽂件;"/"表⽰⽬录;"@"表⽰符号链接;"|"表⽰FIFOs;"="表⽰套接字(sockets)。(⽬录类型识别) |
| -r | 对⽬录反向排序 |
| -t | 以时间排序 |
| -s | 在l⽂件名后输出该⽂件的⼤⼩。(⼤⼩排序,如何找到⽬录下最⼤的⽂件) |
| -R | 列出所有⼦⽬录下的⽂件。(递归 |
| -I | ⼀⾏只输出⼀个⽂件。 |
1.3文件的组成
文件=文件内容+文件的属性
而使用ls 在默认情况下只会显示文件名(文件属性,其实ls显示的是文件属性,只不过默认只显示文件名这个属性,要显示其他文件属性要在ls指令后面加选项)。
示例
1.4 ls指令的使用
1.4.1基本使用
1.4.2配合ls 对应的选项使用
例如想查看文件的所有信息
1.4.3隐藏文件
在Linux系统中以点开头的文件就是隐藏文件或者隐藏文件夹。隐藏文件/文件夹的作用:其目的就是为了不让用户看到,主要是为了防止用户的误操作,因为你要删除文件一定要知道文件名,对于一些重要的系统文件我们把它隐藏不就删不了吗?其到一个保险作用。
在windows系统中也有隐藏文件:
二 pwd命令
2.1pwd的语法和功能
语法 : pwd
功能:显示用户当前所在的目录
三 cd 命令
3.1cd命令的语法和功能
语法 :cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
3.2 cd命令常用选项
|-----------------------|----------------|
| 选项 | 功能 |
| cd . | 进入当前目录 |
| cd ... | 返回上级目录 |
| cd /home/litao/linux/ | 绝对路径 |
| cd .../day02/ | 相对路径 |
| cd ~ | 进入用户家目录 |
| cd - | 返回最近访问目录的上一层目录 |
【cd 命令配合选项的使用,以及.表示当前路径..表示上一层路径的验证】
注意任何目录都有.和..文件,只不过跟目录的.和..指向自己。所以当使用cd..不断向上一层走,但走到根目录就不会在向前走了(因为根目录的.和..指向自己

3.3文件系统
因为cd 命令涉及到路径,而路径分为相对路径和绝对路径,所以我们来看一看文件系统
【文件系统结构图】

从上图可知文件系统的特点
• Linux 中文件系统是一颗多插树。
• 其中普通⽂件⼀定是⽬录树的叶⼦节点
• ⽬录可能是叶⼦(空⽬录), 也可能是路上节点
• 绝对路径:⼀般从/开始,不依赖其他⽬录的定位⽂件的⽅式
• 相对路径:相对于当前⽤⼾所处⽬录,定位⽂件的路径⽅式
• 绝对路径⼀般不会随着⽤⼾的路径变化⽽丧失唯⼀性,⼀般在特定服务的配置⽂件中经常被使⽤
• 相对路径因为它的便捷性,⼀般在命令⾏中使⽤较多
【文件的唯一性是怎么标识的】
文件的唯一性是通过路径来标识的【因为路径具有唯一性】。
怎么保证路径的唯一性:因为任何一个多插树节点其父节点只有一个,从该节点到跟节点是唯一的(路径是唯一的)。
【相对路径和绝对路径怎么选择使用】
由于绝对路径要从跟目录开始,而相对路径不用。使用相对路径相比于绝对路径跟方便。但是相对路径的不确定性安全性又所不足,所有使用相对路径要慎用。
实践建议是:
对于配置文件使用绝对路径(保证其安全性)。
对于非配置文件使用相对路径。
四 tree指令
4.1tree指令语法功能
语法: tree 目录
功能:将指定目录下的目录和文件用树行结构显示出来
注意在Linux系统中默认情况下是不能使用tree命令的,要先进行安装才可以。安装方法:在Linux系统中对于不同版本安装方法不同(想了解的自己可以网上查找)。
【示例】

五 touch指令
5.1touch指令的语法功能
语法:touch [选项]... ⽂件...
功能:
1文件已经存在:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间。
2文件不存在:新建⼀个不存在的⽂件。
5.2touch指令常用选项
|-------------------------------------------|------------------------------------|
| 选项 | 功能 |
| -a 或--time=atime或--time=access或--time=use | 只更改存取时间 |
| -c 或--no-create | 不建立任何文档 |
| -d | 使用指定的日期时间,而非现在的时间 |
| -f | 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题 |
| -m或--time=mtime或--time=modify | 只更改变动时间 |
| -r | 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同 |
| -t | 使用指定的日期时间,而非现在的时间 |
5.3验证touch指令的两种作用
注意Linux系统种默认只会显示文件的文件名,不会显示文件的各种时间,为了验证touch的两种作用,这里引入一个指令stat +文件名 显示文件的更多信息。

六 mkdir指令
6.1mkdir指令的语法和功能
语法:mkdir [选项] dirname...
功能:在当前⽬录下创建⼀个名为 "dirname"的⽬录
6.2mkdir指令常用选项
|--------------|----------------------------------------------------------------|
| 选项 | 功能 |
| -p,--parents | 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多个⽬录 |
【示例】

6.3LInux系统中的文件类型
用于mkdir和touch的作用很多人分不清,所以在这里讲Linux系统种文件类型,一方面是补充Linux系统中的文件类型,一方面是为了方便区分touch指令和mkdir指令的作用
在Linux系统中想知道文件的类型可以通过ls -l 从显示的文件属性的第一列中的第一个字符,如果第一列第一个字符为d说明其是一个目录,如果第一列第一个字符是-说明其是普通文件。但是通过ls -l查看文件的类型只会分成两种。如果要想查看文件的具体类型可以通过file指令查看。
注意在Linux系统中不是以文件名的后缀决定(在windows系统中是通过文件名的后缀区分:例如.exe是可执行文件,.jpg表示图片)。所以在Linux系统中对于文件名的后缀你想取什么就什么,但是这并不代表在Linux系统中不使用后缀。这里还是建议同学带上,带不带后缀不影响文件,带后缀可以通过可读性不是更好。
这里加后缀的还一个原因是虽然在Linux系统中不是通过后缀决定文件的类型,但是Linux系统中的编译器等等(例如gcc还是会识别的不想是.c后缀才会执行),注意区分Linux系统和编译器等等。
【touch和mkdir的区别】
mkdir:用于创建目录(相当于windows系统中的文件夹)
touch:用于创建一个文件(相当于windows系统中的文本文件,可执行文件等等)
