Linux从0到1——Linux下的基本指令(上)【pwd/ls/cd/touch/mkdir/rmdir/rm/man/cp/mv】

本文详细介绍了Linux系统中的基本命令,包括pwd、ls、cd、touch、mkdir、rmdir、rm、man、cp和mv,强调了man、cp和mv的重要性和使用方法。后续将深入探讨更多高级主题。

0. 前言


本专栏最开始采用CentOS7系统,进行命令的演示和学习。所以大家需要提前安装好系统。


1.pwd命令


这是一个最基础的命令,作用是显示当前的工作路径,直接在屏幕上输入pwd即可,该命令没有任何选项。

使用:

在这里插入图片描述

说明当前我们是在root用户的家目录(后面讲)下。


2.ls指令


1.语法:

ls [选项][目录或文件]

2.功能:

对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

3.常用选项:

  • -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 列出所有子目录下的文件。(递归)

4.使用:

1)直接使用ls:(查看文件名)

在这里插入图片描述
cd是用来切换当前路径的命令,这里我们切换到了系统的根目录,又查看了一下这个根目录下有哪些文件。(cd命令后面会讲)

2)使用ls -l:(可以看到文件的很多属性)

在这里插入图片描述

可以看到文件的一些详细信息,包括大小,创建时间等。

这个命令也可以直接简写成ll:(这是因为Linux是允许给指令起别名的)

在这里插入图片描述

如何起别名?如何验证这一点?这需要用到一个指令:alias

在这里插入图片描述

3)使用ls -l -a:(a是all的意思,显示所有文件)

可以将选项写在一起,且选项顺序可以颠倒,写作ls -al

在这里插入图片描述

可以看到多了两个带 . 的文件,这两个文件是什么?

在Linux中,我们称用.开头的文件为隐藏文件,正常情况下我们是看不到的。在windows中,也有隐藏文件,这里就不再说windows下的隐藏文件怎么查看了,感兴趣的小伙伴可以自行了解。

我么还可以自己创建一个隐藏文件,来进行验证:

在这里插入图片描述

关于touch命令,之后会讲到,现在我们只需要知道它的功能是创建文件即可。

那么...到底是什么意思,有什么用呢?我们留到后面讲cd命令的时候再说。

5.引入一个问题:空文件在磁盘中占空间吗?

有些同学可能认为,既然文件是一个空文件,那么它肯定不占用磁盘空间。但实际上,空文件也占用磁盘空间。

文件包括两个部分:内容和属性。当我们说一个文件是空文件时,只是说这个文件的内容是空的,但是这个文件是有属性的。它是什么类型的文件,文件名是什么,什么时间创建的,等等。这些信息在你创建这个文件的时候就已经生成了,是文件的属性。而存储这些信息是需要占据磁盘空间的,所以,空文件实际上并不“空”。

我们说对一个文件进行操作,实际上是操作这个文件的属性或者内容。所以实际上,ls这个命令是在对文件的属性进行操作,是用来查看文件属性的。


3.cd命令

在Linux系统中,磁盘上的文件和目录被组成一颗目录树,每一个节点都是目录或文件。

在这里插入图片描述


1.语法:

cd 目录名

2.功能:

将当前工作目录转变到指定目录下。

3.举例:

1)cd .. : 返回上级目录:

书接上回,..表示上一级目录;.表示的是当前目录,我们使用命令cd ..来进行目录的回退。

在这里插入图片描述

如果我们在test的bbb目录下,如何一步进入到test的aaa目录下?
在这里插入图片描述

这样的写法也是利用了相对路径的概念。

可能有同学又要问了,.有什么用呢?我不用点就在当前目录啊。接下来,介绍一下.的一种用途:

先创建一个.c文件,然后用vim编辑器编辑这个文件。
在这里插入图片描述编辑内容如下:在这里插入图片描述
然后进行如下操作:
在这里插入图片描述
先照着敲命令就行,这些常用命令后面都会讲到。

以上就是.的一个用途。

2)cd /test/aaa : 绝对路径

在这里插入图片描述

这是绝对路径,无论你当前在什么目录下,都可以直接通过绝对路径去跳转目录

3)cd ~:进入用户家目录(Home目录)

在这里插入图片描述

我们当前在test目录下,通过cd ~命令,直接跳转到了当前用户(root)的家目录下。(root用户的Home目录就是root)

普通用户的家目录一般为:/home/用户名。

在这里插入图片描述

4)cd -:返回最近访问的目录

在这里插入图片描述

上回访问的目录是root用户的家目录,使用cd -,直接跳转到了这一目录。

两次cd -直接回到原位置。


4.touch指令


1.语法:

touch [选项] 文件

2.功能:

  • touch命令可以新建一个不存在的文件。

  • touch命令可以更改文件或目录的日期时间,包括存取时间和更改时间。

3.常用选项:

  • -a 或–time=atime或–time=access或–time=use只更改存取时间。
  • -c 或–no-create 不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m 或–time=mtime或–time=modify 只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间。

4.粗略的了解一下时间的概念(时间到后面再细讲):

使用命令stat 文件名即可查看文件的时间:

在这里插入图片描述

关于这三个时间,我们在后面详细介绍,现在先不讲。

5.使用:

创建一个新文件new.txt:

在这里插入图片描述

查看新文件状态,并touch已有文件:

在这里插入图片描述

发现touch还有一个功能是将已有文件的时间状态全设置成当前时间。

还可以直接在指定目录下创建文件,只要给出文件路径即可:

在这里插入图片描述


5.mkdir


1.语法:

mkdir [选项] 目录名

2.功能:

在当前目录下创建一个新的目录。

3.常用选项:

  • -p 此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立
    好那些尚不存在的目录,即一次创建多个目录。

4.使用:

创建一个新目录dir:

在这里插入图片描述

使用-p选项创建多个目录:

在这里插入图片描述

tree命令的作用是:指定一个目录,按树的结构打印出这个目录下的所有内容。如果本机tree命令无法使用,则需要去yum源中下载。先使用su命令切换到root用户,然后再执行命令:yum install -y tree,就可以下载tree命令了。切换到root用户的原因是只有root用户有执行这个命令的权限。


6.rmdir


1.语法:

rmdir [选项] 目录名

2.功能:

删除空目录。

3.常用选项:

  • -p 递归删除空目录,当子目录被删除后,如果父目录是空目录,就连父目录也一并删除。

4.使用:

rmdir的局限性:

在这里插入图片描述

使用-p命令一次性删除多个空目录(从dir1到dir3):

在这里插入图片描述


7.rm


1.语法:

rm [选项] [目录名]

2.功能:

删除文件或者目录。

3.常用选项:

  • -f 强制删除,不要再询问我了
  • -i 删除前注意询问确认
  • -r 删除目录及齐下所有文件

4.使用:

1)如果使用的root用户,在你删除一个文件或目录时系统都会询问你是否要删除,因为root的权限太大,怕不小心删除到重要文件;如果你是普通用户则不会询问,自己删除自己负责。

在这里插入图片描述

2)递归删除加强制递归删除:

递归删除,root用户会被系统逐一询问,普通用户不会:

在这里插入图片描述

强制递归删除,不想让系统再问我了,直接删:

在这里插入图片描述

这样系统就不会再询问你了。

5.危险命令:

rm -rf /*。这行命令是一个极其危险的命令,它的意思是强制递归删除根目录下的所有文件,会直接导致Linux操作系统崩溃,只能重装。


8.man(重要)

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man。


1.语法:

man [选项] 命令

2.常用选项:(到后面再具体讲解)

  • -k:根据关键字搜索联机帮助;
  • num:只在第num章节找(如果不带手册编号,默认从1号手册开始查;带编号了就在指定手册查找);
  • -a:将所有章节的都显示出来。比如man printf它默认从第一章开始搜索,直到找到了就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

解释一下man手册分为8章
1)1 是普通的命令;
2)2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件);
3)3 是库函数,如printffread是特殊文件,也就是/dev下的各种设备文件;
4)5 是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义;
5)6 是给游戏留的,由各个游戏自己定义;
6)7 是附件,含有一些变量,比如像environ这种全局变量在这里就有说明;
7)8 是系统管理用的命令,这些命令只能由root用户使用,如ifconfig

3.使用:

不带编号,man printf

在这里插入图片描述

在3号手册查找printf:

在这里插入图片描述

printf在Linux中就可以直接像这样使用:

在这里插入图片描述


9.cp(重要)


1.语法:

cp [选项] 源文件或目录 目标文件或目录

2.功能:

复制文件或目录,到指定文件或目录下。如果指定文件或目录不存在,就会创建一个新的文件或目录。(其中,复制有内容的目录需要使用-r递归选项)

3.常用选项:

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

4.使用:

1)复制多个文件到不存在的指定目录:

在这里插入图片描述

2)到存在的指定目录:

在这里插入图片描述

3)在复制的同时还可以给文件重命名:

在这里插入图片描述
4)文件重名,拷贝变覆盖:

在这里插入图片描述


10.mv(重要)

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。


1.语法:

mv [选项] 源文件或目录 目标文件或目录

2.功能:

  • 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  • 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

3.参数:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

4.使用:

1)使用mv改变文件或目录名:

在这里插入图片描述

2)使用mv移动文件:

在这里插入图片描述


总结:


本文为基本指令的上篇,我们已经学习了Linux中的十个基本指令,其中man cp mv这三个指令尤为重要,需要重点掌握。已经完全掌握的小伙伴可以去看下篇啦,谢谢大家的支持。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-指短琴长-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值