Linux教程

简介: Linux无敌小白入门教程

Linux

1.环境配置

1.1环境准备

  • Linux镜像

    • 选择centos

    • 找到下载地址的链接,点进去
    • 选择你想要下载的版本,我们这边选择7.0版本的
      点击查看图片
    • 随后,我们选择isos/这个目录,再进入x86 64/
    • 在下载列表中,我们看见有很多种iso文件,这里不同名称代表不同类型的系统,例如DVD为标准版镜像,Everything为集成了各种插件的镜像文件,这里我们学习的话,下载DVD-2009.iso即可

1.2配置VMware

  1. 新建虚拟机

    点击查看图片

  2. 选择如下

    点击查看图片

  3. 点击稍后安装镜像文件

    点击查看图片

  4. 选择Linux,以及选取你在阿里云镜像官网下载的Linux版本

    点击查看图片

  5. 定义虚拟机名称、以及保存的位置

    点击查看图片

  6. 虚拟机处理器配置,默认即可

    点击查看图片

  7. 虚拟机内存配置,默认即可

    点击查看图片

  8. 网络使用NAT模式

    点击查看图片

  9. 后面的操作均为默认即可,都是一些默认的配置,不建议修改,这里不再赘述

    点击查看图片
    点击查看图片

  10. 最终出现如下即可,点击完成

    点击查看图片

  11. 最后点击生成好的虚拟机,右键--》设置,找到CD/DVD(IDE),点击使用ISO镜像文件,选择你刚刚下载好的Linux镜像文件即可

    点击查看图片

  12. 最后启动虚拟机即可、后续的虚拟机的安装与配置,可以参考以下优秀文章

    ps:如果你不想安装Xshell,可以在安装时选择图形化界面,如果选择安装Xshell,就建议不安装图形化界面,可以降低资源占用,实际企业中一般不安装图形化界面

    https://www.cnblogs.com/fuzongle/p/12769811.html

2.连接Linux

  1. 获得Linux的IP地址,进入Linux系统中,右键打开终端,输入命令ifconfig,即可拿到IP地址

    点击查看图片

  2. 新建Xshell会话,输入IP地址,端口号默认22
  3. 点击查看图片

3.Linux学习

1.常见的Shell

  • Bourne Shell
  • Bourne Again Shell(“bash”,常用)
  • C Shell
  • K Shell
  • Shell for Root

    实际操作演示如何使用bash
    (1). vim hello.sh(新建一个sh文件)
    (2) #!bin/bash(定义使用何种shell)
            echo "hello linux!"(输出语句)
    (3):wq(保存退出)
    (4)./hello.sh (执行会报权限错误)
    (5)chmod +x hello.sh(添加执行权限)
    (6)./hello.sh(再次执行,成功)

2.常见文件命令

  • ls:列出当前目录所有文件

    • -a:显示隐藏文件
    • -l:显示文件详细信息

      ps:蓝色表示为文件夹,白色表示为文件

  • cd:切换目录
  • pwd:显示当前的目录
  • mkdir:新建一个空目录

    • -p:递归创建目录
  • rmdir:删除一个空目录

    • -p 路径:递归删除目录
  • cp:复制文件或者目录

    • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • rm:移除文件或目录

    • -rf:递归删除,忽略不存在的文件,不会出现警告信息(危险命令,三思)
  • mv:移动文件或目录,修改文件、文件夹名称

实际操作如下:

点击查看图片

3.文件属性,想要查看文件的属性,使用命令ls -l

  • d表示此为目录文件,r代表可读,w表示可写,x表示可执行,分为三部分,第一部分表示创建该文件夹的用户,第二部分表示和创建此文件夹在同一个组的成员,第三部分表示其他的用户

点击查看图片

4.chmod(修改文件、文件夹权限)

  • r的权限表示为4,w的权限表示为2,x的权限表示为1

    实例:修改一个文件权限为全部人可读可写可执行,则表示为4+2+1,4+2+1,4+2+1,即777

    vim test.txt
    chmod  777 test.txt

5.netstat(网络监听命令)

  • -a:显示所有选项.
  • -t:仅显示tcp相关选项
  • -u:仅显示udp相关选项
  • -p:显示建立相关链接的程序名
  • -l:仅列出有在 Listen (监听) 的服务状态
  • -n:不显示别名,能显示数字的全部转化成数字。

    netstat -lnpt

6.显示性能与进程命令

  1. top
  2. ps

    • -aux 显示所有用户进程

7.开关机操作

关机操作之前最好先使用sync将虚拟机的数据同步到磁盘中,控制台输入sync即可

  • shutdown:正常关机
  • shutdown -h 10:十分钟后关机
  • shutdown -h now:立刻关机
  • shutdown -h 23:00:今日23:00准时关机,相当于定时关机
  • shutdown -h +10:十分钟后关机
  • reboot:重启

8.Linux系统目录的学习

  • /bin
    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
  • /boot:
    这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev :
    dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
  • /etc:
    etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home
    用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
  • /lib
    lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
  • /lost+found
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media
    linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
  • /mnt
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
  • /opt
    opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • /proc
    proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root
    该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin
    s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
  • /tmp
    tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
  • /usr
    usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
  • /usr/bin:
    系统用户使用的应用程序。

9.chgrp(更改文件属组)

  • -R:更改文件属于哪个组

10.chown(更改文件属主)

  • -R:更改文件属于哪个用户

11.文件内容查看

  • cat:从第一行开始看

    • cat /etc/redhat-release:查看当前系统版本号
  • tac:从最后一行开始看
  • nl+文件名:显示行号
  • more+文件名:翻页的查看,不是一次性全部显示出来(空格翻页,enter进入下一行)
  • less+文件名:与more相似,可以向前翻页(空格翻页。上下键翻页)
  • head:只看头几行

    • -n + 数字:只看头XX行
    • ?+内容:寻找指定内容(n:查找下一个,N:查找上一个)
  • tail:只看尾几行
  • :set nu:在文件中显示行号

12.touch(创建文件)

  • touch:新建一个空白文件

13.ln(软、硬链接)

  • ln(硬链接):以文件副本的形式存在,不占用实际空间(不允许给目录创建硬链接)
  • ln-s(软链接):相当于快捷方式
区别:源文件删除后,硬链接依然还可以访问源文件,相当于备份了,而软连接则会由蓝色变成红色,无法访问源文件,使用ll命令,可以很好的看出硬链接和软链接的区别,软链接是蓝色的,且有->>标记

14.Vim(文本编辑)

Vim的三种模式:命令模式、输入模式、底线命令模式
  • vim:新建一个文档文件,并进入
  • 在文档中输入i:进入输入模式
  • ESC:退出输入模式,进入命令模式
  • :set nu:设置行号,输入:即可进入底线命令模式
  • :wq:保存并退出
vim命令大全https://www.runoob.com/linux/linux-vim.html

15.useradd(添加用户)

  • -m:自动创建用户主目录
  • -d:指定用户目录地址
  • -G:指定用户所在组
ps:以下操作均在管理员账号下操作

1.管理员给用户添加密码:passwd +用户名

2.普通用户自己设置密码:passwd

passwd -l +用户名:锁定用户

passwd -d+用户名:删除用户的密码

16.userdel(删除用户)

  • -r:删除用户并删除其目录

17.usermod(修改用户)

  • -d:指定用户目录地址

18.su(切换用户)

  • su + 用户名:切换到指定用户

19.logout(登出)

  • logout:退出当前用户,回退到上一个用户

20.hostname(修改虚拟机主机名)

  • hostname 用户名:修改当前虚拟机主机名,重启生效(主机reboot,ssh远程连接则重连)

21.groupadd(添加用户组)*

  • -g:指定ID,不指定则为自增,详情查看/ete/group
  • groupadd +用户名:新增一个组

22.groupdel(删除用户组)

  • groupdel +用户名:删除一个指定的组

23.groupmod(修改用户组)

  • -g:修改组ID
  • -n:修改组名

24.df -h(显示磁盘使用量)

25.du(显示每个文件占用的空间)

26.mount(挂载)

类似于windows上的U盘的安装,把外部文件挂载到指定的目录下
  • mount [外部设备] [指定目录]

27.umoutn(卸载挂载)

类似于windows的U盘的退出
  • -f +位置:强制卸载

28.ps(显示当前进程的状态)

  • -a:列出所有的进程
  • -aux :显示所有包含其他使用者的行程
  • -ef:查看父进程信息
常搭配管道符进行使用,例如查找一个mysql进程相关: ps -aux|grep mysql

进程树展示:pstree -pu

杀进程:kill -9 进程ID,相当于结束任务

29.Linux安装Java环境

  1. rpm安装http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 卸载OpenJDK

    #检查是否存在jdk
    rpm -qa|grep jdk
    #如果存在则执行以下卸载命令
    rpm -e --nodeps [jdk版本号]
  3. 将下载好的rpm文件,通过xftp上传到linux系统下
  4. cd进入安装目录,执行命令

    rpm -ivh jdk-8u221-linux-x64.rpm
  5. 配置java的环境变量

    cd /etc/profile
    JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
    CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
    PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
    export PATH CLASSPATH JAVA_HOME
    #保存后,刷新资源
    source /etc/profile
    #测试是否安装成功
    java -version

30.Linux安装Tomcat

  1. 官网下载Tomcat,切记是下载Linux版本,下载地址:https://tomcat.apache.org/download-90.cgi

    点击查看图片

  2. 解压Tomcat,通过xftp上传到Linux服务器,解压出来(tar -zxvf [tomcat压缩包名称])
  3. 进入tomcat 的bin目录
  4. 防火墙操作

    #查看防火墙的8080端口是否打开,因为tomcat默认端口是8080
    # 查看全部信息
    firewall-cmd --list-all  
    # 只看端口信息
    firewall-cmd --list-ports  
    #开启80端口,如果是在云服务器,在安全组开启8080端口即可
    firewall-cmd --zone=public --add-port=8080/tcp --permanent
    #重启防火墙,让他生效
    systemctl restart firewalld.service
    #tomcat启动
    ./startup.sh
    #tomcat停止
    ./shutdown.sh

31.Linux安装Docker

1.查看是否已经安装了docker

  yum list installed | grep docker
  #如果已经安装了则卸载
  sudo yum remove docker \
  docker-client \
  docker-client-latest \
  docker-common \
  docker-latest \
  docker-latest-logrotate \
  docker-logrotate \
  docker-engine

2.yum安装gcc相关

yum  -y install gcc
yum -y install gcc-c++

3.安装需要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

4.设置stable镜像仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5.更新yum软件包索引

yum makecache fast

6.安装Docker CE

yum -y install docker-ce docker-ce-cli containerd.io

7.启动docker

systemctl start docker

8.测试docker是否安装成功

docker version
docker run hello-world
docker images

总结

Linux是测试必不可少的一门技术,以上是我学习Linux过程中记录的笔记,有想法的小伙伴可以在下面留言与我互动哦~:drooling_face:

目录
相关文章
|
3月前
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
1182 1
linux centos上安装python3.11.x详细完整教程
|
4月前
|
Ubuntu 网络协议 Linux
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
942 2
|
15天前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下文件数量是常见的需求。本文介绍了四种方法:使用 `ls` 和 `wc` 组合、`find` 命令、`tree` 命令以及编程实现(如 Python)。每种方法都附有详细说明和示例,适合不同水平的用户学习和使用。掌握这些技巧,可以有效提升系统管理和日常使用的效率。
82 6
|
20天前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下的文件数量是常见的需求。本文介绍了多种方法,包括使用 `ls` 和 `wc` 命令组合、`find` 命令、`tree` 命令以及编程方式(如 Python)。无论你是新手还是有经验的用户,都能找到适合自己的方法。掌握这些技巧将提高你在 Linux 系统中的操作效率。
26 4
|
2月前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
1055 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
2月前
|
存储 数据可视化 Java
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
如何在Linux系统下部署和运行Java项目jar包,包括传输文件到Linux、使用nohup命令运行jar包、查看端口状态、杀死进程和查看项目运行状态,以及如何解决“没有主清单属性”的错误。
540 1
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
298 3
|
2月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
281 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
3月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
2月前
|
Linux 开发工具 Docker
各个类linux服务器安装docker教程
各个类linux服务器安装docker教程
65 0