Linux【学习笔记】

Linux[学习笔记] 2022.6.30完结

Linux是经常使用的开发环境,所以其中的一些基本概念和基本指令工具的用法要掌握。


一、虚拟机

1、概念
虚拟机的克隆和快照操作,相当于存档
2、快捷操作
ctrl + shift + ‘+’ 快捷放大终端字体
su root 进入root权限
sudo passwd root 修改root用户密码

二、Linux基础-目录结构

Linux目录类似树状图,最上面是根目录/

三、Vi和Vim编辑器

1、正常模式
通过 vim hello.txt 使用vim编辑器编辑hello.txt文件,刚进入vim编辑器时的状态,可以进行【删除字符】以及【删除整行】操作
2、插入模式
按下 i 时进入插入模式,从插入模式按下 esc 退出回到正常模式
3、命令行模式
从正常模式按下 : 进入命令行,输入wq 保存并退出
q!强制退出不保存

4、Vim快捷键以及键位图
正常模式下 yy 复制一行,dd 删除一行啊啊
在这里插入图片描述

四、远程登录到服务器

1、下载安装xshell和xftp
ifconfig查看ip地址 / Windows是ipconfig查询ip地址
ping ip地址 连接服务器,查询是否连同
2、xshell连接不成功可能原因
a、使用了VPN
b、建议使用glen用户登录而不是root用户
3、xshell登录linux步骤
ifconfig查询linux服务器的ip地址
xshell新建程序,用户使用glen而不是root

五、用户管理centOS版本,ubuntu指令不一样

1、创建新用户

useradd milan
useradd -d /home/king king # 指定目录创建用户

2、修改用户的密码

passwd 用户名
passwd milan

3、删除用户

userdel milan # 删除用户,但是保留家目录
userdel -r milan # 删除用户,同时删除家目录
logout # 退出登录

4、切换用户

su 用户名

5、用户组

groupadd wudang  # 创建一个新组
groupdel wudang
useradd -g wudang zwj  # 创建一个新的用户,直接放入wudang这个组里面

# 切换用户到另外的组
groupadd mojiao
useradd zwj
usermod -g mojiao zwj
id zwj # 查看zwj的信息

六、安装VMware tools以及共享文件夹

1、安装vm tools
虚拟机选项下面的安装vmware tools
2、共享文件夹
虚拟机选项下面的设置,共享文件夹
windows下面的文件夹,linux存放在 computer/mnt/hgfs

七、运行级别&使用指令

1、运行级别
init 3
init 5
切换命令行运行级别 图形化运行级别
2、文件目录类指令
pwd
查看当前工作目录的绝对路径

ls
查看当前目录下的文件
-l 以列表的方式显示信息

cd
cd ~ 或者cd : 回到自己的家目录
cd … 回到上一级目录

mkdir
创建文件夹
mkdir tom

touch
创建空的文件
touch hello.txt

cp
copy指令,复制文件或者文件夹到指定目录下
cp -r 复制文件夹

rm
移除文件或者文件夹
rm -r 移除文件夹

mv
移动文件或者重命名
重命名: mv oldname newname
移动文件 mv 目录1 目录2

cat
查看文件内容
cat -n 显示行号

more
more 文件名
以更丰富的操作空间来查看文件内容

less
分屏查看文件内容,对于大文件比较好用

echo
输出环境变量
echo #PATH

head
显示文件开头部分内容

tail
显示文件结尾部分内容
tail -f 实时跟踪文件

> >>
> 覆盖写
>>> 追加写

ln
添加软连接

history
查看指令的历史记录

find
1、按文件名,查找/home目录下的hello.txt文件
find /home -name hello.txt
2、按拥有者,查找/opt目录下的文件
find /opt user nobody
3、查找整个linux系统下大于200m的文件
find / -size +200M

locate
快速定位文件的目录
uplocatedb
locate hello.txt

**grep | **
过滤查找
查找hello.txt文件中存在yes的行,并显示行号
cat /home/hello.txt | grep -n “yes”
相当于
grep -n “yes” /home/hello.txt

3、压缩和解压缩类指令
gzip & gunzip指令
gzip用于压缩 gunzip用于解压
只能压缩以及解压 *.gz 文件

zip & unzip指令
压缩和解压成 *.zip 格式的文件
zip -r 压缩整个文件夹的内容

tar 指令
压缩后的格式 *.tar.gz

八、磁盘分区、挂载

1、查看所有设备挂载情况
lsblk -f

2、增加一块硬盘

  • 虚拟机添加硬盘
  • 分区
  • 格式化
  • 挂载
  • 设置自动挂载

3、磁盘情况查询
df -h
查询指定目录的磁盘占用情况:
du -hac --max-depth=1 /opt
查询/opt目录的磁盘占用情况,深度为1

4、统计目录下的文件数量

九、Linux网络配置

1、NAT网络配置
在这里插入图片描述
2、查看ip地址相关指令
ifconfig ipconfig ping指令

3、Linux网络环境配置
自动获取IP地址&固定IP地址(建议)

4、设置主机名和hosts的映射

hostname  # 查看主机名

通过名字对应ip地址
在这里插入图片描述
5、主机名解析过程分析(Hosts&DNS)
hosts是一个文本文件,用来记录IP和主机名的映射关系
DNS是一个域名系统,是互联网上作为域名和IP地址相互映射的一个分布式数据库
在这里插入图片描述

十、进程管理

1、基本概念

  • 程序运行之后就产生进程,每一个进程都有一个对应的进程号
  • 进程以前台或者后台的形式存在,通常以后台的方式存在

2、PS指令
PS指令用来查看进程的运行情况
ps -ef | grep ssdh # 查看ssdh相关的进程

3、kill 终止进程
kill 进程号 # 终止进程
ssdh 使用xshell远程登陆linux所产生的进程
kill可以终止进程,killall可以中制多个gedit killall gedit
kill -9 进程号 # 强制终止进程

4、pstree
以树状图的形式显示进程
-u 显示进程所属用户
-p 显示进程的PID

5、service服务管理
服务本质上就是进程,用来等待其他程序的请求,也叫做守护进程比如mysqld,sshd,防火墙等等

6、chkconfig
chkconfig用于管理服务各个运行级别的自启动

7、systemctl管理服务的自启动状态
systemctl list-unit-files | grep 服务名 # 查看服务的开机自启动状态
systemctl enable 服务名 # 开机自启动
systemctl disable 服务名 # 关闭开机自启动

切换防火墙状态
systemctl status firewalld
systemctl start firewalld
systemctl stop firewalld

8、防火墙管理端口
在这里插入图片描述
9、动态监控top指令

十一、Linux下的RPM和YUM的软件安装与卸载

yum自动处理软件的依赖关系

十二、shell编程

1、shell是什么
shell是一个命令行脚本,通过编写shell脚本进行linux程序执行。

# 编写第一个shell脚本,输出hello,world。
mkdir /home/shellcode
cd /home/shellcode/
vim hello.sh 
#    #!/bin/bash   必须以这个开头
#    echo "hello.world."
chmod u+x hello.sh
./hello.sh
# 变量的声明
vim var.sh

var.sh
#!/bin/bash
#定义变量A
A=100
#输出变量需要加上$
echo A=$A
#撤销变量A
unset A
echo A=$A
#定义静态变量B
redonly B=2
echo B=$B

sh var.sh # 执行bashell脚本
# 定义环境变量
vim /etc/profile

profile:
export TOMCAT_HOME=/opt/tomcat

source /etc/profile

2、位置参数变量
在这里插入图片描述
3、条件判断

# 如果输入的参数大于等于60,输出及格了。小于60,输出不及格
if [ $1 -ge 60 ]
then 
	echo "及格了"
elif [ $1 -lt 60 ]
then 
	echo "不及格"
fi

在这里插入图片描述

4、shell编程综合案例分析
定时备份数据库
在这里插入图片描述
在这里插入图片描述
任务调度完成每天备份,shell脚本完成备份数据库以及删除以前的备份。

# 备份目录
BACKUP=/data/backup/db
# 当前时间 年月日
DATATIME=$(data +%Y-%m-%d)
echo $DATATIME
# 数据库的地址
HOST=localhost
# 数据库用户名
DB_USER=root
# 数据库密码
DB_PW=hspdu100
# 数据库名
DATABASE=hspedu

# 创建备份目录,如果不存在就创建
[ ! -d "${BACKUP}/${DATATIME}" ] && mkdir -p "${BACKUP}/${DATATIME}"

# 备份数据库
mysqldump -u${DU_USER} -p${DB_PW} --host=${HOST} -q -R --databases ${DATABASE} | gzip > ${BACKUP}/${DATATIME}/$DATARIME.sql.gz

# 将文件处理成tar.gz
cd ${BACKUP}
tar -zcvf $DATATIME.tar.gz ${DATATIME}
# 删除对应的备份文件
rm -rf ${BACKUP}/${DATATIME}

# 删除10天前的备份文件
find ${BACKUP} -atime +10 -name "tar.gz" -exec rm -rf {} \;
echo "备份数据库${DATABASE} 成功~"

定时任务调度,完成每天凌晨操作bashell脚本

crontab -e # 设置任务调度
crontab -l # 查看任务调度目录

十三、apt软件管理

1、apt软件管理示意图
在这里插入图片描述

sudo apt-get update 更新源
sudo apt-get install package 安装包
sudo apt-get remove package 删除包
sudo apt-get show package 获取包的相关信息

十四、SSH远程登陆

在这里插入图片描述
1、安装和启动SSH

sudo apt-get install openssh-server
service sshdrestart

2、集群服务:linux登录宁外一台linux
ssh 要登陆的用户@IP
例如 ssh Glen另外一台的用户@192.168.200.130

十五、高级部分没学

日志管理
定制自己的linux
linux源码
备份与回复
运维工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值