Linux shell下30個有趣的命令

来源:http://www.cnblogs.com/IcanFixIt/archive/2017/10/08/7636309.html
-Advertisement-
Play Games

Tips 原文作者:Víctor López Ferrando 原文地址: "30 interesting commands for the Linux shell" 這些是我收集了多年的Linux shell的30個有趣的命令和提示。 1. 監控命令(每2秒運行一次) 2. 使用一個埠殺死程式 ...


Tips
原文作者:Víctor López Ferrando
原文地址:30 interesting commands for the Linux shell

這些是我收集了多年的Linux shell的30個有趣的命令和提示。

1. 監控命令(每2秒運行一次)

watch "ls -larth"

2. 使用一個埠殺死程式

sudo fuser -k 8000/tcp

3. 限制以下命令的記憶體使用

ulimit -Sv 1000       # 1000 KBs = 1 MB
ulimit -Sv unlimited  # Remove limit

4. 使用正則表達式重命名所選文件

rename 's/\.bak$/.txt/' *.bak

5. 獲得完整的文件路徑

readlink -f file.txt

6. 列出tar.gz文件的內容,並只提取一個文件

tar tf file.tgz
tar xf file.tgz filename

7. 按照文件大小列出文件

ls -lS

8. 跟蹤路由

mtr google.com

9. 查找文件的提示

find . -size 20c             # By file size (20 bytes)
find . -name "*.gz" -delete  # Delete files
find . -exec echo {} \;      # One file by line
./file1
./file2
./file3
find . -exec echo {} \+      # All in the same line
./file1 ./file2 ./file3

10. 列印無限迴圈的文本

yes
yes hello

11. 當前登錄用戶

w

12. 輸出結果前置行號

ls | nl

13. Grep使用Perl風格的語法(允許像\t這樣的字元)

grep -P "\t"

14. Cat命令反向輸出(從末端開始)

tac file

15. 檢查每個目錄中的文件的的許可權

檢測許可權錯誤是很有用的,例如在配置web伺服器時。

namei -l /path/to/file.txt

16. 每次修改文件時都會執行命令

while inotifywait -e close_write document.tex
do
    make
done

17. 複製到剪貼板

cat file.txt | xclip -selection clipboard

18. Latex的拼寫和語法檢查

detex file.tex | diction -bs

你可能需要安裝以下內容:sudo apt-get install diction texlive-extra-utils

19. 檢查資源的使用情況

/usr/bin/time -v ls

20. 文件的隨機行

cat file.txt | sort -R
cat file.txt | sort -R | head  # Pick a random sambple

# Even better (suggested by xearl in Hacker news):
shuf file.txt

21. 在離開SSH會話後保持程式運行

如果程式不需要任何交互:

nohup ./script.sh &

如果你需要手動輸入一些內容,然後離開:

./script.sh
<Type any input you want>
<Ctrl-Z>          # send process to sleep
jobs -l           # find out the job id
disown -h jobid   # disown job
bg                # continue running in the background

當然,也可以使用screentmux來完成此目的。

22. 在有限的時間內運行命令

timeout 10s ./script.sh

# Restart every 30 minutes
while true; do timeout 30m ./script.sh; done

23. 從兩個排序文件中合併行

comm file1 file2

列印這三列:

  1. file1獨有。
  2. file2獨有。
  3. 在行file1和行file2中都有。

使用選項-1-2-3,可以刪除這些列。

24. 在文件中分割長文件,使用相同數量的行

split -l LINES -d file.txt output_prefix

25. 刷新交換分區

如果一個程式消耗了太多的記憶體,交換分區就會被剩餘的記憶體填滿,當你回到正常的時候,一切都是緩慢的。只需重新啟動交換分區來修複它:

sudo swapoff -a
sudo swapon -a

26. 修複ext4文件系統的superblock問題

sudo fsck.ext4 -f -y /dev/sda1
sudo fsck.ext4 -v /dev/sda1
sudo mke2fs -n /dev/sda1
sudo e2fsck -n <first block number of previous list> /dev/sda1

27. 創建給定大小的空文件

fallocate -l 1G test.img

28. 從命令行操作PDF文件

joinshuffleselect等命令相比,pdftk是個更好用的命令:

pdftk *.pdf cat output all.pdf        # Join PDFs together
pdftk A=in.pdf cat A5 output out.pdf  # Extract page from PDF

還可以使用cpdf操作內容:

cpdf -draft in.pdf -o out.pdf      # Remove images
cpdf -blacktext in.pdf -o out.pdf  # Convert all text to black color

29. 根據生成的輸出監視進度

# Write random data, encode it in base64 and monitor how fast it
# is being sent to /dev/null
cat /dev/urandom | base64 | pv -lbri2 > /dev/null

# pv options:
#   -l,  lines
#   -b,  total counter
#   -r,  show rate
#   -i2, refresh every 2 seconds

30. 在Ubuntu中找到一個文件的包

apt-file update
apt-file search dir/file.h

Tips
“本譯文僅供個人研習、欣賞語言之用,謝絕任何轉載及用於任何商業用途。本譯文所涉法律後果均由本人承擔。本人同意簡書平臺在接獲有關著作權人的通知後,刪除文章。”


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

-Advertisement-
Play Games
更多相關文章
  • 去除navigationBar上那條線: ///隱藏navigationBar導航欄線(直接寫在UINavigationController-viewDidLoad方法裡面即可) UIView *backgroundView = [self.navigationBar subviews].first ...
  • 最近在做app,用的volley傳參,有一個地方傳中文參數不行(貌似是get方式),我又試了下post方式,成功了,記錄下,以後有用! ...
  • 參考資料:http://docs.oracle.com/database/122/SQLRF/Functions.htm#SQLRF006 Single-row functions return a single result row for every row of a queried table ...
  • 1、預編譯的好處 大家平時都使用過JDBC中的PreparedStatement介面,它有預編譯功能。什麼是預編譯功能呢?它有什麼好處呢? 當客戶發送一條SQL語句給伺服器後,伺服器總是需要校驗SQL語句的語法格式是否正確,然後把SQL語句編譯成可執行的函數,最後才是執行SQL語句。其中校驗語法,和 ...
  • 1》hadoop簡介: Hadoop是一個開發和運行處理大規模數據的軟體平臺,是Apache的一個用java語言實現開源軟體框架,實現在大量電腦組成的集群中對海量數據進行 分散式計算.Hadoop框架中最核心設計就是:HDFS和MapReduce,HDFS提供了海量數據的存儲,MapReduce提 ...
  • 在網上查找刪除重覆數據保留id最小的數據,方法如下: 自己使用的時候顯示報錯: [Err] 1093 - You can't specify target table ‘XXX’ for update in FROM clause 暫時不知道是什麼原因導致的。 然後想辦法分佈操作,首先篩選出有重覆u ...
  • 本文目錄:1.1 httpd命令和apachectl命令1.2 配置文件規則和常見指令 1.2.1 Listen指令 1.2.2 ServerRoot指令 1.2.3 DocumentRoot指令 1.2.4 DirectoryIndex指令 1.2.5 ServerName和ServerAlias ...
  • 前面的話 本文將詳細介紹如何下Linux環境下安裝NodeJS和mongoDB NodeJS 1、在官網下載Linux環境下的NodeJS安裝包 2、通過xftp軟體將安裝包上傳到伺服器 3、解壓縮.tar.xz尾碼的安裝包 4、解壓後,當前目錄下出現node-v8.6.0-linux-x64目錄, ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...