터미널 프롬프트에 타임 스탬프를 추가 하시겠습니까?


53

터미널 프롬프트에 타임 스탬프를 추가 할 수 있는지 궁금합니다. 그렇다면 어떻게 할 수 있습니까?


링크 를 확인하면 러닝 클럭이 동기화되어 표시됩니다
Mana

답변:


60

이 줄을 ~/.bashrc파일에 추가 하십시오.

export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "

따라서 출력은 다음과 같습니다.

[07:00:31] user@name:~$

때때로 나는 어떤 종류의 지연이있는 것처럼 시간이 정확하지 않고 더 오래되었다고 경험합니다. 나는 그것을 사용하여 특정 명령이 얼마나 오래 걸리는지 볼 수 있습니다 (grunt ..). 어떻게 그렇게 될수 있니?
케빈 심퍼

2
@ devav2 : 시간대를 지정하는 방법이 있습니까?
하마

루트를 사용할 때 터미널에 타임 스탬프를 추가 할 수있는 방법이 있습니까? 일반 사용자 인 경우에만 타임 스탬프가 있습니다. 감사합니다
Yufenyuy Veyeh Dider 8:14에

4
를 들어 date명령, 당신은 대체 할 수 +%H:%M:%S와 함께 +%T.
snapfractalpop

5
이것은 터미널 랩핑을 망쳤으므로 대신 여기에 자세히 설명 된 접근 방식을 사용했습니다 . PS1에 '\ D {% T}'를 추가하기
만하면됩니다

25

내 솔루션은 http://bashrcgenerator.com/ 을 사용 하여 .bashrc에 넣을 PS1 라인을 생성하는 것입니다.

export PS1="\t [\u@\h \W]\\$ \[$(tput sgr0)\]"

어떤 모습 일지

13:05:54 [chad@work-laptop:~/Downloads]$ ls -al

PROMPT_COMMAND를 사용하면 기록이 엉망이됩니다. 히스토리를 순환하는 동안 더 긴 행이 나타나면 앞쪽에 추가 된 시간 소인과 같은 수의 문자로 프롬프트의 끝을 잘라냅니다. 예 :

13:14:38 [chad@work-laptop:~/Doexport PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\\] "

이 줄은 입력하는 것처럼 입력하지 않는 것처럼 올바른 위치에 문자를 표시하지 않기 때문에 편집 할 수 없습니다.

PROMPT_COMMAND로 수행 할 수 있다고 생각합니다. 아마도 [$ (tput sgr0)] 부분을 사용하여 PS1이 작동합니다.


여기의 링크는 스탬프를 추가로 사용자 정의하기에 좋습니다.
cellepo

16

대신 프롬프트 자체에 날짜를 추가, 당신은 날짜를 추가 할 수 있습니다 직전에 상기 다음 줄을 배치하여 프롬프트 위에 당신의 .bashrc. 작동하려면 설치해야합니다 cowsay. 간단한 프롬프트 를 유지하면서 날짜를 표시하는 재미있는 방법입니다 .

cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"

현재 형식으로 현재 환경에서 $USERdate변수를 읽을 때 수정하지 않고도 모든 사람의 시스템에서 작동 합니다.

여기에 이미지 설명을 입력하십시오


8
프롬프트에 표시하는 요점은 특정 명령을 마지막으로 실행 한 시간을 아는 것입니다.
James Oltmans

6

평판 점수가 충분하지 않으므로 답변에 의견을 추가하여 개선 할 수 있습니다. 정보를 추가 할 수있는 유일한 방법은 두 번째 답변을 만드는 것 같습니다. 그래서 나는 대답으로 말한 것을 반복하고 그 위에 쌓을 것입니다.

날짜 소인을 수정하려는 사용자의 .bashrc 파일을 편집하십시오.

"user @ host : ~ $"가 표시되면 현재 사용자의 홈 디렉토리에있는 것입니다. .bashrc 파일은 접두사 "."가 붙어 있기 때문에 숨겨진 파일입니다. 목록에서 보려면 긴 목록을 사용해야합니다.

"ls -a"를 사용하면 ".bashrc"파일이 표시됩니다.

텍스트 편집기로 파일을 편집하십시오. 예를 들어 "nano .bashrc", "vim .bashrc", "vi .bashrc", "pico .bashrc"또는 사용하려는 편집기가 있습니다.

이것을 스크립팅하고 많은 사용자를 위해 많은 쉘에 추가 할 계획이라면, ">>"연산자와 함께 "echo"명령을 사용하는 것이 좋습니다. 예를 들어

echo "export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"" >> .bashrc

이 방법을 사용하는 경우 수정하려는 사용자의 현재 작업 디렉토리에 있는지 확인하십시오. 이를 확인하기 위해 "pwd"또는 print working directory 명령을 사용할 수 있습니다.

"]"끝 괄호와 사용자 이름 사이의 추가 공간이 마음에 들지 않으면이 약간 수정 된 정규식을 사용하십시오.

export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"

파일을 직접 편집하는 경우 사용하십시오.


1
수정 사항을 제안 할 수 있습니다.
muru

4
export PROMPT_COMMAND=date

각 프롬프트를 발행하기 전에 날짜를 인쇄합니다.


1

.bashrc비아 열기

vim ~/.bashrc

다음에 다음을 추가하십시오 .bashrc.

#PS1="[\A \u@\h \W\a]$" 

여기서는 \A시간입니다 ( \W경로 끝의 경우 전체 현재 작업 디렉토리 경로를 원하면 제거하십시오). 그런 다음 입력

source ~/.bashrc

다음과 같은 것을 보게 될 것입니다 :

[16:04 trwood@cobalt04 ~/MCEq_dev]$

1
제거 \W하면 경로가 전혀 표시되지 않습니다. \w전체 경로를 제공합니다.
Zanna

0

@ devav2의 답변에 추가하기 만하면됩니다.

초보자를위한 읽기 쉬운 에코 명령은 다음과 같습니다.

export PROMPT_COMMAND='echo -n "$(date +%H:%M:%S) "'

대신에

export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "

echo 명령은 내보내기 시점에 평가되지 않으므로 큰 따옴표 대신 작은 따옴표를 사용하는 것이 좋습니다. 작은 따옴표를 사용하여 전체 명령을 인용하면 큰 따옴표를 사용하여 반향을 에코 명령에 인용하여 , [$


1
이스케이프는 형식화에 사용됩니다 (괄호). 이것이 허용되는 답변에
Geek

'echo -n "$ (date + % H : % M : % S)"'에도 추가 할 수 있습니다 : 'echo -n "[$ (date + % H : % M : % S)]"'없이 그들을 탈출해야합니다. echo 명령에 대한 논쟁으로 문자열을 사용하는 것의 장점은 이제 bash를 평가할 수있는 것을 이스케이프 할 필요가 없기 때문에 쉽게 읽을 수 있다는 것입니다.
qwertyzw

@ElderGeek 추가 설명을 추가했습니다. 도움이 되길 바랍니다.
qwertyzw

0

올바른 진행 방법 $HOME/.bashrc은 코드 를 찾아서 PS1주석을 달고 개인 코드를 추가하는 것입니다. 이것은 내 블록입니다.

PS1_DATE="\D{%Y-%m-%d %H:%M:%S}"

if [ "$color_prompt" = yes ]; then
    PS1="[$PS1_DATE \[\e]0; \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[\033[00m\]\[\033[01;34m\]\w \[\033[00m\]\$] "
    #PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='[$PS1_DATE ${debian_chroot:+($debian_chroot)}\w \$] '
    #PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

산출:

[2019-06-18 15:54:29 ~/Desktop $] echo "It's late!"

0

명령 프롬프트에 타임 스탬프를 표시하는 가장 쉬운 구문은 다음과 같습니다.

    PS1='\D{%F} \t $...'

어디

\D{format}형식이 지정된 날짜 ( man bash, PROMPTING 섹션 참조)

%F완전한 날짜; % Y- % m- % d와 동일 ( man date, FORMAT 섹션 참조)

\t24 시간 HH : MM : SS 형식의 현재 시간입니다 ( man bash, PROMPTING 섹션 참조).

nano ~/.bashrc

위에 표시된대로 PS1 변수를 변경하십시오.

source ~/.bashrc


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.