计算机操作系统--Linux初试06

这一章节的内容我真的没懂,甚至都不知道咋运行截图😂,先东拼西凑整理出来放着,以后再来研究。。

一、shell使用

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。是在Linux内核与用户之间的解释器程序,现在Linux通常指/bin/bash解释器来负责向内核翻译以及传达用户/程序指令,shell相当于操作系统的“外壳”

1.shell变量

变量名命名规则

(1)首个字符必须为字母
(2)中间不能有空格,可以使用下划线
(3)不能使用标点符号
(4)不能使用 bash里的关键字

示例:
your_name=”shell”
使用变量:
echo ${your_name}
只读变量:
readonly your_name
删除变量:(不能删除只读变量)
unset your_name

变量类型

局部变量:在脚本或命令中定义,仅在当前 shell实例中有效,其他 shell启动的程序不能访问局部变量
环境变量:所有程序(包括 shell启动的程序)都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候 shell脚本也能定义环境变量
shell 变量:由 shell程序设置的特殊变量。shell 变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了 shell的正常运行

2.shell 字符串

字符串可以用单引号、双引号,也可以不用引号

单引号

(1)单引号里的任何字符都会原样输出,变量是无效的;
(2)单引号字符串里不能出现单引号,使用转义字符的单引号也不行

双引号

(1)双引号里可以有变量;
(2)双引号里可以出现转义字符

3.shell 数组

bash 支持一维数组,不支持多维数组,并且没有限定数组的大小
数组用括号表示,元素之间用空格分开
初始化时不需要定义数组的大小,数组元素的下标从0开始

4.shell 注释

以 # 号开头的为注释

5.shell 运算符

和其他编程语言一样,支持多种运算符
算数运算符
关系运算符
布尔运算符
字符串运算符
文件测试运算符

原生 bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr
expr是一款表达式计算工具,它能完成表达式的求值操作(使用反引号)

两个数相加:
val=expr 2 + 2
注意:表达式和运算符之间要有空格;完整的表达式要被 ``(反引号) 包含

示例如下:

a=10
b=20
val=`expr $a + $b`
echo “a + b : $valval=`expr $a - $b`
echo “a - b : $valval=`expr $a \* $b` //乘号前面必须加反斜杠
echo “a * b : $valval=`expr $b / $a`
echo “b / a : $valval=`expr $b % $a`
echo “b % a : $valif [ $a == $b ] //条件表达式要放在方括号之间,并且要有空格
then
echo “a 等于 b”
fi
if [ $a != $b ]
then
echo “a 不等于 b”
fi

6.shell分支

shell中条件判断if

(1)if单分支:

-eq 等于,如:if [ "$a" -eq "$b" ]
-ne 不等于,如:if [ "$a" -ne "$b" ]
-gt 大于,如:if [ "$a" -gt "$b" ]
-ge 大于等于,如:if [ "$a" -ge "$b" ]
-lt 小于,如:if [ "$a" -lt "$b" ]
-le 小于等于,如:if [ "$a" -le "$b" ]

(2)双分支if:

if ((1==0)) #判断1和o是不是相等
then
        echo "我是真的"
else
        echo "我是假的"
fi

shell中的 case语句

read VAILE #在屏幕中输入一个数,1或者2,如果不是这两个数就代表其他;即 *),
case ${VAILE} in
        "1")
                echo "我是1"
        ;;
        "2")
                echo "我是2"
        ;;
        *)
                echo "我不是1,也不是2"
        ;;
esac

7.shell函数

function 函数名(){
……….
}

function fun(){
        if(($1 > 1)); then
                echo "条件成立"
        fi
        if(($2 > 1)); then
                echo "条件成立"
        else
                echo "条件不成立"
        fi
}
fun 2 1   #这边传参数给fun()函数

二、vi/vim使用

1.vi基本概念

基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
(1)命令行模式command mode)
  控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
(2)插入模式(Insert mode)
  只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
(3)底行模式(last line mode)
  将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

2.进入vi的命令

vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename….filename :打开多个文件,依次进行编辑

3.移动光标类命令

h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾

4.屏幕翻滚类命令

Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

5.插入文本类命令

i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行

6.删除命令

ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本

7.搜索及替换命令

/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

血月无华AUV

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值