Error[8]: Undefined offset: 36, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

linux常用技巧(一):后台下载 linux常用技巧(一):后台下载

“java常见小错误”系列文章推荐:
上一篇:java小技巧(二):JAVA 交集,差集,并集
前文推荐:java常见小错误(一):变量类型自动转换与强制转换
java小技巧(一):进制转换
java小技巧(三):List和Array之间的转换


【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权);
本博客的内容来自于:linux常用技巧(一):后台下载;
学习、合作与交流联系q384660495;
本博客的内容仅供学习与参考,并非营利;

文章目录


一、后台执行
  1. cmd &
cat a.txt > a.file 2>&1 & 
  1. nohup cmd &
nohup cat a.txt > a.file 2>&1 & 

0表示标准输入
1表示标准输出
2表示标准错误
>表示覆盖
>>表示追加

& 是一个描述符,如果1或2前不加&,会被当成一个普通文件

1>&2 意思是把标准输出重定向到标准错误.

2>&1 意思是把标准错误输出重定向到标准输出。

&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中

二、多任务后台下载 1、wget

后台下载文件:

# 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 -O 
3、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.mp4 
4、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 -a  
5、Aria2

这是一种开源命令行下载加速,支持多个端口,你可以使用最大带宽来下载文件,是一款易于安装、易于使用的工具。

安装

apt-get install aria2 
针对centOS
yum install aria2 

例子

aria2c http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 
6、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                   <== 父进程 ID
echo 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
)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 37, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

linux常用技巧(一):后台下载 linux常用技巧(一):后台下载

“java常见小错误”系列文章推荐:
上一篇:java小技巧(二):JAVA 交集,差集,并集
前文推荐:java常见小错误(一):变量类型自动转换与强制转换
java小技巧(一):进制转换
java小技巧(三):List和Array之间的转换


【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权);
本博客的内容来自于:linux常用技巧(一):后台下载;
学习、合作与交流联系q384660495;
本博客的内容仅供学习与参考,并非营利;

文章目录


一、后台执行
  1. cmd &
cat a.txt > a.file 2>&1 & 
  1. nohup cmd &
nohup cat a.txt > a.file 2>&1 & 

0表示标准输入
1表示标准输出
2表示标准错误
>表示覆盖
>>表示追加

& 是一个描述符,如果1或2前不加&,会被当成一个普通文件

1>&2 意思是把标准输出重定向到标准错误.

2>&1 意思是把标准错误输出重定向到标准输出。

&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中

二、多任务后台下载 1、wget

后台下载文件:

# 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 -O 
3、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.mp4 
4、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 -a  
5、Aria2

这是一种开源命令行下载加速,支持多个端口,你可以使用最大带宽来下载文件,是一款易于安装、易于使用的工具。

安装

apt-get install aria2 
针对centOS
yum install aria2 

例子

aria2c http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 
6、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                   <== 父进程 ID
echo 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
)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
linux常用技巧(一):后台下载_随笔_内存溢出

linux常用技巧(一):后台下载

linux常用技巧(一):后台下载,第1张

linux常用技巧(一):后台下载 linux常用技巧(一):后台下载

“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
  • 三、用户变量


一、后台执行
  1. cmd &
cat a.txt > a.file 2>&1 & 
  1. nohup cmd &
nohup cat a.txt > a.file 2>&1 & 

0表示标准输入
1表示标准输出
2表示标准错误
>表示覆盖
>>表示追加

& 是一个描述符,如果1或2前不加&,会被当成一个普通文件

1>&2 意思是把标准输出重定向到标准错误.

2>&1 意思是把标准错误输出重定向到标准输出。

&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中

二、多任务后台下载 1、wget

后台下载文件:

# 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 -O 
3、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.mp4 
4、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 -a  
5、Aria2

这是一种开源命令行下载加速,支持多个端口,你可以使用最大带宽来下载文件,是一款易于安装、易于使用的工具。

安装

apt-get install aria2 
针对centOS
yum install aria2 

例子

aria2c http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 
6、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                   <== 父进程 ID
echo 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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5562711.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存