리눅스 / 명령어 / cp - 복사하는 명령어, mv - 이동하는 명령어

cp는 copy의 약자로 복사하는 명령어, mv는 move의 약자로 이동하는 명령어이다.

복사하기

  • abc.txt 파일을 def.txt로 이름을 바꾸어 복사한다.
cp abc.txt def.txt
  • xyz라는 디렉토리가 없다면 abc.txt 파일을 xyz 파일로 복사한다.
  • xyz라는 디렉토리가 있다면 xyz 디렉토리 안에 abc.txt 파일을 복사한다.
cp abc.txt xyz
  • abc.txt 파일을 xyz 디렉토리 안에 def.txt라는 이름으로 복사한다.
cp abc.txt xyz/def.txt
  • abc가 디렉토리이고 xyz라는 디렉토리가 없다면, abc 디렉토리를 xyz로 이름을 바꾸어 복사한다.
  • abc가 디렉토리이고 xyz라는 디렉토리가 있다면, abc 디렉토리를 xyz 디렉토리 안에 복사한다. 즉 xyz/abc가 된다.
cp -r abc xyz
  • abc가 디렉토리이고 xyz/zzz라는 디렉토리가 없다면, abc 디렉토리를 xyz 디렉토리 안에 zzz로 이름을 바꾸어서 복사한다.
  • abc가 디렉토리이고 xyz/zzz라는 디렉토리가 있다면, abc 디렉토리를 xyz/zzz 디렉토리 안에 복사한다. 즉 xyz/zzz/abc가 된다.
cp -r abc xyz/zzz

이동하기

  • abc.txt 파일을 def.txt로 이름을 바꾸어 이동한다. 파일 이름을 바꾸는 것과 결과가 같다.
mv abc.txt def.txt
  • xyz라는 디렉토리가 없다면 abc.txt 파일을 xyz로 이름을 바꾸어 이동한다.
  • xyz라는 디렉토리가 있다면 xyz 디렉토리 안으로 abc.txt 파일을 이동한다.
mv abc.txt xyz
  • abc.txt 파일을 xyz 디렉토리 안으로 def.txt로 이름을 바꾸어 이동한다.
mv abc.txt xyz/def.txt
  • abc가 디렉토리이고 xyz라는 디렉토리가 없다면, abc 디렉토리를 xyz로 이름을 바꾸어 이동한다.
  • abc가 디렉토리이고 xyz라는 디렉토리가 있다면, abc 디렉토리를 xyz 디렉토리 안으로 이동한다. 즉 xyz/abc가 된다.
mv abc xyz
  • abc가 디렉토리이고 xyz/zzz라는 디렉토리가 없다면, abc 디렉토리를 xyz 디렉토리 안으로 zzz로 이름을 바꾸어 이동한다.
  • abc가 디렉토리이고 xyz/zzz라는 디렉토리가 있다면, abc 디렉토리를 xyz/zzz 디렉토리 안으로 이동한다. 즉 xyz/zzz/abc가 된다.
mv abc xyz/zzz

Midnight Commander

  • 파일 복사, 이동 작업은 Midnight Commander를 이용하면 쉽게 할 수 있다.

  • CentOS라면 다음 명령으로,
yum install mc
  • Ubuntu라면 다음 명령으로 설치할 수 있다.
apt install mc
같은 카테고리의 다른 글
Ubuntu 24.04 Server / 설치된 패키지 확인하는 방법

Ubuntu 24.04 Server / 설치된 패키지 확인하는 방법

우분투에서 설치된 패키지 확인은 apt 또는 dpkg 명령어로 할 수 있다. 출력하는 내용에 차이가 있다. apt 명령어로 설치된 패키지 확인 설치된 모든 패키지를 출력한다. # apt list --installed 설치된 패키지 중 이름에 mariadb가 있는 것을 출력한다. # apt list --installed | grep mariadb dpkg 명령어로 설치된 패키지 확인 설치된 모든 패키지를 출력한다. # dpkg -l 설치된 패키지 중 이름에 ...

리눅스 / 하드디스크 파디션 만들기, 포맷하기, 마운트하기

리눅스에서 하드디스크 파티션 만들고, 포맷 하고, 마운트 하는 방법을 요약한다. 장착된 하드디스크 확인하기 ls 명령어로 컴퓨터에 장착된 하드디스크 정보를 출력할 수 있다. /dev/sda, /dev/sdb 등이 하드디스크, /dev/sda1 등이 파티션이다. # ls -l /dev/sd* brw-rw----. 1 root disk 8, 0 Oct 16 13:12 /dev/sda brw-rw----. 1 root disk 8, 1 Oct 16 13:12 /dev/sda1 brw-rw----. 1 ...

Ubuntu 18.04 Server / Apache / 사용자 인증 만드는 방법

Ubuntu 18.04 Server / Apache / 사용자 인증 만드는 방법

웹사이트의 콘텐츠를 특정 사용자만 볼 수 있게 하는 방법은 여러 가지가 있습니다. 만약 웹서버에 대한 충분한 권한이 있다면, Apache를 이용하여 구현할 수 있습니다. 비밀번호 파일 만들기 비밀번호 파일은 htpasswd 명령어로 만듭니다. /home/auth/ 디렉토리에 passwords라는 이름의 파일을 만들고, 사용자 user1의 비밀번호를 정하고 싶다면 다음과 같이 명령합니다. # htpasswd -c /home/auth/passwords user1 .htaccess 파일 만들기 웹사이트의 루트 ...

리눅스 / 배포판 / 리눅스 민트(Linux Mint) - 역사, 특징, 장점

리눅스 민트의 역사 리눅스 민트(Linux Mint)는 2006년에 클레멘트 르페브르(Clement Lefebvre)가 시작한 리눅스 배포판입니다. 초기에는 우분투(Ubuntu) 기반으로 시작했으며, 이후 사용자가 쉽고 편리하게 사용할 수 있는 운영체제를 목표로 발전해왔습니다. 리눅스 민트는 특히 윈도우 사용자가 쉽게 전환할 수 있도록 직관적인 인터페이스와 다양한 멀티미디어 코덱을 기본으로 제공하는 것으로 유명합니다. 리눅스 민트의 특징 사용자 친화적 인터페이스 리눅스 민트는 특히 ...

Rocky Linux 9 / Apache / Virtulahost 만드는 방법

Rocky Linux 9 / Apache / Virtulahost 만드는 방법

하나의 서버에서 여러 사이트를 운영할 수 있다. Rocky Linux 9에서 Apache 웹서버로 구현하는 방법을 정리한다. Selinux가 활성화되어 있으면 작동하지 않고, 별도의 설정이 필요하다. 여기서는 Selinux를 끄고 진행한다. 목표 하나의 서버에서 두 개의 사이트를 운영한다. http://aaa.manualfactory.net로 접속하면 Welcome to AAA!, http://bbb.manualfactory.net으로 접속하면 Welcome to BBB!를 출력한다. DNS 설정 aaa.manualfactory.net. bbb.manualfactory.net 모두 같은 IP로 가도록 설정한다. 폴더와 파일 생성 /home/aaa ...

리눅스 - 오픈 소스의 선두 주자

리눅스 개요 리눅스(Linux)는 유닉스(Unix) 운영체제의 계열에 속하는 자유롭고 오픈 소스인 운영체제입니다. 리눅스 커널은 1991년 핀란드의 대학생이었던 리누스 토르발스(Linus Torvalds)에 의해 처음 개발되었으며, GNU 프로젝트의 일환으로 개발된 다양한 소프트웨어와 결합되어 완전한 운영체제를 구성합니다. 오늘날 리눅스는 서버, 데스크탑, 모바일 장치, 임베디드 시스템 등 다양한 플랫폼에서 널리 사용되고 있습니다. 리눅스의 역사 리눅스의 역사는 1991년으로 거슬러 올라갑니다. ...

Ubuntu 18.04 Server / 설치하기

Ubuntu 18.04 Server / 설치하기

다운로드 Ubuntu Server 다운로드 페이지는 다음과 같다. https://ubuntu.com/download/server 최신 버전에 대한 안내가 주로 있으므로, 구버전을 다운로드하고 싶다면 아래 링크가 편하다. https://mirror.kakao.com/ubuntu-releases/ 가상 머신에 설치한다면 다운로드한 ISO 파일을 그대로 사용하면 되고, 물리 서버에 설치한다면 Rufus 같은 툴을 이용하여 부팅 USB를 만든다. 설치 설치 미디어로 부탕하고 잠시 기다리면 언어를 선택하는 화면이 나온다. 원하는 언어를 선택하고 엔터키를 누른다. 키보드 레이아웃을 정하고 ...

Ubuntu 18.04 Server / 시간대(time zone) 설정하는 방법

Ubuntu 18.04 Server / 시간대(time zone) 설정하는 방법

현재 서버의 시간대 확인 현재 서버에 설정된 시간대는 date 명령어로 확인할 수 있다. # date 시간대 설정 방법 1 - dpkg-reconfigure tzdata 시간대를 설정하고 싶다면 다음과 같이 명령한다. # dpkg-reconfigure tzdata 한국이라면 Asia를 선택하고 Seoul을 선택합니다. 시간대 설정 방법 2 - tzselect tzselect 명령으로 설정할 수 있다. 번호를 입력하여 시간대를 정한다. # tzselect Please identify a location so that time ...

Ubuntu 16.04 / Apache / javascript 폴더 접근이 안되는 문제 해결하는 방법

javascript 폴더 접근 불가 우분투(Ubuntu)에서 아파치(Apache)로 웹서버를 운영할 때 이상한 문제가 하나 발생합니다. 사이트 경로에 javascript가 있으면 forbidden 에러가 나는 것입니다. Forbidden You don't have permission to access /javascript/ on this server. 이 문제가 발생하는 이유는 자바스크립트 설정 때문입니다. /etc/apache2/conf-available/javascript-common.conf에 다음과 같은 코드가 있습니다. Alias /javascript /usr/share/javascript/ javascript로 접속하면 /usr/share/javascript/로 연결시키라는 뜻입니다. 사이트 접속자는 /usr/share/javascript/에 접속 권한이 없으므로 forbidden 에러가 ...

CentOS 7 / 설치하기

CentOS 7 / 설치하기

CentOS ISO 다운로드 CentOS ISO 파일은 DVD ISO, Everything ISO, Minimal ISO, NetInstall ISO 등 여러 가지가 있습니다. 이 중에서 가장 파일 크기가 작은 NetInstall ISO 파일로 설치하겠습니다. NetInstall ISO는 설치에 필요한 최소한의 파일만 포함하고 있고, 추가 소프트웨어는 다운로드 받아 설치합니다. CentOS 7의 NetInstall ISO 파일은 다음 링크에서 다운로드를 받을 수 있습니다. http://mirror.navercorp.com/centos/7/isos/x86_64/ 파일 이름은 CentOS-7-x86_64-NetInstall-xxxx.iso입니다. CD로 부팅 ISO 파일을 CD에 ...