首页 > 常用Linux命令总结

常用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} " "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

更多相关:

  • 本文来自 运维人生 ,作者:fly是个稻草人链接:http://www.ywadmin.com/?id=76误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~说在前面的话针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收...

  • 原文来自SecIN社区—作者:WiHat0x00 什么是WebShell渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权限,而...

  • 断电时文件系统发生了什么?硬盘又发生了什么?下一次开机时写到一半的文件在系统层面还在吗?在底层还在吗?更进一步的, 文件系统如何保证事务性, 会不会存在某种极端情况导致例如最后几个bit还没写完, 文件系统却认为它成功了的情况?回答不限任何文件系统,谢谢!下面是「北极」的回复分享断电的一瞬间,很多事情是无法确定的:1. 你无法确定...

  • 接到项目需求。需要搭建一个页面进行交互,慢慢来b (2).jpg使用python django框架进行页面的搭建在项目文件下打开窗口,输入命令;django-admin startproject helloword#在文件helloword/helloword/创建view.py在view.py文件中输入以代码from django....

  • 常见的错误集合解决方案(一)No.1提示错误'Microsoft.VC90.CRT,version="9.0.21022.8"把Microsoft.NET Framework 3.5.1下面的全部勾选上。No.2解决Qt Designer设计的图标但是VS生成不显示问题描述:在Qt designer中为菜单栏和工具栏设计的图标,但是...

  • ng g s services/http  app.module.ts ... @NgModule({declarations: [...],imports: [...HttpClientModule,//这个很重紧要,没有就会报错],providers: [],bootstrap: [AppComponent] }) expor...

  • set-misc-nginx-module模块是标准的HttpRewriteModule指令的扩展,提供更多的功能,如URI转义与非转义、JSON引述、Hexadecimal/MD5/SHA1/Base32/Base64编码与解码、随机数等等。在后面的应用中,都将会接触使用到这个模块的。该模块是由章亦春先生开发的,他开发的其他模块应用...

  • 该源码包是MySQL-python-1.2.4b4.tar.gz 从2013-06-28以来一直没有更新,注意该网站可以区分访问的终端类型是Windows还是Linux之类的,从而返回的源码包格式不一样。 在CentOS上的安装方法是 http://www.cnblogs.com/jackluo/p/3559978.html...

  • ATS默认提供了对Referer头的http request的防盗链功能,主要应用于图片,对视频等会使用级别更高的防盗链功能,比如事先约定好key,采用md5或HMAC-Sha1算法加密等。 在remap.config中按如下格式设置: map_with_referer client-URL origin-server-URL re...

  • 测试大文件下载 curl -I "http://resource.tsk.erya100.com/TS/flv/TS180/5836/9.flv?t=1430796561727" 单条转发模式in per remap mode 在remap.config中添加一条 map http://resource.tsk.e...

  • 在线上服务器上执行下面的命令 curl -vo /dev/null 'http://120.52.72.46:80/fileshare3010.dfiles.eu/c3pr90ntcsf0/auth-1375626538db3c073c81647e872cab8f-210.186.189.166-676861082-14640452...

  • 使用libcurl多线程下载大文件的基本思想: 首选打开文件,将文件等分为指定的片段,使用http range下载,一个线程下载一个片段,当线程下载片段时,它们将数据写到打开文件的指定位置,类似BT文件下载的方式(这样片段下载完成后不用再合并),当所有的子线程下载完成后,这个大文件也就随之下载完成了。 下面是相关源码: //g...

  • 这个例子来自参考文献[1], 那里有很多小bug,我都做了修改,在这里不一一说明了。ncurse界面编程比较容易入门,就是几个接口,网上资料很多,这里不详述了。 //gcc -g mget.c -o mget -lcurl -lncurses -lm // #include #include

  • 在下面的源码中,我将展示如何使用libcurl提供的进度条功能,以及如何发送range请求, 同时提供了限速功能。 源码如下: //g++ -g curl_range.cpp -o curl_range -lcurl -lm // #include #include #include <...

  • 这是一个简单的获取远程文件大小的源码,我们可以改写为大批量异步的形式. #include #include size_t get_size_struct(void* ptr, size_t size, size_t nmemb, void* data){return (size_t)...