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 是库函数,如printf,fread是特殊文件,也就是/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这三个指令尤为重要,需要重点掌握。已经完全掌握的小伙伴可以去看下篇啦,谢谢大家的支持。
本文详细介绍了Linux系统中的基本命令,包括pwd、ls、cd、touch、mkdir、rmdir、rm、man、cp和mv,强调了man、cp和mv的重要性和使用方法。后续将深入探讨更多高级主题。
编辑内容如下:

【pwdlscdtouchmkdirrmdirrmmancpmv】&spm=1001.2101.3001.5002&articleId=132745853&d=1&t=3&u=604e9aba93e84bc9a6eb3ff29cc126c5)
4490

被折叠的 条评论
为什么被折叠?



