人在思考或者工作时总是孤独的,不管他在什么地方都不会例外。
——梭罗
1.Linux的目录结构
众所周知,windows系统分可分为C盘和D盘和E盘,有多个顶级目录,如下图
而Linux就不一样啦,它的目录结构就是一个树形结构,没有盘符的说法并且只有一个顶级根目录“/”,所以的文件都在它的下面啦。
windows系统中,路径的层级关系用反斜杠\ 来表示,例如D:\aaa\bbb
Linux系统中,路径的层级关系用正斜杠/ 来表示,列如/ccc/ddd(开头的/表示根目录)
嘻嘻嘻,我相信不止我一个人搞不清反斜杠与正斜杠,我这样记:左正右反。
2.Linux的基本命令
命令行:就是Linux终端(Terminal),是一种命令提示符页面,就是一个输入命令的页面(Windows win+r输入cmd下图)
命令:即Linux程序,它没有图形化界面
对于Linux而言,无论什么命令它都有一个通用得语法模板 command [-options] [parameter]
* command : 命令本身
* -option: [可选滴,非必填] 可以控制命令的一些细节
* parameter:[可选项,非必填] 命令的参数,控制命令的指向目标
反正记住就是——本体 选项 参数,语法中的[ ]表示可选的意思
例如终端输入:cp -r test1 test2
cp是本身命令,-r是选项,后面test1 test2是参数,表示复制文件夹test1 成为test2
ls 命令
ls是list的缩写它的作用就是,以平铺的形式,展示当前工作目录(默认HOME目录)下的内容(文件或文件夹)
那什么是当前工作目录呢?当终端启动时它回默认加载当前登录用户的HOME目录作为当前的工作目录,所以说ls列出来是HOME目录下的内容,而HOME目录为每一个用户在Linux系统下的个人账户目录
HOME文件又是什么?就是每一个用户在Linux下的专属目录,不同用户内容不同,默认在/home/用户名
例如我在FinalShell输入ls,得到结果是根目录下的home文件夹里面的专属用户文件夹的内容
ls命令的参数:它的作用是指定要查看哪个文件夹的内容,如果不写就是默认的home文件夹
例如显示根目录 / 下的所有的内容
ls命令的选项:一共有三个
-a:all的缩写,就是显示当前文件夹下的所有内容包括隐藏文件,这些文件是以 .开头的就是隐藏文件
-l:以列表的形式展示内容,可以更好的展示细节
-h:必须和-l 一起使用才可以,可以更好的显示文件的大小(单位k,m,g)
这三个选项也可以组合使用:ls -al 就等同于 ls -a -l
cd,pwd命令
cd命令:(Change Directory) 它的作用是切换当前的工作目录,语法是 cd [linux路径]
如果cd加了路径就切换到指定的路径为工作目录,如果没有加就切换默认的工作目录(Home目录)
例如:切换到根目录为工作目录
切换回来
pwd命令:(Print Work Directory),没有选项,也没有参数,它的作用是打印当前的工作目录
拓展知识:
绝对路径:是以根目录为起点的 路径,比如D://aaa ,Linux以/开头,一般很长滴
相对路径:是以当前路径为起点的路径,一般比较短
特殊路径符:. 表示当前目录; .. 表示上一级目录; ~ 表示home目录
Mkdir命令
它的作用就是创建一个目录(文件夹),语法结构为:mkdir [-p] Linux路径
路径:必选,就是在哪创建
-p: 可选,选项表示一次性创建多个层级关系的目录,比如一次性创建AAA/BBB/CCC多个文件夹就要用它
例如:创建一个文件AAA
例如:创建多个层级关系文件,BBB文件夹里面有CCC文件夹,然后CCC文件夹里面又有bc文件夹
touch命令和cat命令和more命令
touch的作用就是在指定路径创建文件(不是文件夹啊!),语法结构:touch Linux路径
路径是必选的,例如在工作目录下创建一个one.txt文件
cat的作用就是查看文件的内容,内容会全部显示出来,语法:cat Linux路径
同样路径是必须的
more命令的作用也是查看文件,只不过如果内容多的话是可以支持翻页查看的,不会全部显示出来,语法:more Linux路径
路径是必须的;使用空格来翻页,按q然后就退出翻页
cp命令和mv命令和rm命令
cp命令是用于复制文件或文件夹的(copy),语法格式是:cp [-r] 参数1 参数2
-r 选项:可选,用于复制文件夹的时候用,表示递归(反正复制文件夹就用它,不然报错)
参数1: Linux路径,表示被复制的文件或文件夹路径
参数2:Linux路径,表示复制到哪去的路径
例如:复制one.txt 去文档目录
mv命令是用于移动文件或文件夹(相当于剪切,move),语法格式:mv 参数1 参数2
参数1 :Linux路径,表示被移动的文件或文件夹
参数2:Linux路径,表示要移动到哪去的地方,如果该地方不存在就表示把它名称修改为这个(这个记得呀)
例如:移动one.txt文件到下载目录中
rm命令是用来删除文件或文件夹的(remove),语法格式:rm [-r -f] 参数1 参数2…… 参数n
-r:选项表示删除文件夹用
-f:表示强制删除(就是在删除文件的时候系统不在提示你,一般用于root用户)
参数:这里支持无限参数,表示删除这大堆文件,当然也可以用通配符*来表示
例如:删除one.txt和two.txt文件
which命令和find命令
必知:我们所输入的命令其实就是一个一个的程序文件,就相当于windows里的exe文件
which命令用于查找命令的程序文件,语法:which 要查找的命令
例如:查找cd命令的程序文件
find命令是用来查找指定的文件的,可以根据文件名或文件大小来查询
文件名查询:find 起始路径 -name "被查找的文件"
起始路径:表示要从哪里开始查找,注意查找的时候记得替换root用户(su - root)
例如:查找home目录下one.txt文件(记得双引号别忘记)
文件大小查询:find 起始路径 -size +|- n[KMG]
+:表示大于
-:表示小于
n[KMG]:表示大小是n,单位kb,mb,gb
例如:查找home目录小于10kb的文件(多的根本数不过来就截了一点,哈哈哈哈哈)
grep命令
作用:从文件中通过关键字来查找文件行(就是通过关键字查找有哪些行)
语法:grep [-n] 关键字 文件路径
-n:为可选,表示显示与之匹配的行号(就是在哪行)
关键字:必选,建议用双引号包裹起来
文件路径:必选,注意可以作为管道符的输入
例如:查看one.txt 文件里面有girl关键字的行(显示在第二行)
wc命令
作用:统计文件的行数,单词数,字节数,字符数等
语法:wc [ -c -m -l -w] 文件路径
如果不带选项则默认统计行数,单词数,字节数
选项:-c字节数,-m字符数,-l行数,-w单词数
文件路径:必选,可作为管道符的输入
(注意,单词数不包括符号,空格那些是一个完整的字与标点符号;字符包括字,空格,标点符号)
例如:统计one.txt文件的行数与单词数(2行,4个单词)
管道符 |
作用:将符号左边的输出结果作为右边的输入(输入源)
例如:查看one.txt 文件里面有girl关键字的行(显示在第二行),把左边的结果给了右边的输入
这个在以后的应用中是经常用到滴,很重要滴呢友友们!
echo命令 (单词是回声的意思)
作用:用于在命令行输出指定的内容,就相当于print
语法:echo 输出内容
内容复杂的建议用双引号包起来,很简单滴
例如:
` 反引号(向右下撇滴)
被反引号包围的内容会被看作为指令,而不是普通的字符串啦
例如:输入echo ls 并没有打印ls出来
重定向符(两个)
>:将左侧的命令结果,覆盖到右侧指定的文件中
例如:one.txt里面的内容全部都更改了
>>:将左侧的命令结果,追加到右侧的文件中
例如:利用反引号在one.txt文件里面追加内容
tail命令
作用:查看文件的尾部内容,并可以持续跟踪
语法:tail [-f -num] linux路径
选项:-num 是一个具有的数,表示在尾部查看多少行(-1就是看1行),不是单词-num,如果不写默认查看10行
-f:表示持续跟踪,就是程序回一直跟踪这个文件
例如:查看one.txt文件最后一行内容
如果持续跟进呢,例如我们在one.txt文件查看内容
首先它会持续运行这个指令
例如
然后我们创建一个新的标签,在这个文件的内容里面后面夹加AAAAAA
可以看到开始的结果变化了,后面也多了一行内容,这个就是持续跟踪
拓展知识:vi/vim编辑器
它是命令模式下的文本编辑器,用来编辑文件的,vim是vi的升级版本,一般用vim。就像我们平时图形化时使用的记事本啦。
这个编辑器有三个模式,命令模式(默认的模式,一进去就是,可以通过输入命令快捷键来控制文件内容);输入模式(通过命令模式进入,对文件进行输入,esc退出);底线命令模式(通过命令模式进入,可以对文件进行保存,关闭等操作)如下图:
进入vim编辑器,它会直接进入命令模式,vi/vim 文件路径
如果该文件路径存在,就用于编辑已有的文件,如果不存在就会创建一个新的文件然后再编辑
例如:
1.编辑文件one.txt,命令行输入 vim one.txt ,进入命令模式
2.现在是编辑不了的,然后输入a 进入输入模式,可以看到下面有一个插入提示
然后我们输入完之后,按ESC退出输入模式到命令模式
3.再输入 :wq 按回车,来保存文件,自动退出vim编辑器,你看查看文件内容就写进去啦并且保存成功啦
上面的只是演示了一下使用编辑器的流程,当然还有非常非常多的快捷键,大家可以看一下下面然后自己操作一下下
好啦,自己好好练练,有什么问题评论区一起讨论吧!