![편리한 날짜/시간 스탬프 콘솔 상호 작용(예: 쉘 별칭 사용)?](https://rvso.com/image/696999/%ED%8E%B8%EB%A6%AC%ED%95%9C%20%EB%82%A0%EC%A7%9C%2F%EC%8B%9C%EA%B0%84%20%EC%8A%A4%ED%83%AC%ED%94%84%20%EC%BD%98%EC%86%94%20%EC%83%81%ED%98%B8%20%EC%9E%91%EC%9A%A9(%EC%98%88%3A%20%EC%89%98%20%EB%B3%84%EC%B9%AD%20%EC%82%AC%EC%9A%A9)%3F.png)
그래서 나는 프로세스(또는 스크립트)가 시작하는 데 시간이 오래 걸린다는 사실을 알게 된 후 언제 프로세스(또는 스크립트)를 시작했는지 정말로 알고 싶어 하는 경우가 많습니다. 즉, 명령줄에서 중단 없이 날짜 앞뒤에 날짜를 추가할 수 없다는 뜻입니다. 내가 지금 알고 있는 것은 시간이 오래 걸립니다.) 그런 다음 터미널에서 떨어져 있는 동안 프로세스가 완료될 수 있습니다.
그래서 생각하게 되었습니다. 기본적으로 모든 명령줄 항목 전후에 '날짜'가 호출되도록 쉘 별칭을 왜곡하는 것이 가능합니까? 때때로 터미널에서 뒤로 스크롤하여 작업에 소요된 시간을 확인할 수 있다면 매우 유용할 것입니다.
다른 사람들이 이 문제를 해결하는 영리한 방법을 가지고 있습니까? 저는 이것이 충분히 일반적인 시나리오라고 확신합니다.
이 접근 방식의 솔루션 측면에서 보면 이 Q와 약간 관련이 있는 것 같습니다. 즉시 ("슈퍼") 셸로 돌아가지 않고 초기 명령으로 대화형 bash 하위 셸을 실행합니다.
분명한 곳에 명령을 추가할 수 있습니다. 하지만 이는 솔루션의 일부일 뿐입니다. 아마도 미리 보류한 다음 현재 시간을 표시하는 쉘 프롬프트를 얻는 것이 상당히 깔끔한 솔루션이 될까요?
생각?
답변1
PS1
현재 타임스탬프를 표시하도록 쉘 프롬프트 변수를 간단히 수정할 수 있습니다 . 다음 중 하나를 사용할 수 있습니다.
\t the current time in 24-hour HH:MM:SS format
\T the current time in 12-hour HH:MM:SS format
\@ the current time in 12-hour am/pm format
\A the current time in 24-hour HH:MM format
의 다른 옵션과 함께 이러한 항목을 찾을 수 있습니다 man bash
. 파일을 편집하여 원하는 대로 .bashrc
수정하세요 PS1
.
그런 다음 명령이 실행되는 시기를 결정할 수 있습니다. 물론, 엔터키를 누르기 전에 오랫동안 가만히 있으면 정확한 시간을 알 수 없습니다.
편집하다:또 다른 가능성은 유틸리티를 사용하여 ts
스크립트가 어떻게 진행되고 있는지 보여주는 것입니다. 다음과 같이 스크립트를 실행하세요.
$ /path/to/script | ts
각 echo 문은 타임스탬프와 함께 표시됩니다.
답변2
메모:이것은 OP가 요구하는 것에 대한 직접적인 대답은 아니지만 아마도 문제를 해결하는 데 유용할 수 있습니다.
이미 시작된 프로세스의 경우 간단한 ps ax -F
. 다음과 유사한 출력이 표시됩니다.
아파치 1733 1678 0 83467 7752 0 10:07? S 0:00 /usr/sbin/httpd 아파치 1734 1678 0 83467 7752 0 10:07? S 0:00 /usr/sbin/httpd 아파치 1735 1678 0 83467 7752 0 10:07? S 0:00 /usr/sbin/httpd 아파치 1736 1678 0 83467 7768 0 10:07? S 0:00 /usr/sbin/httpd 아파치 1737 1678 0 83467 7752 0 10:07? S 0:00 /usr/sbin/httpd 아파치 1738 1678 0 83467 7752 0 10:07? S 0:00 /usr/sbin/httpd
보시다시피, 8번째 열에는 시작 날짜/시간이 표시됩니다.