简单粗暴的Linux入门以及基础命令
Linux基础
前言
- 博主是一个后端开发的实习生,对于Linux的学习是必要的,运维和部署都在Linux上,技多不压身,且对理解操作系统有很大的用处,比如Linux的内核以及基本结构和思想,且对后面学习分布式docker有很大的帮助,学习分布式,Linux必不可少。
1.什么是Linux
- Linux是一个与windows、mac等操作系统同样的一种操作系统,它是一种免费的强大的操作系统,常常用于部署项目,运维项目。
2.Linux相关准备
-
1.需要准备vmware为我们提供虚拟的计算机,centos是运行在这个平台上的linux操作系统,国内使用的要么是centos,要么是ubuntu。
-
centos下载地址:centos7北京大学镜像源选择从上往下数第二个
-
vmware下载地址:找教程下。
-
finalShell下载地址:finalShell下载。
-
2.准备便于操作的图形化命令界面,finalShell。
3.Linux基础命令
-
1.Linux的目录结构:在Linux操作系统中没有盘符的概念,它只有一个根目录,以"/"命名,比如:/user/hello.txt表示路径。
-
2.命令行:提供字符化操作页面供命令执行。即输入命令的终端界面。命令:系统内置的程序,以字符化的形式去使用。通过在命令行输入字符的形式调用系统内置程序。
-
3.Linux命令通用格式:命令+选项(可选)+参数(可选)。
-
[commend] [choice] [params]
4.ls命令
-
1.功能:ls命令的功能是列出当前工作目录的所有文件列表。
-
2.工作目录:路径为/home/用户的目录。
-
3.单纯只使用ls是列出/home/zhanjunhao工作目录的文件列表。作用与ls /home/用户输出的结果一样。
-
4.ls的参数和选项:ls的选项分为【-l -a -h】。
-
5.-l:表示以竖向列表的形式展示当前工作目录的文件列表。
-
6.-a:表示展示当前工作目录的所有的文件列表,包括隐藏的和未隐藏的。
-
7.-h:以更人性化的方式展示当前工作目录的所有文件列表。比如加上了单位kb。
-
8.命令选项之间可以组合使用。比如 ls -l -a -h或者ls -alh。
5.cd命令
- 1.功能:切换工作目录。
- 2.注意相对路径和绝对路径的问题。绝对路径:就是从根目录开始的路径,比如:/home/zhanjunhao。相对路径:以当前工作目录为根的开始的路径,比如现在在/home/zhanjunhao目录中。可以直接cd Desktop进文件目录中。
- 3.cd … 回退上一级。cd ~ 回退至用户的home目录。 cd …/…/ 可以嵌套回退,一个…表示回退一级。 cd ./Desktop 表示进入当前目录下的Desktop文件,.表示当前目录。
6.pwd命令
-
1.功能:显示当前的工作目录。
-
pwd含义:print work directory。
7.mkdir命令
-
1.功能:创建文件夹。注意是创建文件夹而不是文件。
-
mk含义:make directory。
-
2.注意:当前只能在HOME目录下进行操作,如果跳出了HOME文件目录,就会涉及到权限问题,操作有可能不会成功。
-
3.注意:同样具有绝对路径和相对路径的特性。
8.touch命令
- 1.功能:创建一个文件,而不是文件夹。注意,现在是相对路径为主,作用域是当前工作目录。
touch-cat-more综合例子
9.cat命令
-
1.功能:查看文件内容。
-
cat的含义:catch。
10.more命令
-
1.功能:分页查看文件内容。使用空格键翻页,q键退出。
-
q的含义:quit退出。
11.cp命令
-
1.功能:复制文件或文件夹。
-
2.语法:cp [-r] 文件1 文件2路径。含义:复制文件1为文件2,文件2可以写为路径,比如/home/zhanjunhao/文件2,用于复制到指定目录。
-
3.-r:如果是复制文件夹,需要制定-r进行递归复制,复制文件夹也是复制里面的所有文件。
12.mv命令
-
1.功能:移动文件或文件夹。
-
2.语法:mv [-r] 文件1 文件2。与cp一样,只是功能变成了移动。
-
3.注意:可以做到改名的功能,比如:mv test.txt test2.txt在同一文件夹下把test.txt移动到test2.txt,只能是自己移动自己并改名。
mv改名文件夹
mv改名文件
13.rm命令
-
1.功能:删除文件或文件夹。
-
2.语法:rm [-r -f] 文件或文件夹。与cp一样,只是功能变成了删除,且-f表示强制删除,普通用户无确认信息,而root用户有确认信息,涉及权限问题。
-
3.注意:rm是一个危险的操作注意不要删错了。
-
4.通配符:rm操作支持通配符的模糊匹配操作:*test表示删除末尾为test的文件或文件夹,test*表示删除开头为test的文件或文件夹,*test*表示删除包含test的文件或文件夹。
-
5.权限切换:su - root。后输入密码即可切换至超级管理员。exit退出超级管理员。
-
注意:这里博主有点笨,把test.txt创建成了一个文件夹。
14.which命令
-
1.功能:查找命令的文件地址。
-
2.对于我们之前学习的命令,比如cd、mv、rm都是一个个二进制文件封装好的文件,在Linux的世界里万物皆文件,所以which能够找到对应的命令地址。
15.find命令
-
1.功能:查到文件地址。
-
2.语法:find 起始地址 [-name -size] [‘文件名称/通配符写法’ +/-数字kMG]。
-
3.含义:从起始地址通过-name:以名称匹配的模式查找对应的文件。
-
-size:从起始地址通过-size以文件大小的模式查找对应的文件,+代表大于,-代表小于。k是kb,注意是小写的!M是MB,G是GB。
-
对于文件的参数也是支持通配符的查找。
-
某些查找需要一定的root权限,su - root。
16.grep
-
1.功能:grep命令相当于一个过滤器,能够过滤并显示文件的内容。
-
2.语法:grep [-n] ‘搜索的关键字’ 文件路径。-n:表示在输出的结果中显示结果行号。
-
不懂管道符可以往后看。
17.wc
-
1.功能:统计文件的内容的字节数-c、字符数-m、行数-l、单词数-w。
-
2.语法:wc [-c -m -l -w] 文件路径。
-
3.如果不选则显示全部统计信息。顺序为行数、单词数、字节数、字符数。
-
4.注意:观察到行号是从0开始的。
18.管道符
-
1.概念:就是|符号。
-
2.作用:能够将左边输出的内容作为右边输入的内容。左出右进。
-
3.比如:cat test.txt | grep 'hello’的含义就是把cat test.txt的内容传入右边grep的过滤器之中进行过滤。
19.echo命令
-
1.功能:在命令行输出内容。
-
2.注意:可以和反引号配合,用反引号包裹起来的语句可以当作命令解析。
-
3.可以和重定向符号配合,比如>表示覆盖写入,>>表示追加写入。
-
这里有个有趣发现,我键入了!感叹号,然后报错了,这是特性问题,我们可以用转义字符就行,改成\!。
echo-tail-重定向综合例子
20.tail命令
-
1.功能:查看文件内容的末尾。
-
2.语法:tail [-f -具体的数字] 文件路径。
-
-f:表示持续跟踪这个文件,如果即时的追加内容也可以被监控到。
-
-具体的数字:表示显示从后开始几条内容,可以不用显示完。默认为10。
21.重定向符
- >表示覆盖写入,>>表示追加写入。
22.vim/vi编辑器
-
1.功能:它是一种编辑文件内容的命令。vim时vi的加强版。
-
2.语法:vim 文件地址。
-
3.工作机制:当我们使用vim 文件地址的命令后 我们进入了正常模式然后根据键盘的按键进入插入模式*,对文本内容进行编辑,最后按esc退出输入模式,返回了正常模式,然后键入:按键进入命令模式,然后输入指令,比如wq,表示保存并退出。
-
注意:这里只是非常一小部分的快捷键,建议ai搜索快捷键。
-
4.刚进入正常模式后,键盘键入的含义:
-
i:进入插入模式,在光标前插入。
-
a:进入插入模式,在光标后插入。
-
o:在当前行下方新建一行并进入插入模式。
-
esc:返回正常模式
-
单纯的:符号表示进入命令模式
-
5.进入插入模式后:
-
gg:移动到文件第一行。
-
G:移动到文件最后一行。
-
单纯的,:n,表示跳到第n行。
-
dd:删除当前行。
-
yy:复制一整行。
-
u:撤销。
-
/:在正常模式下键入/表示进入搜索模式。直接输入关键字进行搜索。
-
n:下一个匹配项,前提是进入了搜索模式后。
输入命令进入vim正常模式
进入插入模式,左下角有个插入提示
命令模式进行保存文本和退出文本编辑,左下角是wq
总结
- 了解了Linux的概念,用处,安装,基本命令以及vim编辑文本。