Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 명령어
- DBMS
- CodeBlock
- 커널패닉
- pwd
- Linux
- less
- 턱스
- 코드블럭
- IT
- printworkingdirectory
- 상대경로
- command
- VM
- 커스터마이징
- 데이터
- copy
- mkdir
- cat
- 리눅스
- 에러
- move
- RM
- 절대경로
- Touch
- MV
- CP
- Tux
- 데이터베이스
- remove
Archives
- Today
- Total
Snow flake
[command] history 명령어 본문
history 명령어는 의미 그대로 리눅스에게 내가 내렸던 명령에 대한 로그를 확인하는 명령어입니다.
# 사용법
history
위처럼 별다른 지정 없이 커맨드를 날리게 되면 과거에 사용자가 사용한 모든 커맨드를 보여줍니다. 정상 작동한 커맨드 말고도 오타를 내 작동하지 않은 커맨드 목록까지 시간 순으로 정렬하여 리스트 형식으로 보여줍니다.
# 커맨드 예시
mkdir tuxdirs
chown scott:dba tuxdirs
chmod 777 tuxdirs
# history list 확인
history
#결과
1 mkdir tuxdirs
2 chown scott:dba tuxdirs
3 chmod 777 tuxdirs
4 history
위와 같이 mkdir 커맨드부터 확인을 위해 사용한 history를 포함해 리눅스에게 명령한 모든 커맨드가 list 형식으로 출력됩니다.
# history 옵션
# -c : RAM에 존재하는 history list를 삭제(clear)
# -d offset : history 첫 번째 열인 offset 위치에 있는 history 삭제
# -a : history list에 기록되어 있는 내용을 파일로 지금 저장
# -n : history file로 부터 읽혀지지 않은 라인을 읽고 history list에 추가
# -r : history file을 읽고 history list에 내용을 추가
# -w : 현재 history를 읽어 history 파일에 씌움
# 예시
# history list를 초기화(clear) / file이 삭제되는 것은 아님
history -c
# 555번 offset(번호)에 위치한 명령어를 삭제
history -d 555
# 현재까지의 list를 파일로 저장(동일한 파일명 존재시 덮어씌움)
history -w filename
# 가장 최근에 명령한 7 line 출력
# == history | tail -7
history 7
옵션을 제외하고도 바로 직전에 사용 한 커맨드를 즉시 사용하거나, 몇 번째 커맨드를 지정해 사용하는 등 여러 활용 방안들이 많습니다.
echo "Hello"
echo "Linux!"
# !! : 바로 직전에 명령한 커맨드 실행
!!
# 결과
echo "Linux!"
Linux!
두 번의 커맨드가 실행되었지만 !! 의 경우 가장 최근에 실행한 커맨드를 사용하기에 위와 같은 결과값이 나옵니다.
# history list
history
1 cat $HISTFILE
2 history | tail -10
3 clear
4 cat MAYSON.txt
5 history
# !n : offset n에 위치한 커맨드 실행
# offset 4에 위치한 커맨드 실행
!4
# 결과
cat MAYSON.txt
history list를 확인한 뒤 offset을 지정해 원하는 커맨드를 재실행 하는 것도 가능하고, 오프셋이 아닌 사용자가 최근에 사용한 커맨드 중, 가장 최근부터 역순으로 거슬러 올라가 !-n 순으로 지정하는 것도 가능합니다.
echo "Hello"
echo "MAYSON"
# !?string : 해당 문자열을 찾아 출력
# Hello라는 string을 찾아 커맨드 실행
!?Hello
# 결과
echo "Hello"
Hello
문자열을 찾아 뽑아내는 것도 가능합니다. echo로 명령한 문자열 커맨드는 두 가지 이지만 !? 뒤에 찾고싶은 문자열을 지정했기 때문에 Hello가 포함된 커맨드가 실행됩니다.
이 외에도 HISTSIZE 파일의 환경변수 값을 수정해 history 자체를 기록되지 않게 할 수도 있고, 커맨드가 아닌 offset에 위치한 커맨드를 문자열로만 출력할 수 있는 등 익숙해지면 리눅스를 편리하게 만들어줍니다.
'Programming > Linux' 카테고리의 다른 글
[command] more 명령어 (0) | 2022.11.01 |
---|---|
[command] cat 명령어 (0) | 2022.10.31 |
[command] pwd 명령어 (0) | 2022.10.26 |
[command] id 명령어 (0) | 2022.10.25 |
[command] mv 명령어 (0) | 2022.10.24 |
Comments