我知道你已经看过如何下载 YouTube 视频。但那些工具大部分都采用图形用户界面的方式。我会向你展示如何通过终端使用 youtube-dl 下载 YouTube 视频。youtube-dlyoutube-dl 是基于 Python 的命令行小工具，允许你从 YouTube.com、Dailymotion、Google Video、Photobucket、Facebook、Yahoo、Metacafe、Depositfiles 以及其它一些类似网站中下载视频。它是用 pygtk 编写的，需要 Python 解析器来运行，对平台要求并不严格。它能够在 Unix、Windows 或者 Mac OS X 系统上运行。youtube-dl 支持断点续传。如果在下载的过程中 youtube-dl 被杀死了（例如通过 Ctrl-C 或者丢失网络连接），你只需要使用相同的 YouTube 视频 URL 再次运行它。只要当前目录中有下载的部分文件，它就会自动恢复没有完成的下载，也就是说，你不需要下载管理器来恢复下载。安装 youtube-dl如果你运行的是基于 Ubuntu 的 Linux 发行版，你可以使用下面的命令安装：sudo apt-get install youtube-dl 对于任何 Linux 发行版，你都可以通过下面的命令行在你的系统上快速安装 youtube-dl：sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O/usr/local/bin/youtube-dl 获取到该文件后，为了能正常执行你需要给脚本设置可执行权限。sudo chmod a+rx /usr/local/bin/youtube-dl 使用 youtube-dl 下载视频：要下载一个视频文件，只需要运行下面的命令。其中 “VIDEO\_URL” 是你想要下载视频的 url。youtube-dl VIDEO_URL 以多种格式下载 YouTube 视频：现在 YouTube 视频有不同的分辨率，首先你需要检查指定的 YouTube 视频可用的视频格式。可以使用 “-F” 选项运行 youtube-dl。它会向你显示出可用的格式。youtube-dl -F http://www.youtube.com/watch?v=BlXaGWbFVKY 它的输出类似于：Setting language BlXaGWbFVKY: Downloading video webpage BlXaGWbFVKY: Downloading video info webpage BlXaGWbFVKY: Extracting video information Available formats: 37 : mp4 [1080×1920] 46 : webm [1080×1920] 22 : mp4 [720×1280] 45 : webm [720×1280] 35 : flv [480×854] 44 : webm [480×854] 34 : flv [360×640] 18 : mp4 [360×640] 43 : webm [360×640] 5 : flv [240×400] 17 : mp4 [144×176] 在可用的视频格式中，选择你需要的一种。例如，如果你想下载 MP4 格式的，你可以：youtube-dl -f 17 http://www.youtube.com/watch?v=BlXaGWbFVKY 使用 youtube-dl 下载视频字幕首先检查是否有可用的视频字幕。使用下面的命令列出视频所有可用的字幕：youtube-dl --list-subs https://www.youtube.com/watch?v=Ye8mB6VsUHw 下载所有字幕，但不包括视频：youtube-dl --all-subs --skip-download https://www.youtube.com/watch?v=Ye8mB6VsUHw 下载整个播放列表运行下面的命令下载整个播放列表。其中 “playlist\_url” 是你希望下载的播放列表的 url。youtube-dl -cit playlist_url youtube-dl 是一个多功能的命令行工具，它提供了很多功能。难怪这个命令行工具这么流行。via: http://itsfoss.com/download-youtube-linux/作者：alimiracle 译者：ictlyh 校对：wxy本文由 LCTT 原创翻译，Linux中国 荣誉推出
在本教程中，我将会介绍如何搭建你自己的FTP服务。但是，首先我们应该来的学习一下FTP是什么。FTP是什么？FTP 是 文件传输协议 （ File Transfer Protocol ） 的缩写。顾名思义，FTP用于计算机之间通过网络进行文件传输。你可以通过FTP在计算机账户间进行文件传输，也可以在账户和桌面计算机之间传输文件，或者访问在线软件归档。但是，需要注意的是多数的FTP站点的使用率非常高，可能需要多次重连才能连接上。FTP地址和HTTP地址（即网页地址）非常相似，只是FTP地址使用ftp://前缀而不是http://FTP服务器是什么？通常，拥有FTP地址的计算机是专用于接收FTP连接请求的。一台专用于接收FTP连接请求的计算机即为FTP服务器或者FTP站点。现在，我们来开始一个特别的冒险，我们将会搭建一个FTP服务用于和家人、朋友进行文件共享。在本教程，我们将以vsftpd作为ftp服务。VSFTPD是一个自称为最安全的FTP服务端软件。事实上VSFTPD的前两个字母表示“ 非常安全的 （ very secure ） ”。该软件的构建绕开了FTP协议的漏洞。尽管如此，你应该知道还有更安全的方法进行文件管理和传输，如：SFTP（使用OpenSSH）。FTP协议对于共享非敏感数据是非常有用和可靠的。使用 rpm 安装VSFTPD：你可以使用如下命令在命令行界面中快捷的安装VSFTPD：dnf -y install vsftpd 使用 deb 安装VSFTPD：你可以使用如下命令在命令行界面中快捷的安装VSFTPD：sudo apt-get install vsftpd 在Arch 中安装VSFTPD：你可以使用如下命令在命令行界面中快捷的安装VSFTPD：sudo pacman -S vsftpd 配置FTP服务多数的VSFTPD配置项都在/etc/vsftpd.conf配置文件中。这个文件本身已经有非常良好的文档说明了，因此，在本节中，我只强调一些你可能进行修改的重要选项。使用man页面查看所有可用的选项和基本的 文档说明：man vsftpd.conf 根据文件系统层级标准，FTP共享文件默认位于/srv/ftp目录中。允许上传：为了允许ftp用户可以修改文件系统的内容，如上传文件等，“write\_enable”标志必须设置为 YES。write_enable=YES 允许本地（系统）用户登录：为了允许文件/etc/passwd中记录的用户可以登录ftp服务，“local\_enable”标记必须设置为YES。local_enable=YES 匿名用户登录下面配置内容控制匿名用户是否允许登录：# 允许匿名用户登录 anonymous_enable=YES # 匿名登录不需要密码（可选） no_anon_password=YES # 匿名登录的最大传输速率，Bytes/second（可选） anon_max_rate=30000 # 匿名登录的目录（可选） anon_root=/example/directory/ 根目录限制（Chroot Jail）（ LCTT 译注：chroot jail是类unix系统中的一种安全机制，用于修改进程运行的根目录环境，限制该线程不能感知到其根目录树以外的其他目录结构和文件的存在。详情参看chroot jail）有时我们需要设置根目录（chroot）环境来禁止用户离开他们的家（home）目录。在配置文件中增加/修改下面配置开启根目录限制（Chroot Jail）:chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list “chroot\_list\_file”变量指定根目录限制所包含的文件/目录（ LCTT 译注：即用户只能访问这些文件/目录）最后你必须重启ftp服务，在命令行中输入以下命令：sudo systemctl restart vsftpd 到此为止，你的ftp服务已经搭建完成并且启动了。via: http://itsfoss.com/set-ftp-server-linux/作者：alimiracle 译者：cvsher 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出