From 1a806d7b0ff3b9820d96477429d52d7bf8d84900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=B3=BD=E6=9D=B0?= <11770355+li-zejie@user.noreply.gitee.com> Date: Mon, 8 Jul 2024 15:53:34 +0000 Subject: [PATCH] 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李泽杰 <11770355+li-zejie@user.noreply.gitee.com> --- .../20240607.md" | 15 ++++ .../20240612.md" | 53 ++++++++++++++ .../20240613.md" | 22 ++++++ .../20240614.md" | 24 +++++++ .../20240619.md" | 68 ++++++++++++++++++ ...50\345\210\206\351\224\231\350\257\257.md" | 41 +++++++++++ ...34\347\250\213\350\277\236\346\216\245.md" | 71 +++++++++++++++++++ .../20240703postgresql.md" | 21 ++++++ 8 files changed, 315 insertions(+) create mode 100644 "\346\235\216\346\263\275\346\235\260/20240607.md" create mode 100644 "\346\235\216\346\263\275\346\235\260/20240612.md" create mode 100644 "\346\235\216\346\263\275\346\235\260/20240613.md" create mode 100644 "\346\235\216\346\263\275\346\235\260/20240614.md" create mode 100644 "\346\235\216\346\263\275\346\235\260/20240619.md" create mode 100644 "\346\235\216\346\263\275\346\235\260/20240701\345\256\211\350\243\205\346\225\260\346\215\256\345\272\223\345\217\212\344\270\200\351\203\250\345\210\206\351\224\231\350\257\257.md" create mode 100644 "\346\235\216\346\263\275\346\235\260/20240702\346\225\260\346\215\256\345\272\223\350\256\276\347\275\256\350\277\234\347\250\213\350\277\236\346\216\245.md" create mode 100644 "\346\235\216\346\263\275\346\235\260/20240703postgresql.md" diff --git "a/\346\235\216\346\263\275\346\235\260/20240607.md" "b/\346\235\216\346\263\275\346\235\260/20240607.md" new file mode 100644 index 0000000..fc4ea50 --- /dev/null +++ "b/\346\235\216\346\263\275\346\235\260/20240607.md" @@ -0,0 +1,15 @@ +chattr命令 +添加隐藏权限 +-i 对于文件和目录来说 不能进行删除修改移动新建 + +-a 对于目录来说,能在里面创建新的内容但是不能对其进行任何操作 + 对于文件来说也不能进行任何操作,但可以通过echo命令对其插入东西 + +umask命令 +-p 查看当前登录账号默认权限 +-S 可以查看账号默认权限 +使用与计算来设置默认权限,与计算相当于反着来 +umask 0000 想要设置的账号 + +特殊权限 +suid \ No newline at end of file diff --git "a/\346\235\216\346\263\275\346\235\260/20240612.md" "b/\346\235\216\346\263\275\346\235\260/20240612.md" new file mode 100644 index 0000000..e25d9f1 --- /dev/null +++ "b/\346\235\216\346\263\275\346\235\260/20240612.md" @@ -0,0 +1,53 @@ +周期任务 +概念: 提供一种可以重复的、指定重复周期的一种执行机制 +分类 +系统级: + /etc/cron.hourly +/etc/cron.hourly +/etc/cron.weekly +/etc/cron.monthly +/etc/cron.yearly +用户级 +/var/spool/cron/crontabs/root root用户的周期任务 +配置周期任务 +系统级 +编辑对应的系统级配置文件(对应小时、天、周等) +用户级 +编辑对应的系统级配置文件 +crontab -e 编辑 +crontab -r 删除 +crontab -l 列出任务 +语法 +crontab -e 进入编辑模式 +* * * * * (这个是设置的周期) 内容 >> 文件路径 + +通用语法 从左到右分别代表的含义 +分钟 0-59 +小时 0-23 +天 1-31 +月份 1-12 +星期 0-6 +要执行的任务或命令 脚本或单命令 +特殊符号 +* 代表每的意思 +/ 每搁多少时间段执行一次 +- 表示范围 +,分隔时段 + + +crontab +-l 查看当前用户的周期任务 +-e 编辑当前用户的周期任务 +-r 删除当前用户的周期任务表 +echo $EDITOR 可以设置临时的环境变量 +export EDITOR=vim 设置成vim +设置永久环境变量 +cat .bashrc +cat /etc/profile.d/ + + +service cron start 启动服务 +service cron stop 关闭服务 +service cron restart 重启服务 +service cron reload 重新加载服务 +service cron status 查看crontab服务状态 \ No newline at end of file diff --git "a/\346\235\216\346\263\275\346\235\260/20240613.md" "b/\346\235\216\346\263\275\346\235\260/20240613.md" new file mode 100644 index 0000000..8852897 --- /dev/null +++ "b/\346\235\216\346\263\275\346\235\260/20240613.md" @@ -0,0 +1,22 @@ +write 用户名 pts/? 可以给其他ssh登录的用户发起聊天 +cron在线表达式解析 + + +环境变量 +概念 + 提供一系列可供特殊环境的全局变量 + +分类 + + 按生命周期分 + 永久环境变量 写在指定类型的配置文件,永不失效 ~/.bashrc /etc/profile.d/xxx.sh + 临时环境变量 临时使用export 命令设置的环境变量 推出终端后失效 + 按作用域分 + 系统级环境变量 对所有用户生效 /etc/profile.d/xxx.sh + 用户级环境变量 只针对当前用户生效 ~/.bashrc + + 常用系统级环境变量 + PATH 存储可执行的命令所要查找的路径 + LANG 可支持的字符集 + EDITOR 默认的编辑器 + HOME 家目录 \ No newline at end of file diff --git "a/\346\235\216\346\263\275\346\235\260/20240614.md" "b/\346\235\216\346\263\275\346\235\260/20240614.md" new file mode 100644 index 0000000..0d29941 --- /dev/null +++ "b/\346\235\216\346\263\275\346\235\260/20240614.md" @@ -0,0 +1,24 @@ +进程管理 +top 系统内置的查看进程情况的命令 +htop 非系统内置命令 +kill 结束指定进程 -9 进程ID 通过进程ID来进行结束进程 sshd结束后将无法通过ssh远程登陆 +ps 常用用法 ps aux +pstree 非系统内置命令 通过apt install psmisc进行下载 +killall 结束进程 通过进程名称来进行结束进程 +taskill 这个命令是windows下结束进程的命令 +pgrep 通过进程名称来查找进程ID -l 可以连同名称一起查找 -a可以将路径一起查找出来 + + +服务管理 +日常管理命令 + 启用 systemctl start 服务名称 + 停止 systemctl stop 服务名称 + 重启 systemctl restart 服务名称 + 状态 systemctl status 服务名称 +服务配置语法和示例 + service配置文件 /etc/systemd/system/ + 定义一个服务 + 分为三个小节 + Unit Service Install + https://bvsm2eqp9o.feishu.cn/docx/doxcntTgNohBfctU2Fw2eqnmj5e +https://bvsm2eqp9o.feishu.cn/docx/doxcnqQqGvtl3vsfe3G32SOkiH \ No newline at end of file diff --git "a/\346\235\216\346\263\275\346\235\260/20240619.md" "b/\346\235\216\346\263\275\346\235\260/20240619.md" new file mode 100644 index 0000000..6e44df6 --- /dev/null +++ "b/\346\235\216\346\263\275\346\235\260/20240619.md" @@ -0,0 +1,68 @@ +创建用户 +adduser 引导式创建 +useradd 需要自己去设置没有提示,比起adduser更有可玩性 +-s 可以将用户的登录Shell进行设置比如/sbin/nologin + +设置用户有效期限 +usermod 用户名 -e 到期时间 +chage -l 用户名 可以查看是否设置成功 + +删除用户 +deluser +userdel +--remove-all-files才能删除干净,不带上-r的话会只删除账号家目录还会存在 + +创建用户组 +groupadd 用户组名称 +-g可以选择标识号 + +gpasswd命令 +可以将用户加入到组,也可以将用户组内的用户删除 +-M可以将多个用户加入到组 +-d用来将用户组内的用户删除 + +删除用户组 +groupdel 用户组名称 + +newgrp切换用户组 + +禁止ssh登录 +nologin + +rwx权限 +r是只读 +w是写 +x是执行权限 +l是符号链接文件 + +ln +可以为一个文件或者目录在另一个位置建立一个同步的链接 +ln【参数】【源文件或目录】【目标文件或目录】 + +-s +软连接 以路径的形式存在类似快捷方式,可以跨越文件系统但硬链接不行,可以对目录进行链接 +-n 把符号链接视为一般目录 + +硬链接 以文件副本的形式存在,但不占用实际空间,不允许给目录链接,只能在一个文件系统 + +chmod命令 +设置某个对象的权限 +chmod 选择要设置的权限 对象名称 ++ 为指定的用户类型增加权限 +- 去除指定用户类型的权限 += 设置指定用户权限的设置,即将用户类型的所有权限重新设置 +7 读 + 写 + 执行 rwx 111 +6 读 + 写 rw- 110 +5 读 + 执行 r-x 101 +4 只读 r-- 100 +3 写 + 执行 -wx 011 +2 只写 -w- 010 +1 只执行 --x 001 +0 无 --- 000 + + + + + +证书的官方下载 +curl https://get.acme.sh | sh \ No newline at end of file diff --git "a/\346\235\216\346\263\275\346\235\260/20240701\345\256\211\350\243\205\346\225\260\346\215\256\345\272\223\345\217\212\344\270\200\351\203\250\345\210\206\351\224\231\350\257\257.md" "b/\346\235\216\346\263\275\346\235\260/20240701\345\256\211\350\243\205\346\225\260\346\215\256\345\272\223\345\217\212\344\270\200\351\203\250\345\210\206\351\224\231\350\257\257.md" new file mode 100644 index 0000000..e498526 --- /dev/null +++ "b/\346\235\216\346\263\275\346\235\260/20240701\345\256\211\350\243\205\346\225\260\346\215\256\345\272\223\345\217\212\344\270\200\351\203\250\345\210\206\351\224\231\350\257\257.md" @@ -0,0 +1,41 @@ +linux本机下载 +-wget http://mysql... +非linux本机下载 +-下载后通过scp上传 +安装mysql +dpkg -i 软件名 安装软件包 +apt update 更新数据源 +apt install mysql-server +systemctl start mysql 启用服务 +安装完成后使用命令可以本地链接到数据库 +mysql -u root -p + +忘记mysql密码可以通过 vim /etc/mysql/mysql.conf.d/mysqld.cnf配置文件 +在【mysqld】最后一段添加 skip-grant-tables 再重新加载服务(systemctl restart mysql)就可以免密码登录mysql +use mysql; 切换到mysql数据库 +flushprivileges; 赋予权限 +alter user 'root'@'localhost' identified by '修改的密码'; + +删除数据库 +1.查询 +rpm -aq | grep -i mysql +2.卸载 +rpm -e xxxx 将查询出来的全部卸载 +若采用yum安装的,需要执行该语句 +rem -e --nodeps xxxxx +3.直到查询不出任何内容 + +删除mysql痕迹 +1.sudo yum remove mysql +2.rm -f etc/my.cnf +3.rm -rf mysql +删除初始密码文件/var/log/mysqld.log + +数据库命令 +查看插件 +show PLUGINS; + + +安装 +MySQL基础命令 +设置远程连接 diff --git "a/\346\235\216\346\263\275\346\235\260/20240702\346\225\260\346\215\256\345\272\223\350\256\276\347\275\256\350\277\234\347\250\213\350\277\236\346\216\245.md" "b/\346\235\216\346\263\275\346\235\260/20240702\346\225\260\346\215\256\345\272\223\350\256\276\347\275\256\350\277\234\347\250\213\350\277\236\346\216\245.md" new file mode 100644 index 0000000..0d5fc14 --- /dev/null +++ "b/\346\235\216\346\263\275\346\235\260/20240702\346\225\260\346\215\256\345\272\223\350\256\276\347\275\256\350\277\234\347\250\213\350\277\236\346\216\245.md" @@ -0,0 +1,71 @@ +查看密码状态 (invalid)说明密码无效 +select user,host,authentication_string from mysql.user; +注释:password用不了是因为加密了,只能用 authentication_string 来代表password + +设置远程连接 + +远程连接授权 +create user root@'%' identified by 'admin@123'; +grant all privileges on *.* to root@'%' with grant option; +刷新权限 +flush privileges; +重启服务 +service mysql restart + + +导入sql文件 +source 导入的文件名 + + +一次性插入一千万条信息 +先创建一个数据库 +create database test; +进入数据库 +use test; +创建一个表 +create table majors(id int,major varchar(255)); +定义一个结束符$ +delimiter "$"; +创建存储过程,定义方法 +create procedure batchInsert(in args int) +begin +declare i int default 1; +开启事务 +start transaction; +while i <= args do +insert into majors(id,major) varlue(i,concat("软件工程-",i)); +set i = i+1; +end while; +commit; +end; +调用函数,生成数据 +call batchInsert(10000000);$ + + +postgresql +create function 定义一个新函数 +create or replace function 创建一个新函数或者替换旧函数 +substr() 函数中的 第一个参数代表要截取的字段,第二个参数是从哪个位置开始截取,第三个参数代表截取几位 +floor() 用来返回数值 +random() 生成随机数 + +定义函数 +设定值 +循环 +强制跳出循环 +返回值 + + +删除数据库 +被访问的数据库 +1.先查看是否有连接到当前数据库的用户 +select * from pg_stat_activity where datname = '被删数据库的名字'; +2.断开连接 +select pg_terminate_backend(查到的pid) from pg_stat_acttivity where datname ='被删数据库名字'; +3.删除数据库 +drop database 数据库名称; + + + + + diff --git "a/\346\235\216\346\263\275\346\235\260/20240703postgresql.md" "b/\346\235\216\346\263\275\346\235\260/20240703postgresql.md" new file mode 100644 index 0000000..743e81a --- /dev/null +++ "b/\346\235\216\346\263\275\346\235\260/20240703postgresql.md" @@ -0,0 +1,21 @@ +下载postgresql +apt install postgresql +apt install -y postgresql-common +/usr/share/postgresql-common/pgdg/apt.postgresql.org.sh + +su postgres +修改两个配置文件 +vim /etc/postgresql/16/main/pg_hba.conf +找到ipv4 添加 0.0.0.0/0 md5 +vim /etc/postgresql/16/main/postgresql.conf +将localhost=“*” +然后重启服务 +postgres需要设置密码 + + +将sql文件转换成脚本文件 +mysql -u 数据库用户名 -p 数据库名称 < sql文件名 > 任意名.sql +将脚本文件的数据和结构导入到服务器 +mysql -u 数据库用户名 -p 数据库名称 < 脚本文件名 + +注:这个必须需要数据库的密码 \ No newline at end of file -- Gitee