给你的Powershell做一个“sudo”
前言 sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。 开始行动在Windows系统上sudo对应的就是管理员权限了。 一般使用Powershell时,并不会管理员启动,当执行需要权限的命令(比如net start mysql),就需要以管理员打开新的窗口。 为了一步到位,这里给powershell创建一个alias -> sudo 来运行需要管理员权限的命令。 在文档目录中(在powershell执行$profile即可输出此文件路径),新建文件夹WindowsPowerShell,新建文件Microsoft.PowerShell_profile.ps1。 此文件是在启动Powershell时执行的脚本。set-alias 在退出后就会失效,所以放到启动脚本中。 追加如下代码,然后重启Powershell窗口。 12345function _sudo { ...
本站从即日起全面启用全站网页压缩
为什么要压缩页面静态资源对于个人博客来说,优化页面的访问速度是很有必要的,如果打开你的个人站点,加载个首页就要十几秒,页面长时间处于空白状态,想必没什么人能够忍受得了吧。我个人觉得,如果能把页面的加载时间控制在三四秒内,就很不错了。 那么怎么提高博客的页面加载速度呢?可以从以下的几个方面去入手: 将js文件尽可能放置到body的闭合标签之前,因为在加载或者引入js文件时是阻塞式的,如果我们在页面的最开始就引入这些js文件,而这些文件又比较大,会造成页面在渲染时长时间处于白屏状态。 尽量避免去引用访问速度非常低下的cdn或者图片,可以改用访问速度更快的cdn,或者将难以迅速加载的图片保存到自己的站点目录下,以免在加载图片时耗费了大量的时间,最后还加载不出来。 对页面的静态资源进行压缩,包括css、js和html等文件。我们自己添加的css和js文件为了可读性,往往会有很多换行和空格,这些对于浏览器来说并没什么用,甚至还会降低渲染页面的速度。至于html文件,由于Markdown转成html的bug,会导致页面存在大量的空白,如果你查看下页面的源代码,就会发现这些大量的空白符,十...
Linux内核模块编程小例子之查看虚拟内存VMA(virtual memory areas)信息
前言: 在 32 位的系统上,线性地址空间为 4GB,其中用户进程占有 3GB 线性地址空间,内核占有 1GB 线性地址空间。由于虚拟内存的引入,使的每个进程都可拥有 3GB 的虚拟内存。 用户进程的虚拟地址空间包含若干区域,这些区域的分布方式因体系结构的差异而不同,但所有的方式都包含下列成分: (1) 代码段:可执行文件的二进制代码 (2) 数据段:存储全局变量 (3) 栈:用于保存局部变量和实现函数调用 (4) 环境变量和命令行参数 (5) 程序使用的动态库的代码 (6) 用于映射文件内容的区域为便于描述,系统中进程的虚拟内存空间被划分为若干不同的区域,每个区域都有其相关的属性和用途,一个合法的地址总是落在某个区域当中的,这些区域也不会重叠。在 Linux 内核中,这样的区域被称为虚拟内存区域(virtual memory areas,VMA)。一个 VMA 是一块连续的线性地址空间的抽象,它拥有自身的权限(可读,可写,可执行等) ,对进程而言,VMA 其实是虚拟空间的内存块,一个进程的所有资源由多个内存块组成。 每一个虚拟内存区域都由一个相关的 struct vm_are...
联想 Lenovo Tab3 10 Business TB3-X70F (国际版)线刷
本文介绍将联想 Lenovo Tab3 10 Business TB3-X70F 刷成国际版的方法,或者可用此方法破解学习平板定制机 中文1.下载工具包链接:https://pan.baidu.com/s/155ta-glHLtbTmAGWHo1HrQ提取码:rfy4 2.安装驱动https://www.androidfilehost.com/?fid=245910004249436633.解压MediaTek SP Flash Tool和线刷包4.管理员运行MediaTek SP Flash Tool5.选择Download Only6.线刷包里的scatter file,然后点Download7.平板关机8.按住音量加键的同时插入usb到电脑9.当进度条变红开始刷机,当显示ok的时候刷机结束,重启即可。 English1.Install MediaTek Preloader USB VCOM driver https://www.androidfilehost.com/?fid=24591000424943663 Most importantly the Preloader...
Linux 所有命令无法使用的解决方法
这是由于环境变量设置出错导致的 解决方法: 直接在命令行中输入以下代码,然后回车 1export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 然后输入如下代码, 把错误的环境变量修正: 1sudo vim /etc/profile
详解管理root用户权限的sudo服务程序
sudo 命令允许特权用户以 root 用户身份运行全部或部分命令,但是理解其能做什么和不能做什么很有帮助。 在你想要使用超级权限临时运行一条命令时,sudo 命令非常方便,但是当它不能如你期望的工作时,你也会遇到一些麻烦。比如说你想在某些日志文件结尾添加一些重要的信息,你可能会尝试这样做: 12$ echo "Important note" >> /var/log/somelog-bash: /var/log/somelog: Permission denied 好吧,看起来你似乎需要一些额外的特权。一般来说,你不能使用你的用户账号向系统日志中写入东西。我们使用 sudo 再尝试一次吧。 123$ sudo !!sudo echo "Important note" >> /var/log/somelog-bash: /var/log/somelog: Permission denied 嗯,它还是没有啥反应。我们来试点不同的吧。 12$ sudo 'echo "Important note" >> /var/log/somelog's...
在Ubuntu中使用Katoolin安装Kali Linux Tools
本文将引导您逐步在Ubuntu中使用Katoolin安装Kali Linux Tools。对于那些不知道的人,Katoolin是一个Python脚本,可用于一次安装所有Kali Linux工具或手动一次安装。Kali Linux具有300多种渗透测试工具。除了安装所有工具,您还可以使用Katoolin在Linux框中仅安装您选择的选择性工具。如果您想在Ubuntu或任何其他基于DEB的系统上尝试使用Kali Linux工具,则应该尝试一下Katoolin。它将在您的Ubuntu系统中添加Kali Linux存储库,以便您可以一次安装所有渗透测试工具,也可以仅安装必要的工具。Katoolin是完全免费的开源软件,并已在基于Debian的系统上经过正式测试。 在Ubuntu 18.04 LTS中安装Katoolin我已经在Ubuntu 18.04 LTS服务器版本中测试了Katoolin。但是,它应该可以在其他Ubuntu版本和派生版本上使用。 确保在Ubuntu系统中安装了以下先决条件。 Python 2.7 Git 这些软件包在Ubuntu的默认源中可用,因此您可以使用apt...
静态编译opencv库
一、准备: 1.cmake 2.opencv源码 (https://opencv.org/releases/)opencv源码从官网下载源码解压后应该是这样二、编译1.设置源码路径和编译后路径2.点击configure,然后选择配置编译器和编译的opencv库的位数这里我选64位,点击finish:3.等待4.勾选一下可选设置 (1)、勾选“BUILD_opencv_world”,最后生成一个头文件库,相比之前的一堆头文件方便多了。 (2)、添加下载好的modules到OPENCV_EXTRA_MODULES_PATH。 OPENCV_EXTRA_MODULES_PATH配置说明:由于OpenCV功能越来越臃肿,OpenCV3改变了项目架构,使用内核+插件的架构形式。 因此,OpenCV从2.x到4.x是一个很大的转变,对于很多功能不完善、性能不稳定的模块,都被放到了extra_modules(扩展模块)里面了。在Github中,除了存放正式版OpenCV的主仓库和新增加的OpenCV_extra仓库外,还添加了一个OpenCV_contrib的全新仓库,功能有:脸...
修改火狐缓存位置到内存盘
1、在地址栏输入about:config 进入设置界面 2、找到browser.cache.memory.max_entry_size设置使用内存缓存大小,设置值为-1,无限制,可以自己选择,设1的话是1kb,依次类推。 3、输入browser.cache.memory.enable,确认值为true,火狐默认为true。 4、输入”browser.cache.disk.enable”, 设置为false 5、然后在选项-高级-网络里,把无视自动缓存管理勾上,再把使用磁盘缓存空间设为0。 这样火狐的缓存就在内存里了。 比较简单,我这里就不上图片了。 最后输入 about:cache 可以查看缓存占用
c++杂七杂八的笔记
VS 2017 IDE compiler option” /permissive-“ 类中成员变量的声明顺序,决定了成员变量的初始化顺序。假设 Date 类中的构造函数为: public: Date() : y_(2016), m_(9), d_(22) {} 此时,类中的成员函数,在类中的声明顺序 = 构造函数初始化列表顺序,故 y_, m_, d_ 都能被顺利的初始化为对应的值。 而当成员变量,在类中的声明顺序 ≠ 构造函数初始化列表顺序 时, public: Date() : y_(2016), d_(22), m_(d_-13) {} 根据成员变量的声明顺序,y_ 首先被初始化为 2016,然后再初始化 m_,但由于 d_ 并未被初始化,所以 m_ 的值是随机的,最后初始化 d_ 为 22 这是因为,类的成员变量在初始化时,其初始化的顺序只与声明顺序有关,而与在初始化列表中的顺序无关。 scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。 win 换行\r\n linux \n mac \r linux读取win的文件...
模运算规则
模运算与基本四则运算有些相似,但是除法例外。其规则如下: (a + b) % p = (a % p + b % p) % p (a - b) % p = (a % p - b % p) % p (a * b) % p = (a % p * b % p) % p (a^b) % p = ((a % p)^b) % p 推论: 若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p); 若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p); 若a≡b (% p),c≡d (% p),则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p), (a * c) ≡ (b * d) (%p),(a / c) ≡ (b / d) (%p); 费马定理:若p是素数,a是正整数且不能被p整除,则:a^(p-1) mod p = 1 mod p 推论:若p是素数,a是正整数且不能被p整除,则:a^p mod p = a mod p
一些个人常用的 Git 指令
随便整理的一些自用的Git指令 GitHub创建仓库提示代码123456echo "# 项目名" >> README.mdgit initgit add README.mdgit commit -m "first commit"git remote add origin git@github.com:qiubaiying/项目名.gitgit push -u origin master 若仓库存在直接push 12git remote add origin git@github.com:qiubaiying/test.gitgit push -u origin master 常用操作创建仓库(初始化)12345678在当前指定目录下创建git init新建一个仓库目录git init [project-name]克隆一个远程项目git clone [url] 添加文件到缓存区1添加所有变化的文件 git add . 12添加名称指定文件git add text.txt 配置123设置提交代码时的用户信息git config [--global] user...
