tmp

shell习题-15

好久不见. 提交于 2019-11-28 19:16:27
题目要求 写个shell,看看你的Linux系统中是否有自定义用户(普通用户),若是有,一共有几个? 核心要点 centos6 uid>=500 eentos7 uid>=1000 awk -F ':' '$3>=500' /etc/passwd|wc -l centos 5 6 awk -F ':' '$3>=1000' /etc/passwd|wc -l centos 7 awk -F 'release' '{print $2}' /etc/redhat-release|cut -d '.' -f1 参考答案 #!/bin/bash v=`awk -F 'release ' '{print $2}' /etc/redhat-release |cut -d '.' -f1` user() { if [ $1 -eq 0 ] then echo "系统没有自定义的用户" else echo "系统存在自定义用户,有$1个" fi } case $v in 5|6) n=`awk -F ':' '$3>=500' /etc/passwd|wc -l` user $n ;; 7) n=`awk -F ':' '$3>=1000' /etc/passwd|wc -l` user $n ;; *) echo "脚本出错." ;; esac 题目要求 写一个shell脚本

shell案例-14

泄露秘密 提交于 2019-11-28 18:05:55
写一个脚本实现如下功能: 输入一个数字,然后运行对应的一个命令。 显示命令如下: *cmd meau** 1 - date 2 - ls 3 - who 4 - pwd 当输入1时,会运行date, 输入2时运行ls, 以此类推。 核心要点 case判断 题目要求 阿铭老师的参考答案 参考答案 #!/bin/bash echo "*cmd meau** 1 - date 2 - ls 3 - who 4 - pwd" read -p "Please input a number: " n if [ -z "$n" ] then echo "请输入一个纯数字,范围1-4." exit fi n1=`echo $n|sed 's/[0-9]//g'` if [ -n "$n1" ] then echo "请输入一个纯数字,范围1-4." exit fi case $n in 1) date ;; 2) ls ;; 3) who ;; 4) pwd ;; *) echo "请输入1-4的数字" ;; esac 题目要求 用shell脚本实现如下需求: 添加user_00 – user_09 10个用户,并且给他们设置一个随机密码,密码要求10位包含大小写字母以及数字,注意需要把每个用户的密码记录到一个日志文件里。 提示: 随机密码使用命令 mkpasswd 在脚本中给用户设置密码

Shell基本命令

亡梦爱人 提交于 2019-11-28 17:34:12
前言 前面咱们已经成功安装了Linux系统--centos7,那么现在跟着超哥奔向Linux的大门。 Linux命令行的组成结构 [root@oldboy_python ~]# [root@oldboy_python ~]# [root@oldboy_python ~]# [root@oldboy_python ~]# [root@oldboy_python ~]# Linux系统命令操作语法格式 命令 空格 参数 空格 【文件或路径】需要处理的内容 rm -rf /tmp/* ls -la /home 结婚 -没车没房 女的就行 结婚 -有车有房 白富美 1.一般情况下,【参数】是可选的,一些情况下【文件或路径】也是可选的 2.参数 > 同一个命令,跟上不同的参数执行不同的功能 执行linux命令,添加参数的目的是让命令更加贴切实际工作的需要! linux命令,参数之间,普遍应该用一个或多个空格分割! 创建一个目录 /oldboy windows下: 鼠标右击 > 新建文件夹 Linux下: make directory > mk dir > mkdir------------------------------- mkdir /oldboy------------------------------- cd / mkdir oldboy#递归创建a/b c/dmkdir -p

Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)

大城市里の小女人 提交于 2019-11-28 16:30:16
https://codeforces.com/contest/1208 A、 XORinacci f[0]=a, f[1]=b, f[n]=f[n-1]^f[n-2], 求f[n] 可以发现,3个一周期 1 #include<iostream> 2 #include<sstream> 3 #include<fstream> 4 #include<algorithm> 5 #include<cstring> 6 #include<iomanip> 7 #include<cstdlib> 8 #include<cctype> 9 #include<vector> 10 #include<string> 11 #include<cmath> 12 #include<ctime> 13 #include<stack> 14 #include<queue> 15 #include<map> 16 #include<set> 17 #define mem(a,b) memset(a,b,sizeof(a)) 18 #define random(a,b) (rand()%(b-a+1)+a) 19 #define ll long long 20 #define ull unsigned long long 21 #define e 2.71828182 22 #define Pi acos(-1

表达式求值

狂风中的少年 提交于 2019-11-28 16:15:10
#include <bits/stdc++.h> using namespace std; map<char, int> priority = { { '+', 1 },{ '-', 1 },{ '*', 2 },{ '/', 2 },{ '(', 0 } }; vector<string> poststr; stack<char> op; void topoststr(string &str) { string num; for (int i = 0; i < str.size(); i++) { if (isdigit(str[i])) { num.clear(); while (isdigit(str[i])) { num.push_back(str[i]); i++; } poststr.push_back(num); --i; } else if (str[i] == '(') { op.push(str[i]); } else if (str[i] == ')') { while (op.top() != '(') { string tmp; tmp = op.top(); poststr.push_back(tmp); op.pop(); } op.pop(); } else { while (!op.empty() && priority[str[i]] <=

linux高频命令

蹲街弑〆低调 提交于 2019-11-28 15:36:16
记录最近常用的命令,持续更新。 scp本地和服务器互传文件 从本地复制a.py到远程服务器中tmp文件中(不具有管理员权限,假设远程服务器名为xunana,ip为119.29.108.124 scp /home/xuna/a.py xunana@119.29.108.124:~/tmp 从远程服务器中复制文件到本地 先压缩 zip -r tmp.zip tmp/ scp xunana@119.29.108.124:~/tmp/zip ./ //-r : 包括子目录 通过ssh进入远程服务器 ssh 服务器名@服务器ip 例如: ssh xunana@119.29.108.124 重命名或者移动 将目录A重命名为B mv A B 将/a目录移动到/b下,并重命名为c mv /a /b/c 建立目录 mkdir 目录名 mkdir -p A/B 切换所在目录 cd 目录名 cd ~ 进入当前用户的家目录 cd 同上 cd - 进入上次目录 cd .. 进入上一级目录 cd . 进入当前目录 删除空目录 rm 目录名(删除空目录) rm -r 目录名(删除有内容的目录) rm -f 目录名(强制删除目录) *注意linux为字符控制,是没有回收站的,内容删除了之后就没了。 复制命令 cp 原目录 目的目录 cp -p 原目录 目的目录 //连带文件属性复制 cp -d 原目录 目的目录

快嘉开发框架脚手架及使用说明v1

冷暖自知 提交于 2019-11-28 15:30:53
maven提供的脚手架archetype大家都知道啊,不知道的我这里也不多说了,请自行参考 Maven插件之maven-archetype-plugin 。本文接下来是简单介绍一下如何使用 stdArcheType 快速搭建快嘉开发框架1.0,参见 快嘉开发框架1.0和示例介绍及使用说明 。 1、下载stdArcheType 源码 ,并install到本地仓库; 2、新建本地目录E:\tmp,cmd到该目录下, E:\tmp>mvn archetype:generate -DinteractiveMode=false -DarchetypeGroupId=com.fas tjrun.share -DarchetypeArtifactId=stdArcheType -DarchetypeVersion=1.0 -Darchetyp eCatalog=internal [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Stub Project (No POM) 1 [INFO] ----------------------------------------

Linux基础命令---压缩与打包

此生再无相见时 提交于 2019-11-28 15:01:57
GZIP: 普通文件打包成gzip文件:gzip filename(问题:如何测试一个文件是否是gzip文件?) gzip文件解压成普通文件:gzip -d filename(副作用:原始gz文件会被删除) tar: 将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar tar -cvf /tmp/etc.tar /etc 打包但不压缩 将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下 [root@linux ~]# cd /usr/local/src [root@linux src]# tar -zxvf /tmp/etc.tar.gz 参考 http://www.chinahtml.com/1006/127561653018850.html 来源: http://www.cnblogs.com/helww/p/3341315.html

Leetcode 373. 查找和最小的K对数字 解题思路及C++实现

心已入冬 提交于 2019-11-28 13:48:07
解题思路: 使用最大堆来存储k个和最小的数组组合,然后每进来一个数组组合,只需要和最大堆的堆顶进行比较即可。 用C++的priority_queue实现最大堆时,需要用一下pair来组合来自nums1和nums2数组的数,然后自己写一个比较结构体cmp,比较数组和的大小。 在循环中的一个trick在于,限制为访问nums1和nums2的前k个数即可。所以那一部分的时间复杂度为O(k*k)。 class Solution { public: vector<vector<int>> kSmallestPairs(vector<int>& nums1, vector<int>& nums2, int k) { if(k == 0) return {{}}; priority_queue<pair<int, int>, vector<pair<int, int>>, cmp> pq; //最大堆 for(int i = 0; i < nums1.size() && i < k; i++){ for(int j = 0; j < nums2.size() && j < k; j++){ pq.push(make_pair(nums1[i], nums2[j])); if(pq.size() > k) pq.pop(); } } //将结果放到res中 vector<vector<int> >

基础回顾--素数筛,欧拉函数

谁说胖子不能爱 提交于 2019-11-28 13:41:38
欧拉筛法:   直接判断素数耗时,换个角度标记非素数,那么没有被标记的就是素数。   关键点: 除2之外的偶数必然不是素数,所以 只需要遍历奇数 寻找0-N范围中的素数时,遍历只需要从 2-->sqrt(N+0.5) ,因为sqrt(N+0.5)之后的数必然在第二层的循环中标记过。 二层循环的意思:一层循环找到了素数prime,则要 将prime的所有倍数都筛去 。注意从prime*prime开始筛,因<prime*prime的数必然能被之后找到的prime的倍数筛去。 const int maxn = 10004; bool vis[maxn]; int prime[maxn], cnt; void sort_prime() { prime[cnt++] = 2; int m = (int) sqrt(maxn + 0.5); for(int i=3; i<m; i+=2) { if(!vis[i]) { prime[cnt++] = i; for(int j=i*i; j<maxn; j+=i) { vis[j] = true; } } } return; } 欧拉函数:    求解所有<=n且与n互素的数的总数 ,特别的 phi(1) = 1。 (phi其实是数学符号的谐音~)   根据性质 phi(n) = n*(1-1/p1)*(1-1p2)...*(1-1/pk)