天天看點

linux常用指令

excel中批量加單引号  ="'"&a1  (給a1列加單引号)

1.linux下檢視公網ip

curl ifconfig.me或者curl ifconfig.me/all(檢視詳細資訊)

echo >/dev/tcp/8.8.8.8/53 && echo "open"    (檢查遠端端口是否對bash開放)

linux下用ps指令檢視内容時顯示不完全   ps auxwww

2.根據inode号查找檔案

find ./ -inum inode号

3.生成随機密碼

cat /dev/urandom | tr -dc "a-zA-Z0-9+_\~\!\@\#\$\%\^\&\*\(\)" | fold -w 20 | head

4.列出目前路徑下的所有目錄

ls -d */

5.統計目前路徑下的目錄個數

ll -d */|wc -l

6.統計目前路徑下的目錄個數,包括子目錄裡的

ll -R|grep "^d"|wc -l

7.統計目前路徑下普通檔案的個數

ll|grep "^-"|wc -l或者find . -maxdepth 1 -not -type d|wc -l

8.檢視二進制檔案所依賴的庫

ldd 二進制檔案 

9.curl使用post方式傳遞資料

10.計算字元串長度

 echo "abc" |wc -L

11.(1)windows上的檔案到linux後,出現^M

方法一:    用vim 打開檔案,指令模式中用set ff檢視檔案格式,然後修改為set ff=unix。

方法二: 用dos2unix指令,dos2unix filename

(2)unicode轉中文或其他編碼

native2ascii -reverse -encoding utf-8 SysConfig.properties SysConfig.properties.bak

(3)vi輸入中文儲存報錯,解決如下

Q: 使用 vi 編輯檔案,輸入漢字後,儲存出現如上的提示,如何解決?

A: 是 vi 編輯器的 encoding 的問題,進入 vi 後按 ESC 和 : 鍵,可以先看下編碼,set fenc,再輸入 :set fileencoding=prc 或 :set encoding=prc 就解決了上述問題。因為 vi 編輯器的 encoding 預設是 ascii ,要插入中文需要使用用 prc 編碼集。

12.linux下更改為CST時區

mv /etc/localtime /etc/localtime.bak

ln -s /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

13.查找指定時間段的檔案

touch -t 201505100000 t_start;

touch -t 201505102359.59 t_end;

find . -type f -newer t_start ! -newer t_end | xargs ls -l | grep -v "t_start\|t_end";

14.cat catalina.out | grep -10E '2017093022110362110067.*070110' --color

15.

檢視root密碼

   docker容器啟動時的root使用者的密碼是随機配置設定的。是以,通過這種方式就可以得到容器的root使用者的密碼了。

docker logs 5817938c3f6e 2>&1 | grep 'User: ' | tail -n1

16.将多行文本轉換為一行

      (1). 采用awk

      awk BEGIN{RS=EOF}'{gsub(/\n/," ");print}' file

      說明:awk預設将記錄分隔符(record separator即RS)設定為\n,此行代碼将RS設定為EOF(檔案結束),也就是把檔案視為一個記錄,然後通過gsub函數将\n替換成空格,最後輸出。

      (2). 采用sed

      sed ':a ; N;s/\n/ / ; t a ; ' file

      說明:sed預設隻按行處理,N可以讓其讀入下一行,再對\n進行替換,這樣就可以将兩行并做一行。但是怎麼将所有行并作一行呢?可以采用sed的跳轉功能。:a 在代碼開始處設定一個标記a,在代碼執行到結尾處時利用跳轉指令t a重新跳轉到标号a處,重新執行代碼,這樣就可以遞歸的将所有行合并成一行。

      (3). cat file | xargs

      說明:這可能是最簡單的一種方式。

       This manual page documents the GNU version of xargs. xargs reads argu-

       ments from the standard input, delimited by blanks (which can be pro-

       tected with double or single quotes or a backslash) or newlines

      上面是man手冊對xargs的說明。其實xargs就是對shell指令行參數限制做的一個擴充。

      這條指令的含義也很簡單,将file中的内容作為參數傳給X程式

      如果用echo作為X程式,則指令為:

      cat file | xargs echo

      此指令和cat file | xargs 行為一緻,因為xargs的預設行為就是列印輸出。

17.maven打包的項目,可以在MANIFEST.MF檢視編譯時所用的jdk版本及maven的版本。

18.top指令執行結果按照某一列排序

    在指令行提示符執行top指令,輸入大寫P,則結果按CPU占用降序排序。輸入大寫M,結果按記憶體占用降序排序。(注:大寫P可以在capslock狀态輸入p,或者按Shift+p)。

更改顯示内容

通過 f 鍵可以選擇顯示的内容。按 f 鍵之後會顯示列的清單,按 a-z 即可顯示或隐藏對應的列,最後按Enter鍵确定。

按 o 鍵可以改變列的顯示順序。按小寫的 a-z 可以将相應的列向右移動,而大寫的 A-Z 可以将相應的列向左移動。最後按Enter鍵确定。

按大寫的 F 或 O 鍵,然後按 a-z 可以将程序按照相應的列進行排序。而大寫的 R 鍵可以将目前的排序倒轉。

19.vim批量縮進

按V,進入VISVAL模式,用上下箭頭,選中所有要對齊的程式,按“>”或者"<"

本文轉自 goldfishe 51CTO部落格,原文連結:http://blog.51cto.com/jack88/1913087

繼續閱讀