파일 옮기고 이름 바꿀 수있는 명령어?  mv

 

mv {move}    -     파일 디렉토리 이동

 

#mv [옵션] [소스(원본)] [타켓]

-f 파일 이동 시 대상 경로에 파일이 있다면 물어보지 않고 덮어 쓴다.

 

 

ex) #mv ls /practice/

ex) #mv ls_123 ls_456 (이름 변경) = ls_123 ->ls_456으로 바뀜(왼쪽은 원본 폴더명, 오른쪽은 변경하고자하는 폴더명)

 ex )mv /practice/mv-test /practice/day1
         옮기고자하는 폴더위치     옮기는 폴더위치

 

rm (remove) - 파일 삭제

#rm [옵션] [타켓]

-f 삭제시 물어보지 않고 삭제

-r, -R (recursive) 하위 디렉토리 및 파일을 포함하여 삭제

-i (interactice) 삭제 여부를 사용자에게 확인(기본값)

 

ex) rm -f 지울파일

 

cat (conCATenate) - 파일 내용 확인 (아주중요)

#cat [옵션] [파일]

-n(number)라인 번호를 포함하여 출력

30줄

 

-b(blank) 라인 번호 출력, 공백은 제외

공백 제외해서25줄

 

ex) #cat /etc/resolv.conf //  /etc/resolv.conf 파일의 내용 확인

#cat /etc/passwd

 

#cat -b /etc/passwd

 

 

touch - 파일의 시간정보(timestamp) 변경

-t [timestamp]

 

timestamp 형식 : [ [CC]YY ]MMDDhhmm[.ss]

CCYY    MM  DD   hh   mm

ex) 2017년 03월 25일 13시 50분

 

파일에 적용되는 시간 정보

1. 접근 시간(access time) - 파일 열거나 접근(실행)한 시간

-#ls -lu [file]

2. 변경 시간(change time) - 파일의 정보(속성,퍼미션)가 변경된 시간

-#ls -lc [file]

3. 수정 시간(modify time) - 파일의 내용이 변경된 시간

-#ls -l

 

touch ex)

#cp /bin/ls /practice/

#ls -l

  CCYYMMDDhhmm

#touch -t 201803251010 ls

 

#ls -l

 

빈 파일 생성 (크기가 0KB)

#touch [file]

ex) #touch file1

 #touch file2

 #touch file{3..5}

 #touch file{6,7,8}

 #ls -l

 #cat file1

 #cat file2 

크기    수정 시간                 파일명

-rw-r--r--. 1 root root      0 2017-03-25 04:53 file1
-rw-r--r--. 1 root root      0 2017-03-25 04:53 file2
-rw-r--r--. 1 root root      0 2017-03-25 04:53 file3
-rw-r--r--. 1 root root      0 2017-03-25 04:53 file4
-rw-r--r--. 1 root root      0 2017-03-25 04:53 file5
-rw-r--r--. 1 root root      0 2017-03-25 04:53 file6
-rw-r--r--. 1 root root      0 2017-03-25 04:53 file7
-rw-r--r--. 1 root root      0 2017-03-25 04:53 file8

 

#stat [파일명] -파일의 자세한 정보 확인

ex) #stat file1 

 

 

 date - 시스템 시간 확인 /수정

-s "CCYY -MM-DD hh:mm:ss"

 

ex) #date                                            //현재 시스템 시간 확인

ex) #date -s "2017-07-18 09:30"            //날짜,시간 변경

ex) #date -s "12:30"                            // 시간 변경

ex) #date -s "20181010"                     // 날짜 변경 (시간 초기화)

 

 

 

 

 

실습 예제

1. /practice/file_test/ 디렉토리 생성.

#mkdir /practice/file_test/
2. /practice/file_test/ 디렉토리 아래 하위 디렉토리 생성. (단, 명령어 한줄이용)

 /practice/file_test/bin_a/
 /practice/file_test/bin_b/

1.#mkdir /practice/file_test/bin_a /practice/file_test/bin_b

(절대경로)

2.#mkdir bin_a bin_b(상대경로1)

2-1. #mkdir ./bin_a ./bin_b(상대경로2)

3. #mkdir bin_{a,b}
 
3. /bin/ 경로에 있는 a로 시작하는 모든 파일을 /practice/file_test/bin_a/ 디렉토리에 복사.
   /bin/ 경로에 있는 b로 시작하는 모든 파일을 /practice/file_test/bin_b/ 디렉토리에 복사.

 

1. cp /bin/arch /bin/awk /practice/file_test/bin_a

   현재경로가 bin_a일때  cp /bin/a*  ./ (*=a로시작하는 모든)

2. cp /bin/basename /bin/bash /practice/file_test/bin_b

  현재경로가 bin_a일때 cp /bin/b*  ../bin_b(*=b로시작하는 모든)


     
4. /etc/resolv.conf 파일을 /practice/file_test/ 디렉토리로 복사.

 

5. /practice/file_test/resolv.conf 파일의 내용과 /etc/resolv.conf 파일이 동일한 내용 인지 확인.

 

#cat 사용


  
6. /practice/backup 디렉토리 생성 후
   /practice/file_test/resolv.conf 파일을 /practice/backup/ 으로 이동

#mv 이동

7. /practice/backup 디렉토리에 아래와 같이 파일을 생성
 - 빈 파일 생성
 - 파일1 : yesterday_file
 - 파일2 : now_file
 
 파일1 생성 시 시스템 시간 기준 어제날짜로 생성  1. #touch -t [어제날짜시간] [파일명]
              ex) touch -t 201703241010 file
 파일2 생성 시 현재 시간으로 생성     1. #touch -t [오늘날짜시간] [파일명]
              2. #touch [파일명]
     

 

 

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

파일에 관련된 명령어  (0) 2017.03.25
실습 예제 복습  (0) 2017.03.25
디렉토리 생성과 사용(Snapshot 사용)  (0) 2017.03.19
파일의 종류와 명령어  (0) 2017.03.19
Bash Shell의 명령어와 각종 간편 명령어  (0) 2017.03.19

약 2시간 20분 고민 끝에 해냈다. 정말 멍청한듯..

mkdir(Make DIRectory) - 디렉토리 생성

#mkdir [디렉토리명]

#mkdir [옵션] [디렉토리명]

#mkdir [디렉토리명1] [디렉토리명2] [디렉토리명3]

 

옵션 -p 하위디렉토리까지 한번에 생성

 

 

 

 

 

중괄호를 사용해 한번에 생성

 

rmdir( ReMove DIRectory) - 디렉토리 삭제

#rmdir [디렉토리명]

 

주의 사항 - 디렉토리내에 파일이 있는 경우 삭제되지 않는다.

  - 즉,빈 디렉토리만 삭제 가능

  - 디렉토리내에 파일들을 보호하기 위한 최소한의 장치

 

 

실습 예제

 

1. 최상위 디렉토리 아래 practice 디렉토리 생성
 
 /root/practice <-- mkdir practice X
 #mkdir /practice      O
 
 #cd /practice

2. 생성한 practice 디렉토리 아래 day1 ~ day7 까지 디렉토리 생성
 -단, 명령어 한번으로 생성

 #pwd
 /practice
 
 1. #mkdir day1 day2 day3 day4 day5 day6 day7
 2. #mkdir day{1,2,3,4,5,6,7}
 3. #mkdir day{1..7}
 
3. 생성한 day1 디렉토리 아래 그림과 같이 디렉토리 생성
 -단, 명령어 한번으로 생성
  Linux
    |
  CentOS
    |
   6.8
    |
  2.6.32
  
 #mkdir -p /practice/day1/Linux/CentOS/6.8/2.6.32  // 절대 경로
 #mkdir -p day1/Linux/CentOS/6.8/2.6.32     // 상대 경로
  
4. 생성한 2.6.32 디렉토리로 이동

 #cd /practice/day1/Linux/CentOS/6.8/2.6.32    // 절대 경로
 #cd day1/Linux/CentOS/6.8/2.6.32      // 상대 경로


5. 현재 디렉토리 확인 후, CentOS 까지 이동
 (1)절대 경로를 이용하여 이동 하기
 (2)상대 경로를 이용하여 이동 하기
 
 #pwd
 /practice/day1/Linux/CentOS/6.8/2.6.32
 
 (1) #cd /practice/day1/Linux/CentOS
 (2) #cd ../../
 
6. 생성한 practice 디렉토리 아래 생성한 day2 ~ day7 디렉토리 삭제

 #rmdir day2
 #rmdir day2 day3 day4 day5 day6 day7
 #rmdir day{2,3,4,5,6,7}
 #rmdir day{2..7}

 

 

 

cp (Copy) - 일반파일이나 디렉토리 복사

 

#cp [옵션] [소스(원본)] [타켓(사본)]

 

옵션 -R -r 디렉토리를 복사할 경우 하위 디렉토리 및 파일을

모두 포함하여 복사

  -f     복사할 대상이 이미 있으면 강제로 덮어씌운다.

  -v     명령어 실행과정 출력

  -i      복사할 대상이 이미 있는 경우 사용자에게 덮어쓸지 질의

  -p     해당 파일의 속성,시간정보 등을 유지하며 복사

 

 

복사 시 두인자가 모두 파일인 경우

#mkdir -p /practice/day1/

#cp /bin/ls /practice/day1/ls_backup 

// ls 파일을 이름을 ls_backup으로 변경하면서 복사

#cd /practice/day1/

#ls

ls_backup

-이미 파일이 존재하면 덮어 쓸지 물어보고, 존재하지 않는다면 새롭게 생성된다.

#cp /bin/ls /practice/day1/ls_backup 

#alias

 

복사 시 두번째 인자가 디렉토리인 경우

#cp /bin/ls  /practice/day1/

  복사본     위치

 복사 시 인자를 여러개 지정할 경우 

#cp /bin/cp /bin/pwd /practice/day1/ 

-단, 마지막 인자는 디렉토리이어야 한다.

 

디렉토리 복사하기

#cp /bin /practice/day1/bin_backup    //에러

#cp -r /bin /practice/day1/bin_backup   

 

//     /bin 디렉토리를 /practice/day1/ 디렉토리 아래 이름을

   bin_backup 으로 변경하면서 복사

 

Snapshot 사용(실수방지용,백업용)

실수를 하거나 했을 때 스냅샷을 한 구간으로 다시 돌아가게 해주는 것.

 

 

매니저를 클릭하면 된다.

 

 

 


 
 

 

 

 

 

 

 

 

 

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

실습 예제 복습  (0) 2017.03.25
각종 명령어  (0) 2017.03.25
파일의 종류와 명령어  (0) 2017.03.19
Bash Shell의 명령어와 각종 간편 명령어  (0) 2017.03.19
환경 설치법  (0) 2017.03.19

+ Recent posts