“java常见小错误”系列文章推荐:
上一篇:java小技巧(二):JAVA 交集,差集,并集
前文推荐:java常见小错误(一):变量类型自动转换与强制转换
java小技巧(一):进制转换
java小技巧(三):List和Array之间的转换
文章目录【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权);
本博客的内容来自于:linux常用技巧(一):后台下载;
学习、合作与交流联系q384660495;
本博客的内容仅供学习与参考,并非营利;
- linux常用技巧(一):后台下载
- 一、后台执行
- 二、多任务后台下载
- 1、wget
- 2、Curl
- 3、Axel
- 4、Youtube-dl
- 5、Aria2
- 针对centOS
- 6、movgrab
- 7、rtorrent
- 三、用户变量
一、后台执行
- cmd &
cat a.txt > a.file 2>&1 &
- nohup cmd &
nohup cat a.txt > a.file 2>&1 &
二、多任务后台下载 1、wget0表示标准输入
1表示标准输出
2表示标准错误
>表示覆盖
>>表示追加& 是一个描述符,如果1或2前不加&,会被当成一个普通文件。
1>&2 意思是把标准输出重定向到标准错误.
2>&1 意思是把标准错误输出重定向到标准输出。
&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中
后台下载文件:
# wget -b http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
如果互联网连接出现中断,恢复下载。
# wget -c http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
从某个密码保护的ftp软件库下载文件。
# wget --ftp-user=--ftp-password= Download-url-address
有时候我们需要让linux下载多个文件,并且后台下载,不去占用当前控制台。
比如我们需要下载中文维基的三个文件:
1 https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2
2 https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pagelinks.sql.gz
3 https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-categorylinks.sql.gz
将这三个存入 download_urls.txt
同时,编写wget命令文件,现在对wget命令进行解析。
#!/bin/sh wget -c -b -i download_urls.txt
-c 可持续断点下载,中途失败可续接。
-i 读取后面的download_urls.txt 文件。这个文件就是上面写的url文件。
-b 后台。
2、Curl借助-o选项,提供名称,下载文件会以该名称保存;如使用-O选项,文件就会以原始名称保存。
# curl -O http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
使用一个curl命令,下载多个文件。
# curl -O http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_2mb.mp4 -O3、Axel
这是wget的出色替代者,是一款轻量级下载实用工具。它实际上是个加速,因为它打开了多路http连接,可下载独立文件片段,因而文件下载起来更快速。
安装
apt-get install axel
例子
axel http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 # Initializing download: http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp44、Youtube-dl
这是一款专用工具,可以通过命令行从YouTube下载视频,这是个易于安装的程序包,可用来下载一大批文件。
安装
curl https://yt-dl.org/latest/youtube-dl -o /usr/local/bin/youtube-dl
变更文件权限:
sudo chmod a+rx /usr/local/bin/youtube-dl
例子
下载一些视频,只要为命令添加视频URL参数。
youtube-dl https://www.youtube.com/watch?v=UZW2hs-2OAI
想下载视频列表,将所有URL拷贝到一个文本文件中,然后运行下面这个命令:
youtube-dl -a5、Aria2
这是一种开源命令行下载加速,支持多个端口,你可以使用最大带宽来下载文件,是一款易于安装、易于使用的工具。
安装
apt-get install aria2针对centOS
yum install aria2
例子
aria2c http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp46、movgrab
这是用于下载视频的另一款高效工具,使用movgrab的优点在于,它不仅可以从YouTube下载视频,还可以从几乎所有的知名网站下载视频,比如metacafe、dailiymotion、 ehow和vobx等。这是一款很快速的工具,可以定义影片格式,还可以恢复下载。
安装可以从该链接下载程序包。解压缩程序包:
tar -xvf movgrab-1.2.1.tar.gz cd movgrab-1.2.1 ./configure make make install
使用命令下载程序包,下载名称指定的文件:
movgrab Youtube_url
指定输出文件:
movgrab -o example.mp4 video_url
使用maovgrab –h,即可了解更多的细节。
7、rtorrent这种知名的命令行torrent客户软件随附在所有Linux发行版中,它需要screen实用工具才能正常运行。
安装
安装screen:
apt-get install screen
安装rtorrent :
apt-get install rtorrent
例子
rtorrent example.torrent
还有更多参考这篇文章:linux下载工具
三、用户变量在脚本中可以使用很多变量来计算参数并显示有关脚本本身的信息。
$1、$2、$3 等表示脚本的第一个、第二个、第三个等参数。
$# 表示参数的数量。
$* 表示所有参数。
$0 表示脚本的名称。
$? 表示先前运行的命令的返回码(0 代表成功)。
$$ 显示脚本的进程 ID。
$PPID 显示 shell 的进程 ID(脚本的父进程)。
其中一些变量也适用于命令行,但显示相关信息:
$0 显示你正在使用的 shell 的名称(例如,-bash)。
$$ 显示 shell 的进程 ID。
$PPID 显示 shell 的父进程的进程 ID(对我来说,是 sshd)。
#!/bin/bash echo$ tryme one two three /home/shs/bin/tryme <== 脚本名称 one <== 第一个参数 two <== 第二个参数 3 <== 参数的个数 one two three <== 所有的参数 0 <== 上一条 echo 命令的返回码 10410 <== 脚本的进程 ID 10109 <== 父进程 IDecho echo echo $# echo $* echo $? echo $$ echo $PPID
当我们调用这个脚本时,我们会看到如下内容:
if [ $# == 0 ]; then echo " filename" exit 1 fi
检查是否已提供参数:
检查特定进程是否正在运行:
ps -ef | grep apache2 > /dev/null if [ $? != 0 ]; then echo Apache is not running exit fi
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)