重要的linux shell命令

下面是我收藏的一些重要的linux shell 命令。

 

 

  • 切換到上一次所在的目錄

# cd -

 

  • 獲取當前剩餘內存

#  cat /proc/meminfo |grep MemAvailable|cut -d: -f2|awk '{print $1}'

 

 

  • 獲取linux 的 eth0網卡的mac地址

//獲取的mac地址:有冒號 小寫

# ifconfig | grep eth0| awk 'NR==1{print $5}'

//獲取的mac地址:有冒號 大寫

# ifconfig | grep eth0| awk 'NR==1{print $5}' | tr a-z A-Z

//獲取的mac地址:無冒號 小寫

# cat /sys/class/net/eth0/address|awk -F ':' '{print $1$2$3$4$5$6}' 

//獲取的mac地址:無冒號 大寫

# cat /sys/class/net/eth0/address|awk -F ':' '{print $1$2$3$4$5$6}' | tr a-z A-Z

 

 

 

  • 獲取linux的eth0的網卡的ip地址

# ifconfig eth0 | grep 'inet addr:'| cut -d: -f2 | awk '{ print $1}'

 

 

  • 查找文件

//在當前目錄及子目錄下查找文件名爲filename的文件

# find . -name "filename"

 

 

  • 查找文件裏的內容

//在當前目錄及子目錄下查找有關鍵字keyword的文件,並打印出關鍵字所在文件的行號

# grep "keyword" * -nR

 

//在查找到的文件名爲filename的裏查找關鍵字keyword

# find . -name "filename" | xargs grep -in "keyword"

 

//在當前目錄及子目錄,不輸出錯誤信息

# find . -type f -exec grep -swnrH 'keyword' {} \; 2>/dev/null

 

注意:s : 不輸出錯誤信息 

   w :全詞匹配

   n:  輸出行號

   H:  輸出文件名

 

  • 一行命令統計代碼

# find . -iregex ".*\.\(cpp\|h\|java\|sh\)$" | xargs wc -l

 

 

  • sudo !!

    !! 代表上一次執行的命令,對於忘記加sudo權限的命令特定有用。

 

 

  • 統計文件夾的總大小

    # du -sh file_path   如果統計多個文件加參數-c

    # df -h .; du -sh -- * | sort -hr 列出當前分區的大小,每個文件的大小並排序

 

 

  • python 命令開啓文件樹結構的Web服務器

    # python -m SimpleHTTPServer

 

 

  • arp-scan使用ARP協議列出MAC和IP地址的映射關係 

        # sudo arp-scan -l 如果沒有先使用sudo apt-get install arp-scan 安裝

 

  • 查看文件的信息

    # stat file_name

   File: ‘color.sh’
  Size: 412        Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d Inode: 4067531     Links: 1
Access: (0775/-rwxrwxr-x)  Uid: ( 1000/     lyx)   Gid: ( 1000/     lyx)
Access: 2018-03-23 09:21:25.983301373 +0800
Modify: 2017-07-20 08:14:32.071341931 +0800
Change: 2017-07-20 08:14:32.071341931 +0800

 Birth: -

 

  • 模擬自動打字

    pv命令   

    # echo "你看看你,我打字快不快?" | pv -qL 20

 

 

  • screen命令 把前臺運行的程序隱藏起來

       1. 對於長時間運行的程序,可以先用screen命令分離出會話,時間到了在恢復會話。    

        # screen ./long-run-program

          Ctrl+A and 然後按"d" 分離會話

         # screen -ls 查看當前的會話

         # screen -r xxxx 恢復會話

        2. Ctrl+A and 大寫H,打開會話log文件記錄

        再按Ctrl+A and 大寫H,關閉會話log記錄

 

  • 列出所有的可以運行的命令

     compgen -ac | grep searchstr

 

  • 搜索man手冊的關鍵字,對於忘記命令時非常有用

        # aprogpos download 搜索包含download的關鍵的命

  •  查看Ubuntu中已經安裝的程序,用於想要卸載程序卻不知道程序名的情況

apt list --installed

想要知道安裝的mysql的依賴packages

apt list --installed | grep mysql

 

 

 

 

 

 

發佈了31 篇原創文章 · 獲贊 20 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章