4 minute read

자주 쓰이는 리눅스 명령어

1.파일 시스템 탐색

1.2 pwd

Print Work Directory의 약자이며, 현재 작업 중이거나 사용자가 위치해있는 디렉토리 경로를 보여준다.

1.3 ls

List Segments의 약자이며, 파일과 디렉토리의 모든 정보를 제공하며 특정 디렉토리와 특정 파일에 대한 내용을 제공한다. 여기에 더해 다양한 옵션을 사용하여 탐색이 가능하다.

  • ls -al :’.’으로 시작하는 숨겨진 파일을 포함해 모든 디렉토리와 파일을 보여준다.
  • ls -l : 디렉토리와 파일의 권한을 보여주는 긴 형식의 목록을 출력한다.

1: 디렉토리 파일 이름
2: 디렉토리 / 파일 생성 및 수정시간
3: 크기(Byte)
4: 그룹 계정(별도 그룹 포함 안되면 소유자 계정과 같은 아이디로 셋팅)
5: 소유자 계정
6: 실행권한

1.4 mkdir [디렉토리명]

디렉토리를 생성하는 명령어다.

1.5 cd [디렉토리명]

디렉토리를 이동하는 명령어

2.I/O 및 소유권

2.1 chmod명령어

각 디렉토리 / 파일을 읽고 쓰고 실행하는 권한을 수정하는 명령어다 r: read
w: write
x: excute

2.1.1 권한 추가 / 삭제

2.2 sudo

root권한을 부여하는 명령어다.

2.3 chown

  • sudo chown user: group [target]

파일 또는 디렉토리의 소유권을 변경하는 명령어. root의 권한이 필요하다.

3. 파일관리

3.1 touch [파일명]

파일을 생성하는 명령어다.

3.2 rm

디렉토리 / 파일을 지우는 명령어다.

  • rm -R [디렉토리명]
  • rm -f [파일명]

3.2 mv

파일을 이동하는 명령어다

  • mv file1 file2: file1을 file2로 변경
  • mv file1 /dir : file1을 dir디렉토리로 이동
  • mv file1 file2 /dir : 여러 개의 파일을 dir 디렉토리로 이동
  • mv /dir1 /dir2 : dir1 디렉토리를 dir2 디렉토리로 이름 변경

3.3 cp

파일이나 디렉토리를 한 폴더에서 다른 폴더로 복사하도록 지시하는 명령어

  • cp file1 file2 : file1을 file2라는 이름으로 복사
  • cp -f file1 file2 : 강제 복사(file2라는 파일이 이미 있을 경우 강제로 기존 file2를 지우고 복사 진행)
  • cp -r dir1 dir2 : 디렉터리 복사. 폴더 안의 모든 하위 경로와 파일들을 복사

3.4 ln

파일을 Link하는 명령어다.

  • ln -s [source] [target] : 소프트 링크
  • ln [source] [target] : 하드 링크

3.5 cat

파일의 내용을 화면에 출력, 리다이렉션 기호(‘>’)를 사용하여 새로운 파일 생성

  • cat file1 : file1의 내용을 출력
  • cat file1 file2 : file1과 file2의 내용을 출력
  • cat file1 file2 more : file1과 file2의 내용을 페이지별로 출력
  • cat file1 file2 head : file1과 file2의 내용을 처음부터 10번째 줄까지만 출력
  • cat file1 file2 tail : file1과 file2의 내용을 끝에서부터 10번째 줄까지만 출력

3.6 redirection (‘>’, ‘»’) : 화면의 출력 결과를 파일로 저장

’>’ 기호 : 기존에 있는 파일 내용을 지우고 저장
‘»’ 기호 : 기존 파일 내용 뒤에 덧붙여서 저장
‘<’ 기호 : 파일의 데이터를 명령에 입력

  • cat file1 firle2 > file3 : file1, file2의 명령 결과를 합쳐서 file3라는 파일에 저장
  • car file4 » file3 : file3에 file4의 내용 추가
  • cat < file1 : file1의 결과 출력
  • cat < file1 > file2 : file1의 출력 결과를 file2에 저장

3.7 haed [file name]

파일 또는 파이프 된 테이터의 시작을 볼 수 있다. 텍스트 처리를 많이 사용하는 사용자가 가장 많이 사용하는 Linux 명령 중 하나다. 터미널에서 많은 파일을 처리할 때마다 이 명령을 사용하여 생산성을 향상 시킬 수 있다. 기본적으로 파일의 맨 위부터 10줄을 출력한다.

3.8 tail [file name]

파일의 마지막 행을 기준으로 지정한 행까지의 파일 내용을 일부를 출력한다. 기본적으로 마지막 10줄을 출력한다. Linux에서 오류나 파일 로그를 실시간으로 확인할 때 매우 유용하게 사용한다.

3.9 less [파일이름]

less 명령어는 파일의 내용을 한 화면에 보여주는 명령어다. 특징은 vi 명령어와 다르게 파일 실행시 전체파일을 읽지 않기 때문에 파일크기가 큰 파일을 빠르게 읽을 수 있는 장점이 있다.

4.Linux 명령어 검색 및 정규 표현식

4.1 grep [문자열] [옵션] [파일이름]

검색하고자 하는 ‘문자열’이 포함된 파일을 찾아주는 명령어

4.1.1 문자열로 찾기

# 특정 파일에서 'error' 문자열 찾기
grep 'error' 파일명

# 여러개의 파일에서 'error' 문자열 찾기
grep 'error' 파일명1 파일명2

# 현재 디렉토리내에 있는 모든 파일에서 'error' 문자열 찾기
grep 'error' *

# 특정 확장자를 가진 모든 파일에서 'error' 문자열 찾기
grep 'error' *.log

4.1.2 정규표현식으로 찾기

# 특정 파일에서 문자열이 포함된 행을 찾는다.
grep '^[ab]' 파일명 

# 특정 파일에서 a로 시작하는 모든 단어를 찾는다.
grep 'a*' 파일명 

# 특정 파일에서 a로 시작하고 z로 끝나는 5자리 단어를 찾는다.
grep 'a...z' 파일명 

# 특정 파일에서 a,b,c로 시작하는 단어를 모두 찾는다.
grep [a-c] 파일명

# 특정 파일에서 apple 또는 Apple로 시작하는 단어를 모두 찾는다.
grep [aA]pple 파일명 

# 특정 파일에서 a나 b로 시작되는 모든 행을 찾는다.
grep '^[ab]' 파일명 

# 특정 파일에서 apple로 시작되고 0나 9의 숫자로 끝나로 시작되는 모든 행을 찾는다.
grep 'apple'[0-9] 파일명

4.1.3 자주 사용하는 옵션

-c : 일치하는 행의 수를 출력한다.
-i : 대소문자를 구별하지 않는다.
-v : 일치하지 않는 행만 출력한다.
-n : 포함된 행의 번호를 함께 출력한다.
-l : 패턴이 포함된 파일의 이름을 출력한다.
-w : 단어와 일치하는 행만 출력한다.
-x : 라인과 일치하는 행만 출력한다.
-r : 하위 디렉토리를 포함한 모든 파일에서 검색한다.
-m 숫자 : 최대로 표시될 수 있는 결과를 제한한다.
-E : 찾을 패턴을 정규 표현식으로 찾는다.
-F : 찾을 패턴을 문자열로 찾는다.

4.2 find

파일, 디렉토리를 찾는 명령어다.

4.3 which

명령어의 위치(경로)를 알아내는 명령어다.

5. 시스템조작

5.1 ps

  • ps -ef grep [문자열]

Process Status, 현재 시스템에서 실행중인 프로세스를 시각화한다.

5.2 kill

  • kill -9 [process.id]

해당 프로레스를 강제로 종료하는 명령어다.

5.3 uname

  • uname -a

Unix Name의 약자이며, 이름, 버전 및 기타 시스템 특정 세부 사항과 같은 시스템 정보를 얻기 위한 기본 Linux 명령어다.

5.4 reboot

  • sudo reboot 시스템을 재부팅하는 명령어다

5.5 halt

  • sudo halt -p 전원을 완전히 내려버리는 명령어다

6. 기타명령어

6.1 tar

파일을 아카이브하고 추출하는데 사용하는 명령어

6.1.1 tar로 압축하기 / 압축풀기

  • tar -cvf[파일명.tar] [폴더명] : 압축하기
  • tar -xvf[파일명.tar] : 압축풀기

6.1.2 tar.gz로 압축하기 / 압축풀기

  • tar -zcvf[파일명.tar.gz] [폴더명] : 압축하기
  • tar -zxvf[파일명.tar.gz] : 압축풀기

6.1.3 tar 옵션

-c(create) 파일을 tar로 묶음
-p 파일 권한을 저장
-v 묶거나 파일을 풀 때 과정을 화면으로 출력
-f 파일 이름을 지정
-C 경로를 지정
-x(extract) tar 압축을 풂
-z gzip으로 압축하거나 해제함

6.2 top

현재 OS의 상태를 나타내주는 명령어다

6.3 w, who

현재 리눅스에 접속한 사용자가 누군지 알아내는 명령어다. who가 더 간단히 나타낸다.

6.4 ping [target]

네트워크 설정, 인터넷의 동작상태를 확인하는 명령어

6.5 adduser, deluser

  • sudo adduser [사용자ID] : 사용자 아이디를 추가한다.
  • sudo deluser [사용자ID] : 사용자 아이디를 삭제한다.

6.6 hostname

서버의 별명을 출력하는 명령어다.


출처
ChobolT
코딩공부일지
코딩팩토리 서버구축이야기!! TickTalk

Tags:

Categories:

Updated:

Comments