#Linux#实际开发中Linux相关知识点整理(简单入门..)

                            第一部分:个人对linux简单理解及工具的使用


Linux系统:与Windowsios一样的操作系统,性能相对更稳定,常用于服务器。

分类1:图形化版(没有Windows好看)和服务器版(性能稳定,一些独特优势)

分类2:内核版本和发行版本。Linux是开源的,内核版本即是原生的,免费的。发行版本是二次开发,各种发行公司开发了好多种,如ubuntu(免费,图形化界面比较华丽)CentOS(阿里云服务器、目前公司IMSVA产品),等等..

安装:开发或学习中,一般会在Windows上安装虚拟机,然后在虚拟机中安装Linux系统。本人亲测的VMware虚拟机和CentOS7,安装步骤不陈述,资源如下

虚拟机链接:https://pan.baidu.com/s/1brhihv5密码:h8hd ;CentOS7文件超过4G(需要官网自己下载) 。

注:vmware有快照功能,类似一键恢复。一般在新建环境后,保存快照(snapshot),注意要先关闭linux系统(不然时间我也不知道要多久,还关不掉,我重装系统了..

常用辅助工具:Xshell5(远程连接)Xftp5(winlinux系统的文件管理),链接:https://pan.baidu.com/s/1ggoRpSJ密码:chpy

有开发过程中服务器一般不在本地,故需要远程链接,而且Xshell工具更加顺手,一些功能更加便捷;Xftp5(本地Windows环境硬盘文件与Linux环境下文件的上传下载

     上图时Xshell远程连接登陆界面。

         ftp软件如下图:


                        


                                第二部分:linux常用指令


   Linux目录结构


区分文件和目录(文件夹),目录包含文件,文件存放在目录下
/ :是根目录(顶级目录)   
bin:存放二进制可执行文件
sbin:root才能访问的二进制可执行文件
usr :存放共享的系统资源,类似于Windows下的programfiles
lib :类库                 

 等等,不做具体介绍,


.目录相关

 1. cd  访问目录   

区分 : 绝对路径(全路径)与相对路径(相对当前目录)

绝对路径   例:cd  /opt/trend/imss  访问根目录下的opt目录下的trend目录下的imss目录

                  例:cd  / 访问根目录(个人理解绝对路径就是从根目录开始写,一直到访问的那个子目录)

相对路径   例:cd  .. cd ../ 访问当前目录的上一级目录(相对的)

                 例:cd  trend 访问当前目录(当前目录为/opt)下的子目录trend

                 例:cd  ../etc/sysconfig 访问当前目录的上级目录下子目录下etc目录的子目录sysconfig

小技巧:   tab键有自动补全名字和提示的功能



2.查看当前所在目录  pwd



3. ls 目录

  例:ls  列出当前目录下子目录和文件

  例:ls  /opt/trend/imss 列出指令目录下子目录和文件   ls ../etc/sysconfig/

  条件  -a   -l  等等,放在ls 与目录之间

  例:ls  –a   /opt  列出指令目录下子目录和文件(包含隐藏文件)

  例:ls  –l 列出当前目录下子目录和文件的详细属性(包含权限、创建时间等..)可简写为ll

  例:ls  –al  /opt 两种条件组合(多了隐藏文件+详细属性),

  注:像这种条件组合,之后的各种操作会常见,具体分析



4. mkdir 目录

mkdir 目录名  

mkdir  /opt/ 目录名    两条语句分别在当前目录和指定目录创建了新的目录



5 .rm 目录

rm –r 目录名       例:rm  –r  /opt/trend    删除/opt/trend目录下的所有子目录和文件(-r就是条件,删除包括子目录 及递归删除)

rm –rf 目录名      例:rm  –rf  trend          删除当前目录下trend目录的所有子目录和文件 (-f 是条件,强制删除)

注:-r -f 组合成 –rf



6cp 目录

cp   –rf   目录名称   位置       例:cp   –rf   imss    /opt/                    将当前目录中的imss目录(及子目录)拷贝到/opt/路径下

                                                     cp   –rf   /opt/trend/imss     /opt   (假设上例的当前目录为/opt/trend),那两例执行结果一样

注:-a 是条件将目录的所有信息拷贝(包括权限信息)

   -f 是条件不要询问y Or n ,实际开发如遇到-f 条件后仍询问,傻瓜做法在cp前加\  例:\cp    –rf   目录名   新位置


7.find   目录   条件  查找内容

例:find  /opt   –name  “*dmarc*”            查找/opt目录及其子目录下,名字中含有“dmarc”的目录或文件



二.文件

1touch 文件名

   例:touch    dome.sh       在当前目录下创建了一个demo.sh文件


2.查看文件

cat/more/less/ltail等指令均可查询文件

cat   文件名        例:cat   dome.sh                查看dome.sh文件的最后一屏内容

                                                                      一般查看内容较少的文件,用cat

                                                                       随着Xshell工具的出现,在Windows下连接linux系统(有滚动条),cat查看即可。



3.vi/vim 文档编辑器

个人只用过vi

vi 文件名 >>进入查看模式,方向键上下到要编辑的位置>>按下键盘i >>进入编辑模式 >>编辑完成,按下键盘Esc>>退出到查看模式>>输入冒号:>>然后输入退出指令>>wq+回车(保存退出)<<q!(强制不保存退出)>>完成编辑

:正常的开发过程,都是在windows上开发,然后放到Linux服务器上调试,调试过程中需要修改linux下的一些配置文件,则需要用到vi指令。(如远程debug调试时修改Tomcat.sh文件)



4.chmod 750 文件名

如图 ls  –l 查看文件权限

第一列文件权限,由十个字符组成,将分割成1~3~3~3

第一个位置         d代表目录    -代表文件

2~4位置          代表属主权限   r代表读取权(4)   w代表写入权(2)   x代表执行权(1)   –代表此位置无权限(0)

                         在属主权限里,如果有读取权,则第2位置为r,否则为-

                                                     如果有写入权,则第3位置为w,否则为-

                                                     如果有执行权,则第4位置为x,否则为-

5-7位置          代表属组权限 同理

8-10位置        代表其他用户权限 同理

例:

chmod   750   demo.sh      修改domo.sh权限,74+2+1)代表属主,有读取权、有写入权、有执行权 >>rwx

                                                                          54+0+1)代表属组,有读取权、无写入权、有执行权 >>r-x

                                                                          00+0+0)代表其他,无读取权、无写入权、无执行权 >>---



5.tar 目录或文件的打包压缩及解压

        tar –zcvf 打包压缩后的名字 打包目录或文件

         >>> 例:tar –zcvf imss.dmarc.20180207.tar.gzimss  将当前目录下的imss目录打包压缩为” imss.dmarc.20180207.tar.gz”

       tar –xvf  要解压的文件名字              

         >>> 例:tar –xvf  imss.dmarc.20180207.tar.gz  将其解压到当前位置(注:解压后报名为原名,即imss

        tar –xvf  要解压的文件名字 –C 指定的解压位置



6.grep 查找文件内容

  grep   要查找的内容  文件名字           例:grep   echo   /opt/mytest/dome.sh         搜索dome,sh文件中包含”echo”的部分


三.系统的指令

1.ifconfig >>查看网络连接

注:重启网卡遇到问题,链接 >> https://jingyan.baidu.com/article/e75aca85006645142edac6df.html


2.netstat-an 端口号 >>查看端口情况


3.ps –ef >>查看当前系统中运行的进程


4   |   管道

A | B  管道左边的东西A作为管道右边东西B的输入

          例: ps  –ef  | grep  damrc      查询当前运行进程中包含dmarc的进程



                                           第三部分:实际使用中例子分析


需求:由于系统新添加了DMARC功能,在开发完成后,需要将编译通过的class文件及jsp文件一次性替换或新添到已有虚拟机环境中。


做法:写了以下的简单的shell脚本(个人理解,就是把一些命令行下需要手动一个一个敲的指令,加之条件判断,语法限制,封装成一个文件,使其自动有序执行)


 
 
  1. #!/bin/bash
  2. #
  3. tar xvf imss.dmarc.debug.20180207.tar
  4. chmod 750 imss -R
  5. chown imss:imss imss -R
  6. ps -elf|grep imssmgr
  7. /opt/trend/imss/script/imssctl.sh stop
  8. \cp -rf /opt/trend/imss/bin /opt/trend/imss/bin_org
  9. \cp -rf /opt/trend/imss/lib /opt/trend/imss/lib_org
  10. \cp -rf /opt/trend/imss/config /opt/trend/imss/config_org
  11. \cp -a imss ../trend/
  12. /opt/trend/imss/script/imssctl.sh start
  13. sleep 180
  14. ps -elf|grep imssmgr
  15. /opt/trend/imss/PostgreSQL/bin/psql imss sa -f /opt/trend/imss/script/InsertDmarc.sql
  16. sleep 5
  17. echo "All works are ready and begin to restart!! "
  18. /opt/trend/imss/script/imssctl.sh restart
  19. sleep 180
  20. ps -elf|grep imssmgr

      >>前两行进行声明

      >>tar 解压文件到当前目录(打包之前的目录名为imss

      >>修改imss目录及子目录(-R)下所有文件的权限为750

      >>修改文件的属组

     >>查看当前imssmgr进程状态(看进程号,,比较下次这个模块有没有重启过)

     >>执行imssctl.sh脚本  停止系统

     >>拷贝系统原有三个文件并重命名,方便回滚

   >>拷贝imss 目录,通过相对地址复制到trend目录下(该目录下存放原有imss目录),对其已有文件进行覆盖替换,新添文件完成拷贝

    >>执行脚本打开系统,并使其延时180秒,并查看现在imssmgr进程号

   >>执行sql语句对数据库表进行更新

   >>再次重启,完成更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值