리눅스를 공부하면서 명령어를 숙지해야 할 상황이 생겨
부랴부랴 명령어를 공부 중인데 외워야 할 명령어가 너무 너무 많다 ...
내 기준에서 꼭 필요하다고 생각되는 명령어 몇개를 정리하려고 한다.
1. ls (List)
- ls : 현재 디렉토리의 모든 파일 및 폴더를 기본 형식으로 보여준다.
- ls -l : 파일 및 폴더에 대한 자세한 정보와 함께 리스트업 한다.
- ls -a : 숨겨진 파일을 포함하여 모든 파일을 보여준다.
2. cd (Change Directory)
- cd 는 디렉토리를 변경한다.
- cd 9999.개념정리 : 현재 디렉토리에서 '9999.개념정리'라는 이름의 폴더로 이동한다.
- cd .. : 현재 디렉토리의 상위 폴더로 이동한다. (즉, 되돌아간다.)
3. pwd (Print Working Directory)
- pwd : 현재 작업 중인 디렉토리의 경로를 표시한다.
4. mkdir (Make Directory)
- mkdir은 새로운 디렉토리(폴더)를 생성한다.
- mkdir new_folder : 현재 디렉토리에 ' new_folder '라는 이름의 새 디렉토리를 만든다.
- mkdir -p folder1/folder2 : 'folder1'내에 'folder2'를 생성한다. -p는 상위 디렉토리가 없는 경우, 그 상위 디렉토리를 생성하는 옵션이다.
5. rmdir (Remove Directory)
- rmdir은 디렉토리를 삭제한다.
- rmdir old_folder : 'old_folder'라는 이름으 디렉토리를 삭제한다.
- rmdir은 디렉토리가 비어있을 때만 작동한다. 내부에 파일이나 다른 디렉토리가 있으면 오류가 발생한다.
- 디렉토리 안의 파일과 함께 삭제하려면 rm -r 명령어를 사용해야 한다.
6. rm (Remove)
- rm은 파일이나 디렉토리를 삭제한다.
- rm file.txt : 'file.txt'라는 파일을 삭제한다.
- rm -r folder : 'folder'라는 디렉토리와 그 안의 모든 내용을 삭제한다.
- 삭제된 파일은 복구가 어렵기 때문에, 중요한 파일을 삭제하기 전에는 항상 확인하는 것이 좋다.
7. touch
- touch는 새로운 빈 파일을 생성하거나, 기존 파일의 타임스탬프(날짜 및 시간 정보)를 현재 시간으로 갱신한다.
- touch new_file.txt : 'new_file.txt'라는 새 파일을 생성한다. 파일이 이미 존재한다면, 타임스탬프가 갱신된다.
- 매우가 간단하고 빠르게 파일을 생성할 수 있으며, 스크립트나 로그 파일을 초기화할 때 유용하다.
8. cp (Copy)
- cp는 파일이나 디렉토리를 복사한다.
- cp source.txt destination.txt : 'source.txt'를 'destination.txt'로 복사한다. 'destination.txt'가 이미 존재하면 덮어쓴다.
- cp -r source_dir destination_dir : 'source_dir'디렉토리와 그 내용을 'destination_dir'로 복사한다.
9. mv (Move)
- mv는 파일이나 디렉토리의 위치를 이동시키거나 이름을 변경한다.
- mv old_name.txt new_name.txt : 'old_name.txt'의 이름을 'new_name.txt'로 변경한다.
- my file.txt /path/to/directory/ : 'file.txt'를 지정된 디렉토리로 이동한다.
- mv 명령어는 파일을 이동시킬 때 복사 후 삭제하는 것이 아니라 파일의 위치정보만 변경하기 때문에 처리 속도가 빠르다.
- 이동하려는 대상 경로에 같은 이름의 파일이 이미 존재할 경우, 기존 파일은 덮어쓰여진다.
10. chmod (Change Mode)
- chmod는 파일이나 디렉토리의 권한을 변경한다.
- chmod 755 file.sh : 'file.sh'파일에 대해 소유자에게는 읽기, 쓰기, 실행 권한을 부여하고, 그룹과 기타 사용자에게는 읽기와 실행 권한만 부여한다.
- chmod u+x file.sh : 'file.sh' 파일에 대해 현재 사용자에게 실행 권한을 추가한다.
- 권한 변경은 보안에 영향을 줄 수 있으므로 신중히 사용해야 한다.
11. grep (Global Regular Expression Print)
- 파일 내용 중에서 지정된 패턴이나 문자열을 검색하여 그 결과를 출력한다.
- grep "text" file.txt : 'file.txt'에서 "text"라는 문자열이 포함된 모든 줄을 표시한다.
- grep -r "text" . : 현재 디렉토리와 하위 디렉토리에서 "text" 문자열을 재귀적으로 검색한다.
- 정규 표현식을 사용하여 복잡한 검색 패턴을 지정할 수 있으며, 로그 파일 분석이나 특정 데이터 추출에 유용하다.
12 sudo (SuperUser DO)
- 일반 사용자가 관리자(superuser) 권한을 가지고 명령어를 실행할 수 있게 한다. 시스템 설정 변경, 중요한 파일 수정, 관리자 권한을 필요로 하는 소프트웨어 설치 시 사용된다.
- sudo apt-get update : 패키지 리스트를 업데이트 한다.
13. find
- 파일이나 디렉토리를 검색한다.
- find . -name "file.txt" : 현재 디렉토리에서 'file.txt' 파일을 찾는다.
- find / -type d -name "config" : 루트 디렉토리에서 'config'라는 이름의 디렉토리를 찾는다.
14. tail
- 파일의 마지막 행을 기준으로 지정한 행까지의 파일 내용 일부를 출력해주는 명령어.
- 기본값으로는 마지막 10줄을 출력한다.
- 주로 리눅스에서 오류나 파일 로그를 실시간으로 확인할 때 매우 유용하게 사용된다.
- tail [옵션] [파일명]
자주 사용하는 옵션 :
-f : tail을 종료하지 않고 파일의 업데이트 내용을 실시간으로 계속 출력한다.
-n (라인 수) : 파일의 마지막줄부터 지정한 라인수까지의 내용을 출력한다.
-c (바이트 수) : 파일의 마지막부터 지정한 바이트만큼의 내용을 출력한다.
-q : 파일의 헤더와 상단의 파일 이름을 출력하지 않고 내용만 출력한다.
-v : 출력하기전에 파일의 헤더와 이름 먼저 출력한 후 파일의 내용을 출력한다.
'Linux' 카테고리의 다른 글
[Linux] CentOs7에 오라클 19c 설치하기 (1) | 2024.12.19 |
---|---|
[Linux] Vi란? (0) | 2024.07.19 |
[Linux] Windows에 WSL 설치 후 Ubuntu(우분투)까지 설치하기 (0) | 2024.07.18 |
[Linux] 쉘(Shell)이란? (0) | 2024.07.18 |
[Linux] 커널이란? (0) | 2024.07.18 |