Section 1.2: 파일 관리 명령어들
Linux 는 현재 디렉토리와 부모 디렉토리를 나타내기 위한 위한 몇가지의 관례가 있는데, 이는 초보자에게는 조금 혼란스러울 수 있다.
어떤 상황이건 Linux 에서 터미널을 사용중이라면, "현재 작업 디렉토리 (current working directory)" 라는 곳에 위치한 상태일 것이다.
많은 경우 사용자의 커맨드 프롬프트는 작업 디렉토리 전체 혹은 마지막 일부를 표시해 줄 것이다. 사용자의 프롬프트가 표시되는 방식은 다음 몇가지 중에 하나와 유사할 수 있다:
user@host ~/somedir $
user@host somedir $
user@host /home/user/somedir $
위 예제에서는 사용자의 작업 디렉토리가 /home/user/somedir
임을 나타내고 있다.
Linux 에서 ..
는 부모 디렉토리를 나타내며, .
는 현재 디렉토리를 나타낸다.
따라서, 현재 다렉토리가 /home/user/somedir
인 상태라고 한다면, cd ../somedir
명령어는 작업 디렉토리의 변경을 야기하지 않을 것이다.
아래의 테이블에는 파일 관리에 자주 사용되는 명령어들의 목록이 소개되어 있다.
디렉토리 이동 관련 명령어 | 용도 |
---|---|
pwd |
현재 작업 디렉토리의 전체 경로 (path) 를 얻어온다. |
cd - |
가장 마지막으로 작업중이던 디렉토리로 되돌아간다. |
cd ~ 또는 cd |
사용자의 home 디렉토리로 이동한다. |
cd .. |
현재 디렉토리의 부모 디렉토리로 이동한다 (cd 와 .. 사이에 공백이 있음에 유의하라) |
디렉토리 내의 파일 표시 관련 명령어 | 용도 |
---|---|
ls -l |
현재 디렉토리 내의 파일들과 디렉토리들의 목록을 긴 (테이블) 형식으로 출력한다 (ls 사용시에는 가독성을 위해 -l 옵션을 이용하는 것을 추천한다). |
ls -ld dir-name |
dir-name 이라는 이름의 디렉토리에 대해 해당 디렉토리 내의 내용물이 아닌 디렉토리 자체에 대한 정보를 출력한다. |
ls -a |
숨겨진 파일를 포함한 모든 파일들의 목록을 나열한다 (. 로 시작하는 이름의 파일들은 Linux 에서 숨겨진 파일로 인식된다). |
ls -F |
파일 이름 마지막에 각 파일의 종류에 따라 기호 (symbol) 를 덧붙인다. (* 는 실행 파일을, / 는 디렉토리를, @ 는 심볼릭 링크를, = 는 소켓을, | 는 named pipe 를, > 는 door 를 나타낸다). |
ls -lt |
파일들을 마지막 수정된 시간 기준으로 정렬하여 가장 최근 수정된 파일을 가장 위에 보여주는 순서로 출력한다 (-l 옵션은 가독성이 더 뛰어난 긴 형식의 출력을 지원함을 기억하라). |
ls -lh |
파일들의 크기를 사람들이 파악하기 쉬운 형태로 출력한다. |
ls -lR |
모든 서브디렉토리의 내용까지 재귀적으로 출력한다. |
tree |
현재 디렉토리부터 시작하는 파일 시스템상의 tree 정보를 생성하여 출력한다. |
파일과 디렉토리에 대한 생석, 복사 및 삭제 명령어 | 용도 |
---|---|
cp -p source destination |
파일을 source 로부터 destination 으로 복사한다. -p 는 보존 (preservation) 옵션임을 나타낸다. 해당 옵션은 파일 복사시에 원본 파일의 소유자, timestamp, 그룹, 권한 등의 속성을 유지할 수 있도록 한다. |
cp -R source_dir destination_dir |
source 디렉토리를 지정된 destination 에 재귀적으로 복사한다. |
mv file1 file2 |
Linux 에서는 rename 에 해당하는 명령어가 존재하지 않는다. 따라서 mv 를 통해 file1 을 file2 로 이동시키거나 이름을 변경할 수 있다. |
rm -i filename |
모든 파일들에 대해 삭제 전 사용자 확인을 요청한다. Linux 커맨드라인 사용에 익숙치 않은 사용자라면 항상 rm -i 를 사용하는 것이 좋을 것이다. 여러 개의 파일에 대해서도 동작한다. |
rm -R dir-name |
dir-name 디렉토리를 재귀적으로 삭제한다. |
rm -rf dir-name |
dir-name 디렉토리를 재귀적으로 삭제하되, 존재하지 않는 파일에 대한 에러럴 무시하고 어떠한 확인 프롬프트도 띄우지 않는다. 이 명령어를 사용할 시에는 주의가 필요하다! 명령 대상으로 복수 개의 디렉토리를 지정할 수도 있다. |
rmdir dir-name |
dir-name 디렉토리를 삭제한다. 이 명령어는 비어있는 디렉토리에 대해서만 동작한다. |
mkdir dir-name |
dir-name 라는 이름의 디렉토리를 생성한다. |
mkdir -p dir-name/dir-name |
디렉토리를 계층 구조대로 생성한다. 생성하고자 하는 디렉토리의 부모 디렉토리가 존재하지 않을 경우 부모 디렉토리까지 같이 생성한다. 명령 대상으로 복수 개의 디렉토리를 지정할 수도 있다. |
touch filename |
filename 이라는 이름의 파일이 존재하지 않는 경우 파일을 새로 생성한다. 만약 이미 존재하는 파일이라면 해당 파일의 timestamp 를 현재 시간으로 변경한다. |
파일/디렉토리 권한 및 그룹 설정 관련 명령어 | 용도 |
---|---|
chmod <specification> filename |
파일 권한을 변경한다. 명세 (specification) = u 사용자, g 그룹, o 기타, + 권한 추가, - 제거, r 읽기, w 쓰기,x 실행. |
chmod -R <specification> dir-name |
디렉토리의 권한을 재귀적으로 변경한다. 특정 디렉토리와 그 디렉토리 내의 모든 파일 및 디렉토리들의 권한을 변경하고자 한다면, 이 명령어를 사용한다. |
chmod go=+r myfile |
파일 소유자와 그룹에 대해 읽기 권한을 추가한다. |
chmod a +rwx myfile |
모든 사용자들에게 myfile 에 대한 읽기, 쓰기 및 실행 권한을 부여한다. |
chmod go -r myfile |
그룹과 기타 사용자들에게서 읽기 권한을 제거한다. |
chown owner1 filename |
파일의 소유권을 owner1 에게 이양한다. |
chgrp grp_owner filename |
filename 파일에 대한 그룹 소유권을 grp_owner 에게 이양한다. |
chgrp -R grp_owner dir-name |
dir-name 디렉토리에 대한 그룹 소유권을 grp_owner 에게 재귀적으포 이양한다. 특정 디렉토리와 그 디렉토리 내의 모든 파일 및 디렉토리들의 소유권을 이양하고자 한다면, 이 명령어를 사용한다. |
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
[출처] https://books.goalkicker.com/GitBook/
반응형
'번역 > Linux Notes for Professionals' 카테고리의 다른 글
1.6: 파일 조작하기 (0) | 2020.06.17 |
---|---|
1.5: 파일 이름과 내용에 해당하는 패턴을 통해 파일 검색하기 (0) | 2020.06.16 |
1.4: 기본적인 리눅스의 유틸리티들 (0) | 2020.06.15 |
1.3: Hello World 출력하기 (0) | 2020.06.11 |
1.1: 유용한 단축키들 (0) | 2020.06.09 |