Linux学习(四)-- 知识巩固

Linux基础命令

  • 关机       shutdown  -h  now
  • 重启       shutdown  -r   now
  • 查看目录中包含文件     ls
  • 查看文件       cat   文件名
  • 查看文件前几行       head   -n    filename           
  • 查看文件最后几行     tail    -n   filename
  • 重启网络         systemctl    restart   network
  • 关闭防火墙     systemctl     stop    firewalld
  • 关闭开机启动防火墙     systemctl    disable   firewalld
  • 查看防火墙状态     systemctl    status   firewalld
  • 开机启动网络设置     vi   /etc/sysconfig/network-scripts/ifcfg-ens33    里面ONBOOT=no改为ONBOOT=yes
  • 关闭selinux          setenforce 0  -->   getenforce   -->  vi /etc/selinux/config  中的SELINUX设为disabled
  • 查看服务状态     systemctl   status     服务名
  • 删除文件      rm  filename       强制删除   rm  -f  filename
  • 删除文件夹或目录    rmdir   dirname
  • 新建目录    mkdir   dirname
  • 新建文件    touch   filename
  • 移动文件    mv   filename   目标路径
  • 远程登陆linux系统      ssh   目标ip
  • 免密登陆       1.本机生成密钥   ssh-keygen -t rsa       2.进入.ssh文件夹下,复制公钥给目标虚机   ssh-copy-id    目标ip    3.连接目标ip
  • 安装软件     yum   install    名字  -y
  • 卸载软件     yum   remove  名字
  • 查看软件是否安装      软件名  -version   或者     1.rpm -qa | grep+名称    2.dpkg-1 | grep +名称    3.yum list installed | grep+名称
  • 查看磁盘使用率     df   -h
  • 查看内存以及cpu使用率    top
  • 查看本地ip      ifconfig   或者ip  add
  • 查看进程     ps  -ef|grep  进程名称
  • 杀死进程     kill   -9   进程pid
  • 下载命令    wget   url地址   或者git  clone   url地址
  • 查看目录占用空间    du 

相关软件的功能作用

  • yum源  : 软件安装来源
  • nexus   :Nexus仅仅是私服的一种。  为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。当本地yum下载或者Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在私服上。这样,及时暂时没有Internet链接,由于私服已经缓存了大量构件,整个项目还是可以正常使用的。同时,也降低了中央仓库的负荷。
  • jenkins  : 是一个可扩展的持续集成引擎。主要用于:1.持续、自动地构建/测试软件项目。2.监控一些定时执行的任务。
  • docker  :  让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
  • harbor  :  Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。
  • maven  :  自动化部署工具(以及管理项目依赖)。
  • curl命令 : 利用URL规则在命令行下工作的文件传输工具。可上传和下载。
  • source命令 : 在当前bash环境下读取并执行FileName中的命令。source  FileName 或者使用  .  代替。

使用方式

maven  : 

  • 编译项目: mvn compile (将src/main/java下的⽂件编译为class⽂件输出到target⽬录下)
  • 清理工程: mvn clean (删除target⽬录的内容)
  • 打包工程: mvn package (java⼯程打成jar包,web⼯程打成war包)

git:

  • 克隆项目: git clone [git项⽬地址]
  • 更新项目: git pull (需要在git项⽬⽂件夹中)
  • 查看git项目更新状态: git status (需要在git项⽬⽂件夹中)
  • 添加文件到本地仓库: git add [⽂件路径] (需要在git项⽬⽂件夹中)
  • 提交更新:git commit -m "[提交内容说明]"
  • 同步本地仓库与云端仓库(提交到云端):git push

docker与harbor:

  • 登陆:docker  login  harbor地址
  • 退出harbor :docker logout  harbor地址
  • 使用Docker从Harbor载入镜像: docker pull 10.10.10.45/[Harbor项⽬名]/[应⽤名]
  • 搜索镜像: docker search [镜像名]
  • 创建镜像: docker build -t 10.10.10.45/[Harbor项⽬名]/[项⽬名] .
  • 上传镜像到harbor:docker push 10.10.10.45/[Harbor项⽬名]/[项⽬名]
  • 删除镜像: docker rmi [镜像名/镜像ID]
  • 运行容器: docker run -d -p 81:80 --name impc --restart=always 10.10.10.45/[Harbor项⽬名]/[应⽤名]
  • 查看正在运行的容器: docker ps
  • 查看所有容器: docker ps -a
  • 查看容器日志: docker logs [容器名/容器ID]
  • 删除容器: docker rm [容器名/容器ID]

java运行jar程序:

  • java -jar jenkins.war --httpPort=80 --webroot=/opt/jenkins &
  • 在80端口运行,运行在/opt/jenkins目录下,&表示后台运行。

jenkins使用:

  • 详见Linux学习--jenkins

常用故障分析

  • maven编译打包如果出错会导致在docker build过程中提示未找到target相关内容。
  • docker  build成功后开始push到harbor镜像仓库,如果出错,可能是虚机未登陆haobor、harbor中没有新建的项目、docker的daemon.json配置文件没有写harbor的地址。
  • dockers push完成后开始run,如果出错,常见原因可能是:要run的镜像已经在运行或者之前运行过占用了端口,杀掉进程或端口占用后重试。
  • 使用jenkins进行自动化部署时,shell脚本运行到docker push这步时一直停滞不前,可能原因:jenkins虚机设置内存过小,内存不够导致。
  • 使用jenkins多次部署项目,可能会导致项目重复提交、端口占用、镜像已存在等不知名问题,解决办法是:jenkins配置shell脚本时添加本机rm相关内容以及web虚机rm相关内容,详情见Linux学习--jenkins。
  • jar包或者Jenkins重复启动或端口占用: Address already in use.
  • docker容器重复运行: /usr/bin/docker-current: Error response from daemon: Conflict. The container name "/impc" is already in use by container 8eb5fbed83b7bf019d64255fa8fd893001a45f9577e3b033ae07cef740e5be35. You have to remove (or rename) that container to be able to reuse that name..
  • docker连接不到 10.10.10.45 服务器(由于忘记配给docker的daemon.json⽂件)会 报: Unable to find image '10.10.10.45/[Harbor项⽬名]/[应⽤名]:latest' locally Trying to pull repository 10.10.10.45/[Harbor项⽬名]/[应⽤名] ...
  • 由于Harbor项目是私有的,但是docker没有对项⽬的访问权限会报: Error response from daemon: Get http://10.10.10.45/v2/: unauthorized: authentication required

你可能感兴趣的:(Linux)