Linux

简介

  • Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

  • Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

  • Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。


环境搭建

安装CentOS镜像(VMware Workstation)

购买云服务器

  1. 阿里云购买服务器:https://www.aliyun.com/minisite/goods?userCode=0phtycgr

  2. 购买完毕后,获取服务器的ip地址,重置服务器密码,就可以远程登录了

  3. 下载 xShell 工具,进行远程连接使用!连接成功效果如下:


走进Linux系统

开机登录

开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

开机成功后,它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份,密码是不显示的,输完回车即可!

一般来说,用户的登录方式有三种:

  • 命令行登录
  • ssh登录
  • 图形界面登录

最高权限账户为 root,可以操作一切!

关机

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

#关机指令
shutdown
sync # 将数据由内存同步到硬盘中。shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机shutdown –h now # 立马关机shutdown –h 20:25 # 系统会在今天20:25关机shutdown –h +10 # 十分钟后关机shutdown –r now # 系统立马重启shutdown –r +10 # 系统十分钟后重启reboot # 就是重启,等同于 shutdown –r nowhalt # 关闭系统,等同于shutdown –h now 和 poweroff

最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

系统目录

#切换目录
[root@hecs-x-medium-2-linux-20210523182654 ~]# cd /
[root@hecs-x-medium-2-linux-20210523182654 /]# ls
bin  boot  CloudResetPwdUpdateAgent  CloudrResetPwdAgent  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  patch  proc  root  run  sbin  srv  sys  tmp  usr  var  www
  • 以下是对这些目录的解释:

    • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
    • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
    • /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
    • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
    • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
    • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
    • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
    • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
    • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
    • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
    • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
    • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    • /srv:该目录存放一些服务启动之后需要提取的数据。
    • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
    • /tmp:这个目录是用来存放一些临时文件的。
    • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
    • /usr/bin: 系统用户使用的应用程序。
    • /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
    • /usr/src: 内核源代码默认的放置目录。
    • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
    • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

常用的基本命令

文件和目录管理

cd/home #进入 '/ home' 目录'
cd ..   #返回上级目录
cd ../.. #返回上两级目录
pwd   #非password  --->print work directory
ls -all  #查看文件,包括隐藏文件
cp -r sourceFolder targetFolder #复制文件包括其子文件到目标文件
mkdir newFolder #创建文件目录
mkdir -p /file1/file2/file3 #创建多个文件目录
mv -rf dir1 dir2 #重命名/移动一个目录
cp file1 file2 #复制文件
cp dir/* #复制dir目录下的所有文件到当前工作目录
rmdir oldFolder #删除文件目录(当该目录下有子文件时无法删除)
rm -rf deleteFile #删除文件包括其子文件
chmod 777 file  #修改文件权限 (r:1,w:2,x:4) 7表示所有操作均可执行#RPM
rpm -ivh package.rpm #安装一个rpm包#查看文件内容
cat file  #从第一个字节开始正向查看文件内容
tac file  #从最后一行开始反向查看文件内容
more file #查看长文件内容 (空格翻页/回车下一行)
head -n file #查看文件的前n行
tail -n file #查看文件的最后n行
  • Vim编辑器

    • vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计;

    • 因为程序简单,编辑速度相当快速。
      vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。

    • vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来显示程序代码与一般信息。

    • vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。

    • 一般模式、编辑模式和命令行模式

      • 一般模式切换到编辑模式:按i

      • 一般模式切换到命令模式 :wq保存后离开

      • 编辑模式切换到命令模式:按Esc

    #Vim编辑器(Vi的升级版本)
    vim helloworld.java  #编辑文件
    
  • 进程

    ps -ef|grep tomcat #查看有关tomcat的进程
    kill -9 1989 #终止进程号为1989的线程
    lsof -i:1212 #查看线程号为1213的线程
    
  • 部署Java SpringBoot项目

    以jar包作为演示

    cd fileTarger   #切换到Jar包所在目录#正常部署(该方式项目运行后无法在输入其他命令)
    java -jar springboot.jar#在后台部署(运行后可以继续输入其他命令)
    nohup java -jar springboot.jar  >/dev/null 2>&1 &

环境配置

JDK安装

  • 先安装 jdk8 rpm (jdk-8u291-linux-x64.rpm)

  • 首先检查是否已经配置好Java环境

    [root@hecs-x-medium-2-linux-20210523182654 taylorswift]# java -version
    
  • 配置环境

    [root@hecs-x-medium-2-linux-20210523182654 taylorswift]# rpm -ivh jdk-8u291-linux-x64.rpm
    
  • 删除环境

    [root@hecs-x-medium-2-linux-20210523182654 taylorswift]# rpm -e --nodeps jdk-8u291-linux-x64.rpm
    
  • 配置环境变量(rpm包配置可以忽略此步骤)

    打开/etc/profile 在文件的最后增加一下配置[实际上与window安装环境变量一样]

    JAVA_HOME=/usr/java/jdk1.8.0_291-amd64
    CLASSPATH=%JAVA_HOME%/lib;%JAVA_HOME%/jre/lib
    PATH=$JAVA_HOME/bin;$JAVA_HOME/jre/bin
    export PATH CLASSPATH JAVA_HOME                 #导出变量
    

Java后端:Linux的基本使用学习笔记相关推荐

  1. Java后端职业规划,附学习笔记+面试整理+进阶书籍

    珍藏版(1)--Mybatis入门 1.什么是MyBatis 2.为什么我们要用Mybatis? 3.Mybatis快速入门 3.1 导入开发包 3.2准备测试工作 3.3 创建mybatis配置文件 ...

  2. Linux性能优化实战学习笔记:第四十六讲=====实战分析

    Linux性能优化实战学习笔记:第四十六讲 一.上节回顾 不知不觉,我们已经学完了整个专栏的四大基础模块,即 CPU.内存.文件系统和磁盘 I/O.以及网络的性能分析和优化.相信你已经掌握了这些基础模 ...

  3. spring boot 前后端分离项目(商城项目)学习笔记

    spring boot 前后端分离项目(商城项目)学习笔记 目录 spring boot 前后端分离项目(商城项目)学习笔记 后端配置 springboot项目 pom.xml文件 maven 配置文 ...

  4. 九十分钟极速入门Linux——Linux Guide for Developments 学习笔记

    转载自: 九十分钟极速入门Linux--Linux Guide for Developments 学习笔记 http://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA ...

  5. linux之awk命令学习笔记

    Linux之awk命令学习笔记 前言 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, ...

  6. Linux C编程一站式学习笔记2

    Linux C编程一站式学习笔记 chap2 常量.变量和表达式 本书以C99为标准 一.继续hello world 加入更多注释的hello world 可以用ctrl+(shift)+v复制到vi ...

  7. 《鸟哥的Linux私房菜》学习笔记

    <鸟哥的Linux私房菜>学习笔记 这是一份学习<鸟哥的Linux私房菜>的学习笔记,记笔记的原则是,感觉平时可能会用到的 就记录的详细一些,感觉暂时用不上的,只需要知道要解决 ...

  8. Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25

    Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25 目录 Rule20 接口优于抽象类 Rule21 为后代设计接口 Rule22 接口只用于定义类型 ...

  9. Linux性能优化实战学习笔记:第十讲==中断

    Linux性能优化实战学习笔记:第十讲 一.坏境准备 1.拓扑图 2.安装包 在第9节的基础上 在VM2上安装hping3依奈包 ? 1 2 3 4 5 6 7 wget http://www.tcp ...

最新文章

  1. 用tomcat插件 在Eclipse 中配置Tomcat项目
  2. 对话推荐系统_RSPapers | 对话推荐系统论文合集
  3. linux网络设置与基础服务命令(ifconfig、hostname、route、netstat、ss、ping、traceroute、nslookup、route)
  4. 动态内存分配及变量存储类别(第二部分)
  5. Web实时通信,SignalR真香,不用愁了
  6. 实现字符串的编码转换,用以解决字符串乱码问题
  7. html根据菜单角色配置菜单代码,CSS设置列表样式和创建导航菜单实现代码
  8. springmvc initial初始化
  9. 跟我从零基础学习Unity3D开发--NGUI入门基础
  10. Gravatar - globally recognized avatar
  11. js 中二叉树的深度遍历与广度遍历(递归实现与非递归实现)
  12. 有哪些开源的小程序商城源码?
  13. pcs7 总结20170607
  14. OpenSIPS脚本中的flag
  15. 解决Mac电脑无法读写ntfs硬盘分区的方法以及磁盘读写的简单方法
  16. html 小喇叭图标,小喇叭不见了怎么办(小喇叭图标不见了的原因及解决办法)...
  17. ACG识图搜索引擎整合及优势分析
  18. 香帅金融课之房地产专辑
  19. 这几天来的第一篇日志
  20. trove mysql 镜像_centos7下手动制作trove镜像

热门文章

  1. 二叉树的先序遍历和非递归遍历
  2. 104. Leetcode 337. 打家劫舍 III (动态规划-打家劫舍)
  3. 26. Leetcode 206. 反转链表 (链表-反转链表)
  4. Leetcode 剑指 Offer 03. 数组中重复的数字 (每日一题 20210614)
  5. mapreduce编程实例(4)-求中位数和标准差
  6. java messagebox 关闭_wince/WinForm下实现一个自动关闭的MessageBox
  7. vector can通信源码_汽车电子CAN网络dbc文件
  8. QT中button中没有accept()和reject()这两个槽解决办法
  9. Excel宏的易错点
  10. 【LeetCode从零单排】No19.RemoveNthNodeFromEndofList