본문 바로가기

Tools & Utilities/Linux (and Windows)

[Linux] 리눅스 기본 명령어들(commands) 간단 정리!!

(추후 공부 진도에 따라 글이 계속 수정될 수 있음.)

 

1. ls (list)

: 현재 위치 또는 특정 경로의 Directory 안에 있는, 파일과 Directory 리스트를 출력하는 명령어이다.

 

`$ ls` : 현재 Directory의 내용을 출력

`$ ls <directory>` : 원하는 Directory의 내용을 출력

`$ ls -a` : all. 숨겨진 파일까지 포함해서 출력

`$ ls -l` : long. 파일 출력 형식을 긴 목록 형식으로 출력. 해당 파일의 권한, 크기 등 자세한 정보 확인 가능.

 

2. cd (change directory)

: 현재 작업 Directory에서 다른 Directory로 작업 경로를 이동할 때 사용하는 명령어.

 

` cd <directory>` : 원하는 Directory로 이동

 

상대경로와 절대경로 사용 가능. 

상대경로 : 현재 디렉토리를 기준으로 하는 경로.

`.` : 현재 Directory. (현재 경로를 표현할 때는 `./`와 동일한 의미.)

`..` : 현재 Directory의 상위 Directory.

`/` : 최상위 Directory, 즉 root Directory.

`~` : login한 User의 home Directory. (나는 User명이 server라서 `/home/server`)

**이때, 경로 중에 포함된 `./`는 생략 가능. (ex. `./home/server` = `home/server`)

 

절대경로 : root Directory부터 시작되는 완벽한 경로.

pwd 써서 출력되는 결과가 절대경로임.

바탕화면의 절대경로는 (내 기준) `/home/server/Desktop/`

 

 

3. pwd (print working directory)

: 현재 작업 Directory의 절대 경로를 출력. 현재 Directory의 절대 경로를 찾기 위해 사용.

`$ pwd` : 절대경로 출력.

ls, cd, pwd를 갖고 놀아본 예시.

 

4. Cat (concatenate : 연결하다, 사슬같이 잇다)

: 파일의 내용을 보기위해 사용하는 명령어.

`$ cat <filename>` : 해당 파일의 내용 출력

여러 파일을 나열하면 파일을 연결해서 출력해줌. (단, 사이에 줄 개행이 들어감.)

 

텍스트 파일을 만들고 읽어본 결과.
두 파일 연결해서 출력.

5. mv (move)

: 특정 파일이나 디렉토리를 선택한 디렉토리로 이동시키기 위해 사용하는 명령어.

: 파일이나 디렉토리 이름을 변경하는 데도 쓰임.

`$ mv <filename> <directory>` : 파일 이동. 디렉토리도 동일.

`$ mv file1 file2 file3 <directory>` : 여러 파일을 한꺼번에 선택한 디렉토리로 옮길 수 있음.

`$ mv <filename> <renamed filename>` : 파일 이름을 변경할 수 있음. 디렉토리도 동일.

 

** 주의!! `$ mv original.txt renamed.txt <directory>` 와 같은 식으로 파일 이름 변경과 이동을 동시에 하려 하면 안됨. 저렇게 하면 original.txt와 renamed.txt 두 파일을 한꺼번에 저 디렉토리로 옮기는 명령어가 됨. 그러나 renamed.txt는 존재하지 않을 것이므로, 최종적으론 original.txt만 옮겨짐.

 

6. mkdir (make directory)

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

`$ mkdir <directory>` : 디렉토리 생성

 

 

7. rmdir (remove directory)

: 특정 디렉토리를 삭제하는 명령어.

: 디렉토리에는 파일 또는 하위 디렉토리가 없어야 함.

: 디렉터리의 모든 항목을 지우려면 'rm -r' 명령을 사용.

`$ rmdir <directory>` : 해당 디렉토리를 삭제.

 

** not empty directory에 rmdir 사용하면? -> `rmdir: failed to remove <filename>: Directory not empty` 출력됨.

** `rmdir .` or `rmdir ./` -> 삭제 불가능. 리눅스는 현재 디렉토리는 삭제하지 못하게 막음.

(상대경로 자체는 인수로 사용 가능함.)

 

 

8. rm (remove)

: 특정 파일을 삭제하는 명령어.

`$ rm <filename> : 선택한 파일 삭제. (기본적으로 삭제 여부 묻지 않음.)

`$ rm -i <filename>` : 삭제 시 정말 삭제할 시 확인하는 메시지를 표시함. (i : interactive)

`$ rm -f <filename>` : 삭제 시 확인하지 않고 바로 삭제하며, 삭제 불가 파일이나 존재하지 않는 파일에 대해 오류 메시지를 표시하지 않음. (f : force)

 

`$ rm -r <directory>` : 선택한 디렉토리 삭제. (r : recursive)

`$ rm -rf <directory>` : 선택한 디렉토리를 강제로 삭제.(사용함에 있어 주의해야함.)

`$ rm -ri <directory>` : 선택한 디렉토리와 하위 디렉토리를 삭제하긴 하는데, 매 삭제마다 확인 메시지를 표시함.

$ rm -ri 예시.

 

`$ rm file1.txt file2.txt file3.txt` : 여러 파일 한꺼번에 삭제 가능.

`$ rm *` : 현재 디렉토리의 모든 파일을 삭제.

`$ rm  *.txt` : .txt 같이 특정 확장자를 가진 모든 파일 삭제 가능.

`$ rm file*.txt` : file로 시작하고 .txt로 끝나는 모든 파일을 삭제.(ex. file1.txt, file2.txt)

**디렉토리도 똑같이 여러 디렉토리 한꺼번에 삭제하거나, `$ rm -r dirname*` 처럼 조건부 삭제 가능.

 

9. cp (copy)

: 파일이나 디렉토리를 복사함.

`$ cp <filename1> <filename2>` : <filename1>을 <filename2>라는 이름으로 바꿔서 복사.

`$ cp -r <directory1> <directory2>` : 디렉터리도 동일.

 

 

10. touch

: 크기가 0인 새 파일을 생성.

: 이미 그 파일이 존재하면, 파일의 최종 수정 시간을 현재 시각으로 변경.

`$ touch <file>` : <file>이라는 빈 파일 생성.

 

 

11. clear

: 현재 보고 있는 터미널 화면을 깨끗하게 지워줌.

`$ clear`

 

12. exit

: 터미널 창을 닫음. 창 오른쪽 위에 있는 X 버튼을 클릭하는 것과 동일한 기능.

 

 

 

 


유용한 글 링크들

https://www.mireene.com/webimg/linux_tip1.htm