Linux常用的几个命令

基本概念

(1)IO重定向通常与FD(File Descriptor:文件描述符)有关,shell的FD通常为10个,即0~9

(2)常用的FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出)

(3)<用来改变读进的数据通道,>用来改变送出的数据通道

cmd > file 把 stdout 重定向到 file 文件中;  
cmd >> file 把 stdout 重定向到 file 文件中(追加);  
cmd 1> file 把 stdout 重定向到 file 文件中;  
cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中;  
cmd 2> file 把 stderr 重定向到 file 文件中;  
cmd 2>> file 把 stderr 重定向到 file 文件中(追加);  
cmd >> file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中(追加);  
cmd < file >file2 cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout;  
cat <>file 以读写的方式打开 file;  
cmd < file cmd 命令以 file 文件作为 stdin;  
cmd << delimiter Here document,从 stdin 中读入,直至遇到 delimiter 分界符。 

 

VI几个常用的技巧

0 光标定位到当前行行首,非输入模式
$ (shift+4)光标定位到当前行行尾,非输入模式
1G 文件头(注:这里的1表示要去到的行号,如果转到第2行,则是2G,这里一定是大写的G)
G(shift+g,大写锁定键+g) 文尾
A(Shift+a)当前行行尾,并进入编辑状态
ctrl+f 向上翻页
ctrl+b 向下翻页
ctrl+u 向上翻半页
ctrl+d 向下翻半页
查找:
    /pattern<Enter> :向下查找pattern匹配字符串
    ?pattern<Enter>:向上查找pattern匹配字符串
    使用了查找命令之后,使用如下两个键快速查找:
    n:按照同一方向继续查找
    N:按照反方向查找 
    Example:
    如我们要搜索"password",只需要输入"/password"回车即可
    除此之外,pattern还可以使用一些特殊字符,包括(/、^、$、*、.),其中前三个这两个是vi与vim通用的,“/”为转义字符。
:s/old_value/new_value/           #替换当前行第一个 old_value 为 new_value  
:s/old_value/new_value/g         #替换当前行所有 old_value 为 new_value  
:n,$s/old_value/new_value/         #替换第 n 行开始到最后一行中每一行的第一个 old_value 为 new_value  
:n,$s/old_value/new_value/g         #替换第 n 行开始到最后一行中每一行所有 old_value 为 new_value(n 为数字,若 n 为 .,表示从当前行开始到最后一行)  
:%s/old_value/new_value/        #(等同于 :g/old_value/s//new_value/) 替换每一行的第一个 old_value 为 new_value  
:%s/old_value/new_value/g    #(等同于 :g/old_value/s//new_value/g) 替换每一行中所有 old_value 为 new_value  

xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,下面是一些如何有效使用xargs 的实用例子。

1. 当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too long. 用xargs 去避免这个问题
# find ~ -name ‘*.log’ -print0 | xargs -0 rm -f

2. 获得/etc/ 下所有*.conf 结尾的文件列表,有几种不同的方法能得到相同的结果,下面的例子仅仅是示范怎么实用xargs ,在这个例子中实用 xargs将find 命令的输出传递给ls -l
# find /etc -name "*.conf" | xargs ls –l

3. 假如你有一个文件包含了很多你希望下载的URL, 你能够使用xargs 下载所有链接
# cat url-list.txt | xargs wget –c

4. 查找所有的jpg 文件,并且压缩它
# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

5. 拷贝所有的图片文件到一个外部的硬盘驱动 
# ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory

 

最后欢迎大家访问我的个人网站:1024s​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值