이 글에서는 /usr/bin의 숨겨진 구석을 더 깊이 파고들어 더 흥미로운 보물을 발견해 보겠습니다. 언뜻 보기에는 구식으로 보일 수 있지만 실제로는 오늘날에도 여전히 매우 유용한 몇 가지 독특하고 흥미로운 프로그램을 살펴보겠습니다.
다시 모험의 길로 돌아가서 Linux가 우리에게 제공하는 더 놀라운 것들을 계속해서 발견해 봅시다.
우선, 입력 줄을 특정 길이로 묶는 데 도움이 되는 매우 유용한 작은 도구가 있습니다. 바이트 수 또는 공백을 지정하여 길이를 정의할 수 있습니다. 접기 도구를 사용하면 길이가 다른 파일을 빠르게 처리할 수 있습니다.
예를 들어 6자 길이의 입력 줄이 있다고 가정해 보겠습니다. 각 줄을 5자로 제한하고 나머지는 래핑하려고 합니다. 접기를 사용하면 다음을 사용하여 이를 달성할 수 있습니다.
으아아아해당 출력은 다음과 같아야 합니다.
으아아아이제 일부 텍스트를 길이 제한에 빠르게 맞출 수 있습니다. 이는 긴 텍스트 스트림을 분할하거나 코드 또는 기타 구성 파일에 줄 길이 제한을 적용하는 데 유용합니다.
접기 사용에 대한 자세한 내용은 위키 페이지를 확인하세요.
이것은 또 다른 매우 유용한 서식 도구입니다. 열 도구를 사용하면 명령줄에서 텍스트 출력에 열을 만들거나 전체 테이블을 생성할 수도 있습니다.
awk와 같은 도구를 사용하여 동일한 기능을 얻을 수 있지만 열 도구는 이러한 특정 목적을 위해 설계되었으므로 사용이 매우 간단하고 구문을 기억하기 쉽습니다.
몇 줄의 입력을 기반으로 간단한 테이블을 작성하려면 다음 명령을 실행할 수 있습니다.
으아아아명령의 출력은 다음과 같아야 합니다.
으아아아보시다시피 출력은 자동으로 깔끔하게 정렬된 열 형식으로 지정됩니다. 이는 출력에 작은 테이블을 형성하며 각 입력 줄의 길이에 따라 자동으로 크기가 조정됩니다.
명령줄에서 약간 더 긴 구조화되지 않은 데이터 세트로 작업하고 일부 표 형식을 빠르게 생성하려는 경우 이 도구가 많은 도움이 될 것입니다.
열의 매뉴얼 페이지에서는 더 많은 사용법 세부 정보와 다양한 입력을 처리하는 고유한 방법을 제공합니다.
newgrp 명령에 대해 들어보셨을 것입니다. 이 명령은 명령을 다른 그룹으로 실행하지만 동일한 기능을 수행하는 더 간단한 유틸리티가 있습니다. sg 유틸리티를 사용하면 지정한 다른 그룹의 권한으로 명령을 직접 실행할 수 있습니다. 파이프를 사용하거나 기존 쉘 그룹을 변경할 필요가 없으며 그룹과 명령만 지정하면 됩니다.
sudo 그룹의 권한으로 ls 명령을 실행하려면 다음 명령을 입력하면 됩니다.
으아아아이렇게 하면 ls 명령이 sudo 그룹의 권한으로 실행되도록 전환됩니다. 명령 실행이 완료되면 실행 전의 일반 그룹 권한으로 돌아갑니다.
sg 명령은 새 그룹 권한을 테스트하거나 다른 그룹의 프로그램을 실행하기 위해 컨텍스트를 빠르게 전환하는 데 매우 유용합니다.
xxd 유틸리티는 Linux에서 16진수 덤프를 수행하는 여러 방법 중 하나입니다. 비슷한 기능을 가진 유틸리티가 많이 있지만 xxd 프로그램은 약간 다릅니다. 이 유틸리티를 사용하여 16진수 덤프 및 복원을 수행할 수 있다는 추가 이점이 있습니다. 구성 가능한 플래그가 많이 있으며 바이너리에 대한 패치 작업을 수행할 수도 있습니다.
linuxmi라는 이름의 다음 파일의 16진수 덤프를 취하고 싶다고 가정해 보겠습니다.
linuxmi
我们只需提供输入,xxd 将自动将文件编码到 stdout(对于较短的输入文件,这是一个很方便的默认功能):
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com] └─$ xxd linuxmi 00000000: 6c69 6e75 786d 690a
您还可以通过传递一个额外的文件名参数来直接将输出发送到转储文件:
xxd linuxmi 93139
这将将十六进制转储发送到名为 93139 的文件中。
xxd 的 man 页面可以在此处找到。
这个方便的小实用程序来自于我们都熟悉和喜爱的古老 ps 实用程序家族。pwdx 实用程序可以让您获取运行中进程的当前工作目录。您只需要将进程的 PID 传递给它,它就会告诉您该进程的工作目录在哪里。
假设我们想找出 cron 进程在我们的机器上的工作目录。首先,我们只需要使用 ps 搜索并找到它的 PID,像这样:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com] └─$ ps aux | grep cron
在这里,我们可以看到cron的PID是612。现在,我们只需要将该进程的PID传递给pwdx来确定其工作目录,像这样:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com] └─$ sudo pwdx 691
如下图:
由于cron是系统进程,您需要使用sudo才能获取有关它的信息。命令完成后,我们得到了cron的当前工作目录,即 /var/spool/cron。
这可以是一个非常有价值的故障排除工具,特别是当您追踪目录范围问题时。通过使用 pwdx 进行快速检查,您可以准确地确定一个进程认为它应该从哪个位置运行。
在这里查看 pwdx 的 man 页面。
这个强大的小程序可能不会像您一开始想的那样执行某个特定任务。它在 Linux 中已经存在了几十年,甚至可以追溯到 1975 年 Unix 的第 6版。
write 实用程序实际上允许您向同一系统上的其他用户发送消息。您可以针对任何其他登录的用户发送消息。提供用户名,您将进入一个交互式shell,以向他们写任何您想要的文本。您键入的所有内容(包括换行符)都将出现在目标用户的控制台上。
这里是一个快速示例:
write
这将使您进入一个交互式控制台,以向相应的用户发送消息。请记住,这是一种相当侵入性的与其他用户通信的方式。这将使他们的终端显示您输入的文本,而无需任何警告或提示。对他们来说,这将出现在他们的终端上,就像自动出现的信息一样。由于这是单向通信,他们也无法回复。
尽管现在有更好的方法来处理用户之间的消息传递,但这是计算历史的一部分。我相信今天仍然可以有一些创造性的用途。
위 내용은 흥미로운 보물! 6가지 독특하고 놀라운 Linux 유틸리티의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!