linux总结

查看linux的版本信息:
在这里插入图片描述

lsb_release -a

一、Linux的文件系统目录结构

Linux只有一个根目录: /,根目录下有bin、home、lib、root等等。
在这里插入图片描述
①bin ---------->各种常见的指令
②dev---------->把硬件映射成一个文件来进行管理
③etc----------->管理各种配置文件
④home------->当我们创建一个普通用户后,就会在home目录下生成一个文件
⑤media------->多媒体 比如 U盘等
⑥usr------------>用户的很多应用程序都放在这个目录下
usr/local-------->存放安装好的软件
⑦proc---------->内核的一些东西,不要动他
⑧root----------->root用户的一些文件
⑨lib-------------->系统开机需要的最基本的动态连接共享库
⑩mnt------------>让用户临时挂载别的文件系统,可以将外部的存储挂载在/mnt/上
var----------------->存放日志文件

二、vi和vim编辑器

1.什么是vi和vim?

vi是一个文本编辑器
vim是一个增强版的文本编辑器,方便程序设计。

2.vi和vim的三种常见模式

①正常模式:

以vim打开一个档案就进入了一般模式。

在这个模式可以 删除字符、删除整行、复制、粘贴来处理文件数据。

②插入模式/编辑模式

按下i、I、o、O、a、A、r、R等任意一个字母之后才会进入编辑模式,一般来说按i即可。

在这个模式可以,输入内容

编辑完成后,如何保存退出?
按下 esc
输入 :
输入 wq

③命令行模式

在这个模式可以提供相关指令: 完成读取、存盘、替换、离开vim、显示行号等会。

三种模式的转换

在这里插入图片描述

vi和vim的快捷键:

在这里插入图片描述

1.粘贴拷贝: 控制光标,按下yy或yy进行复制,按下p进行粘贴
2.删除:控制光标,按下dd或5dd
3.查找:在正常模式下,按/,输入要查找的数字,按下回车
在这里插入图片描述

4.设置行号和取消行号
set nu
set nonu
在这里插入图片描述

5.移动到文件最末行或者第一行
在这里插入图片描述
6.撤销
正常模式下 ,输入u

7.跳转指定行
在这里插入图片描述

编译和运行一个java程序

编译:javac {文件名.java}
运行:java {文件名}
运行jar包:java -jar {jar包}

三、关机重启

在这里插入图片描述
注意:使用shutdown以后,需要到阿里云云服务器管理平台重启机器。

四、用户的登录和注销

①用户的登录

登录时尽量不要使用root用户登录,应该使用普通用户登录,如果权限不够,使用 su - 用户名 来切换成系统管理员身份

②用户的注销

logout
在这里插入图片描述

③用户管理

在这里插入图片描述

1.添加用户

1.)采用默认目录
useradd {用户名}
passwd {用户名}
在这里插入图片描述
创建用户后,默认会在/home/目录下,创建一个相同名字的目录:
在这里插入图片描述
2.)指定目录
useradd -d /home/{自定义目录} {用户名}
passwd {用户名}
在这里插入图片描述
在这里插入图片描述

2.删除用户

1.)删除用户但保留家目录(开发时用这个)
userdel {用户名}

2.)删除用户并删除家目录
userdel -r {用户名}
在这里插入图片描述

3.查询和切换用户

①查询用户信息
id {用户名}

[root@iZbp1fbtwv3e6u41btq4rkZ ~]# id machenfei
uid=1004(machenfei) gid=1004(machenfei) groups=1004(machenfei)

②切换用户
1.)切换:su -u {用户名}

2.)返回切换前的用户:exit
在这里插入图片描述
3.)查看当前用户
whoami / who am i
在这里插入图片描述

4.用户组

通过用户组进行对多个用户的权限进行统一的管理,即一个组的所有用户权限一样

1.)添加用户组
groupadd {组名}

2.)删除用户组
groupdel {组名}

在这里插入图片描述
3.)添加用户时并将其指定到特定的组
groupadd {用户组}
uesradd -g {用户组} {用户名}
在这里插入图片描述
4.)修改用户的用户组
usermod -g {用户组} {用户名}
在这里插入图片描述
5.)用户和组的相关文件
保存用户信息
在这里插入图片描述
保存用户组的信息
在这里插入图片描述

五、如何找回root密码?

①运行级别:

在这里插入图片描述

②丢失root密码?(不能远程登录修改)

进入单用户模式运行级别,修改密码即可。

尚硅谷

六、常用指令

rm -rf 尽量不要用 (切记)

①帮助指令

当我们对某个指令不熟悉时,通过帮助指令可以了解到该指令的作用

1.)man {指令}

2.)help {指令}

②文件目录类

1.)pwd :显示当前目录的绝对路径

参数:
在这里插入图片描述

2.)ls :查看当前目录下的所有内容

参数:
ls -a:显示所有的目录或文件 包括隐藏的
ls -l: 以列表的形式显示所有内容

举例:
在这里插入图片描述

3.)cd:切换目录

参数 :
cd ~ 或者 cd : -----------> 回到自己的家目录
cd . . ------------------------->回到当前目录的上一级目录

举例:
在这里插入图片描述

4.)mkdir:创建目录

创建单级目录:
在这里插入图片描述
创建多级目录:
在这里插入图片描述

5.)rmdir :删除目录

删除空目录:
在这里插入图片描述
删除有内容的目录:
在这里插入图片描述

6.)touch:创建一个空文件

一次创建一个文件
在这里插入图片描述

一次创建多个文件
在这里插入图片描述

7.)cp:拷贝文件到指定目录

cp {源文件} {要拷贝到的目录}

案例一、将/home/aaa.txt拷贝到 /home/bbb目录下
在这里插入图片描述

案例二、递归复制整个文件夹

将 /home/test 的整个目录 拷贝到 /home/zhangwuji目录 下
在这里插入图片描述
案例三、强制覆盖原来的文件,不会有提示,提升效率
在这里插入图片描述

8.)rm:移除文件或目录

普通删除文件:
在这里插入图片描述
删除目录:
在这里插入图片描述

9.)mv:移动文件或者重命名

重命名:(源文件和目标文件 都在同一目录)
在这里插入图片描述

移动文件:
在这里插入图片描述

10.)cat :以只读的形式查看文件内容

普通查看:
在这里插入图片描述

查看并显示行号:
在这里插入图片描述
分页查看 :按下空格翻页
在这里插入图片描述

11.)more:基于文本编辑器的文本过滤器

以全屏的方式按页显示
在这里插入图片描述

一行一行的浏览: 按enter
一页一页的浏览: 按空格
回头看上一页:ctrl + B

12.)less:功能和less相似,适用于大型文件

less在显示文件时,并不是一次将整个文件加载后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
详细解释

13.)>和>>

> 将输出的内容 覆盖写入 到指定文件当中 (覆盖)

>>将输出的内容 追加写入 到指定文件当中 (追加)

在这里插入图片描述

案例一: 将/home目录下的文件列表 写入到/home/info.txt
在这里插入图片描述

>和>>的区别?
在这里插入图片描述

案例二: 将当前日历信息 追加到 /home/mycal文件中

在这里插入图片描述
在这里插入图片描述

案例三:echo 的使用在这里插入图片描述

14.)echo:输出内容到控制台

案例一、使用echo输出环境变量

在这里插入图片描述

15.)head:显示文件的开头部分

案例一:显示hello.java文件的前3行(默认前10行)
在这里插入图片描述

16.)tail:输出文件的末尾部分

案例一:查看文件末尾2行
在这里插入图片描述
案例二:实时监控hello.java的末尾
在这里插入图片描述
退出实时监控 :ctrl+C

17.)ln:快捷方式

建立快捷方式:
在这里插入图片描述
删除快捷方式:

注意快捷方式后加了 / ,与快捷方式同级的文件都会被删除
在这里插入图片描述
在这里插入图片描述

18.)history:查看已经执行过历史命令

显示所有执行过的指令
在这里插入图片描述

③时间日期类

显示时间:

在这里插入图片描述
在这里插入图片描述

设置时间:
date
查看日历:
在这里插入图片描述

显示2023年的日历
在这里插入图片描述

④搜索查找类

1.)find

案例一、 按文件名:根据名称查找 /home 目录下的hello.txt文件
在这里插入图片描述

案例二、按拥有者:查找/root目录下,用户名称为root的文件
在这里插入图片描述

案例三、查找整个linux系统下大于20m的文件

在这里插入图片描述
案例四、查找txt文件,并将所有路径存储到一个txt文件中
在这里插入图片描述

2.)locate

首先执行 yum -y install mlocate
在这里插入图片描述

3.)grep指令和管道符号 |

管道符号 |:将前一个命令的处理结果输出传递给后面的命令处理。

案例一、在hello.txt文件中,查找“hello” 所在行,并且显示行号
在这里插入图片描述
在这里插入图片描述

⑤压缩和解压缩

1.)gzip :压缩 gunzip:解压

在这里插入图片描述

2.)zip:压缩 unzip:解压

压缩:
在这里插入图片描述
在这里插入图片描述

解压:
在这里插入图片描述

3.)tar :既可以压缩 也 可以解压

在这里插入图片描述

案例一:压缩多个文件:将/home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz
在这里插入图片描述
案例二、 解压 a.tar.gz
在这里插入图片描述

案例三、解压a.tar.gz到指定目录

在这里插入图片描述

七、组管理和权限管理

在这里插入图片描述

1.)查看文件的所有者、所在组

准备工作:
mcfMCF7777
在这里插入图片描述
在这里插入图片描述

2.)修改文件的所有者

只改变文件的所有者:
在这里插入图片描述
案例一、将/home/kkk 目录下的所有文件和目录的所有者 都修改成 tom

在这里插入图片描述

3.)修改文件所在组

在这里插入图片描述
案例一、将/home/kkk目录下的所有文件和目录的所在组 都写改成 bandit组

![

](https://img-blog.csdnimg.cn/c25517791afd48789e3ad6cd7e112862.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP55m955qE5aSp5LiL,size_17,color_FFFFFF,t_70,g_se,x_16)

4.)权限详细介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.)权限管理

通过chmod指令,可以修改文件或目录的权限。
在这里插入图片描述
案例一:给abc文件 的所有者读写执行的权限,给所在组读执行的权限,给其他组读的权限

在这里插入图片描述
案例二、给abc文件所有者 减少执行的权限,增加组写的权限

在这里插入图片描述

案列三、给abc的所有用户添加读的权限
在这里插入图片描述

八、定时任务调度

在这里插入图片描述

案例一、每分钟执行 ls -l /etc/ > /temp/to.txt
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

①开启调度:

案例一、每隔一分钟就将当前的 日期信息 ,追加到 /tmp/mydate 文件中

1.)编写 shell 脚本 /home/mytask.sh
在这里插入图片描述

在这里插入图片描述

2.)给文件一个可执行权限
在这里插入图片描述

3.)crontab -e
在这里插入图片描述

4.)*/1 * * * * /home/mytask.sh
在这里插入图片描述

②终止调度:

在这里插入图片描述

九、磁盘分区

在这里插入图片描述

1.)linux分区

在这里插入图片描述
硬盘说明:
在这里插入图片描述
在这里插入图片描述

2.)挂载的经典案例

尚硅谷
在这里插入图片描述

3.)磁盘情况查询

①查看系统整体磁盘使用情况
在这里插入图片描述

②查看目录的磁盘占用情况
在这里插入图片描述

在这里插入图片描述
③工作实用指令
在这里插入图片描述
1.
在这里插入图片描述
2.
在这里插入图片描述
3.
在这里插入图片描述
4.
在这里插入图片描述
2. 如果不能用 tree,可以使用 yum install tree 安装。在这里插入图片描述

十、网络配置原理和说明

①Linux网络配置原理图

目前我们的网络配置采用的是NAT
在这里插入图片描述

②查看虚拟网络编辑器

在这里插入图片描述

③修改ip地址(修改虚拟网络ip地址)

在这里插入图片描述

④查看网关

在这里插入图片描述
在这里插入图片描述

⑤查看windows环境中的VMnet8网络配置

ipconfig指令
在这里插入图片描述

⑥linux 修改配置文件 指定固定 ip

使用自动配置 后 linux的ip是会变化的,这样是很不适合做服务器的,要将linux的IP地址固定,可以修改其配置文件

在这里插入图片描述

在这里插入图片描述

vi /etc/sysconfig/network-scripts/ifcfg-eth0


在这里插入图片描述
③ 重启服务

 service network restar

十一、进程管理

在这里插入图片描述

①查看系统中执行的进程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

②查看进程的父进程

查看所有进程的父进程
在这里插入图片描述

查询 sshd的父进程
在这里插入图片描述

③终止进程

在这里插入图片描述
案例一:踢掉某个非法用户
在这里插入图片描述
案例二、终止远程登录服务 sshd,在适当的时候重启sshd服务
在这里插入图片描述
案例三、终止多个gedit编辑器 (通过 killall 来终止)
在这里插入图片描述

案例四、强制杀掉一个终端(必须 要带 参数 -9)

在这里插入图片描述

④查看进程树

-p:显示进程的PID
-u:显示进程的所属用户
在这里插入图片描述

十二、服务管理

服务的本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,因此我们又称为守护进程。
在这里插入图片描述

在这里插入图片描述
案例一:查看当前防火墙的状态、关闭防火墙、和重启防火墙(立即、临时生效)

案例二:通过telnet指令检查Linux的某个端口是否在监听,并且可以访问

案例三:查看服务名称
ll /etc/init.d/
在这里插入图片描述

①关于防火墙的指令 (适用于centos 7)

1.)查看防火墙的状态

firewall-cmd --state

2.)临时开启防火墙,重启系统失效

systemctl start firewalld.service

在这里插入图片描述
3.)临时开启防火墙,重启系统失效

systemctl stop firewalld.service

4.)设置开机 自动启动 防火墙

systemctl enable firewalld

在这里插入图片描述
5.)设置开机 自动关闭 防火墙
在这里插入图片描述

②关于端口的指令(适用于centos 7)

1.)查看已经开放的端口:

firewall-cmd --zone=public --list-ports

在这里插入图片描述

2.)开放某个端口

firewall-cmd --zone=public --add-port=要开的端口/tcp --permanent
firewall-cmd --reload

在这里插入图片描述

3.)关闭某个端口

firewall-cmd --zone=public --remove-port=10010/tcp --permanent
firewall-cmd --reload

在这里插入图片描述
4.)查看进程所监听的端口
在这里插入图片描述

③todo : 感觉阿里云开放端口 有区别

④进程监控

1.)动态监控进程 : top

top

在这里插入图片描述
在这里插入图片描述

案例一、监视特定用户

在这里插入图片描述

案例二、在top中杀死指定的进程:

在这里插入图片描述

案例三、指定系统更新的时间(默认是三秒)

在这里插入图片描述

2.)监控网络状态:netstat -anp

案例一、查看所有的网络服务

在这里插入图片描述

案例二、查看指定的网络服务

在这里插入图片描述

十三、RPM包和YUM

①RPM包的管理

在这里插入图片描述
在这里插入图片描述

案例一:查询当前Linux中有没有安装 firefox

在这里插入图片描述

案例二:查询安装好的jdk的软件包信息

在这里插入图片描述

案例三:查询rpm包的文件安装到那里去了

在这里插入图片描述

案例四:查询某个文件属于哪个软件包

在这里插入图片描述

案例五:卸载rpm包

在这里插入图片描述
在这里插入图片描述

案例五:安装rpm包 安装 火狐浏览器

1.)先找到火狐的安装包

②YUM(需要联网)

在这里插入图片描述

案例一、使用yum安装火狐

bash>yum install firefox

在这里插入图片描述

③JDK的安装和配置

JDK的安装和卸载
课前准备:卸载之前安装好的openjdk
在这里插入图片描述

jdk8的安装 ---->可用

压缩包 在 百度网盘 工具文件夹下

④mysql8.0的安装

centos7 下 mysql8的安装

十四、Shell

①什么是shell?

在这里插入图片描述

②shell脚本的快速入门

脚本的格式

1.)脚本以#!/ bin /bash 开头
2.)脚本需要有可执行权限

hello,world

1.)

在这里插入图片描述
2.)
在这里插入图片描述
3.)在这里插入图片描述
4.)
在这里插入图片描述

除了给shell文件一个可执行权限来执行shell文件,还可以通过以下方式来执行shell文件:
在这里插入图片描述

③Shell的变量

1.)shell的变量介绍

1.1 系统变量
1.1.1直接输出现有的系统变量

在这里插入图片描述
在这里插入图片描述

1.1.2查看所有的系统变量

在这里插入图片描述

1.1.3自定义系统变量

1.)在/etc/profile下编辑保存系统变量
在这里插入图片描述
2.)刷新配置文件
在这里插入图片描述

1.2用户自定义变量
1.2.1定义变量和取消变量

在这里插入图片描述

在这里插入图片描述

1.2.2定义静态变量 和 验证静态变量不能unset

在这里插入图片描述
在这里插入图片描述

1.2.3把一个变量提升为全局变量,供其他shell使用
1.2.4变量的定义规则

在这里插入图片描述

1.2.5将命令的输出作为变量的值

在这里插入图片描述

1.3位置参数变量

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.4预定义变量

在这里插入图片描述

④shell运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⑤shell判断语句

在这里插入图片描述
在这里插入图片描述

⑥shell流程控制

if

在这里插入图片描述
在这里插入图片描述

case

在这里插入图片描述在这里插入图片描述

for

在这里插入图片描述

在这里插入图片描述

while

在这里插入图片描述

在这里插入图片描述

⑦shell读取控制台输入

在这里插入图片描述
案例一、读取控制台输入一个num值
案例二、读取控制台输入一个num值,在10秒内输入
在这里插入图片描述
在这里插入图片描述

⑧shell系统函数

1.)系统函数
basename

在这里插入图片描述

dirname

在这里插入图片描述
在这里插入图片描述

2.)自定义函数

在这里插入图片描述
案例一:计算输入两个参数的和
在这里插入图片描述
在这里插入图片描述

⑨shell的综合案例:shell定时维护数据库

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值