Linux快速学习-虚拟机配置使用-安装Linux操作系统-Linux相关命令-JAVA后端拓展学习-【保姆级教程 | 一站式学习】

Linux特点

        1、一切皆文件

                系统中所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型文件,每个文件都有确定用途。

        2、开源免费

                用户可以通过网络或其他途径免费获得,并且可以任意修改代码。

        3、兼容POSIX.0标准

                完全兼容POSIX.0标准,使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows程序。为用户从Windows转到Linux奠定了基础。

        4、良好的图形用户界面

                同时具有字符界面和图形界面。字符界面通过指令来进行操作。同时提供类似Windows图形界面。

        5、多用户和多任务

                支持多用户,各个用户对于自己的文件设备有特殊的权利,保证了各用户间互不影响。多任务则是现代电脑最主要的一个特点,Linux可以使多个程序同时并独立运行。

        6、支持多平台

                可以运行在多种硬件平台上,如具有x86、680x0、SQARC、Alpaha等处理器平台。此外Linux还是一种嵌入式操作系统,可以运行在掌机电脑、机顶盒或游戏机上。

Linux应用场景

        Linux是一款开源、高效、稳定、安全漏洞少的操作系统,主要应用领域为服务端。通常服务器使用组合LAMP(Linux+Apache+MySQL+PHP);LNMP(Linux+Nginx+MySQL+PHP)

Linux常见版本

        Linux一词本身来表示Linux内核,实际上人们已习惯用Linux来形容整个基于Linux内核。各不同版本Linux,都是基于相同的内核版本,只是用的内核版本可能有高有低,同时各厂家自己加了自己有特点的工具,还有某些文件位置不一样,不同版本的Linux相同度可以达90%。

        RedHat家族

        1、RedHat企业版:需要授权费,主要用在高要求的服务器商用系统

        2、CentOS:全名“社区企业操作系统”,centos社区将Red Hat网站上的所有源码下载下来,进行重新编译。

        3、Fedara:被红帽公司定位为新技术实验场地,许多新技术在FC中检验

        4、其他:Scientific Linux、Oracle Linux

        Debian家族

        1、Debian:运行极其稳定,非常适合服务器,不适合新手,适合系统管理员和高级用户

        2、Ubuntu:Debian的一款衍生版,也是当今最受欢迎的一款免费操作系统,是一个以桌面应用为主的Linux操作系统

        3、其他基于Debian的版本:Linux Mint、Knoppix、MEPIS、sidux、CrunchBang Linux、Chromium OS、Google Chrome OS

        SUSE家族

        1、SUSE:欧洲大陆最流行的Linux,起源于德国,于2003年末被Novell收购

        2、SUSE Linux:针对个人用户,可以免费下载

        3、SUSE Linux Enterprise Server

        4、SUSE Linux Enterprise Desktop

        5、SUSE Manager

        6、SUSE Studio

        Gentoo家族

        1、Gentoo:是Linux世界最年轻的发行版本,吸取了之前所有发行版本的优点

        2、Gentoo Linux

        3、Sabayon Linux

        4、Calculate Linux

        5、Funtoo Linux

VMware

        是可装在Windows电脑上的软件,简而言之,就是VM软件划出一部分电脑上的资源,给我们构建一台新“裸机”,然后我们就可以在该台新“裸机”上安装我们想要的Linux操作系统。

        安装成功该软件,打开后如下:

新建虚拟机

 

安装Linux 

//阿里巴巴开源软件镜像站
https://mirrors.aliyun.com/centos/7/isos/x86_64/?spm=a2c6h.25603864.0.0.53144511F5pxOo

相当于我们已经把磁盘“插入”裸机 ,现在点击启动

启动虚拟机后选择install centos7回车即可(未截图),等待一会,进入下图所示

中国人,当然选中文啦

点击【软件选择】,进入 

点击【安装位置】,进入

点击【网络和主机名】 

 

 

Linux的目录结构

虚拟机网络配置 

1、仅主机模式

特点:虚拟机只能和宿主机之间实现通信
缺点:虚拟机联网需要更多配置

2、桥接模式(不推荐)

特点:
1、宿主机和虚拟机,都由局域网路由(DHCP)进行IP分配
2、宿主机和本地虚拟机之间可以进行通信
3、局域网内其他机器也可以与虚拟机进行通信

缺点:
虚拟机会占用大量ip,局域网内如果机器太多,或虚拟机太多,会出现大量ip冲突

 3、NAT模式(推荐)

特点:
宿主机和其他机器ip由局域网路由进行ip分配,虚拟机的ip通过VMnet8虚拟交换机进行分配
宿主机和本地虚拟机之间可以进行通信
不会占用宿主机所在路由ip,不会造成ip冲突
缺点:
局域网内机器无法与其他机器上的虚拟机进行通信

虚拟机管理操作

VMware为虚拟机拍摄快照

通过快照可快速保存虚拟机当前的状态,后续可以使用快照,将虚拟机还原到某个快照的状态,如某个软件安装失败,可以通过快照快速还原回指定的某个状态。可防止删库跑路~

假设,我删库了,把虚拟机里的文件全删了。。这时,快照就派上用场了

 

然后就可以重启虚拟机

使用VM克隆搭建多台服务器

 

启动102

虽然克隆出来的虚拟机名字为102,但实际和100一模一样

远程工具的使用

Xshell的安装和使用

Linux一般作为服务器使用,服务器一般放在机房,不可能是身边的Linux服务器,这时候我们需要一些工具来连接远程的Linux服务器来进行操作,Xshell就是一种远程连接工具,其他Windows上常见的远程登录客户端有SecureCRT,Putty,SSHSecure,Shell等

Linux系统中是通过SSH服务,实现的远程登录功能,默认ssh服务的端口号是22

Xshell安装链接 家庭/学校免费 - NetSarang Website

还是这个 家庭/学校免费 - NetSarang Website  但这次下载Xftp

新建一文件来测试传输功能

常见Linux命令

帮助类命令

Linux所有命令就类似一本字典,而帮助类命令就是帮我们查字典

man获取帮助信息

  • 语法

        man[命令或配置文件]    (功能描述:获得帮助信息)

  • 显示说明 
信息功能
NAME命令的名称和单行描述
SYNOPSIS怎样使用命令
DESCRIPTION命令功能的深入探讨
EXAMPLES怎样使用命令的例子
SEE ALSO相关主题(通常是手册页)
  • 实操案例

        查看ls命令的帮助信息

[root@localhost ~]# man ls

help获得shell内置命令的帮助信息 

  •  基本语法

        help 命令        (功能描述:获得shell内置命令的帮助信息)

  • 实操案例

        查看cd命令的帮助信息

[root@localhost ~]# help cd

推荐工具 

uTools官网 - 新一代效率工具平台

开关机命令

一般Linux不会经常进行关机操作,正确的关机流程为:sync>shutdown>reboot>poweroff

  • 基本语法

        sync将内存中的数据同步到硬盘中

        shutdown[选项] 时间

        reboot 重启系统,等同于shutdown -r now

        poweroff 关闭系统, 等同于shutdown -h now

  • 选项
选项功能
-h=halt关机
-r=reboot重启

  • 参数
参数功能
now立刻
时间等待多久,单位为分钟
  • 注意事项

Linux系统为了提高磁盘的读写效率,对磁盘采取了“预读 迟写”,当用户保存文件时,Linux核心并不一定对保存的数据立刻写入物理磁盘,而是将数据保存在缓存区,等缓存区写满时再写入磁盘,这种方式极大的提高磁盘写入数据的效率,但同时也带来了安全隐患,如果数据还未写入磁盘时,系统掉电或者出现其他严重的问题造成宕机,可能会造成数据丢失,使用sync命令可以立即将缓冲区的数据写入磁盘。

 服务管理类命令

临时开关服务命令

  • 语法

        centos6

                service 服务名 start        开启服务

                service 服务名 stop        关闭服务

                service 服务名 restart        重启服务

                service 服务名 status        查看服务状态

        centos7

                systemctl start 服务名        开启服务

                systemctl stop 服务名        关闭服务

                systemctl restart 服务名        重启服务

                systemctl status 服务名        查看服务状态

                systemctl --type service        查看正在运行的服务

        .service后缀可以不写

  • 实操

        查看网络服务状态

systemctl status network

        关闭服务

systemctl stop network

永久开关服务命令

  • 语法

        centos6

                chkconfig        查看所有服务自启配置

                chkconfig 服务名 off        关闭服务自启

                chkconfig 服务名 on        开启服务自启

                chkconfig 服务名 --list        查看服务开机启动状态

        centos7

                systemctl enable 服务名        开启服务自启

                systemctl disable 服务名        关闭服务自启

                systemctl is-enabled 服务名        查看服务是否自启

                systemctl list-unit-files        查看所有服务自启配置

  • 实操

        1、关闭防火墙自动启动

//查看防火墙
systemctl status firewalld

//关闭防火墙自启
systemctl disable firewalld

        2、开启服务器自启

//开启防火墙自启
systemctl enable firewalld

        3、查看防火墙是否启动

systemctl is-enabled firewalld

        4、关闭网络管理器服务(推荐) 

//查看服务
systemctl status NetworkManager

//停止服务
systemctl stop NetworkManager

//查看自启动
systemctl is-enabled NetworkManager

//关闭自启动
systemctl disable NetworkManager

Linux系统有7种运行级别(runlevel):常用的是级别3和5(centos7中只有两个级别了:3和5)

运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令模式

运行级别5:X11控制台,登录后进入图形GUI模式

文件目录类命令

pwd(print working directory)        打印当前工作目录的绝对路径 

  • 基本语法

        pwd        (功能描述:显示当前工作目录的绝对路径)

  • 实操
[root@192 ~]# pwd
/root

ls(list)         列出目录内容

  • 基本语法

        ls [选项] [目录或是文件] 

  • 选项说明
选项功能
-a全部文件,连同隐藏(开头为.的文件)常用
-l长数据串列出,包含文件的属性与权限等数据 常用
  • 实操 
[root@192 ~]# ls
1.txt  anaconda-ks.cfg  initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面
[root@192 ~]# ls -a
.   1.txt            .bash_history  .bash_profile  .cache   .cshrc  .esd_auth      initial-setup-ks.cfg  .mozilla  .Xauthority  模板  图片  下载  桌面
..  anaconda-ks.cfg  .bash_logout   .bashrc        .config  .dbus   .ICEauthority  .local                .tcshrc   公共         视频  文档  音乐
[root@192 ~]# ls -l
总用量 12
-rw-r--r--. 1 root root   16 1月  26 11:55 1.txt
-rw-------. 1 root root 1531 1月  25 17:18 anaconda-ks.cfg
-rw-r--r--. 1 root root 1579 1月  25 17:22 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 1月  25 17:39 公共
drwxr-xr-x. 2 root root    6 1月  25 17:39 模板
drwxr-xr-x. 2 root root    6 1月  25 17:39 视频
drwxr-xr-x. 2 root root    6 1月  25 17:39 图片
drwxr-xr-x. 2 root root    6 1月  25 17:39 文档
drwxr-xr-x. 2 root root    6 1月  25 17:39 下载
drwxr-xr-x. 2 root root    6 1月  25 17:39 音乐
drwxr-xr-x. 2 root root    6 1月  25 17:39 桌面

cd(change directory)        切换路径

  • 基本语法

        cd [参数]

  • 参数说明
参数功能
cd 绝对路径切换路径
cd 相对路径切换路径
cd  ~或者cd回到自己的家目录
cd -回到上一次所在目录
cd ..回到当前目录的上一级目录
cd -P调整到实际物理路径,而非快捷方式路径
cd /回到系统根目录
  • 实操 

mkdir(make directory)        建立目录

  • 基本语法

        mkdir [选项] 要创建的目录

  • 选项说明
选项功能

-p

创建多层目录
  • 实操
//创建一个目录
[root@192 ~]# mkdir xiyou
[root@192 ~]# mkdir xiyou/yaojing
//创建一个多级目录
[root@192 ~]# mkdir -p xiyou/qujing/meihouwang

 rmdir(remove directory)        删除目录

  • 基本语法

        rmdir 要删除的空目录

  • 实操

        删除一个空的文件夹

[root@192 qujing]# rmdir meihouwang

touch 创建空文件

  • 基本语法

        touch 文件名称

  • 实操
[root@192 ~]# touch 2.txt

 cp 复制文件或目录

  • 基本语法

        cp [选项] source dest        (功能描述:复制source文件到dest)

  • 选项说明
选项功能
-r递归复制整个文件夹
  • 参数说明
参数功能
source源文件
dest目标文件
  • 实操

        复制文件

[root@192 ~]# touch xiyou/qujing/zhubajie.txt
[root@192 ~]# cp xiyou/qujing/zhubajie.txt xiyou/
qujing/  yaojing/ 
[root@192 ~]# cp xiyou/qujing/zhubajie.txt xiyou/yaojing/
[root@192 ~]# cd xiyou/yaojing/
[root@192 yaojing]# ll
总用量 0
-rw-r--r--. 1 root root 0 1月  26 19:55 zhubajie.txt

        递归复制整个文件夹 

如下:将qujing文件夹复制到~(即家目录)

[root@192 ~]# cp -r xiyou/qujing/ ~
[root@192 ~]# ll
总用量 12
-rw-r--r--. 1 root root   16 1月  26 19:34 1.txt
-rw-------. 1 root root 1531 1月  25 17:18 anaconda-ks.cfg
-rw-r--r--. 1 root root 1579 1月  25 17:22 initial-setup-ks.cfg
drwxr-xr-x. 2 root root   26 1月  26 20:02 qujing
drwxr-xr-x. 4 root root   35 1月  26 19:17 xiyou
drwxr-xr-x. 2 root root    6 1月  25 17:39 公共
drwxr-xr-x. 2 root root    6 1月  25 17:39 模板
drwxr-xr-x. 2 root root    6 1月  25 17:39 视频
drwxr-xr-x. 2 root root    6 1月  25 17:39 图片
drwxr-xr-x. 2 root root    6 1月  25 17:39 文档
drwxr-xr-x. 2 root root    6 1月  25 17:39 下载
drwxr-xr-x. 2 root root    6 1月  25 17:39 音乐
drwxr-xr-x. 2 root root    6 1月  25 17:39 桌面
  • 注意事项

        强制覆盖不提示的方法:\cp 

rm 移除文件或目录

  • 基本语法

        rm [选项] deleteFile

  • 选项说明
选项功能
-r递归删除目录所有内容
-f强制删除,不提示用户进行确认
-v显示指令的详细执行过程
  • 实操

        删除目录中的内容

[root@192 qujing]# rm sunwukong.txt
rm:是否删除普通空文件 "sunwukong.txt"?y
[root@192 qujing]# ll
总用量 0
-rw-r--r--. 1 root root 0 1月  26 19:52 zhubajie.txt
[root@192 qujing]# rm -f zhubajie.txt
[root@192 qujing]# ll
总用量 0

        递归删除目录中所有内容

[root@192 ~]# cd a
[root@192 a]# ll
总用量 0
-rw-r--r--. 1 root root 0 1月  26 20:23 01.txt
-rw-r--r--. 1 root root 0 1月  26 20:24 02.txt
-rw-r--r--. 1 root root 0 1月  26 20:24 03.txt
[root@192 a]# cd ..
[root@192 ~]# rm a/
rm: 无法删除"a/": 是一个目录
[root@192 ~]# rmdir a/
rmdir: 删除 "a/" 失败: 目录非空
[root@192 ~]# rm -r a/
rm:是否进入目录"a/"? y
rm:是否删除普通空文件 "a/01.txt"?n
rm:是否删除普通空文件 "a/02.txt"?n
rm:是否删除普通空文件 "a/03.txt"?y
rm:是否删除目录 "a/"?n

mv移动文件与目录或重命名

  • 基本语法

        重命名

        mv oldNameFile newNameFile

        移动文件

        mv /temp/movefile /targetFolder

cat查看文件内容

  • 基本语法

        cat [选项] 文件        查看文件内容,从第一行开始显示

  • 选项说明
选项功能描述
-n显示所有行号,包括空行
  • 经验技巧

        一般查看比较小的文件,一屏幕能显示全的

 more文件分屏查看器

  • 基本语法

        more 要查看的文件

        more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。

        more指令中内置若干快捷键。

less 分屏显示文件内容

  • 基本语法

less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次性将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

less 要查看的文件

head显示文件头部内容

  •  基本语法

head 文件        (功能描述:查看文件头10行内容)

head -n 5 文件        (功能描述:查看文件头5行内容)

tail输出文件尾部

常见,用来查看最新的日志

echo 打印信息

  • 基本语法

echo [选项] [输出内容]

经常用来打印变量

> 覆盖 和 >>追加  

ln创建链接和软件

  • 基本语法

链接表示目标资源的另外的访问方式,表示一种路径

软链接页称为符号链接,类似于Windows的快捷方式。

ln [-s] [原文件或目录] [链接名]        (功能:给原文件创建一个链接,加-s就是软链接) 

时间日期类命令

 history查看历史命令

date显示当前时间

  • 基本语法
date        (显示当前时间)

date+%Y        (显示当前年份)

date+%m

date+%d

date "+%Y-%m-%d %H:%M:%S"

date显示非当前时间

  • 基本语法
# 显示昨天的日期和时间
date -d "yesterday"

# 显示明天的日期和时间
date -d "tomorrow"

# 显示一周前的日期和时间
date -d "last week"

# 显示一小时后的日期和时间
date -d "1 hour"

cal查看日历 

用户管理类命令 

useradd 添加新用户

  • 基本语法
useradd 用户名

useradd -g 组名 用户名
  • 实操

passwd 设置用户密码

  • 基本语法
passwd 用户名

id 查看用户是否存在

id 用户名

su(switch user)切换用户

  • 基本语法
#切换用户,只能获得用户的执行权限,不能获得环境变量
su 用户名称 

#切换到用户并获得该用户的环境变量及执行权限
su - 用户名称

 userdel 删除用户

  • 基本语法 
#删除用户但保存用户主目录
userdel 用户名

#用户和用户主目录,都删除
userdel -r 用户名

who 查看登录用户信息

  • 基本语法 
whoami

who am i

sudo 设置普通用户具有root权限

  • 基本语法
sudo 命令
  • 实操

1、添加atguigu用户,并对其设置密码

2、修改配置文件

 

进入sudoers文件,并修改,找到101行,在root下添加如下:

或者配置成采用sudo命令时,不需要输入密码

修改完以后就可以切换atguigu用户,使用sudo命令,即可获得root权限进行操作

使用sudo,实际上可以理解为atguigu用户将sudo后面的命令“委托”给root用户帮忙执行。

这个方法在实际开发中应用较多。因为直接使用root用户太过强大,有风险,而普通用户权限又不够。 

 组管理类命令

当用户较多时,可以将用户分组从而较方便管理用户权限 

 groupadd 新增组

  • 基本语法
groupadd 组名
  • 实操

groupdel 删除组

  • 基本语法
groupdel 组名
  • 实操

查看创建了哪些组

  • 实操

usermod修改用户组

  • 基本语法
usermod -g 用户组 用户名
  • 实操

1、将用户加入到用户组

 

文件权限类命令

  • 文件属性解读
drwxr-xr-x. 2 root root    6 1月  25 17:39 音乐

1. 文件类型与权限

  • 首字母 d:表示这是一个目录(directory)。其他常见类型:

    • -:普通文件

    • l:符号链接

    • c/b:字符设备/块设备

  • 权限分组 rwxr-xr-x

    • 第1组 rwx:**所有者(owner)**权限(读/写/执行)

    • 第2组 r-x:**所属组(group)**权限(读/执行,无写权限)

    • 第3组 r-x:**其他用户(others)**权限(同上)

  • 末尾的点 .:表示该文件/目录启用了SELinux安全上下文(常见于CentOS/RHEL系统)。

2. 链接数 

  • 对于目录:表示其包含的子目录数 + 2(每个目录默认包含...的硬链接)。

  • 此处值为2,说明该目录("音乐")没有子目录或文件(只有...)。

3. 所有者与所属组

  • 第一个root:文件/目录的所有者(owner)是root用户。

  • 第二个root:文件/目录的所属组(group)是root组。

4. 大小

  • 目录的特殊性:此处显示的是目录元数据占用的磁盘块数(非实际内容大小)。

  • 为什么是6? 默认块大小为4KB时,目录元数据占用6*512B=3KB(实际统计方式因文件系统而异)。

5. 时间戳

  • 最后修改时间:该目录最后一次内容变更的时间(2024年1月25日17:39)。

6. 名称

  • 目录名称,支持中文(需系统编码设置为UTF-8等兼容格式)。

  • 权限的数字表示

rwxr-xr-x 对应的八进制数为 755

  • rwx = 4(读)+ 2(写)+ 1(执行) = 7

  • r-x = 4 + 0 + 1 = 5

  • r-x = 同上 = 5

  • 权限在文件 vs 目录中的区别
权限文件的影响目录的影响
r可读取文件内容(cat/less可列出目录中的文件名(ls
w可修改/删除文件需配合x权限才可增删目录内文件
x可执行该文件(如脚本、二进制程序)可进入目录(cd)并访问子内容

📌 关键差异:

  • 目录的w权限无效:若无x权限,即使有w也无法修改目录内容。

  • 文件的x权限危险:若恶意脚本被赋予x权限,可能引发安全风险。

  • 实操

方法一 :将其他用户(others)权限放开

sudo chmod o+w software/

sudo chmod 757 software/

 方法二:将文件的所有者改成当前用户(如atguigu)。该方法使用较多

搜索查找类命令

find 查找文件或目录

  • 基本语法
find [起始目录] -name [文件名] -type [文件类型] -mtime [修改时间] -user [用户名] -perm [权限] ... [执行动作]

grep 过滤查找及“|”管道符

管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

  • 实操

压缩和解压缩命令

gzip/gunzip 压缩

  • 基本语法
gzip [选项] 文件名
  • 经验技巧

1、只能压缩文件,不能压缩目录

2、、不保留原来的文件

  • 实操

zip/unzip

  • 基本语法
zip [选项] 压缩文件名 源文件

unzip [选项] 压缩文件.zip
  • 选项说明
zip选项说明
-A将生成的压缩文件添加到既存的压缩文件中
-d从已有的压缩文件中删除指定的文件
-f刷新压缩文件中的文件
-j只压缩文件,不压缩目录结构
-m压缩之后删除源文件
-q安静模式,不显示压缩过程
-r递归地压缩目录及其子目录
-t测试压缩文件是否完整
-u更新压缩文件,只能添加新文件或更新已经存在的文件
-v显示压缩过程中的详细信息
-z压缩文件时同时显示压缩比率
unzip选项说明
-d指定解压到的目标目录
-n不覆盖已存在的文件
-o覆盖所有已存在的文件而不提示
-l列出压缩文件的内容,但不实际解压
-t测试压缩文件的完整性
-x从压缩文件中排除指定的文件
-q安静模式,不显示解压缩过程
-j只解压缩文件,不解压目录(将文件解压到当前目录,忽略目录结构)
-p保留原文件的权限和时间戳(仅解压到标准输出,不创建文件)
-r递归地解压缩子目录中的ZIP文件(如果ZIP文件中包含ZIP文件)
  • 经验技巧

zip 压缩命令在Window/Linux都通用,并且可以压缩目录且保留源文件

  • 实操 

tar 打包

  • 基本语法
tar [选项] -f 压缩包文件名 源文件或目录
其中,-f 选项用于指定压缩包的文件名,是必选项。其他选项可以根据需要选择使用。
  • 选项说明
选项说明
-c创建一个新的压缩包(create)
-x从压缩包中提取文件(extract)
-v显示处理过程中的文件信息(verbose)
-f指定压缩包的文件名(file)
-z使用gzip压缩或解压文件(gzip)
-j使用bzip2压缩或解压文件(bzip2)
-J使用xz压缩或解压文件(xz)
-C解压到指定目录(directory)
--exclude排除指定的文件或目录,不打包或不解压
-h或 --dereference,打包时跟随符号链接,而不是打包链接本身
-P或 --absolute-names,使用绝对路径打包文件
--strip-components=NUMBER解压时去掉NUMBER层目录
  • 实操 

磁盘分区类命令

df (disk free空余硬盘)查看磁盘空间使用情况 

  • 基本语法
df [选项] [挂载点或文件系统]
  • 选项说明
选项说明
-h以人类可读的格式显示大小(例如,1K、234M、2G)
-T显示文件系统类型
-i显示inode的使用情况,而不是块的使用情况
-a显示所有文件系统的磁盘使用情况,包括伪文件系统(如proc)
-t只显示指定类型的文件系统
-x不显示指定类型的文件系统
--total显示所有文件系统的总使用情况
  • 实操

fdisk 查看分区

  • 基本语法
fdisk [选项] [设备]
  • 选项说明
选项说明
-l列出所有磁盘的分区表信息。如果未指定设备,则列出所有磁盘的分区信息。
-u使用扇区而不是柱面作为单位显示分区信息(默认是柱面)。
-s显示指定磁盘分区表的扇区大小。
-v显示 fdisk 的版本信息。
-h显示帮助信息。
  • 经验技巧

必须在root用户下才能使用

  • 实操

mount/unmount 挂载/卸载

  • 什么是挂载卸载

对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录,一个独立且唯一的文件结构。

Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。 

进程线程类命令

ps (process status 进程状态)查看当前系统进程状态

  • 基本语法
ps [options]
  • 选项说明
选项描述示例
-a显示除控制终端、会话领导和控制进程外的所有进程ps -a
-u以用户为中心的格式显示进程信息ps -u
-x显示没有控制终端的进程ps -x
-e显示所有进程ps -e
-f全格式显示进程信息ps -f
-l长格式显示进程信息ps -l
-o自定义输出格式ps -o pid,user,cmd
--sort=column根据指定的列对输出进行排序ps --sort=-%mem
-t tty显示与指定终端关联的进程ps -t pts/0
--pid=PID显示具有指定PID的进程ps --pid=1234
aux常用组合,显示所有用户的所有进程ps aux
-ef常用组合,以全格式显示所有进程ps -ef

kill  终止进程

  • 基本语法
kill [signal] pid

kill [options] pid
  • 选项说明
信号编号信号名称描述
1HUP(SIGHUP)终端挂起信号,常用于通知进程重新加载配置文件
2INT(SIGINT)中断信号,通常由用户按下Ctrl+C触发,用于终止正在运行的程序
3QUIT(SIGQUIT)退出信号,通常由用户按下Ctrl+\触发,用于终止正在运行的程序并生成核心转储文件
9KILL(SIGKILL)强制终止信号,无法被目标进程阻塞、忽略或捕获,会立即终止进程
15TERM(SIGTERM)默认终止信号,请求目标进程正常终止。如果目标进程能够处理这个信号,它可以在终止前进行一些清理工作

系统定时任务命令

crond 服务管理

重新启动crond服务

crontab 定时任务设置

  • 基本语法
crontab [选项] 文件名

crontab [选项] 文件名
  • 选项说明
选项描述
-e编辑当前用户的 crontab 文件。如果文件不存在,系统会创建一个新的。
-l列出当前用户的 crontab 文件内容。
-r删除当前用户的 crontab 文件。
-u 用户名指定要编辑、列出或删除的用户名的 crontab 文件。这通常需要超级用户权限。
-i在删除 crontab 文件之前提示用户进行确认。

参数说明

* * * * * 命令

每个星号(*)或指定值代表一个时间字段,从左到右依次是:

字段序号时间单位允许的值/特殊字符描述
1分钟0-59一小时内的分钟数
2小时0-23一天内的小时数(24小时制)
3日期1-31月份中的日期
4月份1-12年份中的月份
5星期几0-7(0和7都代表星期日)一周中的星期几

在这些字段中,可以使用以下特殊字符:

  • *:代表任何值。例如,在分钟字段中使用 * 表示“每分钟”。
  • ,:用于列出不连续的值。例如,1,15 在小时字段中表示“凌晨1点和3点”。
  • -:用于表示一个范围。例如,1-5 在日期字段中表示“从每月的1号到5号”。
  • /:用于指定步长。例如,*/5 在分钟字段中表示“每5分钟”。
  • ?(在某些实现中):在日期和星期几字段中,? 表示“不指定值”。但请注意,不是所有的 cron 实现都支持 ? 字符。
  • 实例
每天凌晨2点执行脚本:
0 2 * * * /bin/bash /path/to/script.sh

 VI和VIM编辑器

一、VI 与 VIM 的关系

特性VIVIM(Vi IMproved)
定位Unix 系统原生经典编辑器VI 的增强版,支持更多功能
功能基础文本编辑语法高亮、多级撤销、插件支持、分屏操作等
模式命令模式、插入模式新增可视模式、多标签页、宏录制等
使用场景老旧系统或最小化环境现代开发、复杂文本处理

总结
VIM 是 VI 的超集,推荐直接学习 VIM(大多数系统已预装,命令仍为 vi)。

二、核心概念:三种模式

VIM 的操作基于模式切换,这是其高效的核心设计。

  1. 普通模式(Normal Mode)

    • 作用:移动光标、执行命令(删除、复制、搜索等)。

    • 进入方式:按 Esc 键。

    • 常用操作

h/j/k/l     左/下/上/右移动
dd          删除当前行
yy          复制当前行
p           粘贴
/text       搜索文本
:w          保存文件
:q          退出编辑器
  1. 插入模式(Insert Mode)

    • 作用:直接输入或编辑文本。

    • 进入方式:按 i(光标前插入)、a(光标后插入)、o(下方新行插入)。

    • 退出方式:按 Esc 返回普通模式。

  2. 可视模式(Visual Mode)

    • 作用:选择文本块进行操作(复制、删除、替换等)。

    • 进入方式:按 v(字符选择)、V(行选择)、Ctrl+v(块选择)。

    • 常用操作:选中后按 y 复制、d 删除。

三、必会基础操作

快捷键速查表  

1. 文件操作
命令说明
vim filename打开/创建文件
:w保存文件
:wq 或 ZZ保存并退出
:q!强制退出(不保存)
:e newfile.txt打开新文件
2. 光标移动
命令说明
0行首
$行尾
gg文件首行
G文件末尾
Ctrl+f向下翻页
Ctrl+b向上翻页
3. 文本编辑
命令说明
x删除当前字符
dw删除一个单词
dd删除当前行
u撤销操作
Ctrl+r重做操作
:s/old/new/g替换当前行所有 old 为 new

VIM设置主机名及host映射 

查看并修改主机名 

 

host映射配置

vim /etc/hosts

 

拓展1

JAVA后端

1、熟练使用RPM查询、安装、卸载软件

2、熟练使用YUM安装程序

RPM

1、什么是RPM

RPM(RedHat Package Manager)是 RedHat 系列 Linux 系统(如 CentOS、Fedora)的软件包管理工具,用于安装、升级、卸载和查询软件包。其理念类似于 Windows 的安装程序(如 setup.exe),但更注重依赖管理和配置控制。简而言之,“插入”光盘安装,不需要联网。

2、RPM包的名称格式

Apache-1.3.23-11.i386.rpm

  • Apache:软件名称

  • 1.3.23:版本号

  • 11:第 11 次构建发布

  • i386:适用平台(如 x86、x86_64、noarch)

  • rpm:文件扩展名,代表RPM包

RPM查询命令

基本语法 

常用命令格式:rpm -q [选项] [包名/文件名]
命令选项功能说明示例
rpm -qa查询所有已安装的包rpm -qa | grep httpd
rpm -qi <包名>查看包的详细信息(版本、开发者等)rpm -qi httpd
rpm -ql <包名>列出包安装的所有文件rpm -ql httpd
rpm -qc <包名>列出包的配置文件rpm -qc httpd
rpm -qd <包名>列出包的文档文件rpm -qd httpd
rpm -qf <文件路径>查询文件属于哪个包rpm -qf /etc/httpd/conf/httpd.conf
rpm -qR <包名>查看包的依赖关系rpm -qR httpd
rpm -q --scripts <包名>查看包关联的安装/卸载脚本rpm -q --scripts httpd
rpm -q --changelog <包名>查看包的更新日志rpm -q --changelog httpd
rpm -V <包名>验证包文件是否被修改(无输出=正常)rpm -V httpd
rpm -qp[选项] <RPM文件>查询未安装的 RPM 文件信息(需加 -prpm -qpi ./package.rpm
  • 经验技巧

由于软件包比较多,一般都会采取过滤,rmp -qa | grep rpm软件包

  • 实操

RPM卸载命令

  • 基本语法
rpm -e [选项] <包名>        # 卸载指定软件包
或
rpm --erase [选项] <包名>
  • 选项说明
选项功能说明
--nodeps强制卸载,忽略依赖检查(可能导致其他软件无法运行,慎用!)
--test模拟卸载过程,仅检查依赖和冲突,不实际删除文件(用于验证)
--noscripts不执行卸载前后的脚本(如 preuninstall 或 postuninstall 脚本)
--allmatches卸载所有匹配指定名称的包(用于存在多个版本时)
--justdb仅从数据库中移除包记录,不删除文件(特殊场景使用)
  • 实操 

卸载firefox软件

RPM安装命令

  • 基本语法
rpm [选项] [软件包文件]
  • 选项说明
选项说明
-i安装软件包。
-v显示详细过程。
-h在安装过程中显示安装进度条(与 -v 结合使用时效果更佳)。
-U升级软件包,如果软件包已安装,则升级到新版本;如果未安装,则进行安装。
-F仅升级已安装的软件包,不会安装未安装的软件包。
--force强制安装或卸载软件包,忽略一些依赖性和冲突性的检查。
--nodeps在安装或卸载软件包时不检查依赖性。
-q查询已安装的软件包信息。
-e卸载软件包。
-qa列出所有已安装的软件包。
  • 实操

安装firefox软件

第一步 挂载,就是将前面用来安装Linux系统的磁盘镜像文件挂载到某个/media/centos7下

mount -t iso9660 /dev/cdrom /media/centos7

挂载前,先把“磁盘”(镜像文件)插入虚拟机,如下 

第二步  进入挂载的文件夹centos7下,Packages内有许多rpm安装包可供使用

第三步 找到Firefox安装文件,进行安装

 ll |grep firefox

rpm -ivh firefox-68.10.0-1.el7.centos.x86_64.rpm

YUM

1、什么是YUM

YUM(全称Yellow dog Updater,Modified)是一个在Fedora和RedHat以及centos中的shell前端软件包管理器,基于RPM包管理,能够从指定服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载,安装。该功能类似手机中的应用商店,可以通过网络下载程序包安装即可,功能类似在JAVA中使用MAVEN工具从远程仓库下载依赖一样,可以自动处理依赖关系

yum 安装程序命令

  • 基本语法
yum [options] [command] [package ...]
  • 选项说明
选项说明
-y自动回答所有提示为 "yes",无需用户交互。
-q 或 --quiet安静模式,只显示错误信息,减少输出内容。
-v 或 --verbose详细模式,显示更多信息。
-h 或 --help显示帮助信息,列出所有可用的选项和命令。
--version显示 yum 的版本信息。
--config指定 yum 配置文件的位置。
--assumeno假设对所有提示的回答为 "no",与 -y 相反。
--assumeyes假设对所有提示的回答为 "yes",与 -y 相同(但更明确)。
--nogpgcheck不检查软件包的 GPG 签名,存在安全风险。
--downloadonly只下载软件包而不安装。
--downloaddir指定下载软件包的目录。
  • 常用命令说明
命令描述
install安装一个或多个软件包
update 或 upgrade更新一个或多个软件包,或所有已安装的软件包
remove 或 erase删除一个或多个软件包
list列出所有可用的软件包,或某个特定软件包的信息
search搜索软件包
info显示一个或多个软件包的详细信息
clean清理 yum 缓存
makecache构建或更新 yum 的软件包缓存
deplist列出某个软件包的依赖关系
groupinstall安装一个软件包组
groupremove删除一个软件包组
grouplist列出所有可用的软件包组
groupinfo显示某个软件包组的详细信息
  • 实操
#通过yum获取软件安装包
yum list|grep firefox

#采用yum方式安装firefox,软件包名称根据上面获取的复制下来,如firefox.x86_64
yum -y install firefox.x86_64

yum list可能遇到问题,可参考如下博客CentOS7 Yum list报错 “Could not resolve host: mirrorlist.centos.org; 未知的错误“-CSDN博客

安装JDK 

jdk是比较底层的语言,容易出现兼容性问题,所以在实际开发中,一般是自己找一个常用的安装包,而不会用任何安装工具,如rpm或yum。 

  • 第一步 查询系统自带的JDK
rpm -qa | grep jdk

 

由上可知,系统已经安装了好几个jdk,容易出现冲突。 

  • 第二步 卸载系统中自带的JDK
rpm -qa | grep jdk | xargs rpm -e --nodeps 

  • 第三步 将jdk.tar.gz上传到/opt目录下

tar.gz免安装,开箱即用,即解压以后就能用。 

Java Archive Downloads - Java SE 8u211 and later

  • 第四步 解压jdk压缩包

  • 第五步 在/etc/pprofile.d目录下创建my_env.sh文件(系统不建议直接修改/etc/profile)

第六步 在my_env.sh文件中配置JAVA_HOME环境变量 

#JAVA_HOME
JAVA_HOME=/opt/java/jdk1.8.0_212
PATH=$PATH:$JAVA_HOME/bin
  • 第七步 执行source命令

安装MySQL

和jdk不同的是,没有什么兼容性问题,使用rpm即可,相较于yum,rpm可以进行一些自定义的设置。yum较适合用于一些小工具的安装,即不存在兼容性问题,也不需要设置一些东西,比如vim编辑器。

  • 第一步 卸载系统中自带的MySQL

  • 第二步 下载MySQL8安装包

地址MySQL :: Download MySQL Community Server (Archived Versions)

  • 第三步 上传MySQL压缩包到/opt 然后解压

  •  第四步 解压后按照如下顺序进行安装
rpm -ivh mysql-community-common-8.0.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.0.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.30-1.el7.x86_64.rpm


  • 第五步 对MySQL进行初始化
mysqld --initialize --console
  • 第六步 修改mysql 安装目录的所有用户和所属组
chown -R mysql:mysql /var/lib/mysql/

  • 第七步 查看mysql的临时密码

  • 第八步 登录mysql,并修改密码
systemctl restart mysqld

 mysql -u root -p
输入刚复制的初始密码

alter user 'root'@'localhost' identified by '200263';

拓展2(待完善)

Linux阿里云ECS的安装部署

学习目标

1、了解阿里云ECS

2、购买阿里云服务器

3、使用Xshell远程连接ECS

4、了解ECS与虚拟机的区别

5、认识阿里云ECS的安全组机制

ECS是什么

弹性计算服务(Elastic Compute Service)

这是由云服务提供商如阿里云、华为云等提供的一种云计算服务。ECS作为一种基于云计算技术的虚拟服务器解决方案,具有以下特点:

  1. 弹性伸缩:允许用户根据业务需求快速扩展或缩减计算资源。
  2. 易于使用:提供了丰富的API和SDK,支持多种操作系统和应用软件,简化了云服务器资源的管理。
  3. 高可用性:支持全球多地域部署以及多中心架构选择,确保业务的连续性和稳定性。
  4. 安全性:提供了多层安全保障,包括网络隔离、数据加密、访问控制等,保护业务数据的安全。

ECS的应用场景非常广泛,包括但不限于网站和应用部署、大数据分析、游戏开发以及人工智能和机器学习等。此外,ECS还可以帮助企业降低IT成本,提高资源利用率。

购买ECS 

云服务器ECS_云主机_服务器托管_计算-阿里云

XShell远程连接使用阿里云

阿里云ECS安全组介绍

阿里云ECS的释放

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值