mv : move의 줄임말로 파일이나 디렉토리를 이동 시킬때 사용하는 명령어

 

 

mv 사용법

 

mv [옵션] [이동 할 파일] [이동 될 위치]

현재 디렉토리에 있는 test.txt 파일을 디렉토리 내부의 new_folder 디렉토리로 이동

ex) mv test.txt new_folder


현재 디렉토리에 있는 test.txt 파일을 new_test.txt라는 파일로 이름 바꾸기

ex) mv test.txt new_test.txt


/user/orignal 경로의 test.txt 파일을 /user/unoriginal 디렉토리에 new.txt로 바꾸어 이동

ex) mv /user/original/test.txt /user/unoriginal/test.txt

 

1. mv 명령어의 옵션을 제외한 인자값은 생략이 불가능

2. 경로를 지정하지 않으면 현 위치를 defualt로 함

3. 이동 시킬 때 새로운 이름을 지정하여 이동 할 수 있음

4. 현재위치에 이름만 바꿔서 이동시켜 파일의 이름바꾸기로 응용할 수 있음

5. 다양한 옵션을 사용하여 기존의 파일이나 디렉토리를 보호하는 등의 행동을 취할 수 있음

 

 

자주사용하는 옵션

1. -b : 이동될 파일이 존재하면 백업파일을 만듦

2. -i : 이동될 파일이 이름이 이미 존재할 경우, 사용자에게 덮어 쓰기 여부를 물음

3. -f : 이동 될 파일이 이름이 이미 존재 할 경우, 강제로 덮어쓰기 함

4. -n : 이동 될 파일이 이름이 이미 존재 할 경우, 덮어쓰기를 하지 않음

5. -r : 하위 디렉토리 까지 모두 이동

6. -v : 이동 진행 상태를 출력

 

 

 

여러개를 한번에 이동 시키고 싶을 때

 

mv [이동 대상1] [이동 대상2] [이동 대상3] ..... [이동할 경로]

ex) mv test1.txt test2.txt test3.txt /user/unoriginal



현재 위치의 모든 파일이동
mv * [이동 할 경로]

ex) : mv -r * /user/unoriginal

 

 

 

 

 

'리눅스' 카테고리의 다른 글

History 명령어  (0) 2023.07.03
chmod / chown - 파일 권한 / 소유권 변경  (0) 2023.06.29
리눅스 명령어정리🔍  (0) 2023.06.26

history

매우 자주 사용되는 명령어 중 하나로  history를 입력하면 최근 사용했던 명령어들을 숫자와 함께

출력하여 줍니다.

> history
...
177 git status
178 git pull
179 cd ~/.ssh
180 ll
181 exit
182 history

📌history 옵션

 


1.  페이지 단위로 조회

첫 페이지 부터 보여주며 space를 누르면 한 페이지 단위로 이동합니다.

history | less

 

2. 마지막 10개의 명령어만 조회

최근 10개만 출력합니다.

hisotry | tail

 

3. 원하는 개수 만큼만 조회

아래는 각각 마지막 5, 15, 25개를 보여줍니다.

history 5
history 15
history 25

 

4. history를 grep과 함께 사용하기

이 명령어는 가장 유용하게 사용되는 명령어로 파이프라인과 grep <keyword> 방식으로 사용됩니다. 예를 들어 cd가 들어간 목록만 볼 경우 아래와 같이 입력할 수 있습니다.

history | grep cd

 

추가) 연속하여 파이프라인 사용하기

아래와 같이 파이프라인을 연속으로 사용할 수 있습니다. 만약 찾을 키워드와  tail을 동시에 사용하면 아래와 같습니다.

history | grep cd | tail

 

5. 원하는 라인을 다시실행하는 방법

history를 사용할 때 ! 기호를 사용하면 해당 명령어를 다시 실행할 수 있어 매우 편리합니다. 

ex)100번째 줄을 다시 실행하는 경우 아래처럼 사용합니다.

!100

 

6. 마지막 명령어를 보여주고 출력하기

가장 최근에 입력한 마지막 명령어를 다시 보여주면서 실행하는 방법입니다.

!!

 

7. 해당하는 명령어를 다시 보고 싶은 경우 출력하기

100번째 명령어를 출력하고자 하는 경우 p를 사용합니다.

!100:p

 


📌history 이력 삭제하기


1. 하나만 삭제할 경우 -d 옵션 사용하기

history -d 100
// 100번째 history만 삭제됨

 

2. 모두 삭제할 경우 -c 옵션 사용하기

모든 history의 내용을 삭제하려면 아래와 같습니다.

history -c
// 모든 history 내용을 삭제

 

Read, Write Excute 권한

 

폴더인지 파일인지 확인하기

 - ls -l 명령어를 사용한다. -l은 파일에 대한 권한 정보를 보기 위해서 필요한 옵션이다.

  아래와 같은 구조의 리스트를 확인할 수 있다.

 

chmod : 파일권한 변경


1.알파벳 표현

[file path]의 파일에 대한 소유 수준이 [owner]인 유저에게[permission level] 수준의 권한을 추가 또는 제거([action])한다.

 

chmod [option] [owner][action][permission level] [file path]
  • option  

   - R : 하위 모든 파일에 적용 (recursive)

  • 소유수준 owner

   파일에 대한 소유 수준은 3가지 문자로 표현된다.

   명령어에는 소유 수준이 1개 이상 연속해서 올 수 있다. 즉, 명령어에 ug라고 쓸 경우 파일을 소유한  user 와  group에게

   같은 권한을 부여한다.

소유 수준 표현 문자 설명
u 파일을 소유한 유저
g 파일을 소유한 그룹
o 파일을 소유한 유저와 그
  • action

   + 일 경우, 권한을 추가

    일 경우, 권한을 제거

    일 경우, +,- 는 명령어로 지정한 권한을 추가 또는 제거하고 기존 권한들은 그대로 둔다.

   반면에 =는 명령어로 지정한 권한을 추가(+)하되, 지정하지 않은 권한들은 모두 제거한다.

 

  • permission level

  파일에 대한 권한 수준은 3가지 문자로 표현된다.

  명령어에는 권한 수준이 1개 이상 연속해서 올 수 있다. 즉, 명령어에 rw라고 쓸 경우 읽기쓰기 2개 권한을 부여한다.

권한 수준 표현 문자 설명
r 읽기 권한
w 쓰기 권한
x 실행 권한
  • ex) ./file/path.csv 파일에 대한 파일 소유 유저와 그룹에게 읽기와 쓰기 권한 부여
chmod ug+rw ./file/path.csv

 

2.숫자 표현

[file path]의 파일에 대해 [permission level]을 이용하여 소유 수준 별로 권한 수준을 설정한다.

chmod [option] [permission level] [file path]
  • option

   -R : 하위 모든 파일에 적용 (recursive)

  • permission level

   3개 숫자로 소유 수준과 권한 수준을 모두 표현 할 수 있다.

   - 숫자 자리수로 소유 수준 표현

숫자 자리수 설명
첫째 자리 파일을 소유한 유저
둘째 자리 파일을 소유한 그룹 
셋째 자리 파일을 소유한 유저와 그룹이 아닌 유저

  - 숫자 크기로 권한 수준 표현

    2개 이상의 권한을 부여하려면 아래 숫자의 합으로 나타낸다. 즉,읽기(4)와 쓰기(2) 권한을 모두 부여하려면 4+2=6으로 

    설정한다.

숫자 크기 설명
4 읽기 권한
2 쓰기 권한
1 실행 권한
  • ex) ./file/path.csv 파일에 대해 유저에게 읽기, 쓰기, 실행 권한을 모두 부여, 그룹에게 읽기, 실행 권한을 부여, 소유한 유저와 그룹이 아닌 유저에게 실행 권한만 부여
chmod 751 ./file/path.csv

 

chown : 소유권 변경


파일의 소유자를 변경한다.

특정 소유 수준에 속하는 유저는 파일에 대해 그 소유수준에 설정된 수준 만큼의 권한을 행사 할 수 있다.

이때 소유 수준 별 권한 수준은 위 섹션 chmod 명령어로 설정할 수 있다.

chown [option] [owner]:[group] [file path]
  • option

   - R : 하위 모든 파일레 적용 (recursive)

  • owner

   파일의 소유자를 [owner]로 변경

  • group

   파일의 소유 그룹을 [group]으로 변경

   :[group] 이라고 쓰면 owner 변경 없이 group만 변경 할 수 있다.

  • file path

   소유권 변경 대상 파일 경로 (상대 경로 가능)

  • ex) ./file/path.parquet 파일에 대한 소유자를 deep으로 소유 그룹을 machinelearn으로 변경한다.
chown deep:machinelearn ./file/path.parquet

'리눅스' 카테고리의 다른 글

mv 명령어 사용법 (파일 이동, 이름 바꾸기)  (1) 2023.10.26
History 명령어  (0) 2023.07.03
리눅스 명령어정리🔍  (0) 2023.06.26

1. cd

cd (Change directory) : 디렉터리 이동

cd[디렉터리 경로] 이동하려는 디렉터리로 이동
cd ~ 홈 디렉터리로 이동
cd / 최상위 디렉터리로 이동
cd . 현재 디렉터리
cd .. 상위 디렉터리로 이동
cd - 이전 경로로 이동

 

2.  ls

ls(List segments) : 현재 위치의 파일 목록 조회

ls -l 파일의 상세정보
ls -a 숨김 파일 표시
ls -t 파일들을 생성시간순(제일 최신 것부터)으로 표시
ls -rt 파일들을 생성시간순(제일 오래된 것부터)으로 표시
ls -F 파일 표시 시 마지막 유형에 나타내는 파일명을 끝에 표시
('/':디렉터리, '*':실행파일, '@' : 링크 등..)

 

3. pwd

pwd(print working directory) : 현재 위치한 디렉터리의 절대경로를 표시

 

4. mkdir {디렉토리명}

mkdir(make directory) : 디렉토리를 생성

ex)  mkdir myfolder

 

5. vi { 생성할 또는 열어볼 파일명}

vi 에디터 실행. 해당 파일명의 파일이 있으면 열고 없으면 새로생성(:wq로 저장해야 만들어짐)

: q 종료
: q! 저장하지 않고 강제로 종료
: w 저장
: wq 저장 후 종료
ZZ 저장 후 종료(: wq 와 동일)
: wq  파일 이름  저장 후 파일 이름 지정

 

6. cp {복사할 대상} {붙여넣을 경로 또는 새 파일명}

cp(copy) : 파일을 복사합니다. 디렉토리를 복사할 시에는 cp  뒤에 -r을 붙여야 함

ex1) cp original.txt copied.txt

ex2) cp original.txt ../anotherfolder/

 

7. mv {옮길 대상} {대상 디렉토리 또는 새 파일명}

mv(move) : 파일이나 디렉토리를 옮기거나 이름을 변경할 때 사용

ex1) mv original.txt ../anotherfolder/

ex2) original.txt renamed.txt

 

8. rm {삭제할 대상}

rm(remove) :  파일이나 디렉토리를 삭제합니다. 디렉토리를 삭제할때는  rm  뒤에 -r을 붙여야 함

ex1) rm fileTodelete.txt

ex2) rm -r folderToDelete

 

9. sudo {명령어}

최고관리자 권한이 있어야 실행할 수 있는 명령들 앞에 붙인다. 실행시 비밀번호를 요구하기도 함

어떤명령어 입력시  Permission 관련 오류가 뜬다면  sudo 명령어 필요

ex1) sudo apt update

ex2) sudo rm -r importantFolder

 

10.du [옵션] <대상파일 및 디렉터리 경로>

du(Disk Usage) : 파일이나 디렉터리 크기(용량)을 확인할 때 사용하는 명령어

ex) du -sh 

 

옵션

-a 모든파일 및 디렉터리들의 정보를 출력합니다. 초기값은 디렉터리 정보만 출력
-b 출력 단위를 byte 단위로 표시
-c 모든 파일의 사용 정보를 출력 후 합계를 출력 (기본값)
-l 하드 링크되어 있는 파일은 그대로 계산
-s 지정된 디렉터리 내에 존재하는 모든 파일 및 서브 디렉터리들의 용량을 합쳐서 표시
-k 1kb 단위로 표시
-h 표시되는 용량 단위를 사용자가 읽기 쉬운 형태로 표현
용량에 따라 자동으로 byte, kb, mb, gb 등으로 표시

 

11.df [옵션] 

df(Disk Free) : 파티션의 전체 용량, 사용한 용량, 마운트 정보 등의 디스크 관련 정보들을 보여줌

ex) df- h

 

옵션

-i 또는  --inodes 파티션별 블록 사용정보 대신 inode 정보를 표시합니다.
파일명, 소유주, 권한, 시간정보 등
-a 또는  --all 모든 파일 시스템을 대상으로 정보를 보여줍니다. 더미 파일 시스템으로 크기가 0인경우에도 포함. ignore  또는  auto 형태의 파일 시스템이 초기 값인 경우 사용
-P 또는 --portability POSIX에서 사용되는 형태로 정보를 표시
-t <타입> 또는 --type=<타입> -text4 또는 --type=ext4 옵션을 사용하는 경우  ext4 파일시스템을 사용하는 파티션 정보만 표시
-x 또는 --exclude-type=<타입> -t 옵션과 반대로 특정 파일시스템을 제외하고 파티션 정보를 출력
-k 또는 --kilobytes 표시되는 용량 단위를 512바이트 블럭 단위 대신 1kb 단위로 표시
-h 또는  --human 표시되는 용량 단위를 사용자가 읽기 쉬운 형태로 표현
용량에 따라 자동으로 byte,kb,mb,gb  등으로 표시

 

12. tail -f 

실시간으로파일을 모니터링하면서 새로운 로그나 이벤트 등을 확인

 ex) tail -f filename

 여기서 filename은 모니터링하고자 하는 파일의 이름

 

'tail -f' 명령어를 사용 중일 때는 일반적으로 Ctrl+C를 눌러 명령어 실행을 종료할 수 있다

 

13.ln 

ln(link) : 링크파일을 만들 때 사용

링크는 하드링크와 심볼릭링크가 있다.

하드링크는 원본의 복사본을 사용하기 때문에 원본이 삭제되어도 사용가능하고, 심볼릭링크는 원본이 삭제되면 링크는

사용할 수 없으며 바로가기 기능과 유사하다.

 

하드링크 

ex) ln TARGET(원본) LINK_NAME(링크이름)

 

심볼릭링크

ex) ln -s TARGET(원본) LINK_NAME(링크이름)

 

심볼릭 링크 확인 명령어

ex) ls -al

'리눅스' 카테고리의 다른 글

mv 명령어 사용법 (파일 이동, 이름 바꾸기)  (1) 2023.10.26
History 명령어  (0) 2023.07.03
chmod / chown - 파일 권한 / 소유권 변경  (0) 2023.06.29

+ Recent posts