Linux常用命令(三)

Linux常用命令大全 阶段性总结(三) Linux常用命令大全 阶段性总结(三) 一、引言 压缩命令 1、gzip 2、bzip2 3、xz 注:gzip代替了compress(一个很老的压缩命令),bzip2代替了gzip,压缩最好的但速度最慢的是xz。 打包命令 1、tar 注:打包只是将好多文件或目录放在一个文件里并不会压缩,但现在的tar有带压缩的参数,这样可以对多个文件进行统一打包成一个大文件,同时对这个大文件压缩,比较方便。 二、命令具体介绍与用法 压缩命令 1、gzip 介绍:用gzip压缩的文件查看查找等等得使用:zcat/zmo 阅读详情

Linux常用命令(三)

curl命令

以下的案例都使用的百度开源API进行的测试,具体地址如下:
https://www.juhe.cn/docs/api/id/39

名称类型必填说明
citynamestringY城市名或城市ID,如:”苏州”,需要utf8 urlencode
dtypestringN返回数据格式:json或xml,默认json
formatintN未来6天预报(future)两种返回格式,1或2,默认1
keystringY你申请的key
名称类型必填说明
keystring是应用APPKEY
typestring否类型:top(头条,默认),shehui(社会),guonei(国内),guoji(国际),yule(娱乐),tiyu(体育)junshi(军事),keji(科技),caijing(财经),shishang(时尚)
curl -d 传递请求数据
# 参数:
# -G:指定GET方式发送请求
# --data/-d:指定使用POST方式传递数据
curl 发送GET请求
# 方式一:curl 以?方式传递参数发送GET请求
# 默认curl使用POST方式请求数据,这种方式下直接通过URL传递数据,也就是以?方式添加到url后面
# 格式:curl "https://hostname.com:8080/getMethod?param1=value1&param2=value2"

# 方式二:curl -G -d 发送GET请求
# 但是如果有-d参数,也可以加上-G参数指定使用GET方式请求数据,如果不加上-G则默认使用的POST方式请求数据
# 格式:curl -G -d "param1=value1&param2=value2" "http://hostname.com:8080/getMethod"

# 使用?方式传递参数,不使用-d方式
$ curl "http://v.juhe.cn/weather/index?format=2&cityname=%E8%8B%8F%E5%B7%9E&key=您申请的KEY"

# 也可以使用-d方式传递参数,但是必须指定-G来指定GET方式请求数据,因为该接口只支持GET方式请求,如果不加-G参数,使用-d参数就默认为POST方式请求
$ curl -G -d "format=2&cityname=%E8%8B%8F%E5%B7%9E&key=您申请的KEY" "http://v.juhe.cn/weather/index"

# 以下的方式就会报错,因为该接口只支持GET方式请求,不支持POST方式请求,如果不加-G参数,使用-d参数就默认为POST方式请求
$ curl -d "format=2&cityname=%E8%8B%8F%E5%B7%9E&key=您申请的KEY" "http://v.juhe.cn/weather/index"
# 返回的结果是error_code:203901,获取不到cityname参数
{"resultcode":"201","reason":"Error Cityname!","result":null,"error_code":203901}
curl 发送POST请求
# 格式:curl -d/--data "param1=value1&param2=value2" "http://hostname.com:8080/html/postMethod"
$ curl -d "type=tiyu&key=申请的KEY" "http://v.juhe.cn/toutiao/index"
$ curl --data "type=tiyu&key=申请的KEY" "http://v.juhe.cn/toutiao/index"

# POST提交多个同名参数,paramList是一个数组参数
$ curl -XPOST 'http://hostname.com/postMethod' -d 'userName=birdben&paramList=["aa", "bb"]'

# form表单上传文件
# 可以通过 --form/-F 方式指定使用POST方式传递数据
# --form/-F 参数相当于设置form表单的method="POST"和enctype="multipart/form-data"两个属性
# filename为文本框中的name元素对应的属性值。<type="text" name="filename">
$ curl --form "filename=@filename.txt" "http://hostname.com:8080/html/uploadFile"
$ curl -F "filename=@filename.txt;type=text/plain"  "http://hostname.com:8080/html/uploadFile"
curl 特殊字符处理
# 默认情况下,通过GET/POST方式传递过去的数据中若有特殊字符(或者中文字符),首先需要将特殊字符转义在传递给服务器端,如"value 1"值中包含有空格,则需要先将空格转换成%20,如:
$ curl -d "value%201" "http://hostname.com"

# 在新版本的curl中,提供了新的选项 --data-urlencode,通过该选项提供的参数会自动转义特殊字符。
$ curl --data-urlencode "value 1" "http://hostname.com"
curl 指定其它协议
# 除了使用GET和POST协议外,还可以通过 -X 选项指定其它协议,一般用过ES删除索引的时候用的比较多,如:
$ curl -X DELETE "https://hostname.com"
curl 设置http请求头信息
# 以下操作可以挂代理抓包查看并且验证
# -v 通过使用 -v 和 -trace获取更多的链接信息
# 访问https://www.github.com/下面返回的信息会提示该域名已经被重定向到https://github.com/
$ curl -v "https://www.github.com/"

* Rebuilt URL to: https://www.github.com/
* Hostname was NOT found in DNS cache
*   Trying 192.30.252.130...
* Connected to www.github.com (192.30.252.130) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
* Server certificate: github.com
* Server certificate: DigiCert SHA2 Extended Validation Server CA
* Server certificate: DigiCert High Assurance EV Root CA
> GET / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: www.github.com
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Content-length: 0
< Location: https://github.com/
< Connection: close
<
* Closing connection 0

# -A 设置http请求头User-Agent,可以指定自己这次访问所模拟的浏览器信息
# 前一个直接用curl命令的,User-Agent: curl/7.37.1
> User-Agent: curl/7.37.1
# 使用-A参数重新指定浏览器信息后,User-Agent: Mozilla/5.0 Firefox/21.0
> User-Agent: Mozilla/5.0 Firefox/21.0
$ curl -v -A "Mozilla/5.0 Firefox/21.0" "https://www.github.com/"

 Hostname was NOT found in DNS cache
*   Trying 192.30.252.120...
* Connected to www.github.com (192.30.252.120) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
* Server certificate: github.com
* Server certificate: DigiCert SHA2 Extended Validation Server CA
* Server certificate: DigiCert High Assurance EV Root CA
> GET / HTTP/1.1
> User-Agent: Mozilla/5.0 Firefox/21.0
> Host: www.github.com
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Content-length: 0
< Location: https://github.com/
< Connection: close
<
* Closing connection 0

# -e 设置http请求头Referer,解释:检查http访问的Referer是服务器端常用的限制方法。比如你先访问网站的首页,再访问里面所指定的下载页,这第二次访问的referer地址就是第一次访问成功后的页面地址。这样,服务器端只要发现对下载页面某次访问的referer地址不是首页的地址,就可以断定那是个盗链了。所以这里我们可以自己修改我们的Referer链接地址。
$ curl -v -e "http://birdben.com/" "http://birdben.com/download.html"

* Hostname was NOT found in DNS cache
*   Trying 50.63.202.46...
* Connected to birdben.com (50.63.202.46) port 80 (#0)
> GET /download.html HTTP/1.1
> User-Agent: curl/7.37.1
> Host: birdben.com
> Accept: */*
> Referer: http://birdben.com/
>
< HTTP/1.1 302 Found
< Connection: close
< Pragma: no-cache
< cache-control: no-cache
< Location: /download.html
<
* Closing connection 0

# --header/-H 设置header
$ curl -H "Connection:keep-alive" -H "Host:127.0.0.1" -H "Accept-Language:es" -H "Cookie:ID=1234" "https://www.github.com/"

* Hostname was NOT found in DNS cache
*   Trying 192.30.252.129...
* Connected to www.github.com (192.30.252.129) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
* Server certificate: github.com
* Server certificate: DigiCert SHA2 Extended Validation Server CA
* Server certificate: DigiCert High Assurance EV Root CA
> GET / HTTP/1.1
> User-Agent: curl/7.37.1
> Accept: */*
> Connection:keep-alive
> Host:127.0.0.1
> Accept-Language:es
> Cookie:ID=1234
>
< HTTP/1.1 301 Moved Permanently
< Content-length: 0
< Location: https://github.com/
< Connection: close
<
* Closing connection 0

# -I 设置http响应头处理,仅仅返回header
$ curl -I "https://github.com"

# --dump-header/-D 将http header保存到/tmp/header文件
$ curl -D /tmp/header "https://github.com"
curl -o/-O 下载
# 通过-o/-O选项保存下载的文件到指定的文件中:
-o:将文件保存为命令行中指定的文件名的文件中
-O:使用URL中默认的文件名保存文件到本地

# 将文件下载到本地并命名为test.html
$ curl -o test.html "http://apistore.baidu.com/apiworks/servicedetail/478.html"

# 将文件保存到本地并命名为478.html
$ curl -O "http://apistore.baidu.com/apiworks/servicedetail/478.html"
curl -L 重定向
# 默认情况下CURL不会发送HTTP Location headers(重定向).当一个被请求页面移动到另一个站点时,会发送一个HTTP Loaction header作为请求,然后将请求重定向到新的地址上。

# 例如:浏览器访问京东以前的域名www.360buy.com,会自动将地址重定向到www.jd.com上。通过curl命令就会出现如下信息
$ curl "www.360buy.com"
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<h1>301 Moved Permanently</h1>
<p>The requested resource has been assigned a new permanent URI.</p>
<hr/>Server: JDWS</body>
</html>

# 这时可以通过使用-L选项进行强制重定向,让curl使用地址重定向,此时就会返回京东首页的信息
$ curl -L "www.360buy.com"
curl -O 从FTP服务器下载文件
# curl同样支持FTP下载,若在url中指定的是某个文件路径而非具体的某个要下载的文件名, curl则会列出该目录下的所有文件名而并非下载该目录下的所有文件

# 列出public_html下的所有文件夹和文件
$ curl -u user:pass -O "ftp://ftp_server/html/"
# 下载index.css文件
$ curl -u user:pass -O "ftp://ftp_server/css/index.css"

# 从FTP服务器下载文件的另一种写法
$ curl "ftp://user:pass@ftp_server:port/path/file"
curl -T 上传文件到FTP服务器
# 通过 -T 选项可将指定的本地文件上传到FTP服务器上
# 将myfile.txt文件上传到服务器
$ curl -u user:pass -T myfile.txt "ftp://ftp.testserver.com:port/path/"

# 同时上传多个文件
$ curl -u user:pass -T "{file1,file2}" "ftp://ftp.testserver.com"
curl -u 授权(没有测试过)
# 在访问需要授权的页面时,可通过-u选项提供用户名和密码进行授权
$ curl -u username:password URL

# 通常的做法是在命令行只输入用户名,之后会提示输入密码,这样可以保证在查看历史记录时不会将密码泄露
$ curl -u username URL
curl -x 设置代理
# -x 选项可以为CURL添加代理功能
# 指定代理主机和端口
$ curl -x proxysever.com:8888 -U user:pass "http://google.co.jp"

参考文章:

Linux(三)Linux常用命令 Linux常用命令 阅读详情

相关推荐

Altair HyperWorks 2022.3.0 Suite下载

Altair HyperWorks开发团队提供了新的一流技术,以设计和优化高性能、高效和创新的产品,并发布了HyperWorks 2021.2套件。与所有新版本一样,这个版本包含了新特性、增强功能,并修复了前一个版本中用户报告的各种问题,提供了总体上更稳定的体验。链接: https://pan.baidu.com/s/1rYietmQLQUboHiJzYoE9WQ?pwd=m9yh 提取码: m9yh 复制这段内容后打开百度网盘手机App,操作更方便哦。

weixin_48469365的博客 2125

http的302 redirect的一个问题

今天在curl一个网站的时候遇到一个奇怪的问题,下面是输出: lxg@lxg-X240:~$ curl -L http://www.yngs.gov.cn/ -v * Hostname was NOT found in DNS cache * Trying 116.52.12.163… * Connected to www.yngs.gov.cn (116.52.12.16

liuxingen的专栏 2万+

KAN神经网络实战:如何用Python快速搭建你的第一个可解释性模型

本文提供了使用Python和PyTorch快速搭建首个KAN(Kolmogorov-Arnold Networks)神经网络模型的实战指南。通过对比传统MLP,详细解析了KAN利用可学习的边函数实现更高可解释性的核心原理,并逐步演示了从环境配置、数据准备、核心模块实现到模型训练与可视化的完整流程,帮助开发者掌握这一新兴的可解释性AI模型构建方法。

convnet3designer的博客 472

curl 重定向 java_curl 重定向问题

今天在curl一个网站的时候遇到一个奇怪的问题,下面是输出:[emailprotected]:~$ curl -L http://www.yngs.gov.cn/ -v* Hostname was NOT found in DNS cache* Trying 116.52.12.163…* Connected to www.yngs.gov.cn (116.52.12.163) port 8...

weixin_39746652的博客 1069

神领物流-day01-项目概述

公司从2019年开始业务快速扩张,网点数量从138家扩展至540家,车辆从170台增长到800台。同时,原有的系统非常简单,比如车辆的调度靠人工操作、所有的货物分拣依靠人员,核心订单数据手动录入,人效非常低。随着业务不断演进,技术的不断提升,原有运输管理系统已无法满足现有快速扩展下的业务需求,但针对现有系统评估后发现,系统升级成本远高于重新研发。因此,公司决定基于现有业务体系进行重新构建,打造一套新的TMS运输系统,直接更替原有系统。

心飞为你飞 2254

HTTP 代理服务器的设计与实现

HTTP 代理服务器的设计与实现 首先当然是最重要的代码:github地址 1) 实验目的 熟悉并掌握 Socket 网络编程的过程与技术;深入理解 HTTP 协议,掌握 HTTP 代理服 务器的基本工作原理;掌握 HTTP 代理服务器设计与编程实现的基本技能。 2) 实验内容 基于 java 实现了基本功能与全部附加功能,并增加了 https 的支持 (1) 设计并实现一个基本 HTTP 代理服...

qq_42754642的博客 1887

curl

目录一 介绍二 主要选项2.1 --data与--form2.2 URL三 其他选项3.1 常用选项3.2 进度条3.3 输出到文件3.4 其他 一 介绍 linux中一个传输数据的工具,支持多种协议,还支持代理、用户认证、SSL、cookies等等特性。 一些默认行为: 默认使用HTTP协议; 消息体输出到terminal; 消息体未输出到terminal时,显示进度条。 一些常用选项: ...

千霜的博客 6950

Comsol单层焊缝焊接数值模拟:温度场与应力场全流程解析

在工程制造领域,有限元模拟是研究焊接热-力行为、优化工艺参数的重要工具。焊接过程涉及强烈的局部加热和快速冷却,材料经历复杂的非线性和相变,必须通过瞬态分析和热-力顺序耦合,才能准确捕捉移动热源作用下的温度演化与应力塑性积累。这一技术广泛应用于压力容器、船舶结构、车辆制造等场景,用以预测残余应力与变形、评估冷裂纹风险,并为工艺设计提供定量支撑。焊接数值模拟能否真正指导实践,关键在于热源校核、随温度变化的材料参数、合理的边界条件与网格策略。单层焊缝作为焊接模拟的基础模型,涵盖了移动热源加载、熔池形成、高温软化与

weixin_30444111的博客 220

curl 命令详解

curl 是一种命令行工具,作用是发出网络请求,然后获取数据,显示在"标准输出"(stdout)上面。它支持多种协议,下面列举其常用功能。

qq_38860250的博客 5795

9、从统计到电路:未来物理不可克隆函数的基础

本文探讨了物理不可克隆函数(PUF)的关键技术,包括补偿环境影响、处理相关工艺变化、身份映射和测试方法。提出了一种基于新测试统计量Q的方法,有效提升了PUF的熵值和安全性。通过实验验证,新方法能够显著区分不同芯片,并增强PUF在不同环境下的适应性和可靠性,为未来PUF的设计与应用提供了重要基础。

pluto的博客 117

Python 爬虫实战:爬取去哪儿网酒店评价,提取住宿体验关键词

本文介绍了基于去哪儿网酒店评价数据的爬取与分析方法。首先通过分析网页结构和数据加载机制,定位到评价数据的JSON接口及关键参数。然后使用Python搭建爬虫环境,实现多页评价数据的批量采集与存储,并通过反爬策略确保数据获取的稳定性。在文本分析环节,采用jieba分词和TF-IDF算法提取高频关键词,结合词云可视化展示用户关注点。分析结果显示位置、服务、卫生是核心关注维度,同时识别出好评与差评的关键驱动因素。该方法为酒店服务优化和消费者决策提供了数据支持,并可通过扩展实现更深入的情感分析和竞品对比。

2503_91057718的博客 999

curl命令详解

文章目录概述http报文请求报文响应报文其他文件上传重定向支持ssl--limit-rate 限流测试-s-S-X 概述 可以这么理解curl命令,curl帮忙构建http请求和接受http响应,所以需要了解http报文格式,以及每个结构使用什么参数进行指定 http报文 请求报文 请求行 方法 -X 指定方法,可选择GET、POST、HEAD、PUT -I 发起HEAD请求,并打印报文头 ...

hehuang139的专栏 1700

SAP UI5 SimpleForm 的本质、布局选择与工程化用法:从 API 到 Fiori 规范的完整解析

SimpleForm的价值在于让开发者以“语义顺序”来思考表单:分组—行—字段,由此把更多精力放在表单信息架构与Fiori规范的落地上。当你理解了开分组、Label开新行、的断点与比例、的对齐特性、editable与的真实含义,就能据此为每个页面挑选合适的布局与参数,构建既合规又具备高可读性的企业级表单。新分组、Label新行、其他控件归当前行。SAP的断点、比例与的要点来自Fiori设计文档。SAP的适用性来自样例与课程的推荐,列表类控件不应作为其行内容。某些旧属性仅在生效,应避免误用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 298

嵌入式 Linux 入门(三、Linux Shell 及常用命令说明)

学习 Linux ,必须要熟练的掌握 Linux 下的 Shell 命令,嵌入式 Linux入 门第三课,熟悉掌握 Linux 常用 Shell 命令。

不浮夸,不将就,认真对待学知识的我们 5762

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Linux三(Linux常用命令)

Linux常用命令1. 基础命令2.文件查看命令3.文件编辑命令4.文件压缩与解压命令5.进程管理命令 1. 基础命令 pwd:显示当前位置的绝对路径 cd:路径,切换目录,cd后的参数表示要切换到的位置,可以使用绝对路径或相对路径 cd~:返回家目录 cd-:最近去过的两个地方进行切换 cd . . :返回上一层 ls:显示目录中的文件 ls -l :查看文件详细信息 man:帮助手册,用力爱查看命令、系统调用,库函数等帮助信息 touch:创建普通文件,不能通过cd操作 用文件权限对应的值可同时改

程序员的规则 636

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

linux常用命令大全(三)

** linux常用命令大全(三) ** 接之前的 linux常用命令大全(一) linux常用命令大全(二) ** 自己整理 的笔记 如何有问题请留言,或者私聊,谢谢 ** ** 21.用户和权限命令 ** 创建用户组: groupadd 用户组名称 #创建一个用户组 groupadd bows #创建一个叫bows的用户组 删除用户组: groupdel 用户组名称 #删除一个用户组(删除时必须是用户组下没有用户时) groupdel bows #删除用户组 创建用户: useradd 用户名 [-g

yang_z_1的博客 346

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【Linux】常用命令(三)

Linux常用命令三:head/tail/tail -f

Rong_Long961115的博客 339

三、Linux常用命令

Linux中的命令有很多,为了能够让初学者快速入门,我们这里只介绍几个常用的命令,当我们把Linux用起来以后,遇到陌生的命令我们再即用即学。 登录Ubuntu系统后,在桌面的任意位置使用鼠标右键,然后选择“Open Terminal”就可以进入Ubuntu系统的命令行终端输入命令了。 每个命令行终端窗口都可以算作一个完整的Linux任务,而每个Linux任务都会默认有一个叫做“工作目录(work...

wanhex的博客 338

Linux中常用命令汇总三

Linux中常用命令汇总,有这一篇就够了

全栈行动派的博客 646

Linux入门(三)Linux常用命令介绍

前言       本章讲解Linux的常用命令 方法 1.概念 在Linux中,命令多的一批,那么我们是不是都要记住呢?答案是否定的!我们作为Java开发人员,核心的一些基础命令掌握好就可以了,没必要和专业的运维人员比,你说是不是? 2.常用命令介绍 首先打开我们的终端! 1)pwd:显示当前所处的文件路径 2)cd 文件路径:进入某个文件夹 特别的:文件路径可以是绝对路径也...

jwang的博客 528

Linux生产常用命令三

1、编辑文件命令:vi 命令行模式: vi 文件,进入命令行模式 dd删除光标当前行 dG删除光标当前以及以下行 ndd 删除光标当前以及以下共n行 gg跳转到第一行的第一个字母 G 跳转到最后一行的第一个字母 shift+$ 跳转到行尾 编辑模式: 在命令行模式按i键进入编辑模式 在编辑模式按esc键退出进入命令行模式 尾行模式: 在命令行模式按shift+:...

君永夜 368

三 · linux 的常用命令

命令: 学习命令前需要了解 “命令的分类” 及 由命令开头 构成的语句的 “语法” 及“格式” LINUX中命令分文两大类 : ①内部命令 enable :是存放在系统内部的命令,查看它们的方式是输入enable;即会显示所有内部已开启的命令 ②外部命令 :外部命令 是内部命令以外的命令,它们存放在PATH中;查看 外部命令路径的语句 是 echo $PATH命令组成的语句的基

金城阿武的博客 617

linux常用命令(三)

Yum(Yellowdog Updater Modified)是一个基于RPM(Red Hat Package Manager)的软件包管理器,主要用于Red Hat系列的Linux发行版,如Red Hat Enterprise Linux(RHEL)、CentOS和Fedora。Yum简化了软件包的安装、更新、删除和查询过程,并且能够自动解决软件包之间的依赖关系。Yum。

qq_62374596的博客 1032
上一篇: Docker实战(十五):Docker安装Hive环境
下一篇: Docker实战(十六):Docker安装HBase环境
birdben
博客等级 码龄11年 290粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值