* 이 포스팅은 devyang97.log님과 do-jeon님의 포스팅을 참고하여 리눅스마스터 2급에 자주 나온 명령어와 설명을 추가하여 작성됐습니다.
* 오탈자 혹은 잘못된 정보가 있다면 댓글달아주세요.
* 2차가공 및 재배포를 금지합니다.
* ctrl + f로 원하는 명령어를 빠르게 검색해보세요.
* 출처 : velog.io/@devyang97/ + do-jeon.tistory.com/
* 리눅스 명령어는 대소문자가 중요
* [ 명령어 ] --help를 하면 해당 명령어에 대한 설명이 나옵니다.
* man [ 명령어 ] : /[ 찾고 싶은 단어 ] 사용해서 단어 찾기가 가능합니다. ( manual )
- 각 명령어들의 도움말을 상세히 알고 싶을 때 사용
( 예 )
- man ls : ls에 대한 상세 설명을 보여줌
- man cd : cd에 대한 상세 설명을 보여줌
[ 현재 위치 확인 ]
* pwd
* 현재 작업 중인 디렉터리를 확인할 때 사용하는 명령어 ( 절대 경로 - print working directory )
$ pwd
[ 명령창 내용 삭제 ]
* clear
$ clear
[ 단축키 만들기 ]
* alias
$ alias l = 'ls -al' - l을 입력하면 ls -al의 출력이 나옴
[ 디렉터리 구조 확인 명령어 ]
* tree + 옵션 + 디렉터리
- tree 명령어는 기본적으로 존재하는 명령어가 아니기 때문에, yum이나 apt를 이용해서 설치를 해줘야함
$ yum install tree*
$ apt install tree*
$ tree -f
- 디렉터리 경로까지 표시
$ tree -d
- 디렉터리만 표시
$ tree -a
- 숨긴 파일까지 표시
$ tree -p
- 파일이 권한까지 표시
[ 디렉터리 관련 명령어 ]
* ls + 옵션 + [ 파일명 ]
- 디렉터리 목록 확인 ( list )
$ ls
$ ls -al
- 권한 정보와 숨겨진 정보들 모두 상세히 출력
- 감춰진 파일은 .이 붙는다. a 옵션을 사용하면 해당 파일을 확인할 수 있다.
$ ls -l
- 디렉터리 및 파일 리스트를 권한 정보를 포함하여 상세 출력
$ ls -a
- 디렉터리 및 파일 리스트의 숨겨진 정보들까지 모두 출력
* mkdir + 옵션 + [ 파일명 ]
- 새 디렉터리 생성 ( make directory )
$ mkdir [ 디렉토리명 ]
$ mkdir -p [ 디렉토리명/디렉토리명/... ] : 여러 디렉토리 생성
* cd
- 디렉토리 이동 ( change directory )
$ cd [ 디록토리명 ]
$ cd .. : 부모 디렉토리로 이동
- 디렉토리명이 너무 길 때 조금만 쓰고 tab 키 누르면 자동 완성
* rm
- 디렉토리 삭제 ( remove directories and their contents recusively )
$ rm -r [ 디렉토리명 ]
- 해당 디렉토리 아래에 있는 내용들도 삭제함
- 디렉터리를 삭제할 때는 -r 옵션을 줘야 한다.
$ rm -f
- 디렉터리 안의 파일을 삭제할 때 사용자에게 확인을 요구하지 않음
$ rm -i
- whrite permission이 없는 파일의 삭제를 위해 대화식으로 확인
$ rm -p
- 디렉터리 dir-name과 비어있는 부모 디렉터리를 사용자가 제거할 수 있으며, 전체 경로명이 삭제되거나 어떤 이유로 인해 경로명의 일부가 남은 것과 무관하게 표준 출력에 메시지가 출력됨
$ rm -s -p
- 선택항목 지정 시 표준 오류에 출력되는 메시지를 삭제
( 참고 ) 디렉터리 저장 위치
/ | 모든 디렉터리의 최상위 디렉터리 |
/root | 시스템 관리자 root의 사용자 홈 디렉터리 |
/boot | 부트이미지 저장 디렉터리 |
/bin | 실행파일(cp, mkdir, rmdir, mv, rm, cat) 디렉터리 |
/etc | 각종 시스템 설정 파일 저장 디렉터리 |
/home | 사용자 홈 저장 디렉터리 |
/lib | 라이브러리 저장 디렉터리 |
/usr | 리눅스의 응용프로그램이 설치되는 디렉터리 |
/usr/local | 사용자 소스를 컴파일하여 프로그램 설치 디렉터리 |
/var | 메일 로그관련, 데이터 저장 |
/dev | 하드디스크, CD-ROM 등 장치를 파일화 관리 |
/tmp | 임시저장을 위한 디렉터리 |
[ 파일 관련 명령어 ]
* touch
- 비어있는 파일 생성
$ touch [ 파일명 ]
$ touch + -amc + MMDDhhmmYY + 파일명
- 파일이나 디렉터리의 최근 업데이트 일자를 현재 시간으로 변경
( 최근 업데이트 일자는 ls - l 명령으로 확인할 수 있음 )
- 파일이나 디렉터리가 존재하지 않으면 빈 파일을 만듦
$ touch -a
- 파일의 액세스 시간을 바꿈
$ touch -m
- 파일의 갱신 시간을 바꿈
$ touch -c
- 파일명이 존재하지 않는다면 새로운 파일을 만들지 않음
* rm
- 파일 삭제
$ rm [ 파일명 ]
* cp + 옵션 + [ 원본 파일명 ] + [ 목적 파일명 / 디렉터리명 ]
- 파일 복사 ( copy )
$ cp [ 파일 위치 및 파일 이름 ] [ 목적지 파일 위치 및 파일 이름 ]
$ cp -r
- 디렉터리 내부까지 복사
$ cp -i
- 파일 복사 시 동일 파일명이 있을 시에 사용자에게 덮어쓸 것인지를 물어봄
$ cp -f
- 동일 파일명 발생 시에도 모두 강제적으로 복사함
$ cp -p
- 원본 파일의 시간 및 소우 권한 보존
* mv
- 파일, 디렉터리 이동 또는 파일 이름 변경 시 ( move )
$ mv [ 파일 위치 및 파일 이름 ] [ 목적지 파일 위치 및 파일 이름 ]
$ mv [ 원래 파일 이름 ] [ 바꾸고 싶은 파일 이름 ]
* vi [ 파일명 ] / nano [ 파일명 ]
- 파일 만들고 편집
$ vi [ 파일명 ] / $ nano [ 파일명 ]
- 새 파일 작성 혹은 존재하는 파일 수정
* cat
- 파일 내용 보기 ( concatenate )
- 파일의 내용을 출력하거나, 파일들을 합치거나, 새로운 파일을 만들거나, 다른 파일에 내용을 덧붙일 때 사용 가능
$ cat [ 파일명 ]
* locate / find / whereis
- 파일 위치 검색
$ locate *.log
- 확장자가 .log인 파일 찾기
- 디렉토리에서 찾는게 아닌 데이터베이스(mlocate)에서 찾음
$ find . *.log
- 디렉토리에서 찾음
$ whereis ls
$ whereis rm
- 실행파일 위치 찾기
* more + ncdflspu + 줄번호 + [ 파일명 ]
- 파일 내용 한 번에 한 화면씩 보여줌
$ more + -ncdflspu + 줄번호 + [ 파일명 ]
* head
- 파일의 앞부분을 보고싶은 줄 수 만큼 보여줌
- 옵션 미 지정 시 상위 10줄
$ head + -카운트 + [ 파일명 ]
* tail
- 파일의 뒷부분부터 보고싶은 줄 수 만큼 보여줌
- 옵션 미 지정 시 하위 10줄
$ tail + -카운트 + [ 파일명 ]
( 참고 )
- -F 옵션을 주고 실행하면, 파일 내용을 화면에 계속 띄워주고 파일이 변하게 되면 새로운 업데이트된 내용을 갱신해줌
- 주로 실시간으로 내용이 추가되는 로그파일을 모니터링할 때 유용하게 사용
* grep
- 파일 내부의 텍스트 내용으로 파일 찾기
$ grep + 옵션 + 패턴 + [ 파일명 ]
$ grep - c
- 파일 내에서 패턴과 일치하는 줄의 총 수를 구함
$ grep -h
- 여러 개의 파일을 검색할 때, 출력에 파일명이 나타나는 것을 방지
$ grep -i
- 대 소문자 구별하지 않음
$ grep -n
- 일치하는 줄의 줄 번호도 같이 출력
$ grep -v
- 패턴과 일치하지 않는 줄만 출력
[ 쉘 관련 명령어 ]
* grep [ 사용자명 ] /etc/passwd
- 현재 사용하고 있는 쉘 확인
* cat /etc/shells
- 현재 사용할 수 있는 쉘들의 목록 확인
* chsh -s /bin/dash [ 사용자명 ]
- 사용하고 있는 쉘 변경
* ./ex_shell sh ex_shell bash ex_shell
- 쉘 스크립트 실행 방법
( 참고 ) 쉘 관련 파일 및 디렉터리
/etc/profile | 모든 사용자에 적용되는 환경변수와 시작관련 프로그램 설정 지정파일 |
/etc/bashrc | 모든 사용자에게 적용되는 alias와 함수를 설정 |
~/.bash_profile | 개인 사용자의 환경 설정과 시작 프로그램 설정 |
~/.bashrc | 개인 사용자가 정의한 alias와 함수들이 있는 파일 |
~/.bash_logout | 개인 사용자가 로그아웃할 때 수행하는 설정을 지정하는 파일 |
[ 권한 관련 명령어 ]
* ls
- 파일 허가권, 소유권 확인
$ ls
$ ls -l [ 파일명 ]
- 결과 : -rwxrw-rw- 1 user user2 80 dec 29 17:15 [ 파일명 ]
- -rwxrw-rw
[d] : 디렉터리 파일
[s] : 소켓
[b] : 블록형 장치 파일 ( 주로 디스크. /dev/sda )
[c] : 문자형 장치 파일 ( 주로 입출력에 사용 )
[|] : 기호(심볼릭) 링크
[p] : 파이프파일
[-] : 일반적인 파일 ( 텍스트 파일, 바이너리 파일 등 보편적으로 쓰이는 파일 )
- user : 소유권을 가진 사용자
- user2 : 그룹 소유권
* chmod / chown / chgrp
- 권한 변경
- 특정 파일 또는 디렉터리의 퍼미션 수정
- 권한 변경은 문자모드(알파벳 기호로 사용)와 숫자모드(8진수의 값을 사용)가 있음
- 권한의 표시 : r, w, x
- 사용자의 지정 : u, g, o, a
- 설정 기호 : +(더하기), -(빼기), =(초기화한 후 지정한 권한만 설정)
- 숫자모드(4, 2, 1, 0)을 조합
- r = 4 / w = 2 / x = 1 / 권한 없음 = 0
$ chmod ugo+rwx [ 파일명 ]
= $ chmod a+rwx [ 파일명 ]
= $ chmod 777 [ 파일명 ]
- 모든 사용자에게 권한을 줌
$ chmod 755 [ 파일명 ]
- [ 파일명 ] 파일에 소유자는 읽기, 쓰기, 실행이 가능하고 그룹 및 다른 사용자는 읽기와 실행만 가능
$ chmod o=r /etc/fstab
- /etc/fstab라는 디렉터리를 다른 사용자가 읽을 수만 있도록 설정
- = : 기존 권한 초기화한 후 지정한 권한 설정
$ chmod -R go-rwx
- 하위 디렉터리를 포함한 현재 디렉터리의 모든 파일에 대해 그룹 및 다른 사용자가 접근할 수 없도록 설정
$ chown + 옵션 + [ 파일명 ]
- 파일이나 디렉터리의 소유자, 소유 그룹 수정
$ chown + 옵션
- 파일이나 디렉터리의 소유 그룹 수정
[ 패키지 매니저 ( Package Manager ) ]
- 기본으로 내장되어 있는 패키지(프로그램)가 아닌 새로운 패키지(프로그램)를 설치하려고 할 때 도와주는 소프트웨어
- apt, yum 등
* apt-get update
- 패키지 목록 업데이트
- 설치 전 패키지 매니저를 통해 설치할 수 있는 패키지 목록들을 업데이트함
- 패키지가 설치되는 것이 아닌 패키지 목록들이 업데이트되는 것
$ apt-get update
* apt-cache search [ 패키지명 ]
- 패키지 찾기
$ apt-cache search [ 패키지명 ]
- 저장된 패키지 목록 중에 해당 패키지 찾기
- 관련된 패키지 목록까지 나옴
* apt-get install [ 패키지명 ]
- 패키지 설치
$ apt-get install [ 패키지명 ]
* apt-get upgrade
- 패키지 업그레이드
$ apt-get upgrade
$ apt-get upgrade [ 패키지명 ]
* apt-get remove
- 패키지 삭제
$ apt-get remove [ 패키지명 ]
[ 프로세스 관련 명령어 ]
- 프로세스 : 실행중인 프로그램을 프로세서라고 하고 실행시에 번호(PID)가 할당되어 관리된다. 프로세스는 크게 두 가지로 나눌 수 있는데 사용자의 입력에 관계없이 실행되는 백그라운드, 프로세스와 명령 입력 후 수행 종료까지 기다려야하는 포어그라운드 프로세스가 있다.
* ps
- 프로세스 목록 확인
$ ps 명령 옵션
- USER : BSD 계열에서 나타나는 항목으로 프로세스 사용자의 이름
- VSZ : K단위, 페이지 단위의 가상메모리 사용량
- RSS : 실제 메모리 사용량 ( Resident Set Size )
- TTY : 프로세스와 연결된 터미널
- STAT : 현재 프로세스의 상태 코드
- TIME : 총 CPU 사용 시간
- PPID : 부모 프로세스의 PID
- PID : 프로세스의 식별 번호
- PRI : 실제 실행 우선 순위
* fg
- 작업을 전면 작업으로 변환하는 것 ( foreground )
- 모니터에 실행되는 모습을 사용자에게 직접 보이며 작업하는 것
* bg
- 작업을 후면 작업으로 전환하는 것 ( background )
- 사용자의 눈에는 실행되는 모습이 보이지 않으면서도 실제로는 일을 하는 것
$ 명령어 &
- 후면 작업으로 전환
* ps aux
- 백그라운드 프로세스 목록까지 확인
$ ps aux
$ ps aux | grep apache2
- 'ps aux'의 출력에서 apache2가 포함된 행 출력
* kill
- 프로세스 강제 종료
- 특정 프로세스를 정해서 종료하고 싶을 때 사용, 보통 kill 명령어는 ps 명령어 다음에 사용
$ kill [ pid ]
$ killall
- 특정 프로세스를 모두 종료
$ killall5
- 모든 프로세스 종료
* top / htop
- 그 외 프로세스 목록 확인 명령어
$ top
$ htop - top과 비슷하지만, 시각적인 측면에서 더 좋음
[ sudo - super user do ]
* 리눅스는 다중 사용자 운영체제이며 사용자마다 어떤 일에 대한 권한이 있다.
* 중요한 일에 대한 권한은 super user(root)만 가지고 있으며 super user의 권한이 필요할 때 sudo를 사용한다.
* 직접 root 계정에 접속해서 명령어를 실행 시킬 수도 있지만, 안전을 위해 일반 사용자로 로그인한 후 sudo를 사용해야한다.
* ~$로 끝나면 일반 사용자
* ~#로 끝나면 root 사용자
* id / who
- 다중 사용자
$ id
- 현재 접속한 계정의 정보 확인
$ who
- 이 컴퓨터에 누가 접속해있는지 확인
* sudo useradd / sudo adduser
- 사용자 추가
$ sudo useradd -m [ 사용자명 ] - /home에서 확인 가능
- 이렇게 만들면 권한이 없기 때문에 sudo 명령어 사용 불가
$ sudo adduser [ 사용자명 ]
- 계정 생성 시 비밀번호까지 입력받으며 기본 정보를 바로 입력시켜줄 수 있음
- 홈 디렉토리 또한 자동으로 생성됨
* sudo userdel
- 사용자 삭제
$ sudo userdel localuser
- localusesr 이름의 사용자 삭제
* sudo addgroup
- 그룹 추가
$ sudo addgroup localgroup
- localgroup 신규 등록
* sudo groupdel
- 그룹 삭제
$ sudo groupdel localgroup
* sudo usermod
- sudo 사용할 수 있도록 변경
$ sudo usermod -aG sudo [ 사용자명 ]
# grep "sudo" /etc/group 에서 확인
* sudo passwd
- 비밀번호 설정 ( 설치 후 필수로 해야할 것 )
$ sudo passwd [ 사용자명 ]
* su - [ 사용자명 ]
- 로그인 ( su 사용 )
$ su - [ 사용자명 ]
[ cron ]
- 정기적으로 실행시키고 싶은 작업이 있을 때 사용
- 시스템 운영에 필요한 작업은 root 권한으로 /etc/crontab에 등록해서 주기적으로 수행할 수 있고, 사용자는 crontab이라는 명령을 수행해서 등록
$ crontab -l
- 설정된 crontab의 내용 출력
$ crontab -e
- crontab의 내용 작성 및 수정 ( 처음 실행했을 땐 에디터 선택해야함 )
$ crontab -r
- crontab의 내용 삭제
$ crontab -u
- root 사용자가 특정 사용자의 crontab 파일을 다룰 때 사용
$ crontab -e -u user
- user 사용자의 crontab 내용을 작성하거나 수정
m h dom mon dow command
- m : 분 주기 ( 10 : 매 시간 10분에 한 번 / */1 : 1분에 한 번 )
- h : 시간 주기 ( * : 시간에 상관없이 / 1 : 매 1시에 )
- dom : day of month ( 24 : 매 달 24일에 한 번 )
- mon : month
- dow : day of weeek ( 요일 )
- command : 주기적으로 실행할 명령어
[ vi 에디터 관련 ]
- vi는 다른 편집기들과 다르게 모드형 편집기이다.
모드 | 역할 및 특징 |
명령모드 | - 기본이 되는 모드로 커서의 이동, 수정, 삭제, 복사, 붙이기, 탐색등을 한다. - 입력모드 전환키 : i, a, o, l, A, O - 명령모드로 다시 전환 : Esc 키 |
입력모드 | - 글자를 입력하는 문서를 만드는 모드 |
ex 명령모드 | - 명령모드에서 ':'키를 입력했을 때 화면 맨 아랫줄에서 명령을 수행하는 모드로 저장, 종료, 탐색, 치환 및 vi 환경설정 등의 역할을 하는 모드 |
* vi 입력모드로 전환하기
명령키 | 설명 |
i | 현재 커서 앞에 입력 |
a | 현재 커서 뒤에 입력 |
o | 커서가 위치한 행의 다음 행에 입력 |
I ( 대문자 i ) | 커서가 위치한 행의 첫 컬럼으로 이동하여 입력 |
A | 커서가 위치한 행의 마지막 컬럼으로 이동하여 입력 |
O | 커서가 위치한 행의 이전 행에 입력 |
* 사용 예
$ vi +15 index.html
- 커서를 15번째 줄로 보낸다.
$ vi -c 15 index.html
- 커서를 15번째 줄로 보낸다.(위와 동일)
$ vi + index.html
- 커서의 위치를 마지막 라인에 둔다.
$ vi -r
- vi 작업 중 비정상적으로 종료되어 생성된 스왑 파일의 목록을 출력한다. 작업중이던 파일명이 a.txt이면 같은 디렉터리내에 .a.txt.swp라는 이름의 스왑 파일 생성
$ vi -r a.txt - a.txt가 비정상적인 종료가 발생한 경우 스왑 파일(.a.txt.swp)의 내용을 불러온다. 이울러 작업 후에는 스왑 파일인 .a.txt.swp 파일을 삭제하도록 한다.
* vi 관련 명령어
명령 | 설명 |
vi 커서 이동하기 | |
h | 커서를 왼쪽으로 이동 |
i | 커서를 아래로 이동 |
k | 커서를 위로 이동 |
l | 커서를 오른쪽으로 이동 |
$ | 줄의 맨 끝으로 이동 |
vi 명령 취소하기 | |
u | 명령 취소 |
U | 해당 행에서 한 모든 명령 취소 |
:e! | 마지막으로 저정한 내용 이후의 것을 모두 취소 |
vi 범위 지정 | |
1, $, % | 1행부터 마지막 행까지 범위 지정 |
1,. | 1행부터 커서가 있는 행까지 지정 |
.,$ | 커서가 있는 행부터 마지막 행까지 지정 |
.,.+2 | 현재 행과 두번째 아랫행까지 지정 |
10,20 | 10행부터 20행까지 지정 |
vi 내용 검색 | |
/문자열 | 문자열을 커서 아래 방향으로 검색 |
?문자열 | 문자열을 커서 위 방향으로 검색 |
n | 원래 방향으로 다음 문자열 검색 |
N | 반대 방향으로 다음 문자열 검색 |
vi 내용 치환 | |
:s/[ 대상문자열 ]/ [ 바꿀문자열 ] |
커서가 위치한 행에서 첫번째로 나오는 대상문자열을 바꿀 문자열로 바꿈 |
:%s[ 대상문자열 ]/ [ 바꿀문자열 ] |
파일 전체에서 모든 대상문자열을 바꿀문자열로 바꿈 |
:[ 범위 ] s [ 대상문자열 ] / [ 바꿀 문자열 ] |
범위 내 모든 각 행에서 첫 번째로 나오는 대상문자열을 바꿀 문자열로 바꿈 |
:[ 범위 ] s [ 대상문자열 ] / [ 바꿀문자열]g |
범위 내 모든 행에서 대상문자열을 바꿀문자열로 바꿈 |
:[ 범위 ] s [ 대상문자열 ] / [ 바꿀문자열 ]gc |
범위 내 모든 행에서 대상문자열을 바꿀문자열로 바꾸되 수정할지 여부를 물음 |
vi 내용 복사하기 | |
yy [ 복사할 행 수 ] YY |
현재 커서가 위치한 줄을 버퍼에 복사 |
dd [ 잘라내기 할 행 수 ] dd |
커서가 위치한 행을 잘라내기함 삭제와 같은 명령어 dd 앞에 잘라내기할 행 숫자 입력 가능 |
p(소문자) | 버퍼에 들어있는 내용으로 현재 커서가 위치한 줄 아래에 붙임 |
P(대문자) | 버퍼에 들어있는 내용으로 현재 커서가 위치한 줄의 위에 붙임 |
vi 내용 수정하기 | |
r | 커서가 위치한 글자를 다른 글자로 수정 |
cw [ 수정할 단어 수 ] cw |
커서 위치에서부터 단어의 끝까지 수정 숫자 cw는 커서 위치로부터 지정한 숫자의 단어만큼 수정 |
s [ 수정할 글자 수 ] s |
커서 위치로부터 ESC키를 입력할 때 까지 수정 숫자 s는 커서 위치로부터 지정한 숫자만의 글자를 수정 |
cc | 커서가 위치한 행의 내용을 모두 수정 |
C | 커서 위치로부터 행의 끝까지 수정 |
vi 내용 삭제하기 | |
x [ 삭제할 글자 수] x |
커서가 위치한 글자를 삭제 x 앞에 삭제할 글자 수 지정 가능 |
dw [ 삭제할 단어 수 ] dw |
커서가 위치한 단어를 삭제 dw 앞에 삭제할 단어 수 지정 가능 |
dd [ 삭제할 행 수 ] dd |
현재 커서가 위치한 줄을 삭제 dd 앞에 삭제할 행 수 지정 가능 |
D | 커서 위치로부터 행의 끝까지 삭제 |
ex 명령 모드 | |
:w | 작업중인 내용을 저장 |
:w 파일명 | 지정한 '파일명'으로 저장 |
:w! | 무조건 저장한다. ( 읽기 전용 파일시 사용 ) |
:q | 종료한다. 수정된 사항 있으면 종료안됨 |
:wq | 변경된 내용을 저장하고 종료 |
:wq 파일명 | 지정한 파일명으로 저장 |
:wq! | 무조건 저장 종료한다. |
:q! | 저장하지 않고 무조건 종료 |
vi 화면 이동하기 | |
Ctrl + u | 화면의 절반만큼 위로 이동 |
Ctrl + o | 화면의 절반만큼 아래로 이동 |
Ctrl + b Page Up |
한 화면 위로 이동 |
Ctrl + f Page Down |
한 화면 아래로 이동 |
Ctrl + y | 화면을 한 행 위로 이동 |
Ctrl + e | 화면을 한 행 아래로 이동 |
* vi 환경설정
* vi 환경설정 방법
- 사용자 홈 디렉터리에 .exrc파일로 저장
( vi 시작할 때 자동으로 이 설정파일을 읽어 적용 )
- 쉘의 환경변수 EXINIT에 지정
- vi의 마지막 행 모드에서 명령으로 설정
( vi가 종료될 때 설정이 초기화 )
$ set nu, se nu, set number
- 행의 앞에 행 번호 표시
$ set nonu
- 행의 앞에 붙은 행 번호 표시를 없앰
$ set al
- 엔터키 입력 다음 행으로 이동했을 때 위 줄과 같은 열에 커서를 위치시킴
$ set noal
- al설정을 해제 ( = set noautoindent )
$ set
- 주요 환경변수를 보여줌
$ set all
- 설정되어 있는 모든 환경변수와 값을 보여줌
$ set ts=10
- 탭 크기를 10으로 설정 ( tabstop )
$ set list
- 눈에 보이지 않는 특수문자를 표시
$ set nolist
- 특수문자 감춤
$ set showmode
- 현재 모드 표시
$ set noshowmode
- 현재모드 감춤
[ tar 압축관련 ]
- 여러 파일을 하나의 파일로 묶거나 풀어주는 명령어
- 지원되는 압축 형식 : compress(tar.Z), gzip(tar.gz), bzip(tar.bz2), xz(tar.xz)
* tar 명령 옵션
옵션 | 내용 |
-c | 지정한 파일이나 디렉터리를 하나로 묶어 새로운 tar 파일을 생성 |
-x | 생성된 tar 파일을 품 |
-v | 어떤 명령을 실행할 때 대상이 되고 있는 파일을 보여줌 |
-r | 기존의 tar 파일 뒤에 파일을 추가 |
-t | tar 파일 안에 묶여 있는 파일의 목록을 출력 |
-p | 모든 퍼미션 정보를 유지 |
-f 파일명 | 작업대상이 되는 tar 파일의 이름을 지정 |
-m | 파일의 변경 시간 정보를 유지하지 않음 |
-Z | compress 관련 옵션 tar.Z에 사용 |
-z | gzip 관련 옵션 tar.gz에 사용 |
-j | bzip2 관련 옵션 tar.bz2에 사용 |
-J | xz관련 옵션 tar.xz에 사용 |
$ tar cf test.tar user/
- user라는 디렉터리 서브 디렉터리의 모든 파일을 test.tar로 묶는다.
$ tar xvf test.tar
- 현재 디렉터리에 test.tar 파일을 푼다.
$ tar rvf test.tar test2.txt test3.c
- 현재 디렉터리에 있는 test2.txt와 test.c라는 파일을 test.tar라는 파일에 추가로 묶는다.
$ tar zcvf test.tar.gz
- gzip 압축과 동시에 test.tar.gz파일로 묶는다.
$ tar zxvf php-4.0.4.tar.gz
- gzip으로 압축한 phhp-4.0.4.tar.bz2 파일을 푼다.
$ tar Jxvf php-5.5.4.tar.xz -c /usr/local/src
- xz로 압축된 php-5.5.4.tar.xz를 /usr/local/src에 푼다.
[ 시스템 종료 ]
* shutdown 옵션 + 시간 + 메시지
- 시스템을 종료할 때 사용되는 명령어
$ shutdown -t
- n t 옵션 뒤에 n초를 명시해서, 경고 메시지를 보낸 후 n초 후에 kill 시그널을 보냄
$ shutdown -h
- shutdown시 halt를 실행
$ shutdown -r
- 시스템 종료를 완료하고 나서 다시 부팅 과정을 수행 ( 리부팅 )
$ shutdown -c
- 이미 예약되어 있는 shutdown을 취소
$ shutdown -k
- 모든 동작을 제대로 수행하지만 시스템을 종료할 시간이 되면 아무것도 하지 않음
'OS > Linux' 카테고리의 다른 글
[ Bash Shell ] sed 명령어 (0) | 2021.04.08 |
---|
댓글