Linux 명령줄 기록을 숨기는 방법

WBOY
풀어 주다: 2024-08-17 07:34:37
원래의
757명이 탐색했습니다.

Linux 명령줄 사용자라면 때로는 특정 명령이 명령줄 기록에 기록되는 것을 원하지 않을 수도 있습니다. 예를 들어, 귀하가 회사에서 특정 직책을 맡고 있고 다른 사람이 남용하지 않기를 원하는 특정 특권을 갖고 있는 등 여러 가지 이유가 있을 수 있습니다. 또는 기록 목록을 탐색하는 동안 실수로 실행하고 싶지 않은 특히 중요한 명령이 있을 수도 있습니다.

그러나 기록 목록에 들어갈 명령과 넣지 않을 명령을 제어할 수 있는 방법이 있나요? 아니면, Linux 터미널의 브라우저처럼 시크릿 모드를 활성화할 수 있나요? 대답은 '예'입니다. 원하는 구체적인 목표에 따라 이를 달성할 수 있는 방법은 다양합니다. 이 글에서는 몇 가지 입증된 방법에 대해 논의하겠습니다.

참고: 이 문서에 나오는 모든 명령은 Ubuntu에서 테스트되었습니다.

다양한 방법

처음 두 가지 방법은 이전 기사에서 설명했습니다. 이미 알고 계시다면 이 부분은 건너뛰셔도 됩니다. 하지만 이해가 되지 않는다면 주의 깊게 읽어 보시기를 권합니다.

1. 명령 앞에 공백을 삽입하세요

예, 읽으신 것이 맞습니다. 명령 앞에 공백을 삽입하면 명령이 셸에서 무시됩니다. 즉, 명령이 기록에 나타나지 않습니다. 하지만 이 방법에는 전제 조건이 있습니다. 환경 변수 HISTControl이 "ignorespace" 또는 "ignoreboth"로 설정된 경우에만 작동합니다. 대부분의 경우 이것이 기본값입니다.

따라서 다음 명령과 같습니다(여기서 [space]는 공백 입력을 의미합니다).

으아악

이전에 다음 명령을 실행하여 환경 변수를 설정한 경우 위 명령은 기록에 나타나지 않습니다.

으아악

아래 스크린샷은 이 접근 방식의 예입니다.

如何隐藏你的 Linux 的命令行历史

네 번째 "echo" 명령은 앞에 공백이 있기 때문에 기록에 기록되지 않습니다.

2. 현재 세션의 모든 기록을 비활성화합니다

세션에 대한 모든 기록을 비활성화하려면 명령줄 작업을 시작하기 전에 환경 변수 HISTSIZE의 값을 지우면 됩니다. 값을 지우려면 다음 명령을 실행하십시오.

으아악

HISTSIZE는 bash 세션의 기록 목록에 저장할 수 있는 명령 수(줄 수)를 나타냅니다. 기본적으로 0이 아닌 값으로 설정되어 있습니다. 예를 들어 내 컴퓨터에서는 1000입니다.

위에서 언급한 명령은 값을 0으로 설정하므로 터미널을 닫을 때까지 기록에 아무것도 저장되지 않습니다. 위쪽 화살표 키를 누르거나 기록 명령을 실행해도 이전에 실행한 명령을 볼 수 없다는 점을 기억하십시오.

3. 작업 완료 후 전체 기록을 삭제합니다

이는 이전 부분에서 제안한 솔루션의 또 다른 구현으로 볼 수 있습니다. 유일한 차이점은 모든 작업을 마친 후에 이 명령을 실행한다는 것입니다. 다음은 방금 언급한 명령입니다:

으아악

방금 언급한 것처럼 HISTSIZE 방법과 동일한 효과를 갖습니다.

4. 업무에 대해서만 기록을 끄세요

앞서 설명한 방법(2 및 3)은 목적에 부합하지만 전체 기록을 지울 수 있으며 대부분의 경우 일부는 예상과 다를 수 있습니다. 때로는 명령줄 작업을 시작할 때까지 기록을 저장하고 싶을 수도 있습니다. 이러한 요구 사항이 있는 경우 작업하기 전에 다음 명령 실행을 시작합니다.

으아악

참고: [space]는 공백을 의미합니다. 그리고 공백 때문에 명령 자체도 기록되지 않습니다.

위 명령은 기록 기능을 일시적으로 비활성화합니다. 즉, 이 명령 이후에 수행하는 모든 작업은 기록에 기록되지 않지만 이 명령 이전의 모든 작업은 기록 목록에 그대로 기록됩니다.

기록 기능을 다시 활성화하려면 다음 명령을 실행하세요:

으아악

환경을 원래 상태, 즉 작업이 완료된 상태로 복원하고 위 명령을 실행한 후의 명령이 기록에 나타납니다.

5. 기록에서 지정된 명령을 삭제합니다

现在假设历史记录中已经包含了一些你不希望记录的命令。这种情况下我们怎么办?很简单。直接动手删除它们。通过下面的命令来删除:

history | grep "part of command you want to remove"
로그인 후 복사

上面的命令会输出历史记录中匹配的命令,每一条前面会有个数字。

一旦你找到你想删除的命令,执行下面的命令,从历史记录中删除那个指定的项:

history -d [num]
로그인 후 복사

下面是这个例子的截图。

如何隐藏你的 Linux 的命令行历史

第二个 ‘echo’命令被成功的删除了。

(如果你不希望上述命令本身也被记录进历史中,你可以在上述命令前加个空格)

同样的,你可以使用向上的箭头一直往回翻看历史记录。当你发现你感兴趣的命令出现在终端上时,按下 “Ctrl + U”清除整行,也会从历史记录中删除它。

总结

有多种不同的方法可以操作 Linux 命令行历史来满足你的需求。然而请记住,从历史中隐藏或者删除命令通常不是一个好习惯,尽管本质上这并没有错。但是你必须知道你在做什么,以及可能产生的后果。

위 내용은 Linux 명령줄 기록을 숨기는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:linuxprobe.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!