Linux基础指令(一)

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系统中的文本文件,可执行文件等等)

相关推荐
csgo打的菜又爱玩1 小时前
11.JobManager 启动流程总结
大数据·开发语言·qt·microsoft·flink
2401_833269301 小时前
Java IO流:从字节到字符的桥梁
java·开发语言
hhzz1 小时前
第1天:初识Python
开发语言·python·学习编程
江沉晚呤时2 小时前
C# 运行时类型创建:深入探索动态类型生成技术
开发语言·c#
晚风予卿云月2 小时前
【linux】进程优先级
linux·运维·服务器
一拳一个娘娘腔2 小时前
从sudo配置到Root Shell:Linux Sudo提权全景深度解析与防御指南
linux·网络·安全
ZK_H2 小时前
观星者手记_开发日志1
c语言
tankeven2 小时前
C++ 继承完全指南
c++
万法若空2 小时前
Cortex-A7的运行模式
linux·arm开发