root

shell脚本练习题->1

我的未来我决定 提交于 2020-02-14 10:11:19
猜随机数的大小 描述: 写一个猜数字脚本,当用户输入的数字和预设数字(随机生成一个0-100的数字)一样时,直接退出,否则让用户一直输入:并且提示用户输入的数字比预设数字大或者小 分析: 1:随机数字是如何生成的 2:这是一个死循环,直到猜对了才能退出 3:需要判断大小 脚本实现: [root@jumpserver-70 scripts]# cat num_random.sh #!/bin/bash num=$(echo $(($RANDOM%100+1))) i=0 while true do read -p "请猜一下这个数是多少:" number let i++ if [[ ! $number =~ ^[0-9]+$ ]];then echo "请检查输入的是否为数字" elif [ $number -gt $num ];then echo "你输入的数大了!" elif [ $number -lt $num ];then echo "你输入的数小了- -" else echo "恭喜你!都会抢答了。" echo "你一共猜了 $i 次" exit 1 fi done 实现的效果: [root@jumpserver-70 scripts]# sh num_random.sh 请猜一下这个数是多少:10 你输入的数小了- - 请猜一下这个数是多少:50 你输入的数小了- -

Linux的任务计划--cron入门

≯℡__Kan透↙ 提交于 2020-02-14 06:18:09
Linux操作系统定时任务系统 Cron 入门   cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:   /sbin/service crond start //启动服务   /sbin/service crond stop //关闭服务   /sbin/service crond restart //重启服务   /sbin/service crond reload //重新载入配置   你也可以将这个服务在系统启动的时候自动启动:   在/etc/rc.d/rc.local这个脚本的末尾加上:   /sbin/service crond start   现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:   1.直接用crontab命令编辑   cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:   crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数   crontab -l //列出某个用户cron服务的详细内容   crontab -r //删除某个用户的cron服务   crontab -e /

expect构建文件分发系统

随声附和 提交于 2020-02-14 01:23:43
  expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令。当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令。但当不能使用密钥验证的时候,我们就没有办法了。所以,这时候只要知道对方机器的账号和密码就可以通过expect脚本实现登录和远程命令。  分发准备:模板脚本、服务器ip、用户名、密码、expect脚本 yum install -y expect expect脚本登录机器: vim 1.expect #!/usr/bin/expect set host "192.168.133.132" #连接到主机 set passwd "123456" #密码 spawn ssh root@$host #spawn调用shell命令ssh(登录),“set host”和“set passwd”为expect定义的两个变量 expect { "yes/no" { send "yes\r"; exp_continue} #ssh首次远程登录一台主机是会提示yes/no,吧yes发送过去;"\r“表示回车 "password:" { send "$passwd\r" } #如果提示passwd需要把密码发送过去,用户交互,"\r“表示回车 } interact #interact的作用是停留在远程机器上,不退出 #脚本结束符号:expect eof—

linux cpu占有率居高不下 调试

独自空忆成欢 提交于 2020-02-14 00:24:02
今天调试程序,使用top命令后,发现程序的cpu占有率很高,一直在99,这很可怕,所以来调试。 使用top命令,得如下结果 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1997 root 20 0 358m 71m 3208 S 99.1 7.2 81:53.50 test 1 root 20 0 24332 2044 1176 S 0.0 0.2 0:01.36 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:46.51 ksoftirqd/0 4 root 20 0 0 0 0 S 0.0 0.0 0:38.53 kworker/0:0 6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 可知test的PID为1997 然后具体查看test里线程的cpu使用情况 使用 top -H -p 1997 命令 root@slk:~# top -H -p 1997 top - 17:19:47 up 15 days, 34 min, 4 users, load average: 1.02, 1.06, 1.06 Tasks: 8 total, 1 running, 7

Linux 压缩和解压缩

萝らか妹 提交于 2020-02-13 23:43:30
Linux 压缩和解压缩 最早的:compress/uncompresse 文件名后缀:.Z 然后是:gzip/gunzip 文件名后缀:.gz 很久一段gzip是linux的标准压缩和解压缩算法了 然后是:bzip2/bunizip2 文件名后缀:.bz2 大文件的压缩比比gzip大一点,但是小文件的压缩比还没有gzip大,所以没能撼动gzip的地位 然后是:xz/unxz 文件名后缀:.xz 压缩比显著提高,撼动了gzip的地位 lzma/unlama 文件名后缀:.lzma 最通用的(所以操作系统都支持):zip/unzip Linux 归档:上述压缩工具,只能对文件压缩,不能对目录压缩。要想对目录压缩,必须要归档后,再对归档文件压缩。 tar,cpio gzip/gunzip/zcat 1,压缩: gzip file 压缩完成后,会自动删除原文件 # ll -h messages -rw-------. 1 root root 915K Feb 11 22:05 messages [root@localhost ~]# gzip messages [root@localhost ~]# ll -h messages.gz -rw-------. 1 root root 167K Feb 11 22:05 messages.gz 2,解压缩: gzip -d或者gunzip

Python之Tkinter模块学习

扶醉桌前 提交于 2020-02-13 22:29:19
本文转载自:http://www.cnblogs.com/kaituorensheng/p/3287652.html Tkinter 模块("Tk 接口")是Python的标准Tk GUI工具包的接口 作为实践, 用Tkinter做了个 ascii码转化查询表 ,本文从四点介绍 产品介绍 设计规划 相关知识 源码附件 1. 产品介绍 界面    功能 通过 输入 字符或数字查询对应的信息 通过 选择 列表中的信息查询对应的信息 2. 设计规划 规划图 3. 相关知识 首先看怎么产生第一个窗口 from Tkinter import * #引用Tk模块 root = Tk() #初始化Tk() root.mainloop() #进入消息循环 几个常用属性 title: 设置窗口标题 geometry: 设置窗口大小 resizable():设置窗口是否可以变化长 宽 # -*- coding: cp936 -*- from Tkinter import * root = Tk() root.title("hello world") root.geometry('200x100') #是x 不是* root.resizable(width=False, height=True) #宽不可变, 高可变,默认为True root.mainloop() 介绍以下几个控件的用法 Label

LeetCode235 二叉搜索树的最近公共祖先

北战南征 提交于 2020-02-13 22:26:49
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科 中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5] _______6______ / \ ___2__ ___8__ / \ / \ 0 _4 7 9 / \ 3 5 示例 1: 输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8 输出: 6 解释: 节点 2 和节点 8 的最近公共祖先是 6。 示例 2: 输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 4 输出: 2 解释: 节点 2 和节点 4 的最近公共祖先是 2, 因为根据定义最近公共祖先节点可以为节点本身。 说明: 所有节点的值都是唯一的。 p、q 为不同节点且均存在于给定的二叉搜索树中。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; *

Mysql忘记密码的解决方案

一世执手 提交于 2020-02-13 20:34:06
在命令行里面输出密码或者更更改密码 .在命令行运行: taskkill /f /im mysqld-nt.exe 下面的操作是操作mysql中bin目录下的一些程序,如果没有配置环境变量的话,需要切换到mysql的bin 目录下执行如下语句。不然无效 .继续在命令行运行: mysqld-nt --skip-grant-tables 3.新开一个命令行运行:mysql -u root (如果没有配置mysql的bin环境变量的话需要切换到bin目录下执行此语句) 如果不想改密码,只是想看原来的密码的话。可以在命令行执行这个语句 select host,user,authentication_string from mysql.user;//即可查看到用户和密码 如果要修改密码的话,在命令行下执行下面的语句 update mysql.user set authentication_string =password("") where user="root"; //将密码改为空 update mysql.user set authentication_string='这里填写你要设置的密码' where user='root'; quit 完成这些操作后,继续在命令行运行 taskkill /f /im mysqld-nt.exe; //安全着想,先结束,因为现在这样是可以用mysql

mysql5.1使用初步

点点圈 提交于 2020-02-13 14:05:11
1. 安装配置     安装完后,使用MySql Server Instance Config Wizard配置服务器实例,值得一提的是charset我选了GBK。 2. 启动服务,登录   启动:mysqld --console 登录:mysql -u root -p   如下图所示:    3. 使用数据库: show databases; use <dbname> 4. 表操作: show tables; 5. 从sql文件导入表到mysql数据库: mysql -h localhost -u root -p < d:/samp.sql  如下图所示:    6. 注释注意项:如上图中的一个错误,是因为--后没有带空格导致错误。 MySQL服务器支持3种注释风格: · 从‘#’字符从行尾。 · 从‘-- ’序列到行尾。请注意‘-- ’(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如空格、tab、换行符等等)。该语法与标准SQL注释语法稍有不同,后者将在1.8.5.7, “‘--’作为注释起始标记”中讨论。 · 从/*序列到后面的*/序列。结束序列不一定在同一行中,因此该语法允许注释跨越多行。 下面的例子显示了3种风格的注释: mysql> SELECT 1+1; # This comment continues to the end of line mysql>

编译安装redis

断了今生、忘了曾经 提交于 2020-02-13 13:37:21
目录 编译安装redisd 安装方法: yum安装 编译安装 编译安装redisd 安装方法: yum安装 查看yum仓库redis版本 [root@centos ~]# yum list redis Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile Available Packages redis.x86_64 3.2.12-2.el7 myepel yum安装 [root@centos ~]# yum install redis -y 启动服务并设为开机启动 [root@centos ~]# systemctl enable --now redis Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service. 查看redis端口 [root@centos ~]# ss -ntl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 127.0.0.1:631 *:* LISTEN 0 100 127