发表于: 2017-11-04 21:37:04

1 795


今日完成的事情:


1;在Ubuntu下,$是普通管员,#是系统管理员

更改文件的时候,总是报错,是权限问题,用root就行了


为了避免这种每次加权限的问题,直接修改了配置文件,给普通用户设root权限

,就是编辑文件保存的时候,必须加上!!!!!!叹号强制,否则就是root权限修改也不行


2;修改了数据库的信息,重新上传运行,没毛病


3;shell脚本;与shell脚本的交流是以对话的方式进行的,因此,创建一些真正的脚本,就算是和脚本讲话;按照教程先编写一个,注册的脚本.顺便把用到的常用命令符记一下echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串

Ls(lslist)命令显示了当前文件夹内的文件,添加-la键,它会显示更多文件信息;脚本只有读(r)和写(w)权限


chmod(Change mode)命令执行前,脚本只有读(r)和写(w)权限。在执行chmod +x后,它就获得了执行(x)权限;而且变了可执行的颜色


在脚本名前,添加 ./ 组合。.(点)在unix是当前位置(文件夹),/(斜线)是文件夹分隔符(组合是:"从当前文件夹执行note.sh脚本"。也就是省略了路径,pwd(print work directory 打印当前目录,显示出当前工作目录的绝对路径)查看


.

然后是添加#!/bin/bash到文件首行;这样shell将调用/bin/bash,保证使用bash会执行脚本命令:(cat Concatenate命令连接文件并打印到标准输出设备上)( vi命令是UNIX系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版)Vi单独说一下; Shell提示符后输入命令vi,进入vi编辑器,并处于vi的命令方式。此时,从键盘上输入的任何字符都被作为编辑命令来解释,例如,a(append)表示附加命令,i(insert)表示插入命令,x表示删除字符命令等。,在命令方式下输入的字符(即vi命令)并不在屏幕上显示出来,例如,输入i,屏幕上并无变化,但通过执行i命令,编辑器的工作方式却发生变化:由命令方式变为输入方式


继续上面的脚本, 显示信息后,脚本会等待回答,read(read从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合)命令用来接收回答:

报了错.以为是注释部分写错了,



然后又报错



改了几次还是不行!!!!;暂时换了新的文件用,read读取,$符号变量(shell中,一般我们使用$符号来表明这是一个变量);


基础差不多了,可以简单完善内容逻辑



4;流的重定向,简单学习吧,也不知道要求的脚本让写什么.先按照教程走一遍

,解释为物理设备的输入输出、存储设备上的文件的输入输出,都映射到逻辑上的概念「数据流」大概就是为了抹除一些设备之间的属性差异。每个进程开始,内核为进程打开3个流分别是0就是stdin 1就是stdout 2就是strerr,看了好多不是很理解大概是,这三个标准输入、标准输出、标准错误输出。都是一种抽象的说法,默认情况下,它们分别是键盘、命令行窗口、命令行窗口。之所以需要这种抽象的说法,是因为严格来讲它们不一定是健盘和命令行窗口,只不过默认情况下是。有多种方法可以把它们重定向到别的地方去,比如输出重定向到文本文件、并口、串口等等。再多的就没看了,也看不太懂了,这里就学一下重定向.两个符号>>>前者是重定向到一个文件,后者是重定向到一个文件,而且是不覆盖,累加的形式.


这样看就输入到一个文件里了. (tail命令显示了文件的最后的n行。)


必须使用>>不能使用>否则会覆盖记录,这样就没法记录了


5,日期的使用date

而且日期区分大小写的,注意格式;默认不太好看,格式化注意格式

使用`(是反引号,不是单引号,和波浪号~在同一个键位):可以读取命令的输出到变量,这样就可以加入日期了



Read命令加-p可以显示一些信息


界面就美化多了



6;简单熟悉了脚本,先写一个用jetty的脚本,这里偶然发现jetty的正确启动方式



了解了之前的java -jar jetty.jar只是当前命令行启动,这个就是默认后台启动了;之前的关闭直接kill,这个是stop;而且百度到后台启动的方式很多也说一下吧,虽然不准备用jetty

1.java -jar  xxx.jar 的方式特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

2.java -jar xxx.jar &的方式,&表示后台启动,但是当前ssh窗口不被锁定,当窗口关闭时,程序中止运行

3.nohup java -jar xxx.jar &nohup表示不挂断运行命令,当账户退出或者终端关闭,仍然运行(默认输出到jar目录下的nohup.out的文件中自动创建)用到了命令netstat -tulp查看进程; ps(Process Status) -ef (-e显示所有进程-f全格式) |grep(gerp文件内的查找)端口号/应用程序查看pid;就是kill杀死


7;一个简单的jetty启动脚本两句话很简单的一个都出错了

第一个问题是不能直接访问./格式;这个是windows编辑的..格式错了set ff


Set ff(fileformat)=unix就可以了



改了之后jar不能运行的也解决了,ok我的jetty正常启动了;虽然脚本就两句话,哈哈.



8;师兄用的都是tomcat这里也改一下,出了问题好交流,也记录一下用到了命令tar(Tape archive) -zxvf解压, mv: Move file

赋予权限ls(list file)加上参数-l,是多列显示;默认是c参数,单列,这里涉及到的chomd的应用上面说了+X表示加权限- 表示取消权限、= 表示唯一设定权限;这里出现了数字,语法为:chmod abc file, 其中a,b,c各为一个数字,分别表示UserGroup、及Other的权限。u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人; r=4w=2x=1;rwx属性4+2+1=7;同理rw-属性6r-x属性则5;这样来看实际上下面的755就可以解读为我自己是读写用,同组是读用,外人是只可用


然后是修改配置文件;同时修改启动和关闭的方便启动与关闭的命令使用


运行测试ok,关闭同样shutdown





9;部署也就简单了,war包上传,直接访问就ok


10;在这一步,就深刻体会到脚本的作用了,上面jetty还不太明显,切换目录不太多,tomcat就比较麻烦了,来回cdcdcd…写脚本之前再装个svn,这样流程就更完善了;用到的命令apt(Advanced package tool)-get install subversion使用apt-get命令的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上。


然后是建立仓库文件夹,以及授权等,这里就不细说了,最后启动成功


然后试一下check out项目好像出了点问题….自己搞复杂了

 


明日计划的事情:


1;搞清svn流程,完善tomcat脚本


2;学习Nginxresin


3;学习一下java基础



 

遇到的问题及解决方法:


1;按照教程这样启动jetty一直失败,这个不管了,用另一种方法也启动了,成功跑通了

 


2;开了另外一个连接,启动jetty不行,说是虚拟机内存不够..


3;突然就连不上了….又自己好了….

4; 这个是前面报错bad variable的问题,当时是又新建了一个文件,后来发现是偶尔编辑文件的时候,强行退出了,没有很好的保存,导致文件出错了



要删除掉隐藏的就好了


 

5;jetty正确启动的时候,报了错,缺少目录什么创建用户组,第一次装的时候没注意,这里也不改了,下次用插件



6;svn下载项目出了小问题,最后发现是我搞复杂了...


 


收获:


1;远程部署tomcat


2;完善jetty的使用


3;学习脚本的基本内容


4;远程部署svn


5;Ubuntu大量的命令,操作了一些,熟悉了很多,用着顺手了

 

 



返回列表 返回列表
评论

    分享到