成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

整理幾個超實用的前端提效shell命令

開發 前端
curl 是常用的命令行工具,用來請求 Web 服務器。它的名字就是客戶端(client)的 URL 工具的意思。curl 功能非常強大,它的命令可以直接放到 postman 使用,postman 也是支持 curl 的請求方式。

curl

curl 是常用的命令行工具,用來請求 Web 服務器。它的名字就是客戶端(client)的 URL 工具的意思。curl 功能非常強大,它的命令可以直接放到 postman 使用,postman 也是支持 curl 的請求方式。

常用的結果參數

curl 的參數包括很多,這里只說幾個常用的,如果遇到復雜情況可以參考文檔。

不知道是不是還有的小伙伴不知道 postman 直接支持 curl 命令,在 postman 中點擊 code 就會出現對應請求的curl命令

  •  -X 參數指定 HTTP 請求的方法。
  •  -H 參數添加 HTTP 請求的標頭。
  •  -d 參數用于發送 POST 請求的數據體。使用 -d 參數以后,HTTP 請求會自動加上標頭Content-Type : application/x-www-form-urlencoded。并且會自動將請求轉為 POST 方法,因此可以省略-X POST
  •  -b 參數用來向服務器發送 Cookie。
  •  想了解更多參數可以去看下阮一峰老師文檔 https://www.ruanyifeng.com/blog/2019/09/curl-reference.html

curl 項目中應用

如果對 curl 熟悉的小伙伴完全可以替代 postman 等工具,小伙伴可以直接模擬請求。(我認為curl能看到懂常用命令就夠了)

因為在 BFF 項目中,好多時候前端也參與開發,我們也會直接調用后端的接口,有時候報錯不知道是不是自己參數寫錯了,或者 cookie 有問題,找問題調試不方便,在 local 環境下,我們會直接打印出完整的 curl 請求,這時候可以直接看出錯誤,開發者只需要知道 curl 的一些參數就可以,還可以直接把 curl 命令復制到 postman 進行調試。看一下具體實現部分代碼 

  1.  //只在本地環境輸出  
  2.     if (ctx.app.config.env === 'local') {  
  3.       const str =  
  4.         curlString(url, {  
  5.           method,  
  6.           headers,  
  7.           body,  
  8.         }) + '\n';  
  9.       console.log('\x1b[32m%s\x1b[0m', str);  
  10.     }     
  11. /**  
  12.  * Builds a curl command and returns the string.  
  13.  * @param  {String} url               Endpoint  
  14.  * @param  {Object} options           Object with headers, etc. (fetch format)  
  15.  * @return {String}                   cURL command  
  16.  */  
  17. function curlString(url, options) {  
  18.   const method = options && options.method && typeof options.method === 'string' ? options.method.toUpperCase() : 'GET';  
  19.   const hasHeaders = options && options.headers && typeof options.headers === 'object';  
  20.   const hasBody = options && options.body;  
  21.   let curl = `\ncurl --request ${method} \\\n--url '${url}'`;  
  22.   if (hasHeaders) {  
  23.     curl +=  
  24.       ' \\\n' +  
  25.       Object.entries(options.headers)  
  26.         .filter(([key, value]) => value !== undefined)  
  27.         .map(([key, value]) => `--header '${key}: ${value}'`)  
  28.         .join(' \\\n');  
  29.   }  
  30.   if (hasBody) {  
  31.     curl += ` \\\n--data '${bodyToDataString(options)}'`;  
  32.   }  
  33.   return curl;  
  34.  
  35. /**  
  36.  * Constructs a body string for use inside --data  
  37.  * @param  {Object} options           Object with headers, etc. (fetch format)  
  38.  * @return {String}                   cURL command data string  
  39.  */  
  40. function bodyToDataString(options) {  
  41.   let parsedData;  
  42.   try {  
  43.     parsedData = JSON.parse(options.body);  
  44.   } catch (e) {  
  45.     // fall back to original body if it could not be parsed as JSON  
  46.     parsedData = options.body;  
  47.   }  
  48.   // return an ampersand delimited string  
  49.   const headers = _.get(options, 'headers');  
  50.   const contentType = _.toLower(_.get(headers, 'content-type') || _.get(headers, 'Content-Type'));  
  51.   if (contentType === 'application/x-www-form-urlencoded') {  
  52.     if (typeof parsedData === 'string') {  
  53.       return parsedData;  
  54.     } else {  
  55.       return Object.entries(parsedData)  
  56.         .map(([key, val]) => `${key}=${val}`)  
  57.         .join('&');  
  58.     }  
  59.   } else {  
  60.     return JSON.stringify(parsedData);  
  61.   }  

vim 中的基本操作和配置

非 insert 模式

在 vim 打開文件后,還沒有使用插入編輯,可以做哪些基本操作

  1.  G 快速移動到文件底部(常用于查看日志)
  2.  gg 快速移動到文件頂部
  3.  0 快速移動到行首
  4.  $ 快速移動到行尾
  5.  :13 快速移動到特定行
  6.  ZZ 光標移動到本屏中間
  7.  dd 剪切本行
  8.  yy 復制本行
  9.  u 撤銷(undo縮寫,撤銷)
  10.  p 粘貼 (p指paste,粘貼)
  11.  在 mac 系統下可以 option+點擊 快速移動到想要的位置(也就是光標)

insert 模式

前面說了多種移動方式,接下來結束幾個常用的 insert 命令,我這里就結束一些常用簡單的

  1.  i 在當前光標的前面進行編輯
  2.  o 快速進入 insert 模式,并定位到下一行編輯
  3.  esc 退出 insert 模式,與 <crtl-[>

ping

在網絡中 ping 是一個十分強大的 TCP/IP 工具。

  1.  用來檢測網絡的連通情況和分析網絡速度
  2.  根據域名得到服務器IP
  3.  根據ping返回的TTL值來判斷對方所使用的操作系統及數據包經過路由器數量。

bytes值:數據包大小,也就是字節。

time值:響應時間,這個時間越小,說明你連接這個地址速度越快。

TTL值:Time To Live,表示DNS記錄在DNS服務器上存在的時間,它是 IP 協議包的一個值,告訴路由器該數據包何時需要被丟棄。可以通過 Ping 返回的 TTL 值大小,粗略地判斷目標系統類型是 Windows 系列還是 UNIX/Linux 系列。

默認情況下,Linux 系統的TTL值為64或255,WindowsNT/2000/XP 系統的 TTL 值為 128,Windows98 系統的 TTL 值為32,UNIX 主機的 TTL 值為 255。

除了直接 ping ip ,還可以 ping 域名,會自動把域名解析為 ip。

應用

最常用的方式是直接ping ip地址,測試網絡連通性

學會看懂出錯提示信息

(1)NoAnswer:這種故障表明本機有一條通向中心主機的路由,但沒有收到發給該中心主機的任何信息。原因可能是:中心主機沒有工作、本機或中心主機網絡配置不正確、本地或中心的路由器沒有工作、通信線路有故障、中心主機存在路由選擇問題,等等。

(2)Request Timed Out:超時錯誤,被測試的機器不能正常連接,原因可能是該主機此時未連接(如已關機)、或到路由器的連接有問題、或路由器不能通過,或對方主機使用了防火墻軟件禁止進行 Ping 測試等等。

(3)Unknown Host Name:無法解析主機名字,可能是DNS設置不對,或者對方主機不存在

telnet

telnet 經常可以確定遠程服務的狀態,比如確定遠程服務器的某個端口是否能訪問(端口連通性)。

telenet是windows標準服務,可以直接用;如果是linux或者mac,需要自己安裝telnet

使用 telnet ip port

1)先用telnet連接不存在的端口 

  1. [root@localhost ~]# telnet 10.0.250.3 80  
  2. Trying 10.0.250.3...  

telnet: connect to address 10.0.250.3: Connection refused #直接提示連接被拒絕

2)再連接存在的端口 

  1. [root@localhost ~]# telnet localhost 22  
  2. Trying ::1...  
  3. Connected to localhost. #看到Connected就連接成功了  
  4. Escape character is '^]'.  
  5. SSH-2.0-OpenSSH_5.3  
  6.  
  7. Protocol mismatch.  
  8. Connection closed by foreign host. 

總結

優秀和常用的 shell 命令有好多,我這里只寫了幾個非常常用,并且前端開發者也會經常用到的命令,希望對小伙伴們有一丟丟幫助。 

 

責任編輯:龐桂玉 來源: 前端大全
相關推薦

2016-09-26 14:40:25

Windows內網實用命令

2010-07-05 17:10:36

FTP命令

2023-03-07 10:44:05

前端JS 調試

2021-08-24 06:42:50

IDEA插件工具

2023-11-22 19:10:42

前端父應用文案

2023-03-23 21:08:59

head命令

2023-03-24 10:07:46

tail命令

2022-07-08 11:18:33

前端實踐自動化

2021-03-04 22:15:36

JavaScript編程開發

2011-01-18 13:53:42

Linux Shell命令

2022-04-15 09:01:18

前端工具UTF8編碼

2024-09-02 08:03:23

2021-03-12 10:01:33

Sudo命令Linux

2021-04-22 10:28:52

開發技能代碼

2017-03-01 17:27:32

LinuxShell命令

2023-05-05 17:11:11

前端Mousetrap方式

2023-11-02 10:14:50

TinykeysWeb應用

2024-02-29 13:42:00

Linuxsar命令uptime

2023-10-31 16:17:42

2018-01-23 10:16:36

前端干貨Web
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区四区在线播放 | 久久香蕉精品视频 | 国产精品久久久久久久三级 | 亚洲国产精品一区在线观看 | 久久精品亚洲一区 | 日韩一区二区三区精品 | 免费人成在线观看网站 | 91精品国产日韩91久久久久久 | 欧美日韩电影一区二区 | 超碰97免费 | 日本三级精品 | 精品国产欧美 | 成人免费大片黄在线播放 | 一区二区三区在线播放 | 成人一区二区三区在线观看 | 欧美成人一区二免费视频软件 | 欧美一级全黄 | 天天舔天天 | 黄篇网址 | zzzwww在线看片免费 | 亚洲在线免费 | 久久五月婷 | 日本国产一区二区 | 日韩成人在线视频 | 精品一区二区三区在线观看 | 欧美精品首页 | 黄色a三级 | 久久精品中文 | 国产精品成人一区二区三区 | 视频一区二区中文字幕 | 日日夜夜免费精品视频 | 久草视频在线播放 | 中文字幕 视频一区 | 日韩欧美一区二区三区免费看 | 亚洲国产成人精品女人 | 日韩欧美日韩在线 | 国际精品鲁一鲁一区二区小说 | 久久久久无码国产精品一区 | 一区二区激情 | 亚洲欧美日本国产 | 亚洲国产成人精品久久 |