一、Linux目录结构
1、树形结构
Linux只有一个根目录 / ,所有文件都在它下面
2、Linux路径的描述方式
在Linux系统中,路径之间的层级关系,使用: / 来表示
eg: /usr/local/hello.txt
注意:
开头/表示根目录
后面的/表示层级关系
3、Linux命令入门
3.1、Linux命令基础格式
无论是什么命令,用于什么用途,在Linux中,命令有通用的格式:
commad [-options] [parameter]
` commad:命令本身
· -options:【可选,非必填】命令的一些选项,可以通过选项控制命令的行为细节
· parameter:【可选,非必填】命令的参数,多数用于命令的指向目标等
(语法中的 [ ] ,表示可选的意思)
3.2、ls 命令入门
ls命令的作用是列出目录下的内容,语法细节如下:
ls [ -a -l -h ] [ Linux 路径 ]
3.3、ls 命令的参数和选项
3.3.1 ls 命令的参数
ls [-a -l -h] [Linux 路径]
` 当ls不适用参数,表示列出:当前工作目录的内容,即用户的HOME目录
· 当使用参数,ls命令的参数表示:指定一个linux路径,列出指定路径的内容
如:
3.3.2 ls命令的-a选项
如下语法,ls命令是可以使用选项的
ls [-a -l -h] [Linux 路径]
· -a选项,表示:all 的意思,即列出全部文件(包含隐藏的文件/文件夹)
· -l 选项,表示:以列表(竖向排列)的形式展示内容,并展示更多信息
· -h 表示以易于阅读的形式,列出文件大小,如K、M、G
二、目录切换相关命令(cd / pwd)
1、cd 切换工作目录
更改当前所在的工作目录
语法;cd [ Linux 路径 ]
` cd 命令无需选项,只有参数,表示要切换到那个目录下
· cd 命令直接执行,不写参数,表示回到用户的HOME目录
2、pwd 查看当前工作目录
语法:pwd
三、相对路径、绝对路径和特殊路径符
1、绝对路径:以根目录为起点,描述路径的一种写法,路径以 / 开头
2、相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以 / 开头
3、特殊路径符
. 表示当前目录
.. 表示上一级目录,如:cd .. 即可切换到上一级目录,cd../.. 切换到上二级的目录
~ 表示HOME目录,比如:cd ~ 即可切换到HOME 目录或cd ~/Desktop,切换到HOME内的 Desktop目录
四、创建目录指令(mkdir)
1、mkdir 命令
通过mkdir命令可以创建新的目录(文件夹)
语法:mkdir [ -p ] Linux 路径
· 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可
· -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
2、mkdir -p选项
创建多个层级的目录
注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作
涉及到权限问题,HOME外无法成功
五、文件操作命令 touch、cat、more、cp、mv、rm
1、touch 创建文件
语法: touch linux路径
· touch命令无选项,参数必填,表示要创建的文件夹路径,相对、绝对、特殊路径符均可以使 用
2、cat命令 查看文件内容
语法:cat Linux路径
· cat同样命令无选项,参数必填,表示要创建的文件夹路径,相对、绝对、特殊路径符均可以使 用
3.more命令 查看文件内容
其与cat不同的是:
· cat是直接将内容全部显示出来
· more支持翻页,如果内容过多,可以一页页的展示
语法:more Linux路径
· more同样命令无选项,参数必填,表示要创建的文件夹路径,相对、绝对、特殊路径符均可 以使用
· 在查看过程中,通过空格翻页
· 通过q退出查看
4、cp命令 复制文件\文件夹(copy)
语法: cp[ -r ] 参数1 参数2
· -r选项,可选,用于复制文件夹使用,表示递归
· 参数1,Linux路径,表示被复制的文件或文件夹
· 参数2,Linux路径,表示要复制去的地方
5、mv移动文件或文件夹 (remove)
可用于移动文件/文件夹
语法:mv 参数1 参数2
· 参数1,Linux路径,表示被移动的文件或文件夹
· 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行要被移动的内容被改名
6、rm 删除文件文件夹
1、 rm可用于删除文件、文件夹
语法:rm[ -r -f ] 参数1 参数2 . . . . . . 参数N
· 同cp命令一样,-r选项用于删除文件夹
· -f 表示force,强制删除(不会弹出提示确认信息)
2、通配符
rm命令支持通配符,用来做模糊匹配
· 符号* 表示是通配符,即匹配任意内容
· test* ,表示匹配任何以test开头的内容
· *test ,表示匹配任何以test结尾的内容
· *test ,表示匹配任何包含test的内容
六、查找命令(which、find)
1、which命令
可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里
2、find命令 - 按文件名查找文件
语法: find 起始路径 -name "被查找文件名"
3、find命令 - 按文件大小查找文件
语法:find 起始路径 -size +|- n【kMG】
` +、- 表示大于和小于
· n 表示大小数字
· kMG 表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
七、grep、wc和管道符
1、grep命令
可以通过grep命令,从文件中通过关键字过滤文件行
语法:grep 【-n】 关键字 文件路径
· 选项-n,可选,表示在结果中显示匹配的行的行号
· 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用 " " 将关键字围起来
` 参数,文件路径,必填,表示要过滤的文件路径,可作为内容输入端口
2、wc 命令做数量统计
可以通过wc命令统计文件的行数,单词数量等
语法: wc [ -c -m -l -w ] 文件路径
· 选项,-c,统计 bytes 数量
· 选项,-m,统计字符数量
· 选项,-l,统计行数
· 选项,-w,统计单词数量
· 参数,文件路径,被统计的文件,可作为内容输入端口
3、管道符:|
含义:将管道符左边的命令结果,作为右边命令的输入
八、-echo-tail-重定向符
1、echo命令
可以使用echo命令在命令行内输出指定内容
语法:echo 输出的内容
· 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用" "包围。
2、反引号 `
被 ` 包围的内容,会被作为命令执行,而非普通字符
3、重定向符
· > ,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
· >>,将左侧命令的结果,追加写入到符号右侧指定的文件中
4、tail命令
查看文件尾部内容,跟踪文件的最新更改
语法: tail [ -f -num ] Linux路径
· 参数,Linux路径,表示被跟踪的文件路径
· 选项,-f ,表示持续跟踪
· 选项,-num,表示,查看尾部多少行,不填默认10行
九、vi 编辑器
1、vi / vim 编辑器的三种工作模式
命令模式:命令模式下,所敲得按键编辑器都理解为命令,以命令驱动执行不同的功能
输入模式:也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑
底线命令模式:以:开始,通常用于文件的保存、退出
2、命令模式
如果需要通过vi / vim 编辑器编辑文件,请通过如下命令:
vi 文件路径
vim 文件路径
vim兼容全部的 vi 功能,后续全部使用 vim 命令
· 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
· 如果文件路径表示的文件存在,那么此命令用于编进已有文件