目录
前言
1、ls指令
2、pwd指令
3、cd指令
4、touch指令
5、stat指令
6、mkdir指令
7、rmdir 与 rm指令
8、man指令
9、cp指令
10、mv指令
11、cat指令
(1)输入重定向
(2)输出重定向与追加重定向
12、less指令
13、head与tail指令
14、find指令
15、grep指令
16、zip和unzip指令
17、tar指令
18、uname指令
19、常用热键
我们都知道,在学习Linux过程中,我们首先得学会一些基本指令,这样我们才进行后续的学习,本章小编主要带着大家一起学习我们在学习Linux过程中所需要了解的一些基本指令,建议收藏起来方便后续查阅;
ls指令是一个查看目录下所有文件与文件夹的指令;其还携带以下选项;
-l:列出文件详细信息
-a:显示隐藏文件
-i:显示文件的inode
注意:实际上还有很多选项,我认为对于新手来说,这些指令已经足够使用了,后续指令学习也是如此,仅仅列出作者平时用的比较多的选项,减少新手学习的负担;
补充:
Linux下隐藏文件/目录是以 . 为开头的文件,也就是说,如果若我们向创建一个隐藏文件/目录,我们就以点为开头给这个文件/目录命名,同时,无论在哪个文件目录中,我们都可以找到两个隐藏目录,一个是 .目录,另一个是 ..目录;如下图所示;(上述所提目录也叫作文件夹)
名字为点的目录实际上就是当前目录,名字问点点的目录实际上就是我们的上级目录;我们后面使用cd命令时会使用这两个目录;
pwd指令就是显示用户当前所在的目录;
cd指令即进入指定的目录中;具体用法如下
cd 路径(绝对路径和相对路径) // 进行指定路径的作业
cd ~ // 进入用户家目录
cd _ // 返回上次访问的目录
cd . // 进入当前目录(废话指令)
cd .. // 进入上一次目录(类似window下的点击返回上级目录功能)
补充:
这里给小萌新们补充一下绝对路径和相对路径的概念(知道相关概念的同学可以看下一条指令了)
要想完全弄清这个概念,我们首先得知道我们Linux的目录结构本质上就是一个多叉树;而我们的window的目录结构则是多棵多叉树(一个盘符一棵树,比如C盘);下图为Linux目录结构;
绝对路径:指的是从 / (根目录)开始,直到我们确定的那个文件/文件夹,我们称这种路径为绝对路径,;例如 我们想进入/home/alice 目录,我们使用 cd /home/alice;
相对路径:指的是从用户当前位置开始的相对目录;举个栗子,我们当前在/home/eve目录下,我们想要进入 /usr/bin目录里,此时我们可以使用 cd ../../usr/bin 进入指定目录下;
touch指令主要有两个功能,其一是创建一个不存在的文件,具体语法如下;
touch 不存在的文件名
touch的另一个功能是修改文件/目录时间;关于这里时间概念,我们要有一个基本的认识;文件有三种时间,分别为Access(最近访问时间)、Modify(最近修改文件内容时间)、Change(最近修改文件属性时间),我们可通过 stat 文件名 来查看;
这里特别需要注意的是Modify与Change,Modify的修改只是修改文件内容,但是我们发现我们修改文件内容时,其属性一般也会发生变化,如文件大小等,因此可能Change时间也会发生改变;
touch 文件名 // 修改文件的三个时间为当前时间
touch -a 文件名 // 修改文件的最近访问时间(Access)和属性修改时间(Change)
touch -m 文件名 // 修改文件的最近修改时间(Modify)和属性修改时间(Change)
stat指令一般用于显示文件的详细信息,具体用法如下;
stat 文件名 // 这里的详细信息萌新可能看不懂,不过不用着急,学到文件系统时会有涉及
mkdir指令一般用于文件夹的创建,具体用法如下;
mkdir 不存在目录名 // 从当前目录下创建一个目录
mkdir -p 一连串不存在目录 // 从当前目录递归创建一连串目录结构,如 a/b/c;
rmdir主要作用是删除一个空目录,而rm的功能是删除目录或文件,理论上我们会其中rm即可,具体用法如下;
rmdir 空目录名 // 删除一个空目录
rm 空目录/文件名 // 删除一个空目录或文件
rm -r 非空目录 // 删除指定目录与其下所有文件和目录
rm -rf 非空目录 // 在上面命令基础上取消询问
man指令类似于在线文档,我们可通过该指令查询别的指令的用法,还可以通过该指令查询一些系统调用接口的使用;其一共分为9个文档,具体如下;
这里我们主要了解前3号手册,其中1号手册是查询一些指令,2号手册是查询系统调用,3号手册主要是一些库函数的查询(如C语言中的printf函数等);
cp指令主要功能是对文件/文件夹的拷贝;具体用法如下
cp 被拷贝文件 指定路径 // 将被拷贝文件拷贝到指定目录
cp -r 被拷贝非空目录 指定路径 // 将被拷贝文件目录及下所有文件目录拷贝到指定路径下
-f: 我们在上述命令下加上f选项则会取消询问;
mv指令相当于我们window下对一个文件进行剪切的工作,除此之外还有重命名的功能;具体用法如下;
mv 被操作文件/目录 已存在目录 // 将文件/目录移动到其已存在目录下
mv 被操作文件 不存在文件名 // 将目标文件修改为指定文件名
cat指令主要功能是查看指定文件内容,并将结果打印到显示器中;
cat 指定文件 // 打印指定文件内容
补充:这里补充三个指令符,分别为输入重定向(<)、输出重定向(>)、追加重定向(>>);
我们的cat想输出某个文件的内容除了可以这么写 cat 文件名,还可以 cat < 文件名;如下图所示;
这两种写法是等价的,都是将我们的cat原本从键盘获取输入改为从tmp.txt文件获取输入;
在这之前我们可以熟悉一条指令,echo,功能为打印字符串到屏幕中,如下图所示;
那我们是否可以将内容输出到文件中呢,这时我们就要通过我们的输出重定向了,如下图所示;
我们不难发现,我们每次输出都会清空文件,然后再将内容添加到文件中去,那么我们是否可以不清空文件,然后往文件内添加内容呢?这时我们就可以使用我们的追加重定向了;如下图所示;
我们可以通过less指令来进行大文本进行阅读;文本首先会打印满整个屏幕,然后我们通过上下进行阅读位置调整,主要用于粗略查看文本内容,后续真正查看文本内容我们会通过vim来查看;
less 文件名
head与tail也是文本查阅的指令,我们可以通过 head 与 tail 提取指定行,主要用法如下;
head -n行数 文件名
tail -n行数 文件名
find指令主要用于文件的查找,其功能十分强大,这里我们只介绍一种最为常见的用法,具体如下;
find -name 文件名 // 查找指定的文件名
grep指令用于文本内容的过滤,以下为基本用法以及常用选项;
grep 选项 搜索字符串 文件名
-i:忽略大小写
-n:顺便输出行号
-v:反向选择
zip是给文件打包压缩,unzip是给文件解压,具体用法如下;
zip 选项 压缩包名 被打包文件/目录 // 一般会带-r选项,递归打包目录下所有子文件
unzip 压缩包名 选项 // 选项可加-d 解压路径
tar指令也是给文件进行打包压缩的指令,除此以外,还可以进行解压,通过选项进行控制;具体用法如下;
tar 选项参数 文件目录参数
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
上述指令看起来非常繁琐,对于新手来说,我建议以下两组选项即可;
压缩打包: tar -czf 压缩包名 被压缩文件/目录
解包:tar -xzf 解压后文件/目录名 -C 解压路径
获取当前获取电脑和操作系统的相关信息;
-a:详细输出所有信息;
ctrl + d:意味着键盘输入结束EOF,有退出的意思;
ctrl + c:结束前台进程
tab:命令的智能补全
ctrl + z:暂停当前进行