文献检索与下载
第一部分:文献检索与下载
课程内容
课程目的
- 解决文献检索和文献下载难题。 主要内容:
- Linux 入门
- docker 入门
- Google Scholar 使用技巧
- 文献/图书下载:www.sci-hub.tw, gen.lib.rus.es
- 数学新闻订阅:NA-Digest, CAM-Digest
二、Linux入门
简介 Linux (Linux is not Unix)
- 内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。
- Linux 内核最初由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
- Linux 系统是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
- Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux 发行版
Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。
- 市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等
Ubuntu 安装
虚拟机 (Virtual Machine)
- 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
常见的虚拟机软件
- VMware:功能强大被视为虚拟机应用程序的行业标准。
- Virtual Box:Sun Oracle出品的开源、轻量级虚拟机平台。
- Parallels Desktop: Mac 平台虚拟机
下载:Virtual Box 6.0.8 下载:Ubuntu 18.04 Bionic Beaver
How to?
如何使用Ubuntu系统
Linux常用命令
ls
: 展示Linux 系统目录结构- 树状目录
- 在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点
/
开始的倒置的树状结构。
两个特殊的目录:
- 当前目录,可以使用一个点
.
来表示- 另一个是当前目录的上一级目录,也叫父目录,可以使用两个点
..
来表示。
如果一个目录或文件名以一个点 .
开始,表示这个目录或文件是一个隐藏目录或文件
cd
: 切换目录;pwd
,mkdir
,rmdir
,cp
,rm
,mv
- 绝对路径: 路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
- 相对路径: 路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man
ssh
: 远程登录,ssh ubuntu@***
Linux下常用的终端编辑器
nano
emacs
vim
Linux 入门教材:
- 《鸟哥的linux私房菜》
- The Linux Command Line by William Shotts
三、Docker 入门
- Docker 是一个开源的应用容器引擎,基于 Go 语言,并遵从Apache2.0协议开源。
- Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
- 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 架构
- Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
- Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。
Docker | OOP ——– | — 容器 | 对象 镜像 | 类
组件 | 作用 ——– | — Docker 镜像(Images) | Docker 镜像是用于创建 Docker 容器的模板。 Docker 容器(Container) | 容器是独立运行的一个或一组应用。 Docker 客户端(Client) | Docker 客户端通过命令行或者其他工具使用Docker API 与 Docker 的守护进程通信。 Docker 主机(Host) | 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。 Docker 仓库(Registry) | Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。 Docker Hub 提供了庞大的镜像集合供使用。
Docker 安装
- Docker 安装:
sudo apt-get install docker.io
- 启动docker后台服务:
sudo service docker start
- 测试运行:
sudo docker run hello-world
Docker 镜像使用
列出镜像列表
- ‘sudo docker imges’ 选项说明 REPOSITORY:表示镜像的仓库源 TAG:镜像的标签 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小
- 同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如ubuntu仓库源里,有15.10、14.04等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。 使用版本为15.10的ubuntu系统镜像来运行容器时,命令如下:
sudo docker run -t -i ubuntu:15.10 /bin/bash
查找镜像 我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/ 我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个httpd的镜像来作为我们的web服务。我们可以通过 docker search 命令搜索 httpd 来寻找适合我们的镜像。sudo docker search httpd
获取镜像sudo docker pull ubuntu:15.10
创建镜像 1.从已经创建的容器中更新镜像,并且提交这个镜像 2.使用 Dockerfile 指令来创建一个新的镜像 更新镜像 更新镜像之前,我们需要使用镜像来创建一个容器docker run -t -i ubuntu:15.10 /bin/bash
docker commit -m="message: update" -a="author" containerid zhhzhc/ubuntu:v2
docker images
查看
Docker 容器应用举例
在docker容器中运行一个 Python web应用
docker pull training/webapp # 载入镜像
docker run -d -P training/webapp python app.py
-d:让容器在后台运行。 -P:将容器内部使用的网络端口映射到我们使用的主机上。 查看 WEB 应用容器sudo docker ps
- 查看端口,通过浏览器访问应用 通过 -p 参数来设置不一样的端口
docker run -d -p 5000:5000 training/webapp python app.py
Google Mirror
sudo docker-compose -d
docker-compose.yaml
文件内容为:version: "2" services: google_mirror: image: jim3ma/google-mirror container_name: google-mirror ports: - "80:80"
sudo docker run -d -p 80:80 jim3ma/google-mirror
思考使用其他的镜像?
- `sudo docker run -d -p 12345:12345 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 12345 -k 12345 -m aes-256-cfb
四、Google 使用技巧
intitle
: 搜索的范围局限在标题上,只对网页的标题进行搜索并且配对,最后将结果返回给用户。intitle: scientific computing
google会检索所有的网页,只要出现 scientific 或者 computing 其中的一个就会被匹配allintitle
: 标题包含所有关键词。allintitle: scientific computing
site
: 把搜索限制在站点域名之内。scientific computing site: arxiv.org
""
: 精确匹配双引号中的关键词 其它:inurl
,intext
,inanchor
,filetype:pdf
Google Scholar 使用技巧
- 文献引用
- 作者信息订阅,关键词订阅
- 如何利用好Google学术搜索
五、文献与图书下载
Sci-hub
- 简介: Sci-Hub是一个线上数据库,其上提供62,000,000篇科学学术论文和文章。网站通过“.edu”代理服务器访问相关页面,也就是借用各个学校的权限,将之集成,实现文献免费下载。网站每天会上传新的论文文章,通过输入文献的链接或者DOI或者PubMed号可以下载几乎所有SCI论文。
- 作者: 哈萨克斯坦软件开发暨神经技术研究生亚历珊卓·艾尔巴金(Alexandra Elbakyan)建立,在2011年9月5日正式上线
- 镜像: Sci-Hub站点的本体由于受到了各大出版垄断集团的打击,经常无法访问,国内有一个网站会列出大陆地区可以正常访问的站点。
www.sci-hub.tw
- 图书下载: 2013年开始,Sci-Hub与俄罗斯的教育书籍和档案数据库创世纪图书馆(Library Genesis - LibGen)合作,在其开发的网站gen.lib.rus.es可以下载大部分英文书籍。
使用方法
- 可以采用论文标题,doi以及URL网址等方式进行检索下载,其中最有效的方式是URL网址,其次是doi (digital object identifier),最后才是论文标题。
- 在出版社域名后加
.sci-hub.tw
下载文献。https://www.springer.com.sci-hub.tw/gp/book/9783642640988
sci-hub是一个很好的文献下载工具,但是它并不是很好的文献检索工具,直接输入作者或者关键字是没用的,输入卷期号也并不能得到相关文献,因此,推荐大家将google scholar和sci-hub结合起来使用,采用google scholar进行检索,得到相关文献的URL网址之后,再采用sci-hub来免费下载文献
六、数学新闻订阅
- 英文 NA-Digest
- 中文 CAM-Digest
- The CAM/NA Digest are collections of articles on topics related to computational and applied mathematics and those who practice it