tom

创建用户重复删除

被刻印的时光 ゝ 提交于 2019-11-30 14:34:29
1 #!/bin/bash 2 for i in `seq 1 10` 3 do 4 if id tom-$i > /dev/null;then 5 read -ep "tom-$i已存在,是否删除-(y/n)" ss 6 if [ $ss = y ];then 7 userdel -rf tom-$i 8 elif [ $ss = n ];then 9 continue 10 else 11 "输入有误" 12 fi 13 else 14 useradd tom-$i 15 if [ $? -eq 0 ];then 16 echo "tom-$i 创建成功" 17 passwd="user cat /dev/random | head -1 | md5sum | head -c 5" 18 echo "tom-$1:$passwd" chpasswd 19 echo "tom-$i--$passwd" >> user.txt 20 else 21 echo "tom-$i 创建失败" 22 fi 23 fi 24 done 来源: https://www.cnblogs.com/whybk/p/11597777.html

python3 print函数格式化输出

落花浮王杯 提交于 2019-11-29 06:34:55
% print (‘我叫%s, 身高%scm’ % (name,height)) ** 传入的值为元组 %s :str() %d-:十进制-- %x : 十六进制 %f :浮点型 指定长度: %5d 右对齐,不足左边补空格 %-5d - 代表左对齐,不足右边默认补空格 %05d 右对齐,不足左边补0 浮点数: %f 默认是输出6位有效数据, 会进行四舍五入 指定小数点位数的输出 %.8f—保留小数点后8位 ‘%4.8f’ 4代表整个浮点数的长度,包括小数,只有当字符串的长度大于4位才起作用 format 特性:字符串的format方法 顺序填坑:{} print(‘姓名是:{},年龄是:{}’.format(‘Tom’,20)) 输出: 姓名是:Tom,年龄是:20 下标填坑: print(‘姓名是:{0},年龄是:{1}’.format(‘Tom’,20)) 输出: 姓名是:Tom,年龄是:20 变量填坑:'名字是:{name},年龄是:{age}'.format(name ='tom',age = 16) print(‘姓名是:{name},年龄是:{age}’.format(name=‘Tom’,age=20)) 输出: 姓名是:Tom,年龄是:20 {:5} 指定输出长度=5 字符串 {:5}--左对齐 数值 {:5}--右对齐 使用 > < 可以避免字符串

CAB202 Assignment 1

我的梦境 提交于 2019-11-29 03:28:31
CAB202 Assignment 1, Semester 2 2019 Assessment Weight: 30% Context You are tasked with bringing to life the classic characters of Tom and Jerry in a terminal based game. Tom is a cat with the simple agenda of catching the mouse, Jerry, running rampant in his house. Tom runs around the room Jerry is in, dropping mousetraps periodically, and constantly changing his direction to move toward Jerry. Jerry just wants cheese, and is faster than Tom, but after he has consumed enough cheese, and taken the chase to the second room of the day, he likes to have a bit of fun by introducing some weapons of

ES7新特性

我只是一个虾纸丫 提交于 2019-11-28 18:50:12
ES6是多年来JavaScript的重大版本变革,深受开发者的欢迎。 ES6就是ES2015,也就是从此时开始,JavaScript变为每年更新一次,按年计算依次类推。ES7(2016年)、ES8(2017年)、ES9(2018年)。 除了ES6更新幅度较大之外,后面的几次更新较小。了解起来也比较容易。 ES7 ES7在ES6的基础上添加了三个内容:求幂运算符(**)、Array.prototype.includes()方法以及函数作用域中严格模式的变更。 1、求幂运算符(**) console.log( 3**2 ) // 9 // 相当于 数学方法 Math.pow(3, 2) 使用起来更简洁。 2、Array.prototype.includes() 方法 此方法是判断一个元素是否在数组中,返回一个布尔值,true或者false。该方法只能判断一些简单类型的数据,复杂类型则无法判断。和indexOf方法作用类似。 该方法接受两个参数,第一个就是要判断的数据,第二个是开始位置的索引值。 1 let arr1 = [1, 2, 3, 'tom', 'jerry']; 2 let arr2 = [1, [2, 3], 4]; 3 let arr3 = [{name: 'tom'}, {name: 'jerry'}, {age: 24}]; 4 5 console.log( arr1

Linux用户操作

二次信任 提交于 2019-11-28 16:09:39
多用户操作 Linux的特点之一就是支持多用户操作,学习Linux,当然要先知道它的特点   用户里面最牛的就是root用户(超级用户),它可以更改任何内容,不受权限限制,root用户登陆后系统的提示符是#,其他用户则为$   切换虚拟终端Ctrl+Alt+F[1~6] 利用切换终端可以实现多用户登陆,如果你的Linux是图形界面,右键打开两个终端也是一样的   useradd Tom  创建Tom用户   passwd Tom  给Tom更改密码(新创建的用户默认是没有密码的 只能root用户 普通用户只能改自己的密码 命令为 passwd+回车)   passwd -d Tom  清除Tom用户的密码,关闭使用者的密码认证功能, 使用者在登入时将可以不用输入密码   su Tom     可以从其他用户切换为Tom用户,(如果是从root用户切换不需要密码,其他用户切换需要输入密码)   exit       退出 如果你切换为一个用户,此命令可以一层一层退出用户的登录状态 例 root -> Tom -> Mark 这时用exit会返回Tom的登陆状态   userdel -r Tom 删除Tom用户 -r是指递归进行 用户配置文件   创建一个用户会在以下文件中新增该用户的配置文件     (1) /etc/passwd 用户信息文件    

《vim最常用的指令汇总》

柔情痞子 提交于 2019-11-28 04:35:18
本文记录了vim使用过程中最常用的指令,后面还会陆续更新。主要来自黑马程序员视屏还有平时常用的指令。 工作模式:命令模式、文本模式、末行模式 进入文件(该目录下有该文件名): vi 文件名 新建文件(该目录下无该文件名):vi 文件名 命令模式下操作 (1)移动光标: H前 J下 K上 L后 行首:0 行尾:$ 文件开始位置:gg 文件末尾位置:G 行跳转:行数+G 如15G (2)删除操作(删除=剪切) 删除光标后的字符:x 删除光标前的字符:X 删除光标后的单词:dv 删除光标到行首的字符串:d0 删除光标到行尾的字符串:D 删除光标当前行:dd 删除多行:ndd 如3dd为删除从当前行开始的前三行。 (3) 撤销操作 撤销 u 反撤销 ctrl+r (4)复制粘贴 复制:yy 复制多行:nyy 从当前行开始的前n行 粘贴到光标所在行下一行:p 粘贴到光标所在行:P (5)切换到可视模式:v 选择内容:hjkl 操作:复制y ,删除d (6)查找操作: 1) /+查找内容eg: /hello 2) ?+查找内容 eg:?hello 3) 先将光标移动到要查找单词上再按# 遍历多个查找结果的快捷键:N/n (7) r:替换当前字符 8)向左缩进:<< ,向右缩进:<< 文本模式下的操作(命令模式下执行操作后切换到文本模式) 在光标所在位置后边插入:a 在当前行的尾部插入:A

第2节 Scala中面向对象编程:12、13、14、15、16、trait

拟墨画扇 提交于 2019-11-27 18:25:16
6.4. Scala中面向对象编程之trait 6.4.1. 将trait作为接口使用 Scala中的trait是一种特殊的概念; 首先先将trait作为接口使用,此时的trait就与Java中的接口 (interface)非常类似; 在trait中可以定义抽象方法,就像抽象类中的抽象方法一样,只要不给出方法的方法体即可; 类可以使用extends关键字继承trait,注意,这里不是 implement,而是extends ,在Scala中没有 implement 的概念,无论继承类还是trait,统一都是 extends; 类继承后,必须实现其中的抽象方法,实现时,不需要使用 override 关键字; Scala不支持对类进行多继承,但是支持多重继承 trait,使用 with 关键字即可。 Class A extends class B Class A extends class C 举例说明: package cn.itcast.triat trait HelloTrait { def sayHello(): Unit } trait MakeFriendsTrait { def makeFriends(c: Children): Unit } //多重继承 trait class Children(val name: String) extends HelloTrait

MySQL数据库事务隔离级别

别说谁变了你拦得住时间么 提交于 2019-11-27 16:02:31
一.问题 1.脏读 已知有 两个事 务 A 和 B, A读取了已经被B更新但还没有被提交的 数据, 之后 , B回滚 事务, A读取的 数据就是脏数据 场景:公司发工资了,领导把5000元打到Tom的账号上,但是该事务并未提交,而Tom正好去查看账户,发现工资已经到账,账户多了5000元,非常高兴,可是不幸的是,领导发现发给Tom的工资金额不对,是2000元,于是迅速回滚了事务,修改金额后,将事务提交,Tom再次查看账户时发现账户只多了2000元,Tom空欢喜一场,从此郁郁寡欢,走上了不归路…... 分析:上述情况即为脏读,两个并发的事务:“事务B:领导给Tom发工资”、“事务A:Tom查询工资账户”,事务A读取了事务B尚未提交的数据 2.不可重复读 已知有 两个事 务 A 和 B ,A 多次读取同一数据,B 在A多次读取的过程中对数据作了 修改 并提交,导致A多次读取同一数据时,结果不一致,例子: 场景:Tom拿着工资卡去消费,酒足饭饱后在收银台买单,服务员告诉他本次消费 1 000 元 ,Tom将银行卡给服务员,服务员将银行卡插入POS机,POS机读到卡里余额为 3000元 ,就在Tom磨磨蹭蹭输入密码时,他老婆以迅雷不及掩耳盗铃之势把Tom工资卡的 3 000元 转到自己账户并提交了事务,当Tom输完密码并点击“确认”按钮后,POS机检查到Tom的工资卡已经没有钱,扣款失败

python的变量以及常用的数据类型

好久不见. 提交于 2019-11-27 09:32:19
有关python的版本和安装以及概念特点可以参考上篇博文, python语言基础 此博文主要讨论问题如下: 一、python的变量 二、python常用的数据类型 一、什么是python的变量? 变量是计算机内存的一块区域,变量可以存储任何值,而且值可以改变。变量名由字母、数字和下划线组成。需要注意的是,不能使用python的关键字,英文大小写字母敏感,第1个字符必须是字母或下划线,不能是数字,示例代码如下: >>> x=1 >>> _x=2 >>> print(x) 1 >>> print(_x) 2 x和_x都是合法的变量名,print()是输出函数,能够输出变量的值,也可以不使用小括号。 python中的变量不需要声明,变量的赋值操作即是变量声明和定义的过程,如_x=2即是声明和定义的过程。还可以给几个变量同时赋值,示例代码如下: >>> a,b,c=4,5,6 >>> print (a) 4 >>> print(b,c) 5 6 a,b,c=4,5,6同时给3个变量进行了赋值操作,简化了多个变量赋值的代码。 二、python常用的数据类型有哪些? python内置的数据类型有 数字、字符串、元组、列表和字典 。 1、数字 数字类型包括整~型、浮点型、布尔型等,声明时由python内置的基本数据类型来管理变量,在程序的后台实现数值与类型的关联,以及转换等操作

EclipseSVN更新和提交

陌路散爱 提交于 2019-11-27 03:25:55
EclipseSVN更新和提交 阅读钱请先阅读前一篇文章: eclipse安装与SVN插件的安装以及分享和检出 更多资源可关注好男人的微信公众号:“ 菜鸟资源分享 ” 1、上部分结束后,此时我们在Tom_work中修改项目代码,完后提交到服务器端,在重新打开一个eclipse,工作空间选择Jeery_work,完后再Jeery_work点击更新(在点击更新前先将未修改的项目文件导入到eclipse中,完后再Tom_work中执行修改项目文件提交等操作,最后在Jeery_work中执行更新操作),刚刚Tom_work修改的项目代码就已经更新到Jeery_work中了。 Tom_work修改项目代码文件: 右键项目文件——Team——更新: 点击更新后出现如下界面——点击ok,即提交成功。 打开一个eclipse,工作空间选择Jeery_work,此前应该已经将旧项目文件导入好了,所以打开后会有旧的项目文件,如下图: 此时执行更新操作:右键项目文件——Team——更新。 更新后如下图:可见已经和Tom_work项目文件内容一致了。 如果此时Jeery_work增加了一个类文件,此时只需要点击提交,就上传到服务器中了,Tom_work执行更新操作就也获取到了Jeery_work修改后的文件。 Jeery_work点击提交:就将新的项目文件添加到了服务器中。