Linux教程

linux 初级

本文主要是介绍linux 初级,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

大纲


1. Linux概述
2. Linux的安装
3. Linux的目录介绍
4. 常用指令
5. 环境搭建

Linux概述


如Windows一样,Linux也是一款操作系统,它并不像Windows那样提供很友好的图形界面以及丰富的应用程序,因此与Windows相比更加稳定,更适合在开发中部署服务器。

其实在我们的日常生活中,已经遇到过大量的Linux系统,比如很多的硬件设备的底层:安卓、路由器等等。

Linux的版本:Linux分为内核版本和发行版本,可以类比安卓版本,每年更新的安卓系统为原生系统,各大手机厂商,比如小米、华为,再对其进行封装。

通常我们说Linux版本指的就是发行版本,主流版本有:

  • Red Hat:RHEL(Redhat Enterprise Linux),也就是所谓的Redhat Advance Server收费版本. 红帽企业级Linux
  • CentOS:RHEL的社区克隆版本,免费
  • SuSE:最华丽的Linux发行版, 企业服务器端 X windows和程序应用方面做的确实不错。尤其与Microsoft的合作关系,应该是在所有的Linux发行版本中最亲密的。
  • Debian:运行起来极其稳定,这使得它非常适合用于服务器
  • Ubuntu:是Debian的一款衍生版,也是当今最受欢迎的免费操作系统, 最流行的linux桌面系
  • Fedora: 想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。

Linux安装


虚拟机:使用计算机中的一部分资源,运行一台虚拟计算机。

安装时注意:

  • 关闭杀毒软件
  • 关闭防火墙
  • 管理员身份
    虚拟机安装完成后,可以安装Linux系统,我们安装的Linux版本为CentOS,安装步骤如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Linux的目录介绍


在这里插入图片描述

  • /

    整个系统的根目录

  • /bin

    bin是Binary的缩写, 这个目录存放着最经常使用的命令。

  • /boot

    这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev

    dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  • /etc

    这个目录用来存放所有的系统管理所需要的配置文件和子目录。例如防火墙文件、网络设置文件、JDK环境配置文件、mysql配置文件等。

  • /home

    用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /lib

    这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found

    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media

    linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /mnt

    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  • /opt

    这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc

    这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

  • /root

    该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin

    s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /selinux

    这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv

    该目录存放一些服务启动之后需要提取的数据。

  • /sys

    这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

    sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。

    该文件系统是内核设备树的一个直观反映。

    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp

    这个目录是用来存放一些临时文件的。

  • /usr

    这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。例如JDK、tomcat、mysql、redis等应用程序。

  • /usr/bin

    系统用户使用的应用程序。

  • /usr/sbin

    超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src

    内核源代码默认的放置目录。

  • /var

    这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

Xshell的安装及使用


实际开发中,tomcat、数据库等,是部署在Linux服务器上的(不再是虚拟机),直接操作这台电脑是很不方便的,因此可以远程连接这台服务器,可以用Xshell来实现。

安装过程很简单,安装后配置连接。

成功连接后就可以远程使用Linux系统了,使用起来非常方便。

如果想要传输文件,还可以安装XFtp。

MacOS下可使用终端来进行远程连接Linux。

磁盘命令


  • ls命令:用来查看目录的内容

    参数:

    • -a

      列举目录中的全部文件,包括隐藏文件

    • -l

      列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等

    • -f

      列举的文件显示文件类型

    • -r

      逆向,从后向前地列举目录中内容

    • -R

      递归,该选项递归地列举当前目录下所有子目录内的内容

    • -s

      大小,按文件大小排序

    • -h

      以人类可读的方式显示文件的大小,如用K、M、G作单位

    例:

    • ls -l

      详细显示当前目录下所有非隐藏内容

    • ll

      相当于ls -l

    • ls -l -a

      详细显示当前目录下所有内容(包含隐藏文件)

    • ls -la

      相当于ls -l -a

    • ll -a

      相当于ls -l -a

    • ll /etc

      详细显示etc目录下所有非隐藏内容
      在这里插入图片描述

    上图红框内的三种字符,代表了该项的类别:

    • -

      代表普通文件

    • d

      代表文件夹

    • l

      代表链接(相当于Windows的快捷方式)

  • cd命令:切换目录

    例:

    • cd /

      转到根目录

    • cd ~

      转到当前用户目录
      ~:

      • 若当前用户为root用户,则~代表/root目录
      • 若当前用户为普通用户,则~代表/home/用户名
    • cd ..

      转到上一级目录

    • cd /usr

      转到根目录下的usr目录中(绝对路径)

    • cd test

      转到当前目录下的test子目录中(相对路径)

  • pwd命令:输出当前目录

  • mkdir命令:创建目录

    例:

    • mkdir test

      在当前目录下创建test目录

    • mkdir /root/test

      在root目录下创建test目录

  • rmdir命令:删除空目录

    例:

    • rmdir test

      删除当前目录下的test目录,该目录必须为空

文件命令


  • cat命令:快捷查看文件内容(适合小文件)

    例:

    • cat 1.txt
  • more命令:分页展示文件内容(加载整个文件后分页展示)

    操作:

    • enter

      向下一行

    • 空格

      向下滚动一屏

    • b

      返回上一屏

    • =

      输出当前行的行号

    • +n

      从笫n行开始显示

    • q

      退出

  • less命令:分页展示文件内容(分页加载文件后展示)

    参数:

    • -m

      显示百分比

    • -N

      显示每行的行号

    操作:

    • enter

      向下一行

    • 空格

      向下滚动一屏

    • b

      返回上一屏

    • +n

      从笫n行开始显示

    • q

      退出

  • cp命令:复制文件或目录

    参数:

    • -r

      递归(可复制目录)

    例:

    • cp 1.txt ~/test/1.txt

      将当前目录下的1.txt复制到用户目录下test目录中

    • cp 1.txt 2.txt

      将当前目录下的1.txt复制一份,并命名为2.txt

    • cp test a/test

      将当前目录下的test目录及目录中全部内容,复制到a目录中

  • mv命令:移动文件或目录

    参数:

    • -f

      强制(不询问)

    例:

    • mv 1.txt ~/test/1.txt

      将当前目录下的1.txt移动到用户目录下test目录中

    • mv -f 1.txt ~/test/1.txt

      将当前目录下的1.txt移动到用户目录下test目录中,强制覆盖同名文件

    • mv 1.txt 2.txt

      将当前目录下的1.txt重命名为2.txt

  • rm命令:删除文件或者目录

    参数:

    • -r

      递归

    • -f

      强制(不询问)

    例:

    • rm 1.txt

      删除当前目录下的1.txt

    • rm -r test

      删除当前目录下的test目录以及该目录中的所有内容

    • rm -rf test

      删除当前目录下的test目录以及该目录中的所有内容,不询问

    • rm -rf *

      删除当前目录下所有内容

    • rm -rf /*

      删除系统中所有内容(不要执行!)

  • find命令:查询文件或者目录

    参数:

    • -name

      要查询的文件或目录名

    例:

    • find /root -name 'ins*'

      查询/root目录下面,所有以ins开头的文件或者目录

  • vim(vi)命令:编辑文档

    例:

    • vim 1.txt

      用vim编辑器打开1.txt

    操作:

    • 刚进入vim时为一般模式,一般模式切换到编辑模式:

      • iI:进入编辑模式

        • i

          从目前光标所在处插入

        • I

          在目前所在行的第一个非空格符处开始插入

      • aA:进入编辑模式

        • a

          从目前光标所在的下一个字符处开始插入

        • A

          从光标所在行的最后一个字符处开始插入

      • oO:进入编辑模式

        • o

          在目前光标所在的下一行处插入新的一行

        • O

          在目前光标所在处的上一行插入新的一行

    • 编辑模式切换回一般模式:

      • Esc:退出编辑模式,回到一般模式
    • 一般模式切换到命令行模式:

      • :w

        保存编辑的内容

      • :w!

        强制写入该文件,但跟你对该文件的权限有关

      • :q

        离开vi

      • :q!

        不想保存修改强制离开

      • :wq

        保存后离开

      • :x

        保存后离开

      • ZZ

        若文件没有更动,则不保存 离开,若文件已经被更改过,则保存后离开

压缩解压命令


Windows常见压缩格式:rar、zip

Linux常见压缩格式:tar、tar.gz

  • *.tar 打包,不压缩文件大小

  • *.tar.gz 打包并且压缩文件大小

  • tar命令

    参数:

    • -c

      创建新的压缩文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。

    • -x

      从压缩文件中释放文件。相当于拆包。

    • -t

      列出档案文件的内容,查看已经备份了哪些文件。

    • -z

      是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz

    • -j

      是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2

    • -v

      压缩的过程中显示文件。

    • -f

      使用压缩包名,在f之后要立即接档名,不要再加其他参数。

    例:

    • tar -cvf 1.tar *

      将当前目录所有文件及目录打包为1.tar

    • tar -zcvf 1.tar.gz *

      将当前目录所有文件及目录打包压缩为1.tar.gz

    • tar -zxvf 1.tar.gz

      将1.tar.gz解压到当前目录

    • tar -zxvf 1.tar.gz -C test

      将1.tar.gz解压到当前目录下的test目录中

系统命令


  • ps命令:查看进程

    参数:

    • -A

      所有的进程均显示出来

    • -e

      与-A相同

    • -a

      显示现行终端机下的所有进程,包括其他用户的进程

    • -u

      以用户为主的进程状态

    • -f

      做一个更为完整的输出

    例:

    • ps -ef

      查看所有系统进程
      在这里插入图片描述

上图中,UID指的是进程是被哪个用户打开的,root用户对所有的进程都由杀死和创建的权利;
PID是进程ID,可以根据PID来杀死相关的进程。

  • kill命令:强制杀死某个进程

    例:

    • kill -9 25948

      强制关闭PID为25948的进程

其他命令


  • adduser命令:创建用户

    参数:

    • -G

      分配工作组

    例:

    • adduser tom

      创建用户,用户名为tom

    • adduser -G test

      创建用户tom,并分配到test工作组

  • passwd命令:为用户设置密码

    例:

    • passwd tom

      为用户tom设置密码

  • groupadd命令:创建工作组

    例:

    • groupadd test

      创建test工作组

  • usermod命令:修改用户

    参数:

    • -G

      分配工作组

    例:

    • usermod -G test tom

      将用户tom分配到test工作组中

用户权限:
在这里插入图片描述

图中红框内的9位字符,代表的是该文件或目录的权限信息。

每个文件或目录的权限分为三类:前三位为所属用户(u)权限,中间三位为所属组(g)权限,后三位为其他用户(o)权限。(a代表所有用户)

  • r:读 4

  • w:写 2

  • x:执行 1

  • chmod命令:修改文件或目录的用户权限

    例:

    • chmod g=rwx 1.txt

      将1.txt的工作组权限修改为所有权限

    • chmod a=r 1.txt

      将1.txt的所有用户权限修改为只读

Linux安装开发环境

Linux安装JDK

  • 下载JDK,传到Linux中

  • 解压到指定目录,通常/usr/local/jdk

  • 编辑环境变量

    vim /etc/profile
    

    文件最后添加:

    export JAVA_HOME=/usr/local/jdk/jdk1.8.0_281
    export PATH=$JAVA_HOME/bin:$PATH
    
  • 刷新配置

    source /etc/profile
    

Linux安装Tomcat

Linux安装MySQL

  • 安装源

    rpm -ivh https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
    
  • 安装MySQL

    yum -y install mysql-community-server
    
  • 启动MySQL

    • 启动

      systemctl start mysqld
      
    • 设置开机启动

      systemctl enable mysqld
      
  • 查看初始密码

    grep 'password' /var/log/mysqld.log |head -n1
    
  • 修改初始密码

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';FLUSH PRIVILEGES;
    
  • 设置远程访问

    CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
    
  • 修改配置文件

    vim /etc/my.cnf
    
这篇关于linux 初级的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!