Linux and macOS Command Line Basics
차례:
, 우리는
history
명령에 대해 이야기 할 것입니다.이 명령을 사용하면 이전에 실행 된 명령 목록을보고 목록을 검색하고 기록 파일을 조작 할 수 있습니다.
history
명령 및 기록 확장 사용
history
는 쉘 내장이며 동작은 쉘마다 약간 다를 수 있습니다. 우리는 Bash 내장 버전의
history
을 다룰 것이다.
가장 간단한 형식으로, 옵션이나 인수없이 호출되면
history
명령은 행 번호와 함께 전체 히스토리 목록을 표시합니다.
history
… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history
!n
입력하면 히스토리 목록에서 n 번째 명령이 실행되고
!-n
명령이 n 행으로 되돌아갑니다. 다음 예제에서는
467
행에서 명령을 실행합니다.
!467
명령을 실행하는 또 다른 방법은
!word
expansion을 사용하는 것
!word
.
word
는 'word'로 시작하는 가장 최근의 명령을 나타냅니다.
일반적으로
history
에는 화면에 맞지 않는 많은 출력 줄이 표시됩니다. 한 번에 한 페이지 씩 출력을 보려면 다음 명령과 같이 페이저 프로그램으로 출력하십시오.
history | less
마지막
n
행을 표시하려면 숫자를 명령의 인수로 전달하십시오. 예를 들어, 내역 목록에서 마지막 다섯 줄만 보려면 다음을 입력하십시오.
history -5
up
및
down
화살표 키를 사용하여 목록의 항목을 탐색하십시오. 검색 한 명령이 표시되면
Enter
를 눌러 실행하십시오.
타입
!!
이전 명령을 실행하려면
!!
sudo
명령을 사용하지 않고 명령을 다시 입력하는 대신 다음을 입력 할 때 특히 유용합니다.
sudo !!
!-1
은
!!
와 동일합니다
!!
히스토리 목록에서 마지막 명령,
!-2
초에서 마지막으로 등을 실행합니다.
^word1^word2^
확장을 사용하면“word1”을“word2”로 바꾸는 마지막 명령을 다시 실행할 수 있습니다. 실수로
sudo command
sduo command
대신
sduo command
입력 한 경우 올바른 단어를 사용하여 명령을 반복 할 수 있습니다.
^sduo^sudo^
grep
명령을 사용하여 출력을 필터링하십시오. 예를 들어“nano”를 포함한 모든 명령을 보려면 다음을 실행하십시오.
history | grep nano
302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh
이제
nano setup.py
명령을 다시 실행하려면 다음을 입력하십시오.
!356
명령 기록을 검색하는 다른 방법은
Ctrl-R
을 누르는 것입니다. 프롬프트가 다음과 같이 바뀌고 이전에 실행 한 명령 검색을 시작할 수 있습니다.
(reverse-i-search)`':
쉘은 일치하는 줄을 표시합니다. 일치하는 다음 제안으로 이동하려면
Ctrl-R
다시 누르십시오.
히스토리 확장, 수정 자 및 지정자에 대한 자세한 정보는 Bash 매뉴얼을 확인하십시오.
히스토리리스트 저장
기본적으로 새 세션을 시작할 때 Bash는
.bash_history
파일에서 히스토리 목록을 읽습니다. 현재 세션에서 실행되는 명령 목록은 메모리에 유지되고 세션이 닫힐 때 파일에 저장됩니다.
-a
옵션을 사용하면 현재 세션 히스토리 목록을
.bash_history
파일에 저장할 수 있습니다.
history -a
-w
옵션은 전체 히스토리 목록을 히스토리 파일에 기록합니다.
기록 지우기
history
명령을 사용하면 전체 기록 목록을 지우거나 특정 부품을 제거 할 수 있습니다.
히스토리 목록을 지우려면
-c
옵션을 사용하십시오.
history -c
히스토리 목록에서 시작 위치와 종료 위치 사이의 특정 라인을 삭제하려면
-d
옵션을 사용하십시오.
예를 들어, 365에서 375 사이의 행 (해당 행 포함)을 제거하려면 다음을 입력하십시오.
history -d 365 375
음의 정수가 사용되면 행은 히스토리 목록의 끝부터 다시 계산됩니다.
위의 명령은 메모리에 보관 된 기록 목록을 지우지 만 디스크의
.bash_history
파일에서 항목을 제거하지는 않습니다. 파일을 지우려면 기록 목록을 파일에 써야합니다.
히스토리 동작 수정
Bash 히스토리의 동작은 여러 가지 다른 환경 변수를 사용하여 정의 할 수 있습니다. 히스토리 동작을 수정할 때
~/.bashrc
또는 사용자가 로그인 할 때로드되는 다른 구성 파일에 변수를 설정하십시오.
기본적으로 Bash는 명령 내역 목록에 500 줄을 유지합니다.
HISTSIZE
변수를 사용하면이 값을 변경할 수 있습니다. 10000으로 설정하려면
.bashrc
파일에 다음 줄을 추가하십시오.
HISTSIZE=10000
HISTCONTROL
변수는 명령이 히스토리 목록에 저장되는 방법을 정의하는 콜론으로 구분 된 값 목록을 승인합니다.
-
ignorespace
공백으로 시작하는 명령은 히스토리 목록에 저장되지 않습니다.ignoredups
중복 명령이 저장되지 않습니다.ignoreboth
-ignorespace
와ignoredups
를 모두 포함하는 속기입니다.
HISTCONTROL=ignoreboth
HISTTIMEFORMAT
변수가 설정되면 Bash는 각 행의 명령에 대한 실행 시간 소인을 앞에 추가합니다.
예를 들어, 다음을 설정 한 경우:
HISTTIMEFORMAT="%F %T: "
기록은 다음 형식으로 표시됩니다.
413 2019-10-27 21:13:07: sudo nano /etc/hosts
결론
history
명령은 이전에 실행 된 명령 목록을 표시합니다. 예를 들어 기록을 사용하여 기억하기 전에 사용했던 긴 명령을 볼 수 있습니다.
마이크로 소프트와 베스트 바이는 리눅스에서 강탈한다

당신은 '안티 리눅스'라고 말하면, 나는 '프로 윈도우'라고 말한다. 당신은 'Linux bashing'이라고 말하면서 '마케팅'이라고 말합니다.
리눅스에서 부팅 가능한 데비안 10 USB 스틱 만들기

이 튜토리얼에서는`dd` 명령을 사용하여 Linux 터미널에서 부팅 가능한 데비안 10 (버스터) USB 스틱을 만드는 방법을 설명합니다.
리눅스에서 파일의 권한을 재귀 적으로 변경하는 방법

Linux는 다중 사용자 시스템이며 파일에 대한 액세스는 파일 권한, 속성 및 소유권을 통해 제어됩니다. 이 기사에서는 파일 및 디렉토리의 권한을 재귀 적으로 변경하는 방법에 대해 설명합니다.