目录
在学习本文前,你需要对计算机的一点基础概念有一点了解,即 目录,路径等概念有过了解,如果你还没有对这些概念有过接触,可以快速阅读下面这篇文章,以方便你对接下来的学习。
Linux基础知识(1)——目录结构,绝对/相对路径,指令等(配图)-CSDN博客
1. 基础命令
1.1 显示当前目录:pwd
语法:pwd
功能:显示用户当前所在的目录
1.2 改变当前目录:cd
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定目录下(简单理解为我们接下来的操作在那个目录下进行)
举例:
cd .. : 返回上级目录cd /home/litao/linux/ : 绝对路径cd ../day02/ : 相对路径cd ~:进入用户家目cd -:返回最近访问目录
2. 文件夹的操作命令
2.1 创建文件夹:mkdir
语法:mkdir [选项] dirname
功能:在当前目录地下创建一个名为“ dirname ”的目录
常用选项:
-p : 后面跟一个路径名称,此时若路径中的某些目录尚不存在,加上选项之后,系统将自动建立好那些尚不存在的目录,即一次创建多个目录。
—举例:mkdir -p a/b/c/d : 递归建立多个目录。
通过上面图片,我们通过mkdir命令 在test目录底下创建了test的文件夹。那怎么知道,我们是否创建了test文件夹呢,也就是说,如何在blog目录底下,查看文件夹呢?这就要介绍 ls 命令
2.2 查看文件夹:ls
语法:ls [选项] [目录或文件]
功能:对于目录,该命令列出目录下的所有子目录和文件 ;对于文件,将列出文件名以及其他信息。
常用选项:
-a : 将列出目录下的所有文件,包含以 . 开头的文件。(如果你不知道 . 和 . . 是什么意思,建议阅读上面提及的文章)
-l : 列出文件的详细信息。
-d : 将目录像文件一样显示。
这样我们就可以知道,我们已经创建好了test的文件夹。
2.3 删除文件夹:rmdir (不推荐)
语法:rmfir [选项] dirname
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录。
常用选项:
-p :当子目录被删除后,如果父目录也变成空目录的话,连同父目录一起删除。
因为我们只是单纯地创建了一个test文件夹,并没有在文件夹里创建文件等内容,所以是个空目录,执行rmdir后,删除test文件夹。当然因为只能删除空目录,所以不够方便,这里不推荐大家使用,我们会下面介绍更为方便的命令 rm。
2.4 复制文件夹:cp(重要)
语法:cp [选项] 源文件或目录 目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如果同时指定两个以上的文件或目录,且最后一个目的地是一个已经存在的目录,则它会把前面指定的所有文件夹或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非非一个已存在的目录,则会出现错误信息。
常用选项:
-f 或 --force : 强行复制文件或目录, 不论目的文件或目录是否已经存在。-r :递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。赋值文件夹时使用。
这里大家可以试着敲一遍,并搭配着说明里的内容,你会有更深的理解。
2.5 重命名 和 剪切文件夹:mv(重要)
语法:mv [选项] 源文件或目录 目标文件或目录
功能:
1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录), rm命令将文件重命名或将其移动至一个目标目录中
2. 当第二个参数是文件时,rm命令完成文件重命名,此时源文件只能有一个,它将所给的源文件重命名为给定的目标文件名。
3. 当第二个参数是已存在的目标目录时,源文件或目录的参数可以有多个,rm命令将参数指定的源文件均移至目标目录中。
4.当第二个参数是目录时,且目录中/后面是一个不存在的文件名,那么执行的是剪切并重命名操作。
3. 文件的操作命令
3.1 创建文件:touch
语法:touch [选项] 文件名
功能:新建一个不存在的文件
新建了一个 file.txt 的文件。
3.2 删除文件:rm(重要)
上面我们介绍了rmdir是删除空目录的,但是我们不推荐。因为rm可以删除文件,也可以删除文件夹,不需要时空目录。
语法:rm [选项] 文件名或文件夹名
功能:删除文件或目录
常用选项:
-f :即使文件属性为只读(即写保护),亦直接删除。-i :删除前逐一询问确认。-r :删除目录及其下所有文件。
所以,如果我们想要删除目录,只需要在rm 后面的参数内写入 -r 即可。
删除文件:
删除文件夹:
3.3 查看文件
3.3.1 全部:cat
语法 : cat [ 选项 ] [ 文件 ]功能 : 查看目标文件的内容。
例如,我们写了一个hello world的C语言文件,可以使用cat来查看:
3.3.2 写入文件: echo
语法:echo [内容] > [文件]
echo指令默认是将内容写入到显示器文件中,加上>,则可以写入文件。
扩展:> (重定向) 和 >>(追加重定向)
>(重定向): 将文件内容清空写入,如果文件不存在,则先创建文件再写入。
>>(追加重定向): 将从文件内容末尾开始写入,如果文件不存在,则先创建文件在写入。
3.3.3 部分,不可用上下键:more
语法 : more [ 选项 ] [ 文件 ]功能 : more 命令,功能类似 cat。
例如,我们写了一万行数,要是cat的话,将全部显示,如果我们只想要一点点看,那就可以使用more,但是使用后我们发现,它只能往下查看,并不方便,所以更推荐less指令。
3.3.4 部分,可用上下键:less (重要)
语法: less [ 参数 ] 文件功能 : less与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前 不会加载整个文件。
3.3.5 显示开头:head
语法: head [ 参数 ]... [ 文件 ]...功能 :head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。选项 :-n < 行数 >: 显示的行数
3.3.6 显示结尾:tail
语法: tail[ 必要参数 ][ 选择参数 ][ 文件 ]功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。选项 :-n < 行数 >: 显示的行数
3.3.7 查找文件:find (非常重要)
语法: find pathname -options功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)常用选项:-name: 按照文件名查找文件。
3.3.8 搜索内容:grep
语法: grep [ 选项 ] 搜寻字符串 文件功能: 在文件中搜索字符串,将找到的行打印出来常用选项:-i :忽略大小写的不同,所以大小写视为相同-n :顺便输出行号-v :反向选择,亦即显示出没有 ' 搜寻字符串 ' 内容的那一行