홍든램지의 보일러실

우분투 기본 명령어 파일 및 디렉토리 본문

리눅스

우분투 기본 명령어 파일 및 디렉토리

예비보일 2023. 4. 1. 02:19
반응형

 

우분투 터미널 명령어중 자주 사용되는 기본 명령어들을 정리 해볼까 한다.

 

파일 및 디렉토리 관련 명령어

만약 추가적인 옵션을 알고싶다면 명령어 앞에 man 을 입력하면 된다.

man [명령어]

 

1. ls : 디렉토리 내용을 나열한다. (List directory contents)

형태: ls [옵션] [디렉토리]
예시: ls -l /home/user/documents
옵션 설명 예시
-a 모든 항목을 출력 (숨겨진 파일 포함) ls -a
-l 자세한 형식으로 출력 ls -l
-h 파일 크기를 읽기 쉬운 형식으로 출력 ls -lh
-t 수정 시간 순으로 정렬하여 출력 ls -t
-r 출력 순서를 뒤집음 ls -r
-S 파일 크기 순으로 정렬하여 출력 ls -S
-R 디렉토리와 하위 디렉토리를 재귀적으로 출력 ls -R

 

2. mkdir: 새로운 디렉토리를 생성한다. (Make directory)

형태: mkdir [옵션] [디렉토리]
예시: mkdir /home/user/new_directory
옵션 설명 예시
-p 중간 디렉토리를 필요에 따라 생성함 (부모 디렉토리) mkdir -p dir1/dir2/dir3
-m 생성하는 디렉토리의 권한 설정 mkdir -m 755 new_directory

 

3. rmdir: 빈 디렉토리를 삭제한다. (Remove directory)

형태: rmdir [옵션] [디렉토리]
예시: rmdir /home/user/empty_directory
옵션 설명 예시
-p 디렉토리와 부모 디렉토리를 재귀적으로 삭제 rmdir -p dir1/dir2/dir3
-v 작업 진행 상황을 자세히 출력 (verbose) rmdir -v dir

 

4. rm: 파일을 삭제한다. (remove)

형태: rm [옵션] [파일]
예시: rm -f /home/user/unnecessary_file.txt
옵션 설명 예시
-r 디렉토리와 그 내용을 재귀적으로 삭제 (recursive) rm -r dir1
-f 강제 삭제 (force) rm -f file1
-i 삭제 전 확인 요청 (interactive) rm -i file1
-v 작업 진행 상황을 자세히 출력 (verbose) rm -v file1
-d 빈 디렉토리를 삭제 (directory) rm -d dir1

 

5. cp: 파일을 복사한다. (copy)

형태: cp [옵션] [원본 파일] [대상 위치]
예시: cp /home/user/source_file.txt /home/user/destination_folder/
옵션 설명 예시
-a 아카이브 모드로 파일을 복사 (속성 유지 및 디렉토리 재귀적 복사) cp -a source_dir target_dir
-r 디렉토리와 그 내용을 재귀적으로 복사 cp -r source_dir target_dir
-i 복사하기 전에 사용자 확인 요청 (interactive) cp -i source_file target_file
-u 대상 파일이 존재하지 않거나 원본보다 오래된 경우에만 복사 cp -u source_file target_file
-v 작업 진행 상황을 자세히 출력 (verbose) cp -v source_file target_file
-p 파일의 소유자, 그룹, 권한, 타임스탬프 등 속성 유지 cp -p source_file target_file
-l 하드 링크를 생성하여 복사 cp -l source_file target_file
-s 심볼릭 링크를 생성하여 복사 cp -s source_file target_file

 

6. mv: 파일을 이동하거나 이름을 변경합니다. (Move or rename)

형태: mv [옵션] [원본 파일/디렉토리] [대상 위치] 
예시: mv /home/user/old_file.txt /home/user/new_directory/new_file.txt
옵션 설명 예시
-i 이동하기 전에 사용자 확인 요청 (interactive) mv -i source_file target_file
-u 대상 파일이 존재하지 않거나 원본보다 오래된 경우에만 이동 mv -u source_file target_file
-v 작업 진행 상황을 자세히 출력 (verbose) mv -v source_file target_file
-n 대상 파일이 이미 존재하는 경우 이동하지 않음 (no-clobber) mv -n source_file target_file

 

7. touch: 새로운 빈 파일을 생성하거나 파일의 시간 정보를 업데이트합니다. 

형태: touch [옵션] [파일] 
예시: touch /home/user/new_file.txt
옵션 설명 예시
-a 파일의 접근 시간만 변경 (creation 시간은 변경하지 않음) touch -a file1
-m 파일의 수정 시간만 변경 (creation 시간은 변경하지 않음) touch -m file1
-c 파일이 존재할 경우에만 시간 변경 (파일이 없으면 생성하지 않음) touch -c file1
-t 특정 시간으로 파일의 접근 및 수정 시간을 설정 touch -t 202201011200 file1
-r 다른 파일의 시간을 참조하여 접근 및 수정 시간을 설정 touch -r file2 file1

 

8. cat: 파일의 내용을 출력합니다.  (Concatenate)

형태: cat [옵션] [파일] 
예시: cat /home/user/sample.txt
옵션 설명 예시
-n 행 번호를 표시하면서 파일의 내용을 출력 cat -n file1
-b 공백이 아닌 행에 번호를 표시하면서 파일의 내용을 출력 cat -b file1
-s 연속된 빈 줄을 하나의 빈 줄로 출력 cat -s file1
-E 각 행의 끝에 $ 기호를 표시하여 줄바꿈을 시각화 cat -E file1
-T 탭 문자를 ^I로 표시하여 출력 cat -T file1

 

9. more, less: 파일의 내용을 페이지 단위로 출력합니다. (

형태: more/less [옵션] [파일]
예시: less /home/user/large_file.txt

 

 

10. head, tail: 파일의 처음 또는 끝 부분을 출력합니다. 

형태: head/tail [옵션] [파일] 
예시: head -n 5 /home/user/sample.txt

 

 

11. find: 파일 및 디렉토리를 검색합니다.

형태: find [경로] [옵션] [표현식] 
예시: find /home/user -name "*.txt"

 

 

12. grep: 파일 내용에서 패턴을 검색합니다. (Global regular Expression Print)

형태: grep [옵션] [패턴] [파일] 
예시: grep "error" /home/user/log_file.txt

 

 

13. chmod: 파일 및 디렉토리의 권한을 변경합니다. (Change mode)

형태: chmod [옵션] [권한] [파일/디렉토리] 
예시: chmod 755 /home/user/sample_script.sh

 

 

14. chown: 파일 및 디렉토리의 소유자를 변경합니다.

형태: chown [옵션] [소유자]:[그룹] [파일/디렉토리] 
예시: chown john:users /home/john/myfile.txt

 

위 예시에서 'john'은 소유자, 'users'는 그룹, '/home/john/myfile.txt'는 변경하려는 파일입니다.

이 명령어를 실행하면 파일의 소유자가 'john'이고 그룹이 'users'인 상태로 변경됩니다.

 

반응형
Comments