常用Linux命令总结

常用Linux命令总结
2013-12-08

.tgz文件就是.tar.gz文件
打包文件
tar -zcvf latest_ffmpeg20110505.tar.gz ffmpeg
tar -cvf latest_ffmpeg20110505.tar  ffmpeg

解包文件
tar -zxvf ffmpeg.tar.gz -C ~/
tar -xvf  ffmpeg.tar
tar -jxvf ffmpeg.tar.bz2

unzip crtmpserver-trunk.zip -d ~/

要在Ubuntu 下处理.rar文件,需要安装rar和unrar这两个命令,rar是压缩程序,unrar是解压程序
sudo apt-get install rar unrar


linux解压rar文件到指定目录 命令
unrar e /tmp/test.rar /home/test
将all.rar中的所有文件解压出来
unrar e all.rar
将所有.jpg的文件压缩成一个rar包,名为all.rar,注意.rar扩展名将自动附加到包名后
rar a all *.jpg

把压缩包的内容解压到当前目录

rar e test.rar

把压缩包的内容解压到指定目录,比如/home/yxd/tmp/下面
$rar e XXX.rar /home/yxd/tmp/
把压缩包解的内容压到指定目录,比如/home/yxd/tmp/下面,包含压缩包中的路径
$rar x XXX.rar /home/yxd/tmp/


解压 xz 格式文件
tar -Jxf linux-3.12.tar.xz
创建 xz 格式文件
tar -Jcf linux-3.12.tar.xz linux-3.12/


显示查看

ls的具体用法

默认就是按文件名排序
ls -l
只显示指定文件的相关信息
ls -l  ExceptionHeaders.h
按照修改时间顺利来显示修改的文件
ll -t
按文件类型排序,
ll -X
可以按文件大小排序
ll -S

显示隐藏文件

ll -a

只列出目录
ls -F | grep /
ls -l | grep ^d
只列出可执行文件
ls -F | grep *

tail -f cache.log -n 1000

统计当前目录下面hpp,cpp代码行数

find . -name "*.*pp"|xargs wc -l 

统计当前目录下面的文件的代码行数

ls|xargs wc -l

查找

在当前目录下查找指定后缀名的文件
find . -name "*.idl"
find . -iname "*.idl"
找到结果并使用不同的方式显示出来
find / -name "*.c" | xargs ls -l

在当前文件夹的子文件夹下查找具有某一特定字符串的文件
grep -r -i main ./
-r  递归子目录
-i  不区分大小写
grep如何递归目录并在指定类型文件(.c)中查找指定的字符串“hello”?
find . -iname "*.c" -exec grep "hello" {} \;

复制

cp ~/gzip_demo/TransferCoding.* ./

删除
批量删除指定文件夹(要删除的文件夹都列在后面)
rm -fr binonic frameworks android

下载文件一般使用wget或是curl

wget常用命令选项

-O   文件改名为,比如a.html

-S   打印服务器响应头信息,默认不发送

-c    断点续传

-o   保存输出日志

-a   追加输出日志

-e   执行命令

-d   关闭输出,打开调试信息

-q   quiet模式,关闭wget的output,不输出任何信息

-i    从本地文件读取url列表

--header=header-line 发送时 附带指定的mime header,比如--header="Accept-Encoding:gzip, deflate, sdch"

wget -d 'http://static.youku.com/index/img/header/yklogo.png' -e 'http_proxy=192.168.90.23:8081' --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36"

wget --debug 'http://static.youku.com/index/img/header/yklogo.png' -e 'http_proxy=192.168.90.23:8081' --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36"

wget -d 'http://gd1.alicdn.com/imgextra/i1/60249411/T21lJMXC8aXXXXXXXX_!!60249411.jpg' -e 'http_proxy=202.102.22.163:8081' --header="Accept-Encoding:gzip, deflate, sdch"

wget -d -O /dev/null --header "Host: d3.sina.com.cn" "http://127.0.0.1:8081/litong/zhitou/sources/20141016.html"

wget -SO a.jpg "http://img.ivsky.com/img/tupian/pic/201504/17/hong_kong-003.jpg"

wget -SO /dev/null -e 'http_proxy=127.0.0.1:8081' "http://y2.ifengimg.com/xingzhao/JS/otherCouplet.js"

wget -dO macbook_air.flv "http://bla.gtimg.com/qqlive/apple/MACBOOK_AIR_CN.flv"

wget -SO /dev/null -e 'http_proxy=127.0.0.1:8081' -i ./access_url.log 使用ATS作为代理来批量请求外部文件中的url列表,显示响应头信息

wget -SO /dev/null -e http_proxy=183.207.239.25:8081 -c --limit-rate=700k -i ./miss_preload.log #限速700k下载外部文件列表

wget -q http://127.0.0.1:8081/_stats -O /tmp/ats_stats #关闭wget输出信息

curl常用命令选项

-A/--user-agent 添加用户代理头域

-e/--referer  添加referer头

-H/--header  添加指定的mime field header

-L/--location 自动重定向去获取请求

-d/--data 设置POST请求发送的指定数据

-v/-i/--trace   打印交互信息

-i   显示http响应头和http body的信息,默认是只显示http body信息的

-I   指明只显示http头的信息,没有http body信息

-o   写入指定的本地文件

-O  使用远端文件名存放该文件

-x/--proxy 使用指定的代理

-X  使用指定的协议,除GET/POST以外,比如DELETE,PURGE

-s/--silent 使用静默模式,不打印详细信息

--compressed  开启自动解压功能

-r/--range 0-499 设置range请求,指定前500字节

-w format 输出指定的格式

curl -v -o yiou.ad.js "http://r.qiyou.com/view.php?uid=19355" -e "http://www.jb51.net/article/31111.htm" -A "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36"

curl -v --proxy "192.168.50.39:8080" --header "User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36" --header "Accept-Encoding:gzip,deflate,sdch" -o chunked.gz http://news.qq.com/a/20140805/020042.htm

curl -v -x 192.168.50.39:8080 -o sina.html "http://tech.sina.com.cn/e/2014-07-29/00289521797.shtml"

curl -o /dev/null -vx 127.0.0.1:8081  -H "Accept-Encoding: gzip,deflate,sdch" "http://111.63.135.33:80/mp4files/5175000003A84F4C/122.72.40.2/sohu/s26h23eab6/6/112/235/MSwDD9hooyBLX7dZiWX0yG.mp4?key=Gfa5MwlQp47Mrb-_GhwdoojtL3CI9tukhwWqDQ.."

curl -vx "127.0.0.1:8080" -o 1.m3u8 "http://pl.youku.com/playlist/m3u8?vid=179491356&type=mp4&ts=1401245552&keyframe=0&ep=dyaUG0uJU8sD4CLdjT8bYi3rIiEPXP8N%2FxuMgNFnBtQjSOu2&sid=540124553512512519ff0&token=7039&ctype=12&ev=1&oip=2071606437"

curl -v --compressed -o a.html "http://hao.qq.com"

curl -i "http://news.sohu.com" > a.log

curl -I  “http://news.sohu.com”

curl -i --range 0-9 http://www.baidu.com/img/bdlogo.gif     

curl -OL https://github.com/kennethreitz/requests/zipball/master

curl -sx 127.0.0.1:8081 -o a.html "http://news.sohu.com/" #关闭所有响应头信息,直接返回最后的文件

curl使用POST请求:

curl -d "url=http://www.youku.com/1.mp4&type=0&customid=00010" "http://127.0.0.1:5000/aaa"

末尾行输出指定指标的时间值

curl -vo ./dev/null -w "%{time_namelookup} %{time_connect} %{time_pretransfer} %{time_starttransfer} %{time_total} %{size_download} %{speed_download}\n" "http://news.sohu.com/"

下面是wget的GET请求

wget -d -O /dev/null "http://127.0.0.1:5000/aaa?url=http://www.youku.com/1.mp4&type=0&customid=00010"

linux递归改变权限
需要将一个文件夹,以及文件夹下所有的文件夹和文件都递归的改变权限,网上查了下,铺天盖地的用find之类的来改变,但后来发现了如下的指令,也可以完成。
chmod   -R   ***   dir
*** 为权限,例如 777 
注意R要大写
dir 为目录
例如
chmod -R 777 dir

你可能感兴趣的:(常用Linux命令总结)