自学Python第36天
今日函数:EXIF(EXchangeable image file format)、pip install ezexif、ezexif.process_file()、split()
EXIF(Exchangeable image file format)
(1) pip install ezexif
要通过Python去读取照片的EXIF信息,可以使用ezexif这个模块。
ezexif不是一个内置模块,所以在使用前要先通过代码 pip install ezexif 进行安装。
如果在自己电脑上安装不上或安装缓慢,可在命令后添加 -i 网页链接 进行加速。
(2)ezexif.process_file()
只需要将照片路径传入ezexif.process_file()函数就可以获得一个包含图片EXIF信息的字典(dict)。
通过这个字典访问“EXIF DateTimeOriginal”字段即可获得照片的拍摄时间。
split()
是Python的内置函数,可以对字符串进行拆解。将分隔符作为参数传入到split()函数中,即可把字符串按照指定分隔符切分成多个字符串组成的列表。
最近有位朋友在后台询问电脑c盘怎么格式化!为了更好更干净的安装系统,很多朋友会选择将C盘格式化,确保系统安装完成后会比较纯净,那么要如何格式化C盘呢?下面,高手教你格式化c盘的2个方法吧!
方法一:右键格式化C盘!
1、 打开我的电脑或者计算机,进入资源管理器页面。
2、 这时候,页面显示电脑所有磁盘,看到了c盘。
3、 接着,我们移动到下图的C盘处并且点击右键。
4、 在右键菜单中,我们看到格式化的选项,点击就可以格式化了。
5、 但是很多朋友的系统是安装在C的,是无法格式化的,只能重新分区才能格式化。
6、 或者说把系统安装在别的盘我们就能格式化了。
方法二:dos命令格式化C盘!
1、 在开始菜单栏中输入cmd,右键以管理员身份运行。
2、 然后,输入diskpart。
3、 接着,输入list disk 查看有哪些磁盘。
4、 我们选择要格式化的磁盘的编号,0一般是系统盘,慎重选择。
5、 输入clean命令。
6、 选择创建主分区creat partition primary。
7、 最后,输入ormat fs=ntfs quick label="E:"
真快啊!不发出去消息我的C盘无法拉出格式化的对话框,多少次了都只能这样!连续使用DOS输入几个命令都是无法格式化。其他盘符都能格式化,就C盘不行。从昨天还是前天格式化的时候就发现了这样的问题。到今天依然这样。尝试了所有可以用来格式化的方式了吧!刚刚发出去消息惊人的出现了C盘的这个下拉窗口竟然出来了!这个爪爪伸的长吧?不知道还有人善后没?!
马斯克开始“灭霸式”裁人:7000人推特人才立马瞬间少了一半,直接远程格式化笔记本电脑!
11月4日,马斯克掌管的推特便立马上演残酷的一幕,一共7500名员工就被辞掉一半。而且如此大阵仗被辞退的员工,并非是通过什么人力资源通知的,而是直接电脑被远程清除了。
这位西蒙·巴尔曼是在英 国上班的推特工作者(一图)就说出了这历 史 性残酷被远程辞退的一幕。他说,要被辞退的人,都会收到一封“被开除”的信。接着,根本不等你是否申诉还是上报上级,过了1小时,你配发推特的工作电脑即刻被远程格式化,里面全部的数据、什么代码通通被清除干净,之后你全部的企业邮箱账户被注销无影。
再说如此的辞退方式,丝毫没法看你是什么种族、是男是女,是老是少,甚至是否是孕妇也照裁不误。
(四图)雷切尔·波恩是在推特旧金山总部担任营销经理一职,且怀孕八个月了,也是被同样的方式辞退了。
其中被裁的罗曼·乔杜里说道,见证了这种灭霸式的裁员,一刹那,人就没了一半。
网友们看后,评论也是妥妥地涨知识啊。比如,有人问是:什么软件做到的远程格式化?
答1.内部办公软件 ,重启加入一个清空全盘 格式化命令 再轻松不过了。
2.笔记本品牌,带有Intel的vpro功能的,此功能就能实现远程查看用户当前显示屏幕内容(主板上的硬件行为,用户无法知晓),远程控制,远程安装操作系统,自然就会格式化硬盘。
3.隐藏的远程控制电脑软件,调用本地格式化程序。看看简单不?
有人还说,能远程格式化电脑,就能远程遥控汽车。
是滴。老早就可以了。比如,电脑病毒了, 这就是 一个分之罢了
对此,大家有什么不一样的看法?
今天,是Linux回炉的第二十二天
shell
DHCP
我遇到过网络渗透,要我提供服务器地址,然后,在里面一顿操作,然后还把操作的内容给删了,我想直接保存他们的命令内容看看到底他们在干什么
#!/bin/bash
AA=`ps -ef|grep dhcpd|grep -v grep|awk '{print $2}'`
#FF=`cat /var/lib/dhcpd/dhcpd.leases|grep lease|grep -v "#"|awk '{print $2}'|uniq`
FF=`who|awk '{print $5}'|awk -F '(' '{print $2}'|awk -F ')' '{print $1}'|grep -v '^#39;`
BB=`netstat -lntup|grep dhcpd|awk -F':' '{print $2}'|awk '{print $1}'&&netstat -lntup|grep dhclient|awk -F':' '{print $2}'|awk '{print $1}'`
#`ps -ef|grep $(ps -ef|grep $(who|grep 192.168.31.*|awk '{print $2}')|awk '{print $1}'|uniq)|grep -v "["|awk '{print $8}'>3.txt`
CC=`ps -ef|grep $(who|grep 192.168.31.*|awk '{print $2}')|awk '{print $1}'|uniq`
DD=`date +%Y-%m-%d`
EE=`echo $RANDOM`
#首先,判断服务是否开启,目前能想到的应该要放在定时任务下
while true
do
if [ -n $AA ];
then
echo "DHCP的进程号为:"$AA
echo "DHCP的服务端和客户端的端口号为:"$BB
#HISTTIMEFORMAT="%F %T"
#`history`>`date +%Y-%m-%d`+$EE.txt
#history
else
ifconfig ens37 192.168.31.1
systemctl restart dhcpd
fi
for j in $FF
do
`ps -ef|grep $(ps -ef|grep $(who|grep "$j"|awk '{print $2}')|awk '{print $1}'|uniq)|grep -v "["|awk '{print $8}'>4.txt`
echo "连接本机地址如下:"$j
done
#HISTTIMEFORMAT="%F %T" #历史命令的时间戳
if [ -d /data/ ];
then
echo "文件夹已经存在"
else
mkdir /data/
fi
cat .bash_history >/data/`date +%Y-%m-%d`_$EE.txt
#`history|grep "$DD"` >`date +%Y-%m-%d`_$EE.txt
#远程用户使用administrator的权限去使用ssh登录,查询其进程并且上面已经导入历史命令文件
for n in `cat 4.txt`
do
echo $CC'用户通过DHCP远程进入服务器后执行的进程:'$n
done
sleep 5
cd /data
find -name "`date -d "1 day ago" +"%Y-%m-%d"`_*"|xargs rm -rf
cd /root
done
一个使用Express.js专为curl客户端制作的终端命令行程序。这个Express.js应用不是为浏览器提供服务,而是为命令行工具curl提供服务,你使用浏览器访问此站点,它直接将你重定向到GITHUB项目仓库中,只有通过curl命令行访问,才会给出正确的新闻信息。
整个项目采用Express.js实现,Web访问内容部分很简单,通过agent判断访问站点使用的是不是curl,如果不是curl的话,执行302重定向至GITHUB;这个项目的难点在于如何让Express.js输出控制台可以识别的字符格式化命令。
项目地址:网页链接
#千奇百怪的软件项目# #hkkr#
#知识分享#
问题描述
客户的系统忽然无法启动了。
硬盘是西部数据的1TB硬盘,用了超过6年了。
出错界面如图1所示。
解决过程
1.重装了win 7系统。但还是不稳定,有时候启动会黑屏。
2.换一个硬盘启动后,把有问题的盘挂在上去,发现C盘已经无法识别了,需要格式化。
用命令,chkdsk /f 尝试进行修复。发现有很多问题。
3.用hddscan和HDTune分别检查硬盘的健康状况,都有黄色的报警。
这样的报警通常表示硬盘已经有坏块了。
这样的硬盘不适合再作为主硬盘使用。
4.帮客户更换一款英睿达的MX500固态硬盘。
原本的机械硬盘用于定期备份数据。
U盘格式化后容量变小究竟是怎么回事?遇到这问题该怎么解决呢?下面就一起来看看2步解决u盘格式化后容量变小的问题吧!
第一步:恢复u盘容量
1、 操作之前一定要备份数据,这是很关键的,它可以恢复实际容量但不能恢复里面的内容
2、 在开始菜单-运行,然后输入cmd后回车,这就进入dos窗口了
3、 然后,输入diskpart,这样就进入了磁盘管理命令模式
4、 接着,我们继续输入命令“list disk(注意空格),然后回车进去,就可以看到你电脑里所有的硬盘设备了,当然也包括U盘设备,这时候你可以看到U盘显示的是真实容量,也就是说上面的16G,这里显示的也是15G的样子是正常的,并不是7G,所以看到这里就知道下面的操作靠谱,绝对是可以恢复实际容量的
5、 这时候,我们要选中U盘,比如说这里的“磁盘2”是U盘,输入命令“select disk 2(注意空格)”回车,看提示“磁盘 2 现在是所选磁盘”就代表着成功选中了,你要看你的U盘是磁盘几,可能是磁盘3也可能磁盘4
6、 接下来就是重点,输入命令“clean”清除磁盘,也就是清除U盘本身,这时候U盘已经被系统清除了
第二步:找回U盘
1、 此时,回到我的电脑,如下图,打开U盘提示要出入U盘,或者根本看不到U盘盘符,别担心,我们接着操作
2、 关掉之前打开的命令窗口,鼠标右键点我的电脑,弹出的菜单里选择管理
3、 然后,选择“磁盘管理”
4、 然后,选中未分配的磁盘,也就是u盘,点击新建简单卷
5、 指定卷那里,点击下一步
6、 点击下一步,指定大小
7、 接着下一步就是,设置盘符(此处新手建议,默认设置)
8、 点击下一步,最后点击完成,就可以了,你的u盘也就恢复正常了。
一开发公司换电脑,其中一小美女用的是麒麟linux,说用不习惯,数据已经拷贝出来了,让我格式化了。之前我没用过这系统,感觉还行,和Windows很接近了,网上说用ctrl-alt-t打开命令行终端,没成功,最后在左侧开始导航里找到了分区编辑器,很快就格式化了。
经验之谈:内存泄露的原因以及分析
内存泄露是Javaer听到最多的关于内存的事了,这篇文章就来谈谈这件事。
内存泄露与资源泄露
什么是泄露?泄露在计算机语境下,通常指的是某个资源无法被访问,也无法被释放。
内存泄露一般发生在某个对象的引用丢失,无法再访问到该引用,但是该引用却依旧引用着某个对象,导致这个对象无法回收,最终导致内存溢出OOM。
资源泄露一般发生在连接池,IO流等场景,如从连接池中每次都新建连接但不关闭,每次都打开新的IO流但不关闭,等等情况。
内存泄露发生的情况
内存泄露多发生于static的集合中,比如当你定义了一个static HashMap,此时将某个key-value放入其中后,方法段结束。
这时,除非调用map的clear方法,否则显然该value将无限持有对象的引用,无法释放。
public static Map<String,Object> objectMap=new HashMap<>(); public static void main(String[] args) { Integer a=new Integer(1); objectMap.put("testKey",a); }
这种写法看似可笑,却很难避免,尤其在大量框架代码中,反而更容易发生,因为大部分框架代码对业务代码的增强,都是通过AOP方式来做的,此时对业务代码来说,这类隐式的static Map难以防范。
内存使用过高,一定是内存泄露吗?
内存使用过高,并不一定是内存泄露导致的结果,具体要看内存堆的分析。
一般内存泄露最直观的体现就是:
内存使用高
GC回收不了内存,即GC前后堆大小几乎无变化
JVM疯狂GC,CPU打满
Java进程触发Linux操作系统的OOM-killer,Java进程被杀死
或者CPU被GC任务打满,服务器实际宕机。
但是这不一定是泄露导致的,也有可能是内存的错误使用导致的,不过大同小异,主要还是需要排查异常内存的使用。
Ps:之所以作者这么说,是因为作者曾经在线上遇到了架构组修改日志框架,错误的将日志内容作为了key存入了map,本应的key-value应该为traceId-日志内容,结果架构组却将key-value搞反了,导致大量的巨大key打满了内存,堆dump文件里全是几十k几十k的字符串。
如何避免内存泄露
根据上面说的内存泄露多数发生的情况,避免内存泄露的策略也就十分简单了。
尽量使用局部变量
减少使用static集合
如果必要的使用static集合,尽量使用弱引用等低级引用。比如参照ThreadLocal中的设计:TheadLocal原理
内存泄露问题如何排查
内存泄露或内存持续使用较高时,通常通过堆的情况来排查。
首先可以通过jmap -histo:live pid|less 命令,查看堆内对象使用情况。此时如果内存泄露,一般都是会某个基本类型对象过多,然后可以与正常的服务作对比,看哪个对象的数量异常的多,此时如果可以判断出来,也没必要dump了。
如果通过jmap无法断定,则可以使用jmap -dump:live,format=b,file= 命令,生成dump文件。
将dump文件通过java原生的软件或者eclipse的mat工具,就可以看到哪些对象占用过多,此时你应该关注的是非基本类型对象的其他对象,因为一般来说都是基本类型的数量和大小最多。
一般来说,你会看到以下现象:
某个map的Node十分多,有几十万个。
某个框架的某个对象十分多。
char数据,也就是C[],占用十分多,因为有很多大字符串。
本文作者:IntoTw
本文链接:经验之谈:内存泄露的原因以及分析 - IntoTw - 博客园
太棒了!一个小小的磁盘修复命令挽救了我的移动硬盘!
刚才来了个客户,想给电脑安装一个auto cad,正好我的移动硬盘(你没看错,这个32G的不是U盘,是一个十年前的小移动硬盘)有这个软件,谁知道在电脑上无法打开,提示文件目录损坏无法读取需要格式化!
格式化的话数据就没有了,我突然想起来了曾经看到过的一个磁盘修复命令 chkdsk,那就死马当活马医吧!打开cmd,输入chkdsk g: /f,屏幕上刷了几段文字之后,奇迹出现了,移动硬盘又可以正常打开使用了![呲牙]
看来平时多学习,关键时刻还是有用的!
前天还是昨天在头条上看到一篇文章,说是一在百度工作的程序员删库跑路,被判刑的事情,好像是两年前的事了。首先这样做肯定是不对地,如果仅仅是因为工作上的原因(非很出格的情况下,如果是,我想我也会这样做[捂脸])离职就是了。
虽然rm -rf /,敲回车的的动作是很潇洒的,如果真出事也是很狼狈的,提醒大家遇事要冷静,千万不要头脑发热。[尬笑]
来看一下下面几条潇洒且很危险的命令:
rm -rf命令,可能会导致不可恢复的系统崩溃。
rm -rf / :强势删除根目录,根都没有了,当然根下所有东西也都会被一起删除。
rm -rf * :强制删除当前目录下的所有文件,也很危险。
rm -rf . :强势删除当前文件夹和其所有子文件夹。操作的时候一定要小心,看清楚了。
:() { :|:& };: 这是一个函数,:是函数名,& 是后台运行,| 是管道,叫Fork炸弹,一听的名字,就知道它有多危险了,它会一直生成新的进程,直到系统耗尽所有资源或是直接崩溃。
echo "" > /dev/sda操作,看这个操作就知道什么意思了,会把echo输出的数据覆盖掉块设备中的所有数据,导致块设备数据丢失,/dev/sda 可能是您的主硬盘驱动器。
mv 目录 /dev/null操作,/dev/null是一个特殊的设备,写入它的内容都会被丢掉,大家都叫它黑洞。
mkfs.ext4 /dev/sda,这个命令是对你的块设备进行格式化,刚才说了/dev/sda可能是你的主硬盘驱动器,直接让你的系统崩溃,不可恢复。
> 这可不是大于号,是重定向符号,更确切的说是覆盖重定向,比如执行echo " " > /etc/passwd或者直接在命令行执行 > 文件名,会清空文件所有内容。
这可不是让大家去这样操作[捂脸]不管怎么样,实际工作环境中还是要慎重[尬笑]
硬盘变成0字节及出现0字节文件怎么解决
当出现属性为硬盘0字节说明这个盘的文件系统结构损坏了。在平时如果数据不重要,那么可以直接格式化就能用了。但是有的时候里面的数据很重要,那么就必须先恢复出数据再格式化。
如何修复硬盘变成0字节的情况
1、使用命令提示符:Windows +R打开运行窗口。运行窗口打开后,键入cmd然后按Enter。在命令提示符下,键入chkdskF:/R然后按Enter。其中F是显示0字节的驱动器的驱动器号。在chkdsk命令解决0字节硬盘驱动器问题之前,只需等待一段时间。过程完成后,您可以访问硬盘驱动器中的内容。
2、更改驱动器号名称,当硬盘驱动器变为0字节时,可能是连接问题或未检测到驱动器号。您可以尝试的快速修复方法是重新连接硬盘驱动器并更改其驱动器号:
按Windows+R并键入diskmgmt.msc,显示0字节可用空间的硬盘,然后选择“更改驱动器号和路径”,单击更改驱动器号按钮并从下拉列表中选择一个驱动器号。单击“确定”,然后在出现提示时单击“是”。单击“确定”以确认并关闭该框。
3、运行磁盘错误检查器,打开文件资源管理器并右键单击0字节HDD/SSD分区,选择“属性”并转到“工具”选项卡。单击错误检查部分下的检查按钮即可,自动修复发现的文件系统错误。
为什么出现0字节文件
0字节文件是指在电脑上一个文件 包含真正0字节文件。一般文件都不大可能是0字节,因为,一个文件都会拥有一些属性来描述这个文件:如文件名、文件访问的模式和一些扩展属性。所有的这些属性都是需要空间来存储,所以会占一定的字节。一个文件可能包含的内容为0字节,但是真正本身的大小一般不可能是0字节。
1.没有正常关机或停电。如果在写入数据时突然关机或断电,可能会导致文件或储存设备损坏。
2.分区损坏或出现坏扇区。如果文件保存在了损坏的分区或分区中的坏扇区上,也会变成0字节。
3.感染病毒或恶意软件。如果电脑感染了病毒或安装了恶意软件,文件受到它们的攻击也会变为0字节。更可怕的是,它们还有可能让你的硬盘变为0字节。
4.使用移动存储设备没有正确的拔出。下载文件时没有完全下载成功。
5.保存文件时保存失败。文件系统中的索引表损坏。文件名过长,电脑无法处理太长的文件名。
若想要恢复盘里面的0字节数据就必须要注意,这个盘不能格式化,否则数据会进一步损坏。这时候就需要借助数据恢复工具来进行操作:迷你兔数据恢复软件可以帮到您。
俄罗斯彼得大帝号出战!可携带500枚战略导弹,战斗民族的变形金刚!
重大消息,俄乌冲突有了重大改变,有相关媒体传出,就在前段时间,俄罗斯出动了世界上唯一一艘现役的非航空母舰,核动力水面作战舰艇,彼得大帝号巡洋舰,他的出现直接震慑了北约各国,那么该款巡洋舰究竟有多威力?为何一经出场就让北约各国惊慌不已?
由于,以美为首的北约诸国总是在背后搞着运输大队长的动作,以至于小泽总统总是自信过头,放出狠话,绝对没有谈判的可能,势必在冬季来临之前彻底击败俄罗斯。这无疑是在挑战普大帝的底线,甚至直接威胁到了俄罗斯本土百姓的安全,因此普京大帝也将不再忍让,直接出动最强杀手锏,彼得大帝号巡洋舰。那么它的出现是否会扭转战局呢?
彼得大帝号巡洋舰是俄罗斯海军的一艘核动力导弹巡洋舰,他被称为战斗民族的变形金刚,什么杂七杂八的武器都能往上装,因此你永远都猜不到他下一秒会掏出什么武器跟你打。此舰全长252米,宽28.5米,于1998年4月19日服役,满载排水量达到了恐怖的25000吨,同时也是世界上最大的非航空母舰战斗舰艇。主要用于实施远洋反舰,反潜以及防空作战等任务。除此之外,他也有着相当霸气的外观,整个舰艇最多荷载727名船员。
他不仅拥有着最高超的配置,而且舰体内部还搭载着两个最先进的核反应堆,能够确保以20节的航速实现无限续航,一旦与蒸汽涡轮增加推进器强强联合,使得最大行速扩展到32节,也就相当于60公里每小时。更值得一提的是,便是他那强大的武器系统,他能够携带500枚反舰导弹,甚至要比老美巡洋舰载弹量的四倍还多。也曾被人称为海上武库舰。强悍的性能与先进的核动力装置,使得该款彼得大帝号巡洋舰在远洋作战这一方面独占鳌头。
彼得大帝号是截止目前为止,整个世界除了航母之外唯一一艘使用核动力的水面舰艇。在一望无际的茫茫大海之中,除了航母舰队群外的任何一艘舰艇,一旦遇到彼得大帝后,无非就两种结局,要么绕道而行,要么被当场击沉,此舰艇上设有飞行甲板以及下方机库。不仅能够在海面上拉起坚不可破的空中防线,而且整艘舰艇主要由钢和铝合金建造而成,其中最重要的是都采用了厚重耐磨的装甲钢板,因此那些普通武器根本无法进行击穿,真可谓是最坚的盾与最利的矛完美结合。
彼得大帝号的威力究竟有多大?俄罗斯又在隐藏着怎样的军事实力呢?他不仅能够一次携带500枚导弹,而且俄罗斯为了提升其反舰能力,还配备了20枚p700反舰导弹。也就是我们经常讲到的超音速远程反舰,该导弹不仅能够实现垂直发射,而且它的最快速度可达2.5马赫,最大射程达到了恐怖的550公里,仅需一枚变格式化一艘10万吨级航母。由于采用的雷达制导以及惯性修正指令,因此,还可以利用舰载的卡27蜗牛反潜直升机,亦或是卫星数据进行连接,进行一系列的发射后无需后续操作。
除此之外,还有他那么顽固不摧的防空武器,首先,彼得大帝号巡洋舰有着完整的远中近三层防空体系,第一道防线为sa-n-6防空导弹系统。该系统是陆基s-300f防空导弹舰载型,采用单级固体燃料火箭,推力最大射程可达90公里。最大高度为25000米,最大飞行速度约4~5马赫,一旦采用冷发射技术,安全距离达到25m时开启发动机,使其速率达到30~40米每秒。第二道防线是sa-n-9防空导弹,采用6联装垂直发射装置,以及十字剑火控系统等。不仅能够同时发射12枚导弹,而且还能够打击12个空中来袭目标。在配备第三道防线a-n-4的辅助彼得大帝号巡洋舰,简直就是做到了360度全方位无死角防护。
毫不夸张地讲,一旦20枚导弹一齐发射,就连老美最厉害的航母舰群恐怕也要在一瞬间变成废铜烂铁。更何况他还配备了多用途双管130mm的舰载炮,能够有效应对来自空中的威胁,最后以35发每分钟的速度进行发射。轻松摧毁敌方22公里范围内的所有生物。更值得一提的是,凭借这种方式对陆地进行攻击支持,不仅能够实现远距离攻击,哪怕是近距离攻击的精准度,那也是相当绝,完全可以说,凡出现在海域附近的目标一旦被锁定,必将在劫难逃。
据俄专家透露称,升级后的彼得大帝号巡洋舰甚至还配备了强大的新型2-m里夫远程防空导弹,其最快飞行速度可达6马赫,防御直径达到了惊人的120公里。除了单体性能的提升,还具有信息传递功能,当导弹寻找雷达启动后,具有一定的反弹道导弹能力。此舰船上还配备了对空对海的警戒雷达以及导航雷达,飞行控制雷达等,不仅可以协助进行导弹制导。还能够侦查附近的海域情报。
现在普京大帝让彼得大帝号上战场,就是为了威慑乌克兰,希望乌克兰能及时清醒,早日实现和平谈判。
https://m.toutiao.com/is/M2p3yyA/
### docker常用操作快捷命令
```bash
#停用全部运行中的容器:
docker stop $(docker ps -q)
#删除全部容器:
docker rm $(docker ps -aq)
#一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
#docker 批量删除无tag标签镜像
docker images|grep none|awk '{print $3}'|xargs docker rmi
#镜像按大小排序
docker images --format "{{.ID}} {{.Size}} {{.Repository}}" | sort -k 2 -h
```
MySQL 8.0.31 正式发布
审计插件:审计插件的日志轮换函数audit_log_rotate(),简化了日志轮换的工作,用户无需手动更改日志名称,也无需设置audit_log_flush =>
作为一个程序员,这个插件让你如虎添翼。它的名字叫WebTerminal,这是一款使用命令行来操作chrome浏览器的插件,是不是很惊艳?无论你位于哪个页面,通过连按2次ctrl(window)或command(mac) 都可以打开WebTerminal。
为什么推荐呢?没有任何后台请求,插件包本身也很小,只有140k左右,不影响浏览器性能,可以直接写js,json格式化超级漂亮。
固态硬盘的TRIM功能有什么作用
固态硬盘,也就是我们常说的SSD,跟传统机械硬盘相比,具有读写速度快、防震抗摔性强、低功耗、无噪音等特点,因此不少用户在升级自己的电脑硬件时,也愿意选择固态硬盘。虽然硬盘的主要作用是存储数据,但是不同的硬盘在自身的性能上有一些细微的差别,其中,固态硬盘有一个非常特殊的功能——TRIM指令。
什么是TRIM指令?这个功能有什么作用?会对硬盘数据产生怎样的影响?我们将在今天的文章中,为您详细阐述这些问题。
什么是TRIM指令
在为您解释TRIM的含义之前,我们先来看看电脑数据恢复的一些情况。
我们的电脑几乎每天都会处理大量数据,我想肯定很多人都对数据做出过删除、格式化的操作。当数据删除后,一些用户可能会感到后悔,或者发现把重要数据误删了,这个时候,我们可以利用迷你兔数据恢复软件,把误删除的电脑硬盘数据重新恢复出来。只要被删除的数据没有发生数据覆盖、损坏,那么迷你兔恢复成功的几率是非常高的,这一招,对机械硬盘非常管用,可以说是屡试不爽。
TRIM是为增强SSD主控垃圾回收效率而新引入的ATA指令。此指令相当于操作系统级别“磁盘碎片整理”程序的“预执行”。
在以往,操作系统在删除某个文件或格式化某个分区之后,数据并未真正删除,只是给这些数据打上“已删除”的标签,只有在执行操作系统级别的“磁盘碎片整理”时才会被真正清除。也就是说,被删除的数据还可以通过数据恢复软件,重新恢复。
而固态硬盘的TRIM指令干了什么呢?操作系统一旦删除某文件,固态硬盘收到TRIM指令后,就会立刻将这些数据进行垃圾回收,并在空闲时将对应的闪存进行擦除,这样数据就很难被恢复出来了。
这也是为什么您发现,固态硬盘上删除的数据不能通过软件恢复的原因。这并非软件不起作用,而是固态硬盘的TRIM指令造成的。
TRIM指令可以关闭吗?
看完上一部分,想必会有用户提出这样的疑问:既然固态硬盘的TRIM功能会造成丢失数据难以恢复,那我想给自己留一条后路,能不能把TRIM功能关掉呢?
是的,固态硬盘的TRIM指令可以通过人为操作开启关闭。
win7和win8系统对TRIM功能支持有所不同。
win7检测到支持TRIM的固态硬盘时会自动开启该功能,并会在系统待机或者轻负载时自动向固态硬盘发送运行TRIM的指令,其缺点是不支持手动操作。因此可以看到一些固态硬盘在进行拷机测试后性能会下降,但是待机几分钟后性能会得到恢复。这其实就是系统自动在空闲时运行TRIM让SSD主控芯片对无用的数据进行擦除。
想比之下win8更人性化,把TRIM功能和日常的磁盘整理程序整合在一起,成为一个可以手动操作的系统组件。
这几天尝试着搭建ZYNQ的linux开发环境,
在安装完petalinux以及xilinx SDK之后,给虚拟机分配的50G左右的空间已经不够用了,在进行应用开发时,报错提示空间不足。
我通过以下步骤解决将虚拟机的空间扩展到100G,解决空间不足的问题。
1) 使用VirtualBox 使用VBoxManage modifyhd扩容,提示失败,如下:
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Failed to resize medium
VBoxManage.exe: error: Resizing to new size 107374182400 is not yet supported for medium 'D:softwareubuntuvirtualboxubuntuubuntu.vhd'
VBoxManage.exe: error: Details: code VBOX_E_NOT_SUPPORTED (0x80bb0009), component MediumWrap, interface IMedium
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleModifyMedium(struct HandlerArg *)" at line 816 of file VBoxManageDisk.cpp
2)‘在命令行先创建一个空的vdi虚拟机介质,创建时设置大小为扩容后的大小,然后使用克隆命令进行虚拟机介质克隆。
VBoxManage.exe createhd -filename "xxxx.vdi" -size 102400 -format VDI -variant Standard
VBoxManage.exe clonehd "D:softwareubuntuvirtualboxubuntuubuntu.vhd" "xxxx.vdi" --existing
此时原来的那个ubnuntu.vdh 已经克隆到xxxx.vdi了,再执行VBoxManage modifyhd 命令调整 空间大小
VBoxManage modifyhd "xxxx.vdi" --resize 102400
3) 在virtualbox配置界面中的存储介质选择为新克隆的xxxx.vdi,之后启动虚拟机。
4) 在ubuntu中,打开终端,输入apt-get install gparted,安装分区工具gparted.
可以新增加了一块未分配的空间,而gparted无法直接将该未分配的空间移动给根分区。
退而求其次,将未分配的空间建立新分区,并挂载到占空间最大的/home目录。
5)利用gparted对未分配的空间建立新分区
6)创建临时目录,用来临时挂载新分区
sudo mkdir /mnt/newpart
7)将新分区挂载到新文件夹
sudo mount /dev/sda3 /mnt/newpart
至此,可以对/mnt/newpart目录进行读写操作。
8) 将/home目录下的文件拷贝到新分区
cd /home
sudo cp -ax * /mnt/newpart
拷贝时间也许较长,耐心等待。
9) 输入按下让不少闻风丧胆甚至提桶跑路的rm -rf /home,小小翼翼按下,刷除原来的/home目录
10) 并新建一个新的空/home目录,并将新分区挂载到/home目录
sudo mkdir /home
sudo mount /dev/sda3 /home
11)挂载信息写入/etc/fstab这个文件中,避免下次开机启动时仍然需要重新挂载。
找到新分区的uuid,加入/etc/fstab
sudo blkid
sudo vim /etc/fstab
加入,UUID=355fbf5a-a5df-4805-828c-c98cddf5f5ca /home ext4 defaults 0 2
12) 最后修改权限
进入新挂载的/home 查看是否都是对应文件夹对应用户的权限,进行相应的更改。