标签 ‘ linux

linux下批量清除maven target目录

find . -name pom.xml -execdir mvn clean \;
或者
find . -name pom.xml -exec mvn clean -f ‘{}’ \;

支持maven3

Aria2c 下载工具使用举例

基本使用

下载一个文件(Download a file):

aria2c http://host/image.iso

说明:1.10.0以后的版本默认对每个 host 使用 1 个连接,你可以使用 –max-connection-per-server或者 -x 选项进行改变。

用每个 host 两个连接从一个 host 下载一个文件(To download a file using 2 connections from single host):

aria2c -x2 http://host/image.iso

说明:想要停止下载,可以按Ctrl-C。想要恢复下载,可以在同一个文件夹中执行相同的下载命令。只要URI指向同一个文件,URIs是可以被改变的。

同时使用两个连接下载同一文件(Download a file using 2 connections):

aria2c -s2 http://host/image.iso http://mirror1/image.iso http://mirror2/image.iso

说明:你可以指定URIs的数量多余 -s 选项设定的数。在这个例子中,前两个URL会被用于下载,而第三个URL作为备用(如果前面两个有个挂了,第三个顶上)。

同时从FTP和HTTP源下载一个文件(Download a file from HTTP and FTP servers):

aria2c http://host1/file.zip ftp://host2/file.zip

并行下载任意数目的URI, metalink, torrent(Parallel downloads of arbitrary number of URI, metalink, torrent):

aria2c -Z http://host/file1 file2.torrent file3.metalink

说明:如果你只是下载 torrentmetalink 的文件,那么选项 -Z 将不是必须的。所以你可以使用以下这个命令同时下载bt文件。

aria2c file1.torrent file2.torrent

并发下载一个文件中的URI(Download files listed in a file concurrently):

aria2c -ifiles.txt -j5

说明:选项 -j 用于指定同时下载的文件的数量。你可以在文件中指定本地的 torrentmetalink 文件。

说明:你可以指定一些 选项 在下载文件(input list file)中。

在退出时保存错误/未完成的下载(Save error/unfinished downloads on exit):

aria2c -ifiles.txt --save-session=out.txt

当你按下Ctrl-C或者 aria2 退出时,所有的错误(error)/未完成(unfinished)下载将会保存到out.txt 文件中。注意通过 XML-RPC 方式(aria2.addTorrent and aria2.addMetalink)添加的下载不会被保存!你可以使用这个文件作为一个输入文件列表(input file list)来重新开始下载。

aria2c -iout.txt

Metalink Download(不翻译)

BT下载(BitTorrent Download)

通过网上的种子文件下载(Download files from remote BitTorrent file)

aria2c http://site/file.torrent

通过网上的种子文件下载,种子保存在内存(Download files from remote BitTorrent file; torrent file itself is processed in memory)

aria2c --follow-torrent=mem http://site/file.torrent

通过本地的种子文件下载(Download using a local torrent file)

aria2c -u40K /path/to/file.torrent

说明: -u, –max-upload-limit 指定最大的上传速度

说明:想要停止下载,可以按Ctrl-C。想要恢复下载,可以在同一个文件夹中执行相同的下载命令。只要URI指向同一个文件,URIs是可以被改变的。

你可以同时进行多个 bt 的下载:

aria2c /path/to/file1.torrent /path/to/file2.torrent

通过 bt magnet uri 下载(Download using BitTorrent Magnet URI)

aria2c "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2"

说明:在 bt magnet uri 包含”&”的时候记住要加单引号或者双引号。强烈推荐打开 DHT 选项。 –enable-dht

保存元数据到 .torrent 文件中(Save metadata as .torrent file)

aria2c --bt-save-metadata "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2"

上面那个命令会保存元数据到一个名为”248d0a1cd08284299de78d5c1ed359bb46717d8c.torrent”的种子文件。

自动调节连接数(Adjust the number of peers adaptively)

如果每个种子的下载速度都低于 200K 的话, aria2 会临时增加连接数来试着提高下载速度。

aria2c --bt-request-peer-speed-limit=200K file.torrent

说明:配置 –bt-request-peer-speed-limit 选项为合适的值可以在某些情况下提高你的下载速度。

打开 DHT (Enable DHT)

aria2c --enable-dht http://site/file.torrent

说明:从 1.7.2 版本开始, DHT 默认是打开的。当通过 HTTP/FTP 下载的时候 DHT 不会启用。当首个种子下载开始, aria2 初始化 DHT 功能,之后, DHT 会一直运行知道 aria2 退出为止。

打开 IPv6DHT (Enable IPv6 DHT)

aria2c --enable-dht6 --dht-listen-port=6881 --dht-listen-addr6=YOUR_GLOBAL_UNICAST_IPV6_ADDR --enable-async-dns6

说明:如果 aria2c 编译的时候没有加入 c-ares–enable-async-dns6 不是必须的。 aria2 会在IPv4IPv6 之间对 DHT 共享一些端口。

Add and remove tracker URI

接下来的例子指示 aria2 移除 file.torrent 文件中所有的 tracker announce URIs ,并用”http://tracker1/announce” 和 “http://tracker2/announce” 代替。

aria2c --bt-exclude-tracker="*" --bt-tracker="http://tracker1/announce,http://tracker2/announce" file.torrent

加密(Encryption)

默认情况下, aria2 能够同时支持加密和非加密连接。它会先尝试使用加密连接,如果失败则尝试非加密连接。

强制只使用加密连接:

aria2c --bt-require-crypto=true http://site/file.torrent

一共有两种加密类型:只加密头或者全部加密。默认下,如果对方支持两种加密类型, aria2 会选择只加密头。如果想让 aria2 总是使用全加密连接:

aria2c --bt-min-crypto-level=arc4 http://site/file.torrent

打印一个种子文件中的内容(Print the contents of the torrent file)

aria2c -S file.torrent

选择性下载文件(Download only selected files using index (usually called “selectable download”))

aria2c --select-file=1-4,8 -Tfile.torrent

说明:序号(index)可以通过 -S 选项输出

改变监听端口(Change the listening port for incoming peer)

aria2c --listen-port=6881-6883 file.torrent

说明:确认该 TCP 端口是可用的

指定 BT 下载停止的条件(Specify the condition to stop program after torrent download finished)

aria2c --seed-time=120 --seed-ratio=1.0 file.torrent

说明:在上面的这个例子中, 当做种 120分钟 或者种子率大于1以后, aria2 会退出。

调节上传速度(Throttle upload speed)

aria2c --max-upload-limit=100K file.torrent

为已经下载完成的文件做种(Seeding already downloaded file)

你可以使用 -V 选项给已经下载好的文件做种。它会先校验文件的完整性。

aria2c -V -d/path/to/dir file.torrent

如果你肯定文件是正确的,你可以使用 –bt-seed-unverified 选项跳过做种前的文件校验。

aria2c --bt-seed-unverified -d/path/to/dir file.torrent

你可以给多个文件做种:

aria2c --bt-seed-unverified -d/path/to/dir file1.torrent file2.torrent

用序号指定文件名(Specify file name with index)

BitTorrent 下载下来的文件指定文件名,你首先需要通过 -S 选项知道该文件的序号。比如一个种子文件 -S 选项输出如下:

idx|path/length
===+======================
1|dist/base-2.6.18.iso
|99.9MiB
---+----------------------
2|dist/driver-2.6.18.iso
|169.0MiB
---+----------------------

dist/base-2.6.18.iso 保存为 tmp/mydir/base.iso , /dist/driver-2.6.18.iso 保存为 /tmp/dir/driver.iso ,可以使用一下的命令:

aria2c --dir=/tmp --index-out=1=mydir/base.iso --index-out=2=dir/driver.iso file.torrent

说明: –index-out 选项针对通过 HTTP 方式获取种子文件的方式无效。它只能针对本地种子文件的下载。 aria2 不会记住 –index-out 选项中指定的地址,你必须在每次开始该任务的时候重新指定 –index-out 的值。如果你忘了再次指定输出文件的地址, aria2 不会提醒你,所以你必须谨慎地使用这个选项。

为预览的文件指定优先块(Prioritize piece for previewing files)

优先下载每个文件开头的 1MiB 的内容。

aria2c --bt-prioritize-piece=head file.torrent

使用代理下载(Use With Proxy)

为所有的连接设置代理服务器(Set proxy server to use all protocols(HTTP(S)/FTP))

aria2c --all-proxy='http://proxy:8080' http://host/file

说明: –all-proxy 选项会被具体的代理选项重载: –http-proxy, –https-proxy, –ftp-proxy.

只为 HTTP 设置代理服务器(Set proxy server to be in HTTP only)

aria2c --http-proxy='http://proxy:8080' http://host/file

设置需要验证的代理服务器(Use proxy that requires authentication)

aria2c --http-proxy='http://proxy:8080' --http-proxy-user='username' --http-proxy-passwd='password' http://host/file
aria2c --http-proxy='http://username:password@proxy:8080' http://host/file

说明:用户名和密码需要是 percent-encoded 格式。比如,如果用户名是 myid@domain, 那么percent-encoded 格式就是 myid%40domain.

高级HTTP功能(Advanced HTTP Features)

载入 cookies (Load cookies)

载入 Mozilla/Firefox(1.x/2.x)Netscape 格式:

aria2c --load-cookies=cookies.txt http://host/file

载入 Firefox3 格式:

aria2c --load-cookies=cookies.sqlite http://host/file

说明:你可以不加任何修改直接读取 Firefox/Mozilla’scookie 内容。

继续浏览器或者其它程序开始的下载任务(Resume download started by web browsers or another programs)

aria2c -c -s2 http://host/partiallydownloadedfile.zip

其它高级功能(Other Advanced Features)

调节下载速度(Throttle download speed)

aria2c --max-download-limit=100K http://host/file

-V 选项修复一个被破坏的下载文件(Repair a damaged download using -V option)

aria2c -V file.metalink

说明:这个选项只能对支持校验码的 BitTorrent 或者 metalink 使用。

如果下载速度低于某个特定值就丢弃连接(Drop connection if download speed is lower than specified value)

aria2c --lowest-speed-limit=10K file.metalink

支持参数的 URI (Parameterized URI support)

你可以这样使用 URI

aria2c -P http://{host1,host2,host3}/file.iso

你可以指定数字序号(You can specify numeric sequence using [])

aria2c -Z -P http://host/image[000-100].png

说明: -Z 选项是必须的,如果所有的 URL 都是指向不同的文件的话。

可以指定步长(You can specify step counter)

aria2c -Z -P http://host/image[A-Z:2].png

Time-stamping

aria2 会在下载完成的时候从服务器拿到该文件的 timestamp 并设置到本地文件

aria2c -R http://host/file.iso

当下载完成后执行一条命令(Execute command when download finishes)

aria2c --on-download-complete=COMMAND http://example.org/file.iso

参见 –on-download-error, –on-download-start–on-download-stop 选项, 或者执行:

aria2c -h #hook

写入到 /dev/null (Writing to /dev/null)

aria2c -d /dev -o null --allow-overwrite=true http://example.org/file

需要 –allow-overwrite=true 是为了避免 aria2 重命名已经存在的 /dev/null。

输入文件(Input File)

http://server/file.iso http://mirror/file.iso
dir=/iso_images
out=file.img
http://foo/bar

always to enter passphrase

ssh-agent bash
ssh-add /home/admin/.ssh/id_rsa

使用git和pathogen管理你的vim插件配置

1、安装pathogen
github: https://github.com/tpope/vim-pathogen

mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -Sso ~/.vim/autoload/pathogen.vim \
    https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim

在.vimrc中添加

execute pathogen#infect()
syntax on
filetype plugin indent on

2、移动.vimrc文件到.vim目录:

mv .vimrc ~/.vim/vimrc

3、建立连接

ln -s ~/.vim/vimrc ~/.vimrc

4、初始化git仓库,提交

cd ~/.vim
git init
git add .
git commit -m "Initial commit"

5、安装插件

cd ~/.vim
mkdir ~/.vim/bundle
git submodule add http://github.com/tpope/vim-fugitive.git bundle/fugitive
git add .
git commit -m "Install Fugitive.vim bundle as a submodule."
git push -u origin master

6、在新机器上安装

cd ~
git clone https://github.com/yseasony/xvim.git ~/.vim
ln -s ~/.vim/vimrc ~/.vimrc
ln -s ~/.vim/gvimrc ~/.gvimrc
cd ~/.vim
git submodule init
git submodule update

7、更新插件

cd ~/.vim/bundle/fugitive
git pull origin master

更新所有插件

git submodule foreach git pull origin master

多svn 同步 svnsync

1、svnsync init
初始化,建立目标库和源库之间的同步关系
svnsync init 目标库URL 源库URL

2、svnsync sync
真正的同步
svnsync sync 目标库URL 源库URL

在目标库中的hooks中创建pre-revprop-change

#!/bin/sh
exit 0

chmod +x pre-revprop-change

linode centos6.2 iptables Setting chains to policy ACCEPT: security raw nat[FAILED]filter

今天刚买了一个linode玩,在启动iptables时,出现了Setting chains to policy ACCEPT: security raw nat[FAILED]filter
google一搜找到了解决办法

vi /etc/init.d/iptables 找到

for i in $tables; do
        echo -n "$i "
        case "$i" in
            raw)
                $IPTABLES -t raw -P PREROUTING $policy \
                    && $IPTABLES -t raw -P OUTPUT $policy \
                    || let ret+=1
                ;;

加入以下内容到“case “$i” in”下面:

 security)
        $IPTABLES -t filter -P INPUT $policy \
            && $IPTABLES -t filter -P OUTPUT $policy \
            && $IPTABLES -t filter -P FORWARD $policy \
            || let ret+=1
        ;;

结果

    for i in $tables; do
        echo -n "$i "
        case "$i" in
            security)
                $IPTABLES -t filter -P INPUT $policy \
                    && $IPTABLES -t filter -P OUTPUT $policy \
                    && $IPTABLES -t filter -P FORWARD $policy \
                    || let ret+=1
                ;;
            raw)
                $IPTABLES -t raw -P PREROUTING $policy \
                    && $IPTABLES -t raw -P OUTPUT $policy \
                    || let ret+=1
                ;;

保存后,重启则可
service iptables restart

No module named yum – python升级导致yum命令无法使用

There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

No module named yum

Please install a package which provides this module, or
verify that the module is installed correctly.

It’s possible that the above module doesn’t match the
current version of Python, which is:
2.7.3 (default, Feb 13 2013, 19:20:25)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]

If you cannot solve this problem yourself, please go to
the yum faq at:
http://yum.baseurl.org/wiki/Faq

系统版本 centos6.3
自带python为2.6
指定yum的python版本即可
vi /usr/bin/yum
#!/usr/bin/python2.6

RHCE认证2013年真题

80%相似哦

1.您的计算机是DNS域example.com中一个成员。所有example.com域入得主机
都在172.24.80.0/255.255.255.0网段内。
2.在考试结束后,您的计算机会被自动重新启动,因此,请确保您做的所有修改在重新启动之后仍然能够生效。
3.您正在使用的、用于考试的该版本Red Hat Enterprise Linux6.0 的软件包资源
可以通过YUM访问:http://instructor.example.com/pub/rhel6/dvd
4. 测试环境:.example.com 172.24.80.0/255.255.255.0
5. 测试环境: .my133.org 172.25.0.0/255.255.0.0
6.如果您选择使用kernel级防火墙,您必须使用REJECT而不是DROP去阻止不希望通过的包
8.某些题目要求服务对于DNS域,server1.my133.org是不可用的。这个域内得所有系统都在172.25.0.0/255.255.0.0
9.所有得操作都是在KVM虚拟机中,不要在物理机上操作
10.设置您的系统使用下述静态网络配置:
root用户密码修改为thuctive
x代表您得做位编号
*主机名: serverX.example.com
* IP地址:172.24.80.x/24
* 子网掩码:255.255.255.0
* 网关:172.24.254.254
* 域名解析服务器:172.24.254.254
为了获得其他考试信息,您必须按照上述要求更改网络配置。考试说明位于:
http://www.example.com/rhel6/test.html
在您重新配置网络之前,这个URL是不可访问的。
在评估之前,您的系统会被重新启动。其应该启动到运行级别5。

阅读全文

vim快捷键图解

12090412005505e15b1098dc55

linux sed 命令

1. Sed简介
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。
2. 定址
可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(包括行数表示的那两行)。如1,3表示1,2,3行,美元符号($)表示最后一行。范围可以通过数据,正则表达式或者二者结合的方式确定 。

3. Sed命令
调用sed命令有两种形式:
*
sed [options] ‘command’ file(s)
*
sed [options] -f scriptfile file(s)
a\
在当前行后面加入一行文本。
b lable
分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。
c\
用新的文本改变本行的文本。
d
从模板块(Pattern space)位置删除行。
D
删除模板块的第一行。
i\
在当前行上面插入文本。
h
拷贝模板块的内容到内存中的缓冲区。
H
追加模板块的内容到内存中的缓冲区
g
获得内存缓冲区的内容,并替代当前模板块中的文本。
G
获得内存缓冲区的内容,并追加到当前模板块文本的后面。

阅读全文

return top