Shell 脚本学习与 Linux 下 vim 命令使用

本贴最后更新于 2696 天前,其中的信息可能已经物是人非

Shell 介绍

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。

我这里学习的主要是 Bash 的 shell 学习,需要的可以关注了解下。

Shell 的学习

最简单的 shell 脚本如下:

#!/bin/bash
echo "Hello World !"

"#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell

运行 shell 脚本,在 Linux 或 mac 下直接将上面内容保存为 test.sh,然后直接:

./test.sh 

shell 的变量,数组,运算学习,大家可以到下面地址学习:

菜鸟教程-Shell 教程

Shell 的使用

这里放上第一个 shell 脚本

#!/bin/bash
echo '连接中...'
sshpass -p op7b14UN23 ssh root@192.168.30.5

上面的脚本是用来登录 linux 远程主机的脚本,可以节省你去记忆的时间。

第二个 shell 脚本

#!/bin/bash
echo '开始tomcat项目,重启中....'
sshpass -p s9feO7Y9dqqa ssh -p 28852 root@45.78.57.1 'cd /usr/java/apache-tomcat-8.0.32_1/bin 
./catalina.sh stop 
./catalina.sh start'
echo '重启完成....'

这个脚本主要是用来重启 linux 主机上的 tomcat 项目的脚本。

第三个 shell 脚本

#!/bin/bash
cd /Users/aaa/git/test
mvn clean install
echo '打包完成....'
sshpass -p op7232UN2D ssh root@192.168.30.5 'rm -rf /home/www/jetty/webapps/ROOT.war'
sshpass -p op7232UN2D scp /Users/aaa/git/test/target/test-lastest.war root@192.168.30.5:/home/www/jetty/webapps/ROOT.war
echo '上传完成....'
sshpass -p op7232UN2D ssh root@192.168.30.5 'cd /home/www/jetty
./bin/jetty.sh restart'
echo '执行完成....'

第一步:将项目用 maven 打包编译。
第二步:将 linux 主机上的 war 包删掉,然后将打包好的上传上去。
第三步:重启项目。

以上就是一些 linux 脚本的使用,更多的使用还需要根据需要自定义,上面有什么不对的地方请各位指正,还是菜鸟正在学习中,望大神手下留情。

Linux 下 vim 命令

Vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,被称为编辑器之神。与 emacs 一起被称为:emacs 是神的编辑器,vim 是编辑器之神。

有兴趣的可以了解下两者的区别:《编辑器之神与神的编辑器

vim 共分为三种模式,分别是一般模式、编辑模式与指令列命令模式。
vim

Linux 常用命令

1.必知命令

i 进入到编辑模式
:w 保存文档
:w! 不保存文档,强制退出
:q 退出
:wq 保存退出

2.移动光标

[Ctrl]+[f]	屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
[Ctrl]+[b]	屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
[Ctrl]+[d]	屏幕『向下』移动半页
[Ctrl]+[u]	屏幕『向上』移动半页
0 	或功能键[Home],移动到这一行的最前面字符处 (常用)
$ 	或功能键[End]	,移动到这一行的最后面字符处(常用)
H	光标移动到这个屏幕的最上方那一行的第一个字符
M	光标移动到这个屏幕的中央那一行的第一个字符
L	光标移动到这个屏幕的最下方那一行的第一个字符
G	移动到这个档案的最后一行(常用)
nG	移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行
gg	移动到这个档案的第一行,相当于 1G 啊! (常用)

3.搜寻与取代

/word	向光标之下寻找一个名称为 word 的字符串。
?word	向光标之上寻找一个字符串名称为 word 的字符串。
n	这个n是英文按键。代表重复前一个搜寻的动作。下一个
N	这个N是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。

4.复制,删除,粘贴

yy 复制
nyy 复制n行
dd 删除
ndd 删除n行
p 粘贴

放上一张 vim 学习图
vim

结束

以上就是一些 Shell 脚本学习与 Linux 下 vim 命令使用,是我在工作过程中的使用和学习,
没有使用过的可以去尝试一下,简单好用你值的一学。

有什么问题欢迎给我来信或留言!

  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    122 引用 • 73 回帖
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    27 引用 • 66 回帖
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    915 引用 • 931 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone

    [em02][em02][em02][em02][em02]

  • someone

    [em12][em12][em12][em12]