✨✨ 欢迎大家来到贝蒂大讲堂✨✨
🎈🎈养成好习惯,先赞后看哦~🎈🎈
所属专栏:Linux学习
贝蒂的主页:Betty's blog
与Windows
环境不同,我们在linux
环境下需要通过指令进行各操作,以下是常见操作的指令:
1. ls指令
1.1. 基本语法
- 语法:
ls 选项 目录或文件
- 功能:对于目录,列出该目录下的所有子目录或文件;对于文件,列出文件名及其其他信息
1.2. 选项
-a
:列出当前目录下所有文件,包括以.
开头的隐藏文件。-d
:将目录像文件一样显示,而不是显示其下的文件。-i
:输出文件的 i 节点的索引信息。-k
:以 k 字节的形式表示文件的大小。-l
:列出文件的详细信息。-n
:用数字的UID
、GID
代替名称。
- UID(User ID)即用户标识号,用于唯一标识系统中的用户。
- GID(Group ID)即组标识号,用于唯一标识系统中的用户组。
-F
:在每个文件名后附上一个字符以说明该文件的类型,*
表示可执行的普通文件;/
表示目录;@
表示符号链接;|
表示FIFOs
;=
表示套接字(sockets
)。-r
:对目录反向排序。-t
:以时间排序。-s
:在文件名后输出该文件的大小,可用于大小排序,以便找到目录下最大的文件。-R
:列出所有子目录下的文件。-1
:一行只输出一个文件。
其中.
代表当前目录,..
代表上级目录。
其中每个文件占四个byte
,一共12字节。
其中值得注意的是:连续的两个选项是可以简化的。比如说:ls -l -a
可以简化为ls -la
。并且ls -l
也可以简化为ll
。
2. pwd指令
- 语法:
pwd
。- 功能:显示用户当前所在目录。
3. whoami指令
- 语法:
whoami
。- 功能:显示用户当前身份
4. cd指令
首先在介绍cd
命令之前我们得知道,Linux
的目录结构是一颗多叉树,因为只有这样才能保证每个目录都有一个唯一且确定的位置。
因为路径具有唯一性,所以我们可以通过两种方式来描述文件的位置:
- 绝对路径 :我们把这种从根目录开始,定位文件的路径称为绝对路径,比如:
/home/bob
。- 相对路径 :相对于当前所处路径去定位某个文件的路径,比如:当前路径为:
/home/bob
,然后我们可以通过../eve
来进入eve
文件。
知道了以上概念之后,我们就可以来学习一下cd
命令。
- 语法:
cd 目录名
- 功能:改变工作目录,将当前工作目录改变到指定目录下。
cd ..
:返回上级目录
cd 绝对路径
:使用绝对路径改变当前工作目录。
cd 相对路径
:使用相对路径改变当前工作目录。
cd ~
:进入主工作目录,也就是家目录。其中对于root
用户主工作目录就是/root
,而对于普通用户就是/home/xxx
。cd -
:返回上一次访问目录。
其中需要注意的是:如果一直用cd ..
回到上级目录,如果回到根目录就无法回退了,其中Linux
下根目录为/
。并且,/
也可以作为路径分隔符,比如/home/beidi_113/113
;而值得一提的是Window
环境下的路径分割符为\
。
5. clear指令
- 语法:
clear
。- 功能:清空屏幕。
6. touch命名
6.1. 基本语法
- 语法:
touch 选项 文件
。- 功能:
touch
命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
6.2. 选项
-a
或--time=atime
或--time=access
或--time=use
只更改存取时间。-c
或--no-create
不建立任何文档。-d
使用指定的日期时间,而非现在的时间。-f
此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。-m
或--time=mtime
或--time=modify
只更改变动时间。-r
把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。-t
使用指定的日期时间,而非现在的时间。7. mkdir指令
- 语法:
mkdir 选项 dirname
。- 功能: 在当前目录下创建一个名为
dirname
的目录。
mkdir -p dirname
可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
创建多级目录之后,我们可以通过tree
指令查看相应的树形结构,如果系统内没有安装该命名,可以通过以下指令安装。
yum install -y tree
8. rmdir
- 语法:
rmdir
选项dirname
。- 功能: 删除空目录。
但是由于rmdir
指令只能删除对应的空目录,所以局限性很大,一般我们比较常用的是下面的rm
指令。
9. rm指令
9.1. 基本语法
- 语法:
rm 选项 dirname
。- 功能: 删除文件或目录。
9.2. 选项
-i
删除前逐一询问确认(y
为确定删除,n
为不删除)。-f
即使文件属性为只读(即写保护),亦直接删除。-r
删除目录及其下所有文件(递归式删除)。
当我们想删除当前目录下的所有文件时,可以使用通配符*
,rm ./*
就能删除当前目录下的所有文件。如果我们想指定删除某种类型的文件,比如说我们想删除后缀为.c
的文件,可以这样使用rm ./*.c
。
10. man指令
在Linux
环境下存在很多指令,为了方便我们使用,我们可以通过man
命令进行对应的查询。
10.1. 基本语法
- 语法:
man 选项 指令
。- 功能: 查看指令的使用规则等。
比如我们来查询ls
指令:
里面会包含该指令的名称,用法,以及对该指令功能的描述。在使用完之后按下q
就可以退出。
然后我们还可以通过man man
来查看手册的对应功能介绍。
一般而言,man
手册有八个章节,每一章分别对应:
- 是普通的用户命令。
- 是系统调用,如
open,write
之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)。- .是C库函数,如
printf,fread
。- 是特殊文件,也就是
/dev
下的各种设备文件。- 是指文件的格式,比如
passwd
, 就会说明这个文件中各个字段的含义。- 是给游戏预留的,由各个游戏自己定义。
- 是附件还有一些变量,比如向
environ
这种全局变量。- 是系统管理用的命令,这些命令只能由
root
使用,如ifconfig
。
如果大家在查的时候有的东西查不到,可以在root
用户下执行以下指令:
yum install -y man-pages
10.2. 选项
-k
:根据关键字搜索联机帮助。num
:只在第num
章节查找。-a
:将所有章节的查找结果都显示出来。
11. cp指令
11.1. 基本语法
- 语法:
cp 选项 源文件或目录 目标文件或目录
。- 功能: 复制文件或目录。
11.2. 选项
-f
或--force
:强行复制文件或目录,不论目标文件或目录是否已经存在。-i
或--interactive
覆盖文件之前先询问用户。-r
或-R
递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的形态不属于目录或符号链接,则一律视为普通文件处理。
当然cp
指令也可以结合通配符*
一起使用,一次性复制多种文件。
12. mv指令
12.1. 基本语法
- 语法:
mv 选项 源文件或目录 目标文件或目录
。- 功能: 视
mv
指令当中两个参数的不同而不同。当第二个参数是不存在的名称时,mv
指令完成文件重命名或目录重命名。当第二个参数是已存在目录名称时,mv
指令将文件移动置该目录中。
并且如果有需求的话,可以将目标文件剪切到目标目录并重命名,比如说我们将test.c
文件剪切到上级目录并重命名为new.c
可以使用mv test.c ../new.c
。
12.2. 选项
-f
:强行剪切文件或目录,不论目标文件或目录是否已经存在。-i
:覆盖文件之前先询问用户。
13. nano指令
- 语法:
nano 文件名
。- 功能: 打开目标文件。
如果系统中没有该指令的话,可以使用下面指令安装:
yum install -y nano
然后我们就可以打开我们的目标文件,写一下代码或者其他信息。
书写完成之后,我们就可以先ctrl+x
,在按下y
进行保存并退出了。
14. cat指令
14.1. 基本语法
- 语法:
cat 选项 文件
。- 功能: 查看目标文件的内容。
我们可以先通过nano
书写代码,然后通过cat
指令查看。
14.2. 选项
-b
:对非空输出行编号。-n
:对输出的所有行编号。-s
:禁止重复的空输出行。
值得注意的是:cat
指令会将目标文件内容全部打印到屏幕上。若是目标文件内容过大,则会导致刷屏。因此cat
指令一般仅适用于查看内容较少的文件。
15. 重定向
15.1. echo指令
- 语法:
echo 输出信息
。- 功能:将信息打印到指定文件,默认为显示器。
15.2. 输出重定向
我们可以使用输出重定向将echo
输出的语句重定向到指定文件中,比如echo "hello betty" > tmp.txt
就能将字符串hello betty!
重定向进tmp.txt
文件中,如果该文件不存在则会自动创建。
我们除了使用输出重定向文件输入外,我们还可以利用>
清空文件,因为文件一般打开都会默认清空其中的数据。
15.3. 追加重定向
我们知道文件打开一般默认会清空其中的数据,为了不让打开的文件数据被清空,我们可以使用追加重定向。追加重定向与输出重定向的使用方式类似,只不过将>
改为了>>
比如说我们对tmp.txt
文件进行追加重定向。
15.4. 输入重定向
上面我们学了cat
指令,一般我们后面会跟一个文件,就可以显示文件的内容,那如果cat
之后不跟文件名呢:
这时我们输入什么,按回车后,显示器就回显什么,一直输入,就一直回显,按crtl+c
就可以结束。这就证明cat
一直在默认从键盘读取数据,如果我们不想让其从键盘读取数据,就可以使用输入重定向>
。
这个输出重定向虽然与我们的cat
直接输出类似,但是这两者是有区别的,这个我们后面会单独来谈。