🧷 nano – 간단한 텍스트 편집기
- 역할: 터미널에서 직접 텍스트 파일을 작성하거나 수정할 수 있는 편집기입니다.
- 형식:
- nano 파일명
- 예시:→ intro.txt 파일을 열거나 새로 만듭니다.
편집 후에는 Ctrl + O (저장), Enter, Ctrl + X (종료)로 마무리합니다. - nano intro.txt
- 주요 단축키:
- Ctrl + O : 저장 (Write Out)
- Ctrl + X : 종료 (Exit)
- Ctrl + K : 줄 삭제
- Ctrl + Shift + 6 (또는 Ctrl + ^)
- Ctrl + K
- Ctrl + U : 붙여넣기
- Ctrl + W : 검색
1.텍스트의 시작 부분으로 커서를 이동합니다.
2.Ctrl + Shift + 6 (또는 Ctrl + ^)을 눌러 선택을 시작합니다.
3.방향키(위, 아래, 왼쪽, 오른쪽)로 선택 영역을 확장합니다.
4.복사하려면 Ctrl + K (잘라내기) 또는 Ctrl + U (붙여넣기)를 사용합니다.
🖋️ vim – 고급 텍스트 편집기
- 역할: vim은 vi의 확장 버전으로, 고급 기능을 제공하는 텍스트 편집기입니다. nano보다 더 많은 기능과 커스터마이징을 제공하며, 코드 편집에 많이 사용됩니다.
- 형식:
- vim 파일명
- 예시:→ index.html 파일을 vim으로 엽니다.
- vim index.html
- 주요 명령어:
- i : 입력 모드로 전환
- Esc : 명령 모드로 전환
- :w : 저장
- :q : 종료
- :wq : 저장 후 종료
- :q! : 저장하지 않고 종료
- yy : 한 줄 복사
- dd : 한 줄 삭제
- p : 붙여넣기
- u : 마지막 수정 취소 (Undo)
- /검색어 : 파일 내 검색
🔍 less – 파일 내용 페이지별 출력
- 역할: 긴 파일의 내용을 한 번에 모두 출력하지 않고 페이지 단위로 출력하며, 검색이나 탐색이 가능합니다. more 명령어와 유사하지만 더 많은 기능을 제공합니다.
- 형식:
- less 파일명
- 예시:→ large_file.txt 파일을 한 페이지씩 출력합니다.
- less large_file.txt
- 주요 단축키:
- Space : 한 페이지씩 아래로 스크롤
- b : 한 페이지씩 위로 스크롤
- /검색어 : 검색
- n : 다음 검색 결과로 이동
- q : 종료
리눅스에서 자주 사용하는 파일 관련 명령어들을 기능과 사용법
1. ls – 파일 및 디렉터리 목록 출력
- 기능: 현재 디렉터리 내 파일 및 디렉터리 목록을 출력합니다.
- 주요 옵션:
- -l : 파일의 자세한 정보(권한, 크기, 수정 날짜 등)를 출력
- -a : 숨김 파일 포함 모든 파일 출력
- -h : 파일 크기를 사람이 읽기 쉬운 형식으로 표시 (예: 1K, 1M)
- 예시:
- ls -l ls -a
2. cd – 디렉터리 변경
- 기능: 작업 디렉터리를 변경합니다.
- 형식:
- cd 디렉터리명
- 예시:cd /home/user cd ..
3. pwd – 현재 디렉터리 출력
- 기능: 현재 작업 중인 디렉터리의 경로를 출력합니다.
- 형식:
- pwd
- 예시:/home/user/documents
4. mkdir – 새 디렉터리 생성
- 기능: 새로운 디렉터리를 생성합니다.
- 형식:
- mkdir 디렉터리명
- 예시:mkdir new_folder
5. rmdir – 빈 디렉터리 삭제
- 기능: 비어 있는 디렉터리를 삭제합니다.
- 형식:
- rmdir 디렉터리명
- 예시:
- rmdir empty_folder
6. rm – 파일 또는 디렉터리 삭제
- 기능: 파일 또는 디렉터리를 삭제합니다.
- 형식:
- rm 파일명
- 옵션:
- -r : 디렉터리와 그 안의 모든 파일 삭제 (재귀적으로 삭제)
- -f : 존재하지 않는 파일에 대한 오류를 무시하고 강제로 삭제
- 예시:rm file.txt rm -rf folder_name
7. touch – 빈 파일 생성 / 수정 시간 갱신
- 기능: 새 파일을 생성하거나 기존 파일의 수정 시간을 갱신합니다. 같은 이름의 파일이 이미 있으면 내용은 그대로 두고 최종 수정 시간만 변경됩니다.
- 형식:
- touch 파일명
- 예시:touch newfile.txt
8. cp – 파일 복사
- 기능: 파일을 복사합니다.
- 형식:
- cp 원본파일 대상파일
- 옵션:
- -r : 디렉터리를 재귀적으로 복사
- -i : 덮어쓰기 전에 확인
- 예시:
- cp file1.txt file2.txt cp -r folder1 folder2
9. mv – 파일 또는 디렉터리 이동/이름 변경
- 기능: 파일이나 디렉터리를 이동하거나 이름을 변경합니다.
- 형식:
- mv 원본파일 대상파일
- 예시:
- mv oldname.txt newname.txt mv file.txt /path/to/destination/
10. cat – 파일 내용 출력
- 기능: 파일의 내용을 출력합니다.
- 형식:
- cat 파일명
- 예시:
- cat file.txt
11. head – 파일의 처음 몇 줄 출력
- 기능: 파일의 처음 몇 줄을 출력합니다.
- 형식:
- head 파일명
- 예시:
- head file.txt head -n 20 file.txt # 첫 20줄 출력
12. tail – 파일의 마지막 몇 줄 출력
- 기능: 파일의 마지막 몇 줄을 출력합니다.
- 형식:
- tail 파일명
- 예시:
- tail file.txt tail -n 20 file.txt # 마지막 20줄 출력
13. find – 파일 검색
- 기능: 지정된 경로에서 조건에 맞는 파일을 찾습니다.
- 형식:
- find 경로 -조건
- 예시:
- find /home/user -name "*.txt" find /var/log -type f -name "*.log"
14. chmod – 파일 권한 변경
- 기능: 파일이나 디렉터리의 권한을 변경합니다.
- 형식:
- chmod 권한 파일명
- 예시:
- chmod 755 file.txt chmod -R 777 folder_name # 디렉터리와 내부 파일 모두 권한 변경
15. chown – 파일 소유자 및 그룹 변경
- 기능: 파일의 소유자 및 그룹을 변경합니다.
- 형식:
- chown 소유자:그룹 파일명
- 예시:
- chown user:group file.txt chown -R user:group folder_name
16. rm – 파일 또는 디렉터리 삭제
- 기능: 파일이나 디렉터리를 삭제합니다.
- 형식:
- rm 파일명
- 주요 옵션:
- -r : 디렉터리와 그 안의 모든 파일을 재귀적으로 삭제 (디렉터리 삭제 시 필수)
- -f : 존재하지 않는 파일에 대한 오류를 무시하고 강제로 삭제
- -i : 삭제 전에 확인 메시지 출력 (안전하게 삭제)
- 예시:
- 파일 삭제:
- rm file.txt
- 디렉터리 삭제 (재귀적으로):
- rm -r folder_name
- 강제로 삭제 (확인 없이 삭제):
- rm -f file.txt
17. rm -rf – 강제로 디렉터리 삭제
- 기능: rm 명령어에 -r (재귀적 삭제)와 -f (강제 삭제)를 함께 사용하여 디렉터리 및 그 안의 파일들을 강제로 삭제합니다. 사용 시 주의가 필요합니다.
- 형식:
- rm -rf 디렉터리명
- 예시:
- rm -rf /path/to/directory
18. unlink – 파일 삭제
- 기능: unlink는 단일 파일을 삭제하는 명령어로, rm보다 좀 더 단순한 파일 삭제 방법입니다.
- 형식:
- unlink 파일명
- 예시:
- unlink file.txt
삭제된 파일은 리눅스 시스템에서는 휴지통으로 복구되지 않으며, 삭제 후 복구가 어려울 수 있습니다.
중요한 파일을 삭제할 때는 -i 옵션을 사용하여 안전하게 작업하는 것이 좋습니다.
✅ 요약표
명령어 | 설명 | 비고 |
ls | 파일 및 디렉터리 목록 출력 | ls -l, ls -a |
cd | 디렉터리 변경 | cd /home/user, cd .. |
pwd | 현재 디렉터리 출력 | pwd |
mkdir | 새 디렉터리 생성 | mkdir new_folder |
rmdir | 빈 디렉터리 삭제 | rmdir empty_folder |
rm | 파일 또는 디렉터리 삭제 | rm file.txt, rm -rf folder |
touch | 빈 파일 생성 / 수정 시간 갱신 | touch newfile.txt |
cp | 파일 복사 | cp file1.txt file2.txt |
mv | 파일 또는 디렉터리 이동/이름 변경 | mv file.txt newfile.txt |
cat | 파일 내용 출력 | cat file.txt |
head | 파일의 처음 몇 줄 출력 | head file.txt |
tail | 파일의 마지막 몇 줄 출력 | tail file.txt |
find | 파일 검색 | find /path -name "*.txt" |
chmod | 파일 권한 변경 | chmod 755 file.txt |
chown | 파일 소유자 및 그룹 변경 | chown user:group file.txt |
rm | 파일 또는 디렉터리 삭제 | rm -r, -l, -f |
rm -rf | 강제로 디렉터리 삭제 | rm -rf /path/to/directory |
unlink | 파일 삭제 | unlink file.txt |