歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 十個很少有人知道的 Linux 命令 - Part 4

十個很少有人知道的 Linux 命令 - Part 4

日期:2017/2/28 14:37:39   编辑:Linux教程

繼續我們的"鮮為人知"系列,本系列的第四篇會讓你了解一些有趣動態的命令。這裡我們進入實際的教程,沒有很多理論。

本系列的第四篇包含了另外的鮮為人知的Linux命令,這些值得去了解。也許你已經知道了這些命令,毫無疑問你是一個勇於探索的資深Linux用戶。

32. strace Command

strace是一個調試工具並被主要用於Linux的故障排除。它可能在你的系統內沒有默認安裝,你可能需要apt 或者 yum 安裝所需要的包。

使用strace命令追蹤一個命令的執行。

root@tecmint [~]# strace pwd

示例輸出

execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0
brk(0)                                  = 0x728000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0
mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY)      = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0
mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000
mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0
mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000
mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000
....

strace命令有大量的參數和選項,請參考man頁來獲取詳細信息。

33. disown -a && exit 命令

大多數系統管理員使用screen 命令來控制運行在終端後台的作業。讓我們假設一下如果你有一個長期運行的作業並想要將它從終端中脫離,你可以用screen命令來這麼做。但是如果你不知道如何使用screen,那麼disown可以用來救急。

disown命令可以在後台持續運行任務,即使你關閉了終端會話。disown命令的語法是:

root@tecmint [~]# Command; disown -a && exit

為了在終端中再次脫離一個已經長期運行的任務(譯注:可能已經bg運行了,但是並沒有脫離終端),使用jobs命令來找出任務號,接著使用disown %n,這裡的%n是作業號。為了驗證作業確實在運行,使用ps 或者 top 命令。nohup命令也是一個disown命令的替代品。

34. getconf LONG_BIT 命令

上面的命令能顯示你的機器架構是32 bit 或者 64 位?

root@tecmint [~]# getconf LONG_BIT

32

35. 終端上顯示日期

下面的命令是幾個命令的集合,確切地說是一個腳本。對於在shell或者終端下工作的人來說,沒有GUI界面看到當前系統日期是一個乏味的工作。你可以用‘date‘命令查看今天的日期。

只要在提示符後輸入如下的命令你就會在終端的右上角看到日期時間

root@tecmint [~]# while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done &

36. convert 命令

在寫教程的時候,我經常需要生成輸出,很多時候是圖片格式的輸出。上面的命令集合並不適合我。假設我需要tree命令的圖片格式的輸出(對 /etc/x11 目錄 )。

root@tecmint:/etc/X11# tree | convert label:@- /home/avi/tree.png

上面命令的輸出可以在一個特定的位置(這裡是我的主目錄)下看到,文件名是tree.png

Copyright © Linux教程網 All Rights Reserved