文件上傳下載,命令之wget / curl / which / sort / uniq / cut / wc

来源:https://www.cnblogs.com/gongjingyun123--/archive/2019/06/21/11062259.html
-Advertisement-
Play Games

[toc] 命令 1.文件的上傳下載 2.從外網下載文件wget | wget | 文件下載 | | | | | O | 指定地址下載,更改名稱 | | T | 超時時間 | | q | 安靜下載(關閉wget輸出) | | spider | 網路爬蟲 | 3.curl文件下載 4.查找命令whic ...


目錄

命令

1.文件的上傳下載

需要下載安裝包
[root@oldboyedu ~]# yum install -y lrzsz    #安裝包

rz:只能上傳文件   (直接拖拽文件)
    1)不支持上傳超過4G的文件
    2)不支持斷點續傳
  rz不能上傳目錄,需要把目錄壓縮打包才可以上傳

      
sz:下載文件
示例:sz filename  

2.從外網下載文件wget

wget 文件下載
-O 指定地址下載,更改名稱
-T 超時時間
-q 安靜下載(關閉wget輸出)
--spider 網路爬蟲
示例:
Wget http://www.baidu.com
如果沒有,則安裝:yum install -y wget
-O:指定下載的路徑,可以改名

3.curl文件下載

-o:指定下載的路徑,可以改名

示例:

Curl -o http://www.baidu.com

4.查找命令which

Which查找系統目錄下的命令(絕對路徑)
[root@centos7 ~]# which rm
alias rm='rm -i'
    /usr/bin/rm


瞭解
type -a 也可以查命令的路徑
whereis也可以查命令的路徑

[root@centos7 ~]# whereis rm
rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz
[root@centos7 ~]# type -a rm
rm is aliased to `rm -i'
rm is /usr/bin/rm

[root@oldboyedu ~]# type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
[root@oldboyedu ~]# type -a for
for is a shell keyword

5.字元處理命令-排序sort

-t 指定分隔符
-k 指定第幾列的內容(按分隔符),不指定分隔符,預設是空格為分隔符
-n 按照阿拉伯數字的大小順序排序
-r 倒敘排序
輸入文件

[root@centos7 ~]# cat >> sort.txt <<eof
\> A:d:8
\> E:x:2
\> B:c:6
\> eof  

 
排序文件
[root@centos7 ~]# sort sort.txt
A:d:8
B:c:6
E:x:2   

按照字母小寫順序排序
[root@centos7 ~]# sort -t ':' -k 2 sort.txt
B:c:6
A:d:8
E:x:2 

按照字母小寫順序排序
[root@centos7 ~]# sort -t ':' -k 2 -n sort.txt
A:d:8
B:c:6
E:x:2

按照字母小寫倒敘
[root@centos7 ~]# sort -t ':' -k 2 -n -r sort.txt
E:x:2
B:c:6
A:d:8

6.字元處理-去重uniq

去重相鄰行,不相鄰不會去重

-c 顯示去重後的數量(count)
-d 只顯示重覆的行
-u 只顯示不重覆的行
輸入內容:
[root@centos7 ~]# cat >>unip.txt <<eof
\> abc
\> abc
\> 123
\> eof 

文件去重(沒有排序無法去重)
[root@centos7 ~]# uniq uniq.txt
abc
123
abc
123

排序文件
[root@centos7 ~]# sort uniq.txt
123
123
abc
Abc

先排序文件,後去重
[root@centos7 ~]# sort uniq.txt |uniq
123
abc  

先排序文件,後去重並顯示去重後的數量
[root@centos7 ~]# sort uniq.txt |uniq -c
2 123
2 abc

7.字元處理-截取cut

-d 指定分隔符
-f 指定第幾列
-c 根據字元來取數據
輸入內容
[root@centos7 ~]# cat >>info.txt <<eof
\> I’m gjy,20 years old qq 861962063 
\> eof 

\#以空格為分隔符,截取第二個,第六個字元
[root@centos7 ~]# cut -d ' ' -f 2,6 info.txt
gjy,20 861962063    

以空格為分隔符,截取第二個,第六個,再以逗號為分隔符,截取第一個第二個
[root@centos7 ~]# cut -d ' ' -f 2,6 info.txt |cut -d ',' -f 1,2
gjy,20 861962063    


[root@centos7 ~]# cut -d ' ' -f 2,6 info.txt |cut -c 1-3,8-16
gjy861962063

8.字元處理-統計wc

-l 統計行數
-c 統計位元組數
-w 統計單詞次數,也就是列數
示例:
[root@centos7 ~]# wc /etc/services
 11176  61033 670293 /etc/services 

統計位元組:
[root@centos7 ~]# wc -c /etc/services
670293 /etc/services    l

統計行數
[root@centos7 ~]# wc -l /etc/services
11176 /etc/services

統計列數
[root@centos7 ~]# wc -l /etc/services
11176 /etc/services

 

9.tr替換

[root@centos7 ~]# tr '1' 'o' <uniq.txt           #1就全部替換成了o
abc
o23
abc
o23
[root@centos7 ~]# echo "1" >>uniq.txt       #再追加一個 1
[root@centos7 ~]# tr '123' '0ld' <uniq.txt     #單個對單個的替換
abc
0ld
abc
0ld
0

10. sed 文本處理工具,三劍客之一

選項:

-n 取消預設輸出
p 列印當前內容
d 刪除當行
[root@centos7 ~]# cat>sed.txt<<'EOF'           #輸入文件內容
> 101,$oldboy,CEO
> 102,$zhangyao,CTO
> 103,$Alex,COO
> 104,$yy,CFO
> 105,$feixue,CIO
> 106,$lidao,UFO
> EOF

[root@centos7 ~]# cat sed.txt              #查看文件
101,$oldboy,CEO
102,$zhangyao,CTO
103,$Alex,COO
104,$yy,CFO
105,$feixue,CIO
106,$lidao,UFO

[root@centos7 ~]# sed -n '2p' sed.txt                  #取出第二行
102,$zhangyao,CTO

[root@centos7 ~]# sed -n '2,4p' sed.txt           #取出第二到四行
102,$zhangyao,CTO
103,$Alex,COO
104,$yy,CFO
 
[root@centos7 ~]# sed -n '2p;4p' sed.txt        #取出第二行和第四行
104,$yy,CFO

[root@centos7 ~]# sed '2d' sed.txt               # 刪除第二行
101,$oldboy,CEO
103,$Alex,COO
104,$yy,CFO
105,$feixue,CIO
106,$lidao,UFO


按字元串取
[root@centos7 ~]# sed -n '/oldboy/p' sed.txt           #取出oldboy所在的一行
101,$oldboy,CEO
[root@centos7 ~]# sed -nr '/oldboy|feixue/p' sed.txt       #同時取出oldboy和feixue所在的一行
101,$oldboy,CEO
105,$feixue,CIO
[root@centos7 ~]# sed  '/oldboy/d' sed.txt                #刪除oldboy所在的一行,相當於取反
102,$zhangyao,CTO
103,$Alex,COO
104,$yy,CFO
105,$feixue,CIO
106,$lidao,UFO
[root@centos7 ~]# sed 's#lidao#qiudao#g' sed.txt     #替換‘s###g'   ,有結果顯示,但是原文件沒變
101,$oldboy,CEO
102,$zhangyao,CTO
103,$Alex,COO
104,$yy,CFO
105,$feixue,CIO
106,$qiudao,UFO
[root@centos7 ~]# sed -i 's#lidao#qiudao#g' sed.txt         #  加上-i 參數,輸入後沒有任何結果顯示,但查看原文件,會發現變了

10. awk文本處理工具,三劍客之一

! 取反 ’!/ /'
NR 取行'{print $0,NR}'
$ 取列 '{print ,NR}'
d 刪除 '/ /d'

[root@centos7 ~]# awk '{print $0,NR}' sed.txt
101,$oldboy,CEO 1
102,$zhangyao,CTO 2
103,$Alex,COO 3
104,$yy,CFO 4
105,$feixue,CIO 5
106,$qiudao,UFO 6


取行:
[root@centos7 ~]# awk 'NR==2,NR==4' sed.txt
102,$zhangyao,CTO
103,$Alex,COO
104,$yy,CFO
[root@centos7 ~]# awk 'NR==2,NR==4' sed.txt
102,$zhangyao,CTO
103,$Alex,COO
104,$yy,CFO
[root@centos7 ~]# awk 'NR>1&& NR<5' sed.txt
102,$zhangyao,CTO
103,$Alex,COO
104,$yy,CFO
[root@centos7 ~]# awk 'NR>=2 && NR<=4' sed.txt
102,$zhangyao,CTO
103,$Alex,COO
104,$yy,CFO


過濾
[root@centos7 ~]# awk '/oldboy/' awk.txt
101,$oldboy,CEO
[root@centos7 ~]# awk '/oldboy|qiudao/' awk.txt
101,$oldboy,CEO
106,$qiudao,UFO



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 測試代碼: 不忘初心,方得始終;初心易得,始終難守。 ...
  • asp.net core系統自帶的異常頁面色彩給人感覺模糊、朦朧,暈眩! 原版: 美化版 實現思路:(在系統自帶異常中間件“DeveloperExceptionPageMiddleware”執行後,調用自定義的異常中間件“DeveloperExceptionPrettifyMiddleware”,繼 ...
  • 這兩天做項目的時候偶然發現項目中的保存功能的時候出現這樣的異常:異常詳細信息: System.Web.HttpRequestValidationException: 從客戶端(XXXX)中檢測到有潛在危險的 Request.Form 值。經過查詢調試發現,保存的文本中存在回車符,<br/>標簽作為參 ...
  • ios剛上線,這邊著手改成android版本,我開始使用的是unity2017.4.1版本 上傳谷歌商店是出現這兩個警告: 要支持64位,但是在2017版本上沒有找到64位的打包選項,猜測應該是版本的問題,上網查詢果然是 以下是我查詢的: https://www.cnblogs.com/cnxkey ...
  • 一、修改表名稱、增加欄位、查詢表結構、修改表結構欄位類型 1 1.修改表名稱 2 3 ALTER TABLE 舊表名 RENAME TO 新表名 4 5 eg: ALTER TABLE or_sql_table RENAME TO new_table; 6 7 8 9 2.添加欄位 10 11 AL ...
  • SmartSql = MyBatis + Cache(Memory | Redis) + R/W Splitting +Dynamic Repository + Diagnostics ...... ...
  • 1.下載php7.1.27源碼包 2.解壓源碼包 3.進入目錄 4.配置PHP安裝以包含SOAP 註意:如果收到類似於以下內容的錯誤,則需要安裝libxml2: 您可以通過yum存儲庫安裝libxml2: 5.編譯構建 6.拷貝soap模塊到現有的php目錄中 7.修改php.ini配置文件加入so ...
  • 生成指定長度是隨機數 bash 8位純數字的隨機數 tr cd '0 9' ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...