最近太忙了(其实是因为,实在是太懒了,狗头保命~)
学习真的不能太懒,一定不能。决不能,所以,继续吧,少年!
准备工作:
上一篇文章你都学会了吗?千万别学废鸭https://blog.csdn.net/Amy_nyl/article/details/114368039?spm=1001.2014.3001.5501
今日正题,go go go !
1.vi/vim 编辑器
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。vi是比较老式的编辑器。简单点说,vim 更高级,更人性化。
比如我下面编辑了一个hello.sh的shell文件,通过chmod 777 命令赋予它可读可写可执行的权限。再查看它就绿了~。 chmod 后面补充
接着,我来运行一下这个小程序,输出了业界令人感叹的hello world,哈哈哈哈,学过一点编程的应该不会吃惊,想到了我第一次接触C,看到机器上的hello world ,乐呵了好一会儿呢。
再来看看hello.sh里面到底有点啥吧。总共6行,手残多写了一行空行,就这么看吧。然后大家发现,哎,我这里面怎么都是以#开头,但是最后一行输出的和我脚本执行输出一模一样,但是没有#号呢?
因为在shell里面#就是注释的意思,这一大部分只是给写代码,读代码的人给的hint,不具备实际意义,机器执行也会自动调过这些代码的。
#!bin/bash
#Date:2021-3-23
#Author:Amy
#这是我第一个bash代码
#下面这行你好呀不会输出,因为有#存在
#echo "ni hao ya"
echo "hello world~"
上面这些只是单纯为了理解vim里面的代码,接下俩讲讲怎么使用vim。
基本上 vi/vim 共分为三种模式,分别是***命令模式(Command mode)***,***输入模式(Insert mode)***和***底线命令模式(Last line mode)***。这三种模式的作用分别是:
命令模式(命令行模式):
用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim之后,进入了命令模式,按下i,切换到输入模式。命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式(文本模式):
在命令模式下按下i就进入了输入模式。在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
底线命令模式(退出模式):
在命令模式下按下:(英文冒号)就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。在底线命令模式中,基本的命令有(已经省略了冒号):
q !退出程序
wq 保存文件并退出
按ESC键可随时退出底线命令模式。
vim hello.sh
这里面的~不用在意哦,他表示这个地方没有任何东西,空格也没有。命令行模式下,输入的字符I是个命令哦,表示insert,他不是一个字符i
输入i,之后会看到 insert 表示此时可以开始编辑你的代码内容了~
当你写完了你的主要代码之后,是需要保存一下的。保存是不能再文本模式下的,需要切换到底线模式
按下键盘上的esc键之后,输入英文的冒号:
在冒号之后输入wq,然后回车,即可保存
cat 一下
总结,命令模式输入命令,文本行模式输入代码,退出模式进行保存。
2、chmod命令
【基本语法】
chmod [who] [+ | - | =] [mode] 文件名
【参数】
操作对象who可是下述字母中的任一个或者它们的组合:
- u 表示“用户(user)”,即文件或目录的所有者。
- g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
- o 表示“其他(others)用户”。
- a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
- “+” 添加某个权限。
- “-” 取消某个权限。
- “=” 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。 4
w 可写。 2
x 可执行。 1
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
【举例】
#chmod 755 [filename]
意思是 u的权限是4+2+1、 g和o的权限是4+1,