Journey to Security/리눅스

리눅스 기본 명령어 모음

Cordilog 2026. 3. 17. 17:45

명령어 도움말 :man 페이지를 이용 (man-page가 없으면 패키지를 설치)

  • rpm -q man-pages
  • sudo dnf -y install man-db man-pages

--help, -h 이용 (명령어에 따라 이 옵션이 없을수도 있음)

 

1. ip -br -4 a : IPv4 주소로 간단하게 표시

2. echo $LANG : 언어셋 환경변수 설정값 출력 (한글로 설치했으면 ko_KR.UTF-8)

3. LANG=en_US.UTF-8 : 언어셋 환경변수 값 영어로 변경

4. ls -alh : 숨김파일 포함해서 용량 단위로 자세히 보기

5. ls -alt : 숨김파일 포함 시간순으로 자세히 보기

6. ls / : 최상위 디렉터리 보기

7. cd : 홈 디렉터리(home/계정) 로 이동 = cd ~ , cd /home 과 동일

8. cd - : 이전 디렉터리로 이동

9. tree : 트리 구조 보기 (tree 패키지가 필요하다.)

  • tree /boot : /boot 디렉터리를 tree 형식으로 출력    
  • tree /etc : /etc 디렉터리를 tree 형식으로 출력  

10. sudo dnf -y install tree : 관리자 권한으로 tree 패키지 설치하기

11. su - : 루트 계정으로 로그인

12. usermod -G wheel linuxadmin : linuxadmin 사용자를 관리자 그룹(wheel)에 포함시킴)

13. alias : 별칭 명령어 목록 보기

14. alias LINUX=ls : 별칭 설정(Linux는 ls로 대체된다.) 

  • C언어의 #define과 비슷한 느낌 (#define true 1 / #define false 0)

15. unalias LINUX : 별칭 제거

16. printf : 형식 출력 - $ printf  "Hello\n"

17. env : 환경 변수 설정 후 프로그램 실행,  인자 없이 사용 시 전체 목록 출력, 환경 변수 임시 변경/제거 후 실행 가능

 

env: 환경을 수정하여 실행하기 위한 도구

env는 단순히 변수를 보여주는 용도보다, "특정 환경 변수가 적용된 상태로 명령어를 실행"할 때 진가를 발휘한다.

  • 전체 출력: 옵션 없이 env 실행 시 모든 환경 변수 리스트를 보여준다.
  • 임시 설정: env NAME=VALUE command 형식을 사용하면, 현재 셸에는 영향을 주지 않고 해당 command 실행 시에만 변수를 바꾼 채 실행할 수 있다.
  • 초기화 실행: -i 옵션을 사용하면 모든 환경 변수를 무시(ignore)하고 깨끗한 상태에서 명령어를 실행한다.

18. printenv : 환경 변수 값 확인 및 출력, 특정 변수 이름만 지정하여 출력 가능, 인자로 변수명을 주면 해당 값만 출력

printenv: 확인에 특화된 도구

  • 특정 변수 조회: printenv PATH라고 입력하면 PATH의 값만 깔끔하게 출력한다. env는 이런 식의 단일 변수 조회가 불가능하다. (grep을 써야 함)
  • 리턴 코드: 존재하지 않는 변수명을 인자로 주면 아무것도 출력하지 않고 종료 상태 코드(Exit Code)로 실패를 알린다. 이는 셸 스크립트 작성 시 유용하다.

19. export : 환경변수 설정

    $ a=1         $ export a
    $ echo $a     $ bash
    $ 1           $ echo $a
    $ bash        1
    $ echo $a     $ exit
    $ exit

 

20. mkdir -p : 하위경로까지 만들기  ex. mkdir dir1/dir2

21. tree -F . : 현재 디렉터리를 출력하되 트리 형식으로 출력하되 파일의 종류를 나타내는 지시자를 파일명 뒤에 붙여줌 (.을 생략해도 현재 디렉터리를 보여줌)

 

  • / : 디렉터리 (Directory)
  • * : 실행 파일 (Executable file)
  • @ : 심볼릭 링크 (Symbolic link)
  • | : FIFO (Named pipe)
  • = : 소켓 (Socket)

22. rmdir 파일 : 빈 디렉터리 삭제 (디렉터리가 비어있지 않으면 삭제할 수 없다.)

23. rm -r 파일 : 디렉토리 삭제 옵션. 디렉터리가 비어있지 않아도 삭제함 (물어보고 삭제하려면 -ri 옵션)

24. rm 파일 : rm 명령어는 파일을 바로 삭제하므로 주의 (경고 없음)

24. rm -i 파일 : 확인 삭제. 삭제하기 전에 물어봄

  • alias rm='rm -i'  : 기본은 안 물어보고 삭제하기 때문에 위험해서 -i 옵션을 alias로 설정해서 씀.
    (이렇게 설정된 상태에서 rm -f를 하면 확인 없이 바로 삭제함)
  • alias rm='rm -i' 설정 된 상태에서 강제로 디렉터리를 삭제하려면 rm -rf [디렉터리]

25. rm -f 파일 : 강제 삭제

26. cp 원본파일 복사할디렉터리/파일 : 파일 복사 (원본 파일과 대상 디렉터리가 반드시 존재해야 함) 

  • cp /etc/hosts hosts (.) : 현재 디렉터리에 hosts 파일 복사. cp /etc/hostshosts . 와 동일

27. mkdir dirA; echo hello > dirA/hello.txt : 두 개 명령어 구분

 

28. cp -r [원본디렉터리] [복사할디렉터리] : 디렉터리 복사 (원본 디렉터리 존재해야 함)

  • cp -r dirA dirB; tree dirB

29. mv 이동시킬파일 대상디렉터리 : 파일 옮기기

30. rm -rf * : 현재 디렉터리의 모든 파일 삭제

  • rm -fv * 삭제한 파일 목록 보여줌

31. ln 파일 링크 : 하드링크 생성 

  • ln hello.txt hello2.txt : hello.txt의 하드링크를 hello2.txt 라는 링크로 생성. 
    • ls -il 또는 ll -i로 inode가 원본 파일과 같은 것을 확인할 수 있다.
  • 심볼릭 링크는 디렉터리로 링크할 수 있고 하드링크는 디렉터리로 링크할 수 없다. 

32. ln -s 파일 링크 : 심볼릭링크 생성 

  • ln -s hello.txt hello3.txt
    • ls -il 또는 ll -i로 inode 번호가 원본 파일과 다른 것을 확인할 수 있다.

33. unlink [file] : 링크 삭제 = 파일 삭제 (파일이 없으면 에러남)

34. cat << 입력종료조건 : 조건을 만날 때까지 쓴 내용을 한번에 standard output으로 출력

  • cat << 123
    > One
    > Two
    > Three
    > 123
    One
    Two
    Three

35. 리다이렉션

  • 출력 리다이렉션
    • > : 덮어쓰기
    • >> : 추가
  • 입력 리다이렉션 
    • <, <<
    • cat << EOF > hello.txt

36. install : 파일 생성, 복사, 권한 설정 등 다양한 명령어 수행

  • install /dev/null/ file1.txt : 파일 생성
  • install -m 644 /dev/null file2.txt : 권한 설정해서 파일 생성
  • install -d dirA : 디렉터리 생성
  • install /etc/hosts hosts : 파일 복사 - /etc/hosts 파일을 현재 디렉터리에 복사

37. basename : 파일명만 추출. 주로 쉘 스크립트 작성할 때 사용

  • basename /usr/bin/sort  : sort 출력
  • basename /etc/hosts : host 출력

38. dirname : 디렉터리 경로만 추출

39. file : 파일 종류 확인

  • 리눅스에서는 모든 종류의 파일들을 파일로 본다.
  • 일반 파일, 디렉터리 파일, 심볼릭 링크 파일, 블럭 장치 파일, 문자 장치 파일, 파이프 파일, 소켓 파일
  • file 명령어는 7가지 파일들 이외에 텍스트 파일인지, 실행 파일인지, 압축 파일인지도 알 수 있다. 
  파일 유형 설명 (Description) file 명령어 출력 예시 ls -l 맨 앞 글자 주요 예시 경로
1

정규파일
(일반파일)
텍스트, 바이너리, 실행 파일 등 ASCII text, ELF executable - /etc/hosts, /usr/bin/ls
압축 파일 특정 알고리즘으로 압축된 데이터 gzip compressed data - (일반파일) hosts.gz
2 디렉터리 파일과 하위 디렉터리 목록 저장 directory d /etc, /usr
3 심볼릭 링크 원본 파일을 가리키는 소프트 링크 (바로가기) symbolic link to ... l /bin/sh (보통 /bin/bash로 연결)
4 문자 장치 데이터를 바이트 단위로 전송 (터미널 등) character special c /dev/tty1, /dev/console
5 블록 장치 데이터를 블록 단위로 전송 (저장 장치 등) block special b /dev/nvme0n1, /dev/sda
6 FIFO (파이프) 프로세스 간 통신을 위한 이름 있는 파이프 fifo (named pipe) p /run/initctl
7 소켓 네트워크 또는 로컬 프로세스 간 통신 통로 socket s /run/udev/control

 

40. stat : 파일(all) 상세정보 확인

  • stat /etc/hosts
  • stat /etc
  • stat /run/initctl

41. touch 파일 :

  • 0바이트 짜리 파일을 하나 만든다.
  • 이미 존재하는 파일을 인자로 주면 Access time, modify time, change time을 현재 시간으로 갱신한다.

41. realpath 파일/디렉터리 : 절대경로 확인. 디렉터리 위치, 파일의 위치를 절대경로로 출력한다. 

  • pwd는 디렉터리의 위치만 알려준다.
  • pwd - P  : realpath . 와 동일
  • pwd - L

42. cat 파일 : 전체 내용 보기

  • cat << EOF > 파일명 으로 파일 생성 가능

43. tac 파일 : 거꾸로 보기 (실제 사용할 일은 거의 없음)

44. more 파일 : 페이지 단위 보기. 페이지 양이 많은 경우 사용. 페이지 끝에 가면 자동 종료. -h를 누르면 도움말 확인 가능.

  • more /etc/DIR_COLORS

45. less 파일 : 스크롤 보기. 페이지 끝에 가도 자동 종료되지 않기 때문에 q를 눌러서 종료.

  • less /etc/DIR_COLORS

46. head 파일 : 앞부분 보기

  • head /etc/passwd
  • head -n 3 /etc/passwd
  • head -3 /etc/passwd
  • head -n 5 /etc/passwd | cat -n  : 5줄 넘겨주고 캐시를 받아서 행번호 붙여서 보여줌. 

 

47. tail 파일 : 뒷부분 보기

  • tail -f : 실시간 보기. 주로 로그 파일의 내용을 모니터링할 때 사용한다. (실무에서는 tail -f로 보기 힘듬)
  • tail /etc/passwd
  • tail -n 3 /etc/passwd
  • tail -3 /etc/passwd
  • tail -n 5 /etc/passwd | cat -n  : 5줄 넘겨주고 캐시를 받아서 행번호 붙여서 보여줌. 

48. which :

49. nl 파일 : cat -n 과 같은 기능. 텍스트 파일에 저장된 내용을 읽어서 줄 번호를 붙여 출력한다.

50. wc 파일 [파일2] [파일3]...  : 파일별로 줄 수, 단어 수, 문자 수를 출력함

  • wc -l : 라인 수 
    • wc -l /etc/passwd : 시스템의 몇 명의 사용자가 있는지 확인
    • rpm -qa | wc -l : 시스템에 몇 개의 패키지가 깔려 있는지 확인
  • wc -w : 단어 수
  • wc -m : 글자 수

51. sort 파일 : 텍스트 파일에 저장된 내용을 정렬해서 출력한다.

  • cat << end > sort.txt
  • sort sort.txt

52. uniq 파일 : 텍스트 파일에서 중복을 제거

  • cat << eof > uniq.txt
  • uniq uniq.txt | sort

53. cut 옵션 파일 : 열 잘라내기

  • cut -d : -f 1 /etc/passwd :  :로 필드 구분해서 1번째 필드만 출력
  • cat /etc/passwd  | cut -d: -f1 :  :로 필드 구분해서 1번째 필드만 출력

 

54. paste 파일1 파일2 : 열 붙이기

  • paste paste1.txt paste2.txt
  • paste paste1.txt paste2.txt > paste3.txt

 

55. tr : 문자 변환

  • echo linux | tr a-z A-Z
    • LINUX

56. column : 열 맞춤 출력

  • -t : (table) 입력 내용의 컬럼 수를 자동으로 파악하여 표 형식으로 정렬. (텍스트 간 간격이 일정하게 맞춰짐)
  • -s : (separator) 구분자를 지정. (ex. :)
  • column -t -s : /etc/passwd 
  • cat /etc/passwd | column -t -s : 

 

57. expand 텍스트파일 : 탭을 공백으로. 텍스트 파일의 저장된 내용에서 탭(\t)을 공백으로 변경해서 출력한다.

  • echo -e "aaa \t bbb \t ccc" > expand.txt
  • cat expand.txt
  • cat -t expand.txt
  • expand expand.txt > expand2.txt
  • cat -t expand2.txt
  • expand expand.txt | cat -t

58. unexpand : 공백을 탭으로. 텍스트 파일의 저장된 내용에서 공백을 탭(\t)으로 변경해서 출력한다.

  • unexpand -a expand2.txt | cat -t
    • aaa^I bbb^I ccc
  • unexpand -a expand2.txt > unexpand.txt
  • cat -t unexpand.txt
    • aaa^I bbb^I ccc

59. strings : 바이너리 파일에서 텍스트 형태의 문자열을 추출한다. - 해킹대회, 악성코드에서 문자열 추출할 때 사용

  • ls -ld /usr/bin /usr/sbin
  • cat /usr/bin/ls
  • strings /usr/bin/ls

60. od : 파일을 문자/8진수/16진수 보기 - 텍스트, 바이너리 파일에서 출력한다.

  • echo Hello > hello.txt
  • cat hello.txt
    • Hello
  • od -c hello.txt
    • 0000000   H   e   l   l   o  \n
      0000006
  • od -x hello.txt
    • 0000000 6548 6c6c 0a6f
      0000006
  • od -x /usr/bin/ls | head
    • 0000000 457f 464c 0102 0001 0000 0000 0000 0000
      0000020 0003 003e 0001 0000 6b10 0000 0000 0000
      ..

61. xxd : 16진수 보기 - 텍스트, 바이너리 파일에서 출력한다.

  • sudo dnf - y install vim-common
  • rpm -qf /usr/bin/xxd
    • vim-common-8.2.2637-23.el9_7.x86_64
  • echo ABCDEF > xxd.txt
  • xxd xxd.txt
    • 00000000: 4142 4344 4546 0a                        ABCDEF.
  • xxd xxd.txt > xxd2.txt
  • cat xxd2.txt
    • 00000000: 4142 4344 4546 0a 
  • xxd -r xxd2.txt > xxd3.txt
  • cat xxd3.txt
    • ABCDEF

cp /usr/bin/ls . 와 동일한 효과

  • xxd /usr/bin/ls > ls.xxd
  • cat ls.xxd
  • xxd -r ls.xxd > ls
  • chmod 755 ls
  • ll /usr/bin/ls ls
    • -rwxr-xr-x. 1 root       root       140752 May  2  2025 /usr/bin/ls
      -rwxr-xr-x. 1 linuxadmin linuxadmin 140752 Mar 18 15:34 ls

 

62. grep : 문자열 검색. 텍스트 파일에서 검색한 후 출력한다.

  • alias grep
    • alias grep='grep --color=auto'
  • grep root /etc/passwd
  • grep ^root /etc/passwd
  • unalias grep
  • alias grep
    • -bash: alias: grep: not found
  • grep root /etc/passwd
    • root:x:0:0:root:/root:/bin/bash
      operator:x:11:0:operator:/root:/sbin/nologin
  • grep --color=auto root /etc/passwd
  • alias grep='grep --color=auto'
  • alias grep
    • alias grep='grep --color=auto'
  • grep root /etc/passwd
  • grep -i : 텍스트 파일에서 대소문자를 무시하고 검색한다.
  • grep -r : 재귀 검색 - 하위 디렉터리까지 파일들을 검색한다.
    • ls /etc
    • grep -r root /etc/
    • grep -r root /etc/ 2> /dev/null : 에러는 출력하지 않음

 *** 디도스 공격 널 라우팅 (null routing) - 디도스 공격이 들어오면 트래픽을 블랙홀(null route)로 우회하는 것

  • egrep : 확장 정규식 검색. 셸 스크립트 파일로 grep -E 를 실행한다. 

[linuxadmin@localhost ~]$ grep -E 'root|linuxadmin' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
linuxadmin:x:1000:1000:linuxadmin:/home/linuxadmin:/bin/bash
[linuxadmin@localhost ~]$ egrep 'root|linuxadmin' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
linuxadmin:x:1000:1000:linuxadmin:/home/linuxadmin:/bin/bash

  • fgrep : 특수문자 그대로 검색. 셸 스크립트 파일로 grep -F를 실행한다.

 

  쉘스크립트 파일로 grep -F 를 실행한다.
    #!/usr/bin/sh
    exec grep -F "$@"

    $ grep ^root /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    $ grep -F ^root /etc/passwd
    $ fgrep 'root|linuxadmin' /etc/passwd

 

63.  find : 파일 검색

파일시스템에서 모든 파일을 찾는 명령어

Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
$ find -name script1.sh
./script1.sh
$ find /etc -name passwd 2> /dev/null
/etc/pam.d/passwd
/etc/passwd

 

find 뒤에 찾을 디렉터리([path...]를 쓴다. (생략하면 현재 디렉터리 밑으로 찾음)

path는 1개 이상 쓸 수 있다. (ex. find ~tomcat/work/ /etc/home -name passwd, find --name passwd )

exec 옵션 : -exec 명령어 {} \;  명령어에서 찾은 애를 중괄호 안으로 집어넣고, 한칸 띄우고 \;으로 끝냄.

[root@victim ROOT]# find ~tomcat/work/ -name hello2\* -exec ls -l {} \;

[root@victim ROOT]# find ~tomcat/work/ -name hello2\* -exec rm -fv {} \;

 

 

 

64. locate : 빠른 파일 검색

65. updatedb :

66. which : 실행파일 경로. alias 명령어, 실행파일의 경로를 출력한다.

  • which ls
  • which mv
  • which rm
  • which aaaa

 

67. whereis : 명령 관련 위치

  • binary : 실행 파일, source : 소스 파일, manual: 매뉴얼 파일 3개를 출력한다.

68. type : 명령 종류 확인

  • alias 명령어, 내부(내장) 명령어, 외부 명령어
    • alias 명령어: 재지정 명령어
    • 내부(내장) 명령어: 셸 안에 저장된 명령어
    • 외부 명령어: 외부 디렉터리에 저장된 명령어
    • type rm
      rm is hashed (/usr/bin/rm)
      • 한번 쓴 명령어는 빠르게 찾기 위해 hash 테이블에 넣음.
      • hash : 해시 테이블 확인
      • hash -r : 해시 테이블 삭제
    • 함수: 새롭게 함수로 저장한 명령어

 

69. whatis : 한 줄 설명. 어떤 명령어인지 알고 싶을때

  •  man man  : man에 대한 도움말

1 실행 프로그램 또는 셸 명령어로 일반 사용자가 터미널에서 실행하는 명령어


2 시스템 콜 커널이 제공하는 함수
3 라이브러리 함수 C 프로그램 라이브러리 안에 있는 함수


4 특수 파일 보통 /dev 아래에 있는 장치 파일
5 파일 형식 및 규약 예: /etc/passwd 같은 설정 파일 형식

[linuxadmin@localhost ~]$ man 5 passwd


6 게임 리눅스에서 제공하는 게임 관련 문서
7 기타 매크로 패키지, 규약, 개념 설명 등
8 시스템 관리 명령어 보통 관리자(root)가 사용하는 명령어

9 커널 루틴 커널 내부 함수, 비표준 항목

 

70. apropose : 관련 명령 검색 - man  데이터베이스를 사용한다.

  • apropos file
  • apropos directory
  • apropos directory -s 1

  • apropos directory -s 3

 

* 참고 사이트: 

https://man7.org/

https://man7.org/linux/man-pages/man1/ls.1.html

 

* 참고 서적: 코드보안, 시스템 해킹쪽으로 공부한다면...

리눅스 API의 모든 것 세트
마이클 커리스크 저 / 김기주, 김영주 등역 | 에이콘출판사 | 2012년 07월 17일 | 원서 : The Linux Programming Interface: A Linux and UNIX System Programming Handbook

 

 

 

71.  ls | xargs rm : 현재 디렉토리의 모든 파일의 리스트를 인자로 넘겨받아서 지움 (파일이 너무 많을때)

  • 파일이 너무 많아지면 rm -f * 로는 못돌림.

 

72. man comm : 비교

 

73. df -i : 만들 수 있는 파일의 개수 (아이노드 개수)

 

HDD 파티션은 용량과 개수가 정해져 있다.
모든 사용자에 대해 기본값이 제한이 없기 때문에 악의적인 일반 사용자가 파일의 개수를 채우는 공격을 시도할 수 있다.
대응 방안으로 사용자마다 용량과 개수를 제한하는 Quota(쿼터)를 설정해야 한다.
만약 HDD 생성 가능 개수가 차면 더이상 파일이 생성이 되지 않는다.
단독으로 사용하는 서버는 상관이 없지만 여러 사람이 공동으로 사용하는 서버는 관리자가 반드시 Quota를 사용자마다 설정해야 한다.

 

74. comm 파일1 파일 2 : 두 파일 비교 (compare)

[linuxadmin@localhost ~]$ echo 12345 > file1.txt
[linuxadmin@localhost ~]$ echo 12345 > file2.txt
[linuxadmin@localhost ~]$ echo 1234545 > file3.txt

  • 1열(file1에만 있는 것)
  • 2열(file2에만 있는 것)
  • 3열(공통된 것)

75. diff 파일1 파일 2 : 차이 비교 (difference)

[linuxadmin@localhost ~]$ echo 12345 > file1.txt
[linuxadmin@localhost ~]$ echo 12345 > file2.txt
[linuxadmin@localhost ~]$ echo 1234545 > file3.txt

  • 1c1 : 첫번째 파일(file1.txt)의 첫번째 줄과 두번째 파일(file2.txt)의 첫번째 줄. c의 의미는 변경되었다는 뜻.
  • < : 첫번째 파일의 내용
  • > : 두번째 파일의 내용
  • --- : 두 파일의 내용을 구분하는 구분선
  • c : change, 변경
  • a : add
  • d : delete

[linuxadmin@localhost ~]$ cat << EOF > file1.txt
> hello
> 12345
> 67890
> EOF
[linuxadmin@localhost ~]$ cat << EOF > file2.txt
> HELLO
>
> 67890
> EOF

  • 1,2c1,2 : 첫번째 파일(file1.txt)의 1,2번째 줄, 두번째 파일(file2.txt)의 1,2번째 줄이 변경되었다.(c)
  • < : 첫번째 파일의 내용 (hello, 12345)
  • > : 두 번째 파일의 내용 (HELLO, 빈 줄)
  • --- : 두 파일 내용 구분하는 구분선
  • 3a4 : 첫번째 파일의 3번째 줄 다음, 두번째 파일의 4번째 줄(12345)이 추가되어 있다. (a = add)

diff 명령어는 패치 파일을 만드는 데 사용된다. 

 

[linuxadmin@localhost ~]$ vi hello_old.c
[linuxadmin@localhost ~]$ vi hello_new.c

[linuxadmin@localhost ~]$ diff -u hello_old.c hello_new.c

  • -u : undefined format 형식으로 출력 : 변경된 내용만 보여줌. 
  • --- : 원본 파일 (hello_old.c) 의 날짜, 시간 정보
  • +++ : 수정 파일 (hello_new.c)의 날짜, 시간 정보
  • @@ -1, 6 : 원본 파일에서 1번째 줄부터 6번째 줄
  • +1, 6 @@ : 새 파일에서 1번째 줄부터 6번째 줄
  • - : 이 줄이 삭제 또는 변경되었음을 의미 
  • + : 새 파일에 추가된 줄 (변경 후에 이 내용으로 바뀌었음)
  • 공백 한 칸으로 시작(노란색 표시): 바뀌지 않은 문맥 줄

패치 명령어 사용을 위해 패키지 설치

[linuxadmin@localhost ~]$ sudo dnf -y install patch

[linuxadmin@localhost ~]$ patch -p0 < myprogram.patch

  • -p0 : 패치 파일 내 파일 경로를 그대로 사용하라는 의미.
  • myprogram.patch 내용을 읽어서 패치에 적혀있는 파일 이름을 앞부분을 잘라내지 않고 그대로 현재 위치에서 적용하라는 의미. 

 

76. cmp : 바이트 비교

 

 

81. 프롬프트 창에서 Ctrl R 누르고 키워드 입력해서 history에서 명령어를 찾을 수 있음. 

 

82. 명령어를 연속으로 실행하는 방법

  • 명령어1; 명령어2; 명령어3; ...  : 앞 명령어가 에러(실패)가 발생해도 뒤 명령어가 실행된다.
  • 명령어1 && 명령어2 && 명령어3 && ... : 앞 명령어가 성공해야  뒤 명령어가 실행된다. 

$ id; id -u; id -un
$ id && id -g && id -gn  

$ aaa; pwd; id
$ aaa && pwd && id