1、Linux命令隨筆

来源:https://www.cnblogs.com/hackerer/archive/2018/01/16/8295063.html
-Advertisement-
Play Games

來源: http://www.cnblogs.com/hackerer/p/5100208.html null ...


複製代碼
   1 Linux命令總結
   2   3 man   ==命令幫助;
   4 help  ==命令的幫助(bash的內置命令);
   5 ls    ==list,查看目錄列表;
   6       -ld:查看目錄許可權;
   7       -l:(long)長格式顯示屬性;
   8       -F:給不同的文件類型結尾加標識
   9       -p:給目錄加斜線
  10       -r:(reverse)反轉排序
  11       -t:按時間排序
  12       --color=auto 給輸出的不同類型文件加不同顏色
  13       -a:顯示隱藏文件
  14       ls -l --time-style=long-iso,顯示友好的長格式時間
  15 例子:
  16 [root@server oldboy]# ls -l --time-style=long-iso  
17
總用量 4 18 drwxr-xr-x 2 root root 4096 2015-12-18 20:25 oldboydir 19 lrwxrwxrwx 1 root root 9 2015-12-18 21:03 oldboydir_soft_link -> oldboydir 20 21 mkdir ==創建目錄 22 -p:遞歸創建目錄 23 vim ==相當於複雜的文檔編輯器 24 =====================================================================================================================================================================================================
2016-12-22添加
date修改時間命令:
date -s "2016/12/22 14:33"  //修改時間後接著敲hwclock告訴bios立即生效
hwclock

  25 echo "i am studying linux" >/>> oldboy.txt   //後面跟一個大於號表示覆蓋,兩個大於號表示追加;
  26 echo  ==列印輸出內容,配合“>”或“<<”可以為文件覆蓋及追加內容;
  27       -n:不換行輸出
  28       -e:解析轉義字元,\t tab   \n回車  \b退格
  29  30        echo“
  31             boy
  32             girl
  33            ” >oldboy.txt
  34 實例如下:(2015/12/22)
  35 [test@server ~]$ echo "oldboy";echo "oldboy"  36 oldboy
  37 oldboy
  38 [test@server ~]$ 
  39  40 [test@server ~]$ echo -n "oldboy";echo "oldboy"  //不換行輸出
  41 oldboyoldboy
  42 [test@server ~]$ 
  43  44 [test@server ~]$ echo -e "oldboy\toldgirl"  45 oldboy  oldgirl
  46 [test@server ~]$ 
  47  48 [test@server ~]$ echo -e "oldboy\noldgirl"  49 oldboy
  50 oldgirl
  51 [test@server ~]$ 
  52 ====================================================================
  53 cat   ==查看文件內容;
  54       -n:顯示行號
  55         特殊用法:增加多行內容
  56         [root@server data]# cat >/data/oldboy.txt<<EOF  57                                 I am studying linux.
  58                                 EOF
  59 cp    ==copy  相當於拷貝命令;例如:cp old.txt /tmp/
  60       cp -a/-r /etc/ /tmp  拷貝目錄/etc/到/tmp
  61          -a:相當於-pdr
  62          -r:遞歸,用於複製目錄;
  63          -p:保持屬性;
  64          cp='cp -i'  -i:表示提示確認信息參數
  65 例:從當前目錄文件到另外目錄時,如果拷貝文件名相同,可使用/bin/、"\"取消是否覆蓋信息;  66 [root@server /]# cp /mnt/test.txt /tmp  67 cp: overwrite `/tmp/test.txt'?   68 [root@server /]# /bin/cp /mnt/test.txt /tmp   //前面加/bin/可以取消是否覆蓋的提示信息;  69 [root@server /]# \cp /mnt/test.txt /tmp/      //前面加"/"可以取消是否覆蓋的提示信息;  70 mv    ==移動目錄或文件,例如:mv /data /root
  71 pwd   ==查看當前用戶所在目錄;
  72  73 rm    ==remove 刪除文件或者目錄 -f強制,-r刪除目錄;
  74       生產場景儘量不要使用rm,如果非要用,一定要先cp等備份。
  75  76       替代方法:
  77       mv移動到一個臨時目錄,相當於回收站;
  78       find刪除
  79 find *****刪除
  80     find /root/data -type f -exec rm -f {} \;  // -exec表示查找
  81     find /root/data -type f|xargs rm -f 
  82 find  查找-type !表示取反的意思;
  83        !:取反
  84        -a:表示and
  85        -o:(or)表示或者
  86        -maxdepth +數字:表示查找的深度
  87        -mtime:表示修改時間
  88 例:
  89    find /oldboy -maxdepth 1 -type d ! -name "oldboy"  (其中-maxdepth跟tree -L 1可以這樣理解)
  90  91 例:在-type f前面加"!",表示執行命令時不查找以文件為結尾的文件;
  92 [root@server ~]# find /root/data/ ! -type f -name "*.txt"|xargs ls -ld  93  94 使用find刪除例子1:
  95 [root@server data]# find /root/data/ -type f  96 /root/data/zhurui.txt
  97 /root/data/zhurui2.txt
  98 /root/data/zhurui1.txt
  99 [root@server data]# find /root/data/ -type f -exec rm -f {} \; 100 [root@server data]# ls 101 [root@server data]# 102 103 使用find刪除例子2:
 104 [root@server data]# touch zhurui.txt zhurui1.txt zhurui2.txt 105 [root@server data]# ls 106 zhurui1.txt  zhurui2.txt  zhurui.txt
 107 [root@server data]# find /root/data/ -type f 108 /root/data/zhurui.txt
 109 /root/data/zhurui2.txt
 110 /root/data/zhurui1.txt
 111 [root@server data]# find /root/data/ -type f|xargs rm -f 112 [root@server data]# ls 113 [root@server data]# 114 115 116 find刪除保留一個特定文件,其餘都刪掉;
 117 [root@server data]# touch zhurui.txt zhurui1.txt zhurui2.txt zhurui3.txt zhurui4.txt 118 [root@server data]# ls 119 zhurui1.txt  zhurui2.txt  zhurui3.txt  zhurui4.txt  zhurui.txt
 120 [root@server data]# find /root/data/ -name "zhurui4.txt" 121 /root/data/zhurui4.txt
 122 [root@server data]# find /root/data/ -type f -name "zhurui4.txt" 123 /root/data/zhurui4.txt
 124 [root@server data]# find /root/data/ -type f ! -name "zhurui4.txt"|xargs rm -f 125 [root@server data]# ls 126 zhurui4.txt
 127 [root@server data]#
 128 129 head  ==頭部,取文件的前N行,預設前10行,取前三行 -n 3
 130          簡寫就是-3
 131 例:
 132 [root@server data]# head -n 2 test.txt  133 test
 134 liyao
 135 tail  ==尾巴,取文件的最後N行,預設最後10行,取最後三行 -n 3
 136          簡寫就是-3
 137 138       -f:跟蹤結尾
 139 例:
 140 tail -f /var/log/messages       //跟蹤一個文件結尾的變化
 141 142 舉例:列印20-30的數字
 143 [root@server ~]# seq 100 >test1.txt     //將1-100數字在test1.txt文件中列舉出來 144 [root@server ~]# head -30 test1.txt     //取文件的前30行 145 [root@server ~]# head -30 test1.txt | tail -11   //首先取列舉出的數字前30行,接著取最後11行; 146 20
 147 21
 148 22
 149 23
 150 24
 151 25
 152 26
 153 27
 154 28
 155 29
 156 30
 157 158 第二種方法:
 159 [root@server ~]# sed -n '20,30p' test.txt  160 20
 161 21
 162 22
 163 23
 164 24
 165 25
 166 26
 167 27
 168 28
 169 29
 170 30
 171 172 (1)awk   一門語言,過濾內容(取列)
 173     awk '{print $1}' 文件     //$1表示第一列,$2表示第二列....$NF(表示最後一列)
 174     awk -F "分隔符號" '{print $1}' 文件   //$1表示第一列,$2表示第二列
 175     $1表示第一列,$2表示第二列....$NF(表示最後一列)..$(NF-1)表示倒數第二列
 176     $0表示整行
 177     -F:awk多分隔符
 178     深入淺出三劍客之awk必殺技一例:http://oldboy.blog.51cto.com/2561410/950730
 179     深入淺出linux三劍客之sed必殺技一例:http://oldboy.blog.51cto.com/2561410/949365
 180 181     linux三劍客 老大
 182 例:
 183 [root@server test]# awk -F ":" '{print $1}' /etc/passwd 184 [root@server test]# awk -F ":" '{print $2}' /etc/passwd 185 [root@server test]# awk -F ":" '{print $1"="$2"="$3}' /etc/passwd 186 [root@server test]# awk -F ":" '{print $(NF-1)}' /etc/passwd      //表示篩選倒數第二列 187 188 [root@server test]# awk '{if(NR<31 && NR>19) printf $1"\n"}' /root/test1.txt    //"\n"表示回車  NR:代表行號  &&:代表and 189 20
 190 21
 191 22
 192 23
 193 24
 194 25
 195 26
 196 27
 197 28
 198 29
 199 30
 200 201 [root@server test]# awk '{if(NR>19 && NR<31) printf $1"\n"}' /root/test1.txt  202 20
 203 21
 204 22
 205 23
 206 24
 207 25
 208 26
 209 27
 210 28
 211 29
 212 30
 213 
 214 例:
 215 [root@server ~]# echo "I am oldboy,myqq is 24731701">> oldboy.txt 
 216 [root@server ~]# cat oldboy.txt 
 217 I am oldboy,myqq is 24731701
 218 [root@server ~]# awk -F "[, ]" '{print $3" "$6}' oldboy.txt  //光取第3跟第6列 
 219 oldboy 24731701
 220 
 221 實例取IP地址:(2015/12/22號添加)
 222 [root@server test]# ifconfig eth0|awk -F '[: ]+' 'NR==2 {print $4 }'    //[方框中的內容為目標前後分隔符] 
 223 192.168.1.11
 224 [root@server test]#
 225 ==============================================================================================================
 226 
 227 
 228 
 229 (2)grep ***** ==擅長過濾,過濾器,把想要的或者不想要的分離開。儘量使用雙引號("");
 230       -v:表示排除
 231       -o:只匹配你想要的結果,必備參數
 232       -i:表示不區分大小寫;
 233       -E:<====> grep -E=egrep
 234       -n:列印行號
 235       --color=auto 給匹配到的字元串加顏色(不是正行)
 236       -a: 在二進位文件中,以文本文件的方式搜索數據;
 237       -c: 計算找到‘搜索字元串’的次數
 238       提示:-i  -v為常用參數
 239       -A: After的意思,顯示匹配字元串及其後n行的數據
 240       -B: before的意思,顯示匹配字元串及其前n行的數據
 241       -C: 顯示匹配字元串及其前後各num行
 242 例1:
 243 [root@server zhu]# grep 3306 /etc/services  
 244 mysql           3306/tcp                        # MySQL 
 245 mysql           3306/udp                        # MySQL 
 246 [root@server zhu]# grep --color=auto 3306 /etc/services  
 247 mysql           3306/tcp                        # MySQL 
 248 mysql           3306/udp                        # MySQL 
 249       linux三劍客  老三
 250 
 251 
 252 參數介紹:
 253 -B:除了顯示匹配的一行之外,並顯示改行之前的num行
 254 例:
 255 [root@server ~]# grep 30 -B 10 test.txt  
 256 20
 257 21
 258 22
 259 23
 260 24
 261 25
 262 26
 263 27
 264 28
 265 29
 266 30
 267 -A:除了顯示匹配的一行之外,並顯示該行之後的num行
 268 例2:
 269 [root@server ~]# grep 20 -A 10 test.txt  
 270 20
 271 21
 272 22
 273 23
 274 24
 275 25
 276 26
 277 27
 278 28
 279 29
 280 30
 281 
 282 -C:除了顯示匹配的一行之外,並顯示改行之前後各num行
 283 例:
 284 [root@server ~]# grep 25 -C 5 test.txt  
 285 20
 286 21
 287 22
 288 23
 289 24
 290 25
 291 26
 292 27
 293 28
 294 29
 295 30
 296 grep "string" -B 10 
 297 
 298 例:文件如下,過濾文件中的空行
 299 [root@server ~]# cat oldboy.txt  300 oldboy
 301 302 oldooboy
 303 304 oldboooytxt
 305 方法1:
 306 [root@server ~]# grep -v "^$" oldboy.txt    //這種方法最佳 
 307 oldboy
 308 oldooboy
 309 oldboooytxt
 310 [root@server ~]# 
 311 
 312 方法2:
 313 [root@server ~]# grep "." oldboy.txt       
 314 oldboy
 315 oldooboy
 316 oldboooytxt
 317 [root@server ~]#
 318 方法3:
 319 [root@server ~]# sed '/^$/d' oldboy.txt  
 320 oldboy
 321 oldooboy
 322 oldboooytxt
 323 [root@server ~]#
 324 方法4:
 325 [root@server ~]# awk '/^[^$]/' oldboy.txt   
 326 oldboy
 327 oldooboy
 328 oldboooytxt
 329 [root@server ~]# 
 330 ==================================================================================================================
 331 
 332 
 333 (3)sed  *****(strem editor)  ==擅長取行、查找替換
 334       sed -n 
 335       過濾:sed -n '/過濾的內容/處理的命令	   

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

-Advertisement-
Play Games
更多相關文章
  • 名詞區分:sync:同步async:非同步rsync:遠程同步 rsync 特點:1,可以鏡像保存整個目錄樹和文件系統2,容易做到保留原有的許可權(permission,mode),owner,group,時間(修改時間,modify time),軟硬鏈接,文件acl,文件attributes等3,傳輸 ...
  • —————————————————————————————————————————————————————— 在寫 filter driver 或 rootkit 時,經常需要 attach 到設備棧中的目標設備,來攔截途經的 IRP(I/O Request Packet),實現過濾功能。首先要獲悉 ...
  • 入吾QQ群183435019(學習 交流+嘮嗑) 一 準備工作 1 電腦已經安裝上VMware Workstation 2 一個Windows系統,下載純凈版系統可到(www.itellyou.cn下載) 3 軟碟通 下載可到(http://down10.zol.com.cn/gongju/Ultr ...
  • 首先 First 準備軟體安裝包 perpare the softwaer installation pachage ①Keil C51(Version 9.00 or newer) ②nRFgo Studio(Version 1.4 or newer) ③nRFgo SDK(Version 2.2 ...
  • hp主機開機報錯no boot disk has been detected or the disk has failed,重啟之後沒有作用,開機之後仍然是同樣界面。考慮是硬碟問題,按ESC+F10進入boot界面之後,可以查看到硬碟設備,說明硬碟沒有問題(如果查找不到的話可能就是硬碟問題,建議重新 ...
  • 今天買了個阿裡雲的伺服器,於是手動安裝了一遍JavaWeb運行環境,首先安裝jdk與配置jdk就遇到了問題。 我下載的是解壓版的jdk-8u151-linux-i586.tar.gz。安裝和配置到是蠻簡單。和在Windows幾乎一樣。接下來問題就來了。 運行 java -version 來測試版本時 ...
  • 在高級語言中,I/O 流輸入(input)操作一般都要求指定要讀取的數據的最大長度(位元組數)。當接收到至少1位元組、最多所指定的位元組數時,函數返回。 STM32 串口接收數據時,HAL API 要求指定數據長度。但無論輪詢、中斷或是DMA方式,都必須完整地接收到這麼多位元組,程式流程才繼續。如何接收變長 ...
  • ·IPv4的局限性: 1.地址空間的局限性:IP地址空間的危機由來已久,並正是升級到IPv6的主要動力。 2.安全性:IPv4在網路層沒有安全性可言,安全性一直被認為是由網路層以上的層負責。 3.自動配置:對於IPv4節點的配置比較複雜,讓很多普通用戶無所適從。 4.NAT:破壞了Internet端 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...