常用Linux命令总结

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

压缩为gz格式
gzip error_2018082217.log

解压gz格式
gzip -d error_2018082217.log.gz

不解压来搜索gz格式的文件中的匹配行内容
gunzip -c 不真正解压.gz文件,而是检查该文件,不会生成多余的文件

gunzip -c error_2018082217.log.gz | grep --color 'DOCTYPE'


.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

在指定目录下递归正则查找
find ./ -depth -name 'records.config*'

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

正则查找

grep 'mgmtapi\.sock' mod_ts_*.c

复制

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 -dO a.f4v 'http://111.206.23.20/videos/v0/20160330/16/c1/c9c50c2b7c8349de3a5d28483ca30fd1.f4v?key=0c85e82d5ff8f645aa737cad7f114eb63&src=iqiyi.com&qd_tvid=462373100&qd_vipres=0&qd_index=8&qd_aid=202909701&qd_stert=2593334&qd_scc=0bc0882f7d7b2362625f6fe2ebbc8e74&qd_sc=efc19899919d5631bf30f4926b3e1c12&qd_src=1702633101b340d8917a69cf8a4b8c7c&qd_ip=7b75fa56&qd_uid=0&qd_tm=1461057193379&qd_vip=0&ran=511634&qyid=31808a073b0d398f722f256b1726491c&qypid=462373100_11&pv=0.1&s=1876030.534351145&bt=71918&z=beijing3_cnc&pri_idc=beijing3_cnc&uuid=7b75fa56-5715f8ac-18&start=10485760&end=13893632&qypid=462373100_01010011010000000000_2&ran=511732' --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer="http://www.iqiyi.com/v_19rrl2wbcw.html" --header="X-Requested-With:ShockwaveFlash/20.0.0.286"

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信息,实际上只会发生HEAD请求

-o   写入指定的本地文件

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

-R  使用远端文件的时间戳

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

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

-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 "湘鄂情牵手安徽广电 逾15亿投电视云终端|大数据|湘鄂情|有线电视_家电_新浪科技_新浪网"

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 -vo /dev/null 'http://127.0.0.1:80/media/new/2013/icntv2/media/2015/01/28/SDf1683ef33ca04f78bbbdeff5920ad22e.ts' -H 'Host: t004.vod05.icntvcdn.com' -I

curl -i -r 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/"

curl -R -O http://www.lua.org/ftp/lua-5.3.2.tar.gz

curl -vo /dev/null -X HEAD 'http://111.206.109.85/youku/656A6D0DC031827DE2CB42D9C/030008070057136335A17103BAF2B1CA75852F-FBA9-709E-2745-0B6E057D9C9C.mp4'

curl -X PURGE -vx "127.0.0.1:8081" "http://111.13.140.11/youku/6573E7EADB04274FAF6FB6454/030002050255535FF490830029CD26CFD774E6-A327-2F7A-A69B-805AADAE381C.flv?&start=13"

curl -o /dev/null -vx 127.0.0.1:8081 "http://111.63.135.175/flvfiles/118200000404F5F8/111.13.140.115/youku/6572ACD4AD73F74BF20EF5B0C/030002020055149EB5EE8E061A1866742B5657-2EEB-944B-AB32-486DF3DF9440.flv"

下面是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中合并文件的方法
可以使用cat命令,有两种实现的方式,一种将两个文件合并的到一个新的文件,另一种将一个文件追加到另一个文件的末尾。

方法一:使用cat命令从文件中读入两个文件,然后将重定向到一个新的文件。这种方法可以一次性合并任意多个文件。用法示例:
将file1.txt和file2.txt合并到file.txt
$ cat file1.txt file2.txt > file.txt
方法二:只使用cat命令读入一个文件,然后使用>>将文本流追加到另一个文件的末位。
用法示例:
将file1.txt追加到file2.txt的末尾
$ cat file1.txt >> file2.txt

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值