当前位置: 首页 > news >正文

测试学习Day6——Linux和数据库(1)

Linux操作系统

操作系统介绍

操作系统是一种管理计算机硬件和软件资源的程序,是用户进行所有操作的基础平台

常见的操作系统

  • 桌面操作系统:Windows、mcOS和Linux
  • 移动端操作系统:Android和iOS
  • 嵌入式操作系统:应用于路由器、物联网设备等,Linux
  • 服务器操作系统:Linux、Unix和Windows Server

Linux的特点

  • 开源免费
    • 用户可自由获取、修改和传播源代码。
    • 无需激活码或授权验证。
  • 安全稳定
    • 被广泛认为具有较高的安全性与稳定性。
    • 各大操作系统厂商通常都会强调这一特性。
  • 高性能
    • 在服务器及高性能计算领域表现优异。
  • 可移植性好
    • 可运行于多种硬件平台,如 PC、手机、路由器等。

Linux主要发行版本

  • Red Hat:主要用于服务器环境。
  • openSUSE:适合开发和企业使用。
  • Ubuntu(乌班图):较为流行的桌面发行版。
  • Fedora(费多拉):常用于开发测试,社区活跃。
  • Oracle Linux:专为数据库服务设计。

Linux应用领域

  • 服务器领域
    • 广泛应用于 Web 服务器、数据库服务器、网络服务器等。
  • 云计算
    • 大量云服务平台基于 Linux 构建。
  • 嵌入式系统
    • 如智能设备、路由器、智能手表等。
  • 移动设备
    • 安卓手机内核为 Linux。
  • 非适用场景
    • 游戏和办公领域使用较少,主要由 Windows 占主导地位。

Linux文件系统概述

  • Linux文件系统采用树状结构(也称树形结构),以层级化方式组织文件和目录。
  • 树状结构表现为一个根节点下分支出多个子节点,每个子节点又可继续分支。

根目录介绍

  • 在Linux中,所有路径都从一个统一的起点开始,称为根目录/
  • 与Windows不同,Windows通常以盘符(如C盘、D盘)作为起点,而Linux始终以根目录为起点。

主要目录及其作用

  • /(根目录):整个文件系统的最顶层目录,其他所有目录均挂载于此之下。
  • /home(用户目录):存放普通用户的个人数据,例如/home/admin表示 admin 用户的家目录。
  • /root(管理员目录):系统管理员(超级用户)的家目录。
  • /etc(配置文件目录):存放系统和应用程序的配置文件。
  • /bin/usr/bin(命令工具目录):存放常用命令和工具程序。

树状结构的理解

  • 所谓树状结构即文件夹内包含子文件夹,子文件夹中还可继续包含更深层级的文件夹。
  • Windows同样采用类似结构,但Linux的统一根目录设计使得路径管理更为集中。

Linux操作系统特点与应用场景

  • 特点
    • 免费开源。
    • 系统稳定。
    • 性能高。
    • 可移植性强。
  • 应用场景
    • 服务器。
    • 云计算。
    • 数据库。
    • 嵌入式系统。
    • 客户端(较少见)。

Linux常见命令

1.ls- 列出目录内容

ls-la# 列出所有文件(包括隐藏文件)的详细信息

2.cd- 切换目录

cd/var/log# 切换到/var/log目录

3.pwd- 显示当前工作目录

pwd# 显示当前所在目录的完整路径

4.cat- 查看文件内容

catconfig.yml# 查看配置文件内容

5.grep- 文本搜索

grep-n"error"app.log# 在日志中搜索"error"并显示行号

6.tail- 查看文件尾部

tail-fapplication.log# 实时监控日志文件变化

7.head- 查看文件头部

head-20app.log# 查看日志前20行

8.cp- 复制文件或目录

cp-rsource_dir/ dest_dir/# 递归复制目录

9.mv- 移动或重命名文件

mvold_name.txt new_name.txt# 重命名文件

10.rm- 删除文件或目录

rm-rfdirectory/# 强制递归删除目录

11.mkdir- 创建目录

mkdir-pparent/child# 创建多级目录

12.rmdir- 删除空目录

rmdirempty_dir# 删除空目录

13.touch- 创建空文件或更新文件时间戳

touchnew_file.txt# 创建新文件

14.find- 查找文件

find/home-name"*.log"# 查找所有.log文件

15.which- 查找命令路径

whichpython# 查找python命令位置

16.whereis- 查找命令相关文件

whereisjava# 查找java相关文件

17.locate- 快速查找文件

locatenginx.conf# 查找nginx配置文件

18.chmod- 修改文件权限

chmod+x script.sh# 添加执行权限

19.chown- 修改文件所有者

chownuser:group file.txt# 修改文件所有者和组

20.ps- 查看进程状态

psaux|grepnginx# 查看nginx进程

21.top- 实时显示进程状态

top# 查看系统进程和资源使用情况

22.kill- 终止进程

kill-91234# 强制终止PID为1234的进程

23.killall- 终止同名进程

killallchrome# 终止所有chrome进程

24.pkill- 按模式终止进程

pkill-f"python script"# 终止匹配模式的进程

25.bg- 将进程放到后台运行

bg%1# 将作业1放到后台运行

26.fg- 将进程放到前台运行

fg%1# 将作业1放到前台运行

27.jobs- 查看后台作业

jobs# 查看当前终端后台作业

28.nohup- 使进程在退出终端后继续运行

nohuppython server.py&# 后台运行并不受终端退出影响

29.df- 显示磁盘空间使用情况

df-h# 以易读格式显示磁盘空间

30.du- 显示目录空间使用情况

du-sh/var/log# 显示/var/log目录总大小

31.free- 显示内存使用情况

free-h# 以易读格式显示内存使用

32.uname- 显示系统信息

uname-a# 显示所有系统信息

33.uptime- 显示系统运行时间

uptime# 显示系统运行时间和负载

34.who- 显示当前登录用户

who# 显示当前登录用户信息

35.w- 显示登录用户及活动

w# 显示登录用户及其活动

36.last- 显示登录历史

last# 显示用户登录历史

37.history- 显示命令历史

history# 显示命令历史记录

38.tar- 打包压缩文件

tar-czvfarchive.tar.gz directory/# 创建gzip压缩包

39.gzip- 压缩文件

gzipfile.txt# 压缩文件

40.gunzip- 解压缩文件

gunzip file.txt.gz# 解压缩文件

41.zip- 创建zip压缩包

ziparchive.zip file1.txt file2.txt# 创建zip压缩包

42.unzip- 解压zip文件

unziparchive.zip# 解压zip文件

43.ssh- 远程登录

sshuser@hostname# 远程登录到主机

44.scp- 安全复制文件

scpfile.txt user@hostname:/path/# 复制文件到远程主机

45.rsync- 远程同步文件

rsync-avsource/ user@hostname:destination/# 同步文件到远程主机

46.ping- 测试网络连接

pingexample.com# 测试与example.com的网络连接

47.traceroute- 显示数据包路径

tracerouteexample.com# 显示到example.com的网络路径

48.netstat- 显示网络状态

netstat-tuln# 显示所有监听端口

49.ss- 显示套接字统计

ss-tuln# 显示监听端口(比netstat更快)

50.ifconfig- 配置网络接口

ifconfigeth0# 显示eth0接口信息

51.ip- 显示/操作路由、设备等

ipaddr show# 显示所有网络接口信息

52.route- 显示/操作IP路由表

route-n# 显示路由表

53.hostname- 显示或设置主机名

hostname# 显示当前主机名

54.curl- 传输数据

curl-Ihttp://example.com# 获取HTTP头信息

55.wget- 下载文件

wgethttp://example.com/file.zip# 下载文件

56.lynx- 文本浏览器

lynxhttp://example.com# 以文本方式浏览网页

57.telnet- 远程登录

telnethostname22# 测试端口连通性

58.nc- 网络工具

nc-zvhostname80# 测试端口连通性

59.ssh-keygen- 生成SSH密钥

ssh-keygen-trsa# 生成RSA密钥对

60.ssh-copy-id- 复制SSH密钥到远程主机

ssh-copy-id user@hostname# 复制公钥到远程主机

61.sed- 流编辑器

sed's/old/new/g'file.txt# 替换文件中的文本

62.awk- 文本处理工具

awk'{print $1}'file.txt# 打印每行第一个字段

63.cut- 剪切文件内容

cut-d:-f1/etc/passwd# 提取/etc/passwd中的用户名

64.paste- 合并文件行

pastefile1.txt file2.txt# 合并两个文件的行

65.sort- 排序文件内容

sortfile.txt# 对文件内容排序

66.uniq- 报告或忽略重复行

uniqfile.txt# 去除重复行

67.wc- 统计文件内容

wc-lfile.txt# 统计文件行数

68.diff- 比较文件差异

difffile1.txt file2.txt# 比较两个文件差异

69.patch- 应用补丁文件

patch-p1<patchfile# 应用补丁

70.ln- 创建链接

ln-s/path/to/file linkname# 创建软链接

71.readlink- 显示符号链接值

readlink /usr/bin/python# 显示符号链接指向的实际路径

72.stat- 显示文件状态

statfile.txt# 显示文件详细信息

73.file- 确定文件类型

filedocument.pdf# 确定文件类型

74.md5sum- 计算MD5校验和

md5sum file.iso# 计算文件MD5值

75.sha256sum- 计算SHA256校验和

sha256sum file.iso# 计算文件SHA256值

76.date- 显示或设置系统日期时间

date+"%Y-%m-%d %H:%M:%S"# 显示格式化日期时间

77.cal- 显示日历

cal# 显示当月日历

78.time- 测量命令执行时间

timels-la# 测量命令执行时间

79.timeout- 运行有时间限制的命令

timeout5spingexample.com# 5秒后终止ping命令

80.watch- 定期执行命令

watch-n1'date'# 每秒执行一次date命令

81.at- 定时执行任务

echo"ls -la"|at midnight# 午夜执行命令

82.crontab- 管理定时任务

crontab-l# 列出当前用户的定时任务

83.systemctl- 控制系统服务

systemctl status nginx# 查看nginx服务状态

84.service- 运行系统服务脚本

servicenginx restart# 重启nginx服务

85.journalctl- 查询系统日志

journalctl-unginx# 查看nginx服务日志

86.dmesg- 显示内核消息

dmesg|greperror# 查找内核错误消息

87.lsof- 列出打开文件

lsof-i:80# 查找使用80端口的进程

88.strace- 跟踪系统调用

strace-fpython script.py# 跟踪Python脚本的系统调用

89.vmstat- 显示虚拟内存统计

vmstat1# 每秒显示一次虚拟内存统计

90.iostat- 显示CPU和I/O统计

iostat-x1# 每秒显示一次扩展I/O统计

91.mpstat- 显示CPU统计

mpstat1# 每秒显示一次CPU统计

92.pidstat- 显示进程统计

pidstat-u1# 每秒显示一次进程CPU使用情况

93.sar- 系统活动报告

sar-u13# 每秒显示一次CPU使用,共3次

94.ulimit- 控制shell资源

ulimit-a# 显示所有资源限制

95.env- 显示环境变量

env# 显示所有环境变量

96.export- 设置环境变量

exportPATH=$PATH:/new/path# 添加新路径到PATH

97.unset- 删除变量或函数

unsetVARIABLE# 删除环境变量

98.alias- 创建命令别名

aliasll='ls -alF'# 创建ll别名

99.unalias- 删除别名

unaliasll# 删除ll别名

100.source- 执行脚本文件

source~/.bashrc# 重新加载bash配置

数据库基础

数据库简介

1、数据存储阶段发展

  1. 人工管理阶段
  2. 文件系统阶段
  3. 数据库阶段

数据库:是指产期存储在计算机内、有组织的数据集合

2、数据库分类

关系型数据库

关系型数据库RDMS(Relational Management System):将数据间的关系一数据库表的形式加以表达,并将数据存储在表格中,以便于查询

常见关系型数据库:

关系型数据库核心要素:

非关系型数据库

SQL介绍

SQL(Structured Query Language):结构化查询语言,通过SQL语言可以对数据库进行操作

MySQL简介

MySQL特点

MySQL组成
  • MySQL服务器:存储数据并解析编译后的SQL语句,将执行结果返回给客户端
  • MySQL客户端:下发用户要执行的SQL语句,并显示服务器返回的执行结果
MySQL连接
mysql-hhost-u用户名-p密码

MySQL数据类型与约束

数据类型
  • 整形(int):
    • 有符号范围(-2147483648~2147483648)
    • 无符号范围(0~4294967295)
  • 小数(decimal(5,2)):表示该字段可以存5位数,其中小数位数为2
  • 字符串(varchar):一个字母或一个中文点一个字符
  • 时间日期(datatime)
数据约束
  • 主键(primary key):物理上存储的数据
  • 非空(not null):此字段不允许填写空值
  • 唯一(unique):此字段的值不允许重复
  • 默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准
  • 外键(foreign key):维护两表之间的关联关系

命令行客户端

操作数据库

查看所有数据库:show databases;

使用数据库:use 数据库名;

查看当前使用数据库:select database();

创建数据库:create database 数据库名 charset=utf8;

删除数据库:drop database 数据库名;

操作数据库表

查看当前数据库所有的表:show tables;

查看表结构:desc 表名;

查看表的创建语句:show create table 表名;

SQL语言

数据库表操作

##建表语句createtablestudents(idintunsignedprimarykeyauto_increment,namevarchar(20),ageintunsigned,heightdecimal(5,2));##删除数据库表droptablestudents;droptableifexistsstudents;

数据的增删改查操作

##简单查询select*fromstudents;##添加一行数据insertintostudentsvalues(0,'亚索',22,177,56);insertintostudents(name)values('亚索');##添加多行数据insertintostudentsvalues(0,'亚索',22,177.56);insertintostudentsvalues(1,'信息',32,172.56);insertintostudentsvalues(2,'sdf',22,198.56);insertintostudentsvalues(0,'亚索',22,177.56),(1,'信息',32,172.56),(2,'sdf',22,198.56);##修改数据(修改id为0的学生数据,姓名改为火鹤,年龄改为20updatestudentssetname='火鹤',age=20whereid=0;##删除数据(物理删除)deletefromstudentswhereid=2;##逻辑删除是指通过设定一个字段来表示当前记录已删除,is_delete字段来标识,0表示删除,1表示未删除##删除数据的其他方式truncatetablestudents;##保留表结构droptablestudents;##删除所有数据和表结构

http://www.cnnetsun.cn/news/1343997.html

相关文章:

  • 2026年DeepSeek写的论文AI率太高?3款降AI工具实测推荐
  • Gradle框架:现代软件构建的灵活引擎
  • 二氢视黄醛价格
  • 解决AI模型版本同步问题:架构师的3套方案
  • 大模型如何赋能RAG?深度解析大模型原理与选择策略!
  • 基于SwanLinkOS/OpenHarmony操作系统设计的智慧工厂项目(二)项目环境的搭建
  • AI赋能嵌入式研发:效率革命与智能升级
  • 2026年制作文旅宣传图,搜索关键词比找对网站更关键
  • 欧意下载okxz.run复制打开 下载教程2026最新
  • QT信号与槽机制全解析
  • 使用Jsoup爬取豆瓣电影Top250(附Java代码)
  • 在WebFuture里如何自动处理二维码问题脚本
  • 11-AI基础概念入门
  • django flask+uniapp 酒店管理系统设计 小程序_54ybz
  • 如何解决嵌套在公众号里面的H5页面有缓存的问题。公众号菜单的H5的域名不希望加版本号去修改
  • DataTable学习路线
  • 芯片解密多少钱,单片机解密价格详细解析
  • 2026必备!全行业通用降AI率平台 千笔·降AIGC助手 VS 万方智搜AI
  • 【用 Java API Client 操作 Elasticsearch】
  • AI智能体中的Skills是什么?
  • 某厂Java面试实录:深度解析高并发秒杀系统、Redis原子扣减、分布式锁与消息可靠性
  • Pandas加载Avro文件
  • sdut-程序设计基础Ⅰ-23级转专业第一次机测题
  • python运算符
  • 深入理解 AI Agent 中的 Skills:让 AI 拥有专业能力的秘密武器
  • 深度解析 pprof 的采样机制:它是如何在不影响性能的前提下捕获堆栈快照的?
  • 密码学加解密实训(Base64转义)
  • python股票数据分析预测系统 大模型股票行情预测系统 量化交易分析预测系统
  • Linux系统
  • 腾讯版「龙虾」Workbuddy上线当天,我用它搭了一套行业情报日报系统