X机房的电脑配置还是很高的, 所以...

远程登录的命令是: ssh -X nom.prenom@truite.polytechnique.fr

(-X命令表示允许使用X程序.)

登录进去以后, 可以在终端里输入命令, 比如查看系统板本:

$  lsb_release -a
LSB Version:    :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: n/a
Description:    CentOS
Release:    n/a
Codename:   n/a

机房是centOS, 高效稳定.

然后可以在终端输入命令来启动程序, 比如eclipse &,就会在你这边的电脑显示出来eclipse的窗口 …

这个其实是三月份的时候做的, 当时刚刚学会用urllib和正则表达式做一些爬虫, 于是结合人民群众的需要, 写了个小脚本(福利~)

不过现在我还只是会照葫芦画瓢那样用urllib, 没什么长进...

github地址: https://github.com/X-Wei/yssy_ppp_pic_downloader

1.

功能就是下载水源ppperson板里帖子的图片, 并且每个帖子一个文件夹放好. 通过修改main函数可以选择下载最近一页的帖子还是下载全部帖子(或者最近几页的帖子)

原理很简单, 分析网页的html代码, 用正则表达式找出图片的地址然后下载到本地. 当时我已经写了两三个简单的爬虫, 所以这个写得蛮快, 而且只用50行就搞定了...

不会用多线程, 只能一张一张下载, 帖子数目实在太多了, 我让它跑了一晚上, 第二天跑完, 下载了8个G的图, 几千个文件夹(囧)......

2.

不过还是遇到了一些问题, 比较老的帖子会有些图片404, 这时或者这个帖子对应的文件夹为空, 或者里面的图片其实不是图片, 而是出错信息的html代码(虽然看后缀是个图片). 我需要把那些不是图片的文件删掉, 而且要删掉所有的空文件夹.

删除不是图片的文件(其实应该是删除纯文本文件), 在水源发贴问, 用shell命令(perl)做到了(虽然不明白为什么这样写...):

find yssy_ppp …

今天cbl问了我一个问题: 怎样打乱一个文本文件的所有行??

仔细一想, 确实有难度... 因为那个文本文件居然有1G, 用python读进内存再打乱的思路估计不行啊... 那么awk, shell什么的有没有解决方法? 搜到了一些帖子, 但是稍微复杂一点的shell脚本我也看不懂(弱爆了)...

我甚至想大概vim会提供这个功能吧, 没想到在搜的时候居然搜到了一个现成的shell命令: shuf!!

$ shuf --help
用法: shuf [选项]... [文件]
 或者:  shuf -e [选项]... [参数]...
 或者:  shuf -i LO-HI [选项]...
把输入行按随机顺序输出到标准输出。

长选项必须使用的参数对于短选项时也是必需使用的。
  -e, --echo            将每个参数视为输入行
  -i, --input-range=LO-HI   将LO 到HI 的每个数字视为输入行
  -n, --head-count=行数       最多输出指定的行数
  -o, --output=文件       将结果输出到指定文件而非标准输出
      --random-source …

du用来计算目录的磁盘用量. 具体的参数可以用man或者--help, 这里不贴了(其实我也没仔细看...). 今天看见水源上有人说 用 -sh这个参数比较好:

-s: 只计算各个目录的总用量(就是说不要递归操作) 后面跟着或者.就可以查看各个目录的大小了. -h: 易于查看的方式

比如~/目录经常不知道为什么空间在减少, 那就运行:

du -sh ~/* 以及 du -sh /.*

即可

有时候文件夹比较多的情况, 还是不容易发现那个文件夹占用了大部分空间, 这时用sort命令对du的结果进行排序就行了! 参考了这里, 顺便学会了: 两条一起执行是用"|"进行分割的.

所以命令为:

du -sm ~/* | sort -nr

注意这时du不能用-h参数, 因为这样的话文件可能是以M为单位也可能是以k为单位, 而sort的时候只看前面的数字值, 不看单位. 用-m参数, 表示让所有结果以M为单位显示.

imported from zim