IT공부

간단한 리눅스쉘 명령어 익히기

직일구 2024. 6. 8. 16:01
728x90
반응형

 

AWS에서 사용하는 EC2 서버의 운영체제는 리눅스이다. 

 

리눅스는 유닉스라는 운영체제에서 파생되어 나온 운영체제로, 명령어가 유닉스와 거의 대동소이하다. 

 

그러면 여기서 유닉스 쉘 (Unix Sehll) 이라는 용어를 접하게 될텐데, 

유닉스 쉘유닉스 운영체제와 유닉스 계통 시스템을 위한 사용자 인터페이스를 제공하는 기능이다. 

 

유닉스는 문자열 입력으로 쉘을 실행하여 컴퓨터를 컨트롤 할 수 있다. 

 

유닉스의 기본 명령어를 다음과 같다. 

 



1. ls (list)
디렉토리의 파일과 디렉토리를 나열한다.

기본적으로는 현재 위치에 있는 파일과 디렉토리를 보여주나, 

숨김 폴더나, 숨김파일은 보여주지 않는다. 

따라서, 이를 위해서는 명령어 뒤에 옵션을 주어야 한다. 

 

예:

 -l : 자세한 정보를 포함하여 목록을 보여준다). >> ls -l

 -a : 숨김속성이 있는 것까지 모두 나열 >> ls -al

 -F : 이름 끝에 기호를 덧붙여서 파일의 종류를 표시. 예를 들어, 

        / : 디렉토리를 의미

        * : 실행가능한 파일을 의미

>> ls -alF

 

2. cd (change directory)
현재 작업 디렉토리를 변경한다.
예: cd /home/user (사용자의 홈 디렉토리로 이동한다)

 

상위 디렉토리로 이동하고자 하는 경우엔, cd.. (마침표 2개) 를 입력하면 된다. 

. (마침표 1개) 는 현재위치를,  .. (마침표 2개)는 상위위치를 나타낸다. 

 

3. pwd (print working directory)
현재 작업 디렉토리의 경로를 출력한다.
예: pwd

 

4. cp (copy)
파일이나 디렉토리를 복사한다.
예: cp source.txt destination.txt (source.txt를 destination.txt로 복사한다)

 

예를 들면, cp test1.txt test2.txt 라는 명령어를 실행하면, test1 을 test2 로 복사한다. 

단, 기존에 test2 라는 파일이 있었다면, 그 파일에 덮어쓰기가 되므로 주의해서 사용해야 한다. 

 

이렇게 덮어쓰기를 방지하기 위해서는 -l 이라는 옵션을 주면 덮어쓰기를 방지할 수 있다. 

 

옵션 -r 을 사용하면 디렉토리 전체를 복사할 수 있다. 

 

 

5. mv (move)
파일이나 디렉토리를 이동하거나 이름을 변경한다.
예: mv oldname.txt newname.txt (oldname.txt의 이름을 newname.txt로 변경한다)

 

mv 명령어는 뒤에 나오는 대상이 디렉토리인 경우엔, 첫번째 대상을 해당 디렉토리로 이동시키는데, 해당 디렉토리가 없는 경우엔, 

파일 이름을 변경하는 명령어로 인식하고 실행한다. 


6. rm (remove)
파일을 삭제한다.
예: rm filename.txt (filename.txt 파일을 삭제한다)
디렉토리를 삭제하려면 -r 옵션을 사용한다: rm -r directory   (해당 디렉토리가 비어있지 않더라도 무조건 삭제함)

 

명령어를 실행하면, 별도의 경고없이 삭제하므로 주의해야 한다. 지워진 디렉토리나 파일은 복구가 불가하다. 


7. mkdir (make directory)
새로운 디렉토리를 생성한다.
예: mkdir newdirectory


8. rmdir (remove directory)
비어있는 디렉토리를 삭제한다.
예: rmdir directory

 

디렉토리 안이 비어있지 않는다면 해당 디렉토리를 삭제할 수가 없다. 

그래서 이 rmdir 명령어보다는 위에 6번에 소개한 rm -r 명령어를 더 자주 사용한다. 

 

9. touch
파일의 생성 시간과 수정 시간을 변경하거나 새로운 빈 파일을 생성한다.
예: touch newfile.txt (newfile.txt 파일을 생성한다)

 

10. cat (concatenate)
파일의 내용을 출력하거나 연결한다.
예: cat file.txt (file.txt의 내용을 출력한다)

 

11. echo
주어진 문자열을 출력한다.
예: echo Hello, World!

 

12. man (manual)
명령어의 매뉴얼 페이지를 보여준다.
예: man ls (ls 명령어의 매뉴얼 페이지를 출력한다)

 

13. grep
파일 내에서 특정 문자열을 검색한다.
예: grep "searchstring" filename.txt (filename.txt에서 "searchstring"을 검색한다)

 

14. find
파일 시스템에서 파일이나 디렉토리를 찾는다.
예: find / -name "filename.txt" (/ 디렉토리에서 "filename.txt"를 찾는다)


15. chmod (change mode)
파일이나 디렉토리의 권한을 변경한다.
예: chmod 755 filename.txt (filename.txt의 권한을 755로 설정한다)


16. chown (change owner)
파일이나 디렉토리의 소유자와 그룹을 변경한다.
예: chown user:group filename.txt (filename.txt의 소유자를 user, 그룹을 group으로 변경한다)

 

17. ps (process status)
현재 실행 중인 프로세스를 보여다.
예: ps -ef (모든 프로세스의 상세 정보를 출력한다)

 

18. kill
프로세스를 종료한다.
예: kill 1234 (프로세스 ID가 1234인 프로세스를 종료한다)

 

19. top
실시간으로 시스템의 프로세스와 자원 사용 현황을 보여준다.
예: top


20. df (disk free)
파일 시스템의 디스크 사용량을 보여준다.
예: df -h (휴먼 리더블 포맷으로 디스크 사용량을 출력한다)

 

21. du (disk usage)
특정 디렉토리의 디스크 사용량을 요약한다.
예: du -sh /home/user (사용자 홈 디렉토리의 총 디스크 사용량을 출력한다)


이 명령어들은 유닉스 시스템에서 자주 사용되며, 각각의 명령어는 다양한 옵션을 제공하여 여러 가지 방식으로 활용할 수 있다.

명령어에 대한 더 자세한 정보를 원한다면 man 명령어를 사용하여 매뉴얼 페이지를 참조할 수 있다.

728x90
반응형