少人知道的Linux 命令有哪些

82次阅读
没有评论

共计 4259 个字符,预计需要花费 11 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下少人知道的 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 界面看到当前系统日期是一个乏味的工作。你可以用 lsquo;date lsquo; 命令查看今天的日期。

只要在提示符后输入如下的命令你就会在终端的右上角看到日期和时间。

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。

37. watch -t -n1“date +%T|figlet”

记住“figlet”命令在我们早期的文章“20 Funny Commands of Linux”中的描述。这个命令非常酷,这次我们会通过管道输出到 lsquo;figlet lsquo; 而在终端上显示一个动画电子钟。

你自己检查一下,记住你必须已经在系统上安装了 figlet,用 apt 或者 yum 安装所需要的包。

root@tecmint [~]# watch -t -n1  date +%T|figlet

示例输出

 _ ___ ____ ___ _____ _ _ Fri Nov 29 10:29:34 GMT / |/ _ \ _|___ \ / _ \ _|___ /| || | | | | | (_) __) | (_) (_) |_ \| || |_ | | |_| |_ / __/ \__, |_ ___) |__ _| |_|\___/(_)_____| /_/(_)____/ |_|

38. host 和 dig 命令

虽然“host”和“dig”命令不那么鲜为人知,仍然很少使用。host 命令是一个 DNS 查询工具。

root@tecmint [~]# host www.google.com www.google.com has address 173.194.66.147 www.google.com has address 173.194.66.105 www.google.com has address 173.194.66.99 www.google.com has address 173.194.66.104 www.google.com has address 173.194.66.106 www.google.com has address 173.194.66.103 www.google.com has IPv6 address 2a00:1450:400c:c03::68

(译注:事实上,我觉得 dig 命令是 *** 大的,自从有了 dig,我就再也不用 nslookup 了。)

root@tecmint [~]# dig www.google.com ;   DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6   www.google.com ;; global options: +cmd ;; Got answer: ;; - HEADER

39. dstat 命令

dstat 是一个多用途的工具,它会依据系统资源生成统计。默认情况下你的系统可能没有安装 lsquo;dstat lsquo;。在使用这个彩色的描述系统信息的生成器前使用 apt 或者 yum 来安装。

root@tecmint [~]# dstat

40. bind -p 命令

lsquo;bind -p lsquo; 会显示所有的 BASH shell 可用的快捷方式。

root@tecmint [~]# bind -p  \C-g : abort  \C-x\C-g : abort  \e\C-g : abort  \C-j : accept-line  \C-m : accept-line # alias-expand-line (not bound) # arrow-key-prefix (not bound) # backward-byte (not bound)  \C-b : backward-char  \eOD : backward-char  \e[D : backward-char  \e! : complete-command  \e/ : complete-filename  \e@ : complete-hostname  \e{ : complete-into-braces  \e~ : complete-username  \e$ : complete-variable # copy-backward-word (not bound) # copy-forward-word (not bound) # copy-region-as-kill (not bound) .... ....

41. touch /forcefsck

下面的命令会在 root 目录下创建一个空的文件夹 forcefsck。这会强制 Linux 系统在下次启动时检查文件系统。

root@tecmint [~]# touch /forcefsck

以上是“少人知道的 Linux 命令有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计4259字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)