윈도우에서 아파치.zip 다운받아 ftp를 이용하여 리눅스에 전송하기

1. 리눅스에 vsftpd 패키지 설치

2. 방화벽 설정
3. virtual box 네트워크 설정

 


vsftpd 패키지 설치

  • vsftpd의 설치유무 확인
    # ps -ax | grep vsftpd
  • vsftpd 설치
    # yum -y install vsftpd

 

방화벽 설정

# firewall-cmd --permanent --add-service=ftp

# firewall-cmd --permanent --add-port=21/tcp

# firewall-cmd --reload
  • vi /etc/selinux/config
    • SELINUX = enforcing -> SELINUX = disabled 로 변경

재시작

# systemctl restart vsftpd
# systemctl enable vsftpd  (재부팅시에도 자동실행 활성화)
ps -ax | grep vsftpd (vsftpd 실행 확인)

 

NAT네트워크 설정하여 포트포워딩

  • 윈도우에서 리눅스의 FTP, SSH를 사용하고 싶다면 포트포워딩을 해야한다.

      1) virtual box 파일 ->  환경설정  ->  네트워크  ->  NAT 네트워크 편집  ->  포트포워딩

      2) 해당 os 설정  ->  네트워크  ->  NAT 네트워크

port

이게 맞는 설정인지는 모르겠음

 

고정ip 설정

  • 가상머신이 2개 이상 작동된다면 같은 ip를 사용하게 되므로 문제가 발생한다.

1) cd /etc/sysconfig/network-scripts

2) vi ifcfg-enp0s3
3) 다음과 같이 수정

4) putty로 ssh 확인 (error발생)

    • vi /etc/ssh/sshd_config
    • UseDNS no 로 변경 (주석풀기 필수)
    • 포트넘버 22 주석풀기
    • systemctl restart sshd

5) 윈도우 cmd에서 ftp 확인

ftp

'LINUX' 카테고리의 다른 글

Linux 06 : user  (0) 2021.05.20
Linux 05 : cron  (0) 2021.05.20
Linux 04 : background, daemon  (0) 2021.05.20
Linux 03 : shell script  (0) 2021.05.20
Linux 02 : wget, git, shell, kernel 등  (0) 2021.05.20

super(root) user

1) super(root) user?

  • sudo : super user가 될 수 있는 일반 사용자의 권한
  • # : super user라는 표시
  • super user 는 root라는 이름을 갖고 있다.

2) super user가 되려면?

  • su - root : super user가 되기 위한 명령어.
  • exit : 빠져나올 때

root

su - root로 하니까 패스워드가 틀렸다고 나옴. sudo를 붙여 사용하니 root로 들어갈 수 있다.

 

user 생성

  • sudo useradd -m duru : duru 유저 생성
  • sudo passwd duru : duru 암호 생성
  • sudo usermod -a -G sudo duru : duru 유저에 sudo 권한 부여

생활코딩 리눅스강의 통해 학습 중.

'LINUX' 카테고리의 다른 글

Linux : Apache WEB 01  (0) 2021.05.20
Linux 05 : cron  (0) 2021.05.20
Linux 04 : background, daemon  (0) 2021.05.20
Linux 03 : shell script  (0) 2021.05.20
Linux 02 : wget, git, shell, kernel 등  (0) 2021.05.20

cron

  • 정기적으로 명령을 시켜주는 소프트웨어
  • 시스템을 운영하다보면 데이터를 정기적으로 백업한다던지의 정기적인 작업이 필요할 때가 있다. 이러한 경우에 cron을 이용한다.
  • contab -e : 하고자 하는 일을 정의할 수 있다.

cron

  • m : 실행되는 분의 주기 (*/10 : 10분에 한번)
  • h : 실행되는 시간의 주기( * : 시간과는 상관없이 실행)
    • 10 1 : 1시 10분에 실행
  • dom : day of month(한달에 얼마나)
    • 24 : 매달 24일
  • dow : 요일
  • command : 명령어 입력

결과

cron2

tail

tail

  • tail 파일명 : 해당 파일의 가장 뒤쪽의 텍스트 보여준다.
  • tail -f 파일명 : 해당 파일을 감시하고 있다가 파일의 뒤쪽에 텍스트가 추가되면 자동으로 화면에 보여준다.

 

  • 2 : 표준에러
  • 1 : 표준출력
  • date.log 2 >&1 : 표준에러를 표준출력화시킴(리다이렉션) 표준출력화된 것은 date.log에 함께 저장됨



alias

  • alias l='ls -al' : 명령어 l 을 치면 ls -al 이 나온다.

'LINUX' 카테고리의 다른 글

Linux : Apache WEB 01  (0) 2021.05.20
Linux 06 : user  (0) 2021.05.20
Linux 04 : background, daemon  (0) 2021.05.20
Linux 03 : shell script  (0) 2021.05.20
Linux 02 : wget, git, shell, kernel 등  (0) 2021.05.20

background execute

  • ctrl + z
  • jobs : 백그라운드에 존재하는 프로그램 확인
  • fg : 되돌아가기

fg

+ : fg를 입력했을 때 제일 처음으로 되돌아오는 프로그램
fg %2 : +가 아닌 -로 돌아가고 싶을 때 (사진 상에서 vim으로 되돌아가고 싶을 때)
kill %3 : 3번째 프로그램을 멈추게 하고 싶을 때
kill -9 %3 : 더욱 강력하게 프로그램을 멈추게 하고 싶을 때
  • 실행할 때부터 프로그램을 백그라운드로 돌리고 싶을 때 : 명령어 뒤에 &을 붙인다.
    • ex) ls -alR / > result.txt 2> error.log &

 

daemon

  • /etc/init.d : 데몬 프로그램이 위치하는 디렉토리
  • apache2 실행 : sudo service apache2 start
  • 실행 확인 : ps aux | grep apache2
  • apache2 정지 : sudo service apache2 stop

'LINUX' 카테고리의 다른 글

Linux 06 : user  (0) 2021.05.20
Linux 05 : cron  (0) 2021.05.20
Linux 03 : shell script  (0) 2021.05.20
Linux 02 : wget, git, shell, kernel 등  (0) 2021.05.20
Linux 01 : 기본 학습  (0) 2021.05.18

Shell scipt

  • echo $0 : 사용하고 있는 shell이 무엇인지 알고 싶을 때
  • #!/bin/bash : bin 하위의 bash라는 프로그램으로 해석되어야 한다.

 

  • bak 디렉터리를 생성하는 backup이라는 프로그램을 만들어보자
  • a.log, b.log, c.log 파일이 포함된 bak 디렉터리를 생성한 후 backup 생성

 

#!/bin/bash
if ! [ -d bak ]; then
    mkdir bak
fi
cp *.log bak
  • if [ -d bak ]; : 현재 디렉토리에 bak라는 디렉토리가 존재하는지?
  • fi : if문 끝
  • cp *.log bak : 확장자가 log인 모든 파일을 저장한다.

실행 시 허가 거부당함

backup

  • chomod +x backup : backup파일에 x(실행가능한)를 추가한 것.

backup2

수행 전 : -rw-rw-r--
수행 후 : -rwxrwxr-x
x가 붙으면 실행이 가능하다는 뜻

 

  • 제대로 실행해보기 위해 bak디렉터리 삭제 후 backup 실행

backup3

  • bak 안에 c.log를 삭제한 후 backup을 실행해보자 : 성공

backup4


생활코딩 리눅스강의 통해 학습 중.

'LINUX' 카테고리의 다른 글

Linux 06 : user  (0) 2021.05.20
Linux 05 : cron  (0) 2021.05.20
Linux 04 : background, daemon  (0) 2021.05.20
Linux 02 : wget, git, shell, kernel 등  (0) 2021.05.20
Linux 01 : 기본 학습  (0) 2021.05.18

wget 사용

  • wget : url을 통해 파일 다운로드
  • wget url
  • 파일 이름 변경 : mv 원본파일명 변경할파일명.확장자
  • wget -O 원본파일명 변경할파일명.확장자 url



git 사용

  • sudo apt-get install git
  • git clone url 다운받을 디렉토리 명
    • git clone https://github.com/facebook/react.git react_src

에러발생

git_error

sudo killall apt apt-get

만일 진행중인 프로세스가 없다라고 뜬다면 디렉토리를 하나씩 삭제해야한다.

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*

sudo dpkg --configure -a
sudo apt update

CLI

  • semicolon
    • mkdir why
    • cd why
    • 두 명령어를 한번에 하려면? mkdir why;cdwhy
  • pipeline
    • 어떤 명령어(프로그램, 프로세스)의 실행결과를 다른 명령어(프로그램, 프로세스)의 입력으로 준다.
    • grep : 찾고자 하는 단어가 속한 행을 찾는 명령어
      • grep 찾을 단어 찾을파일.확장자
    • 사용설명서에서 sort단어를 찾고 자 할 때 : 파이프이용( | )
      • ls --help | grep sort
      • ls --help | grep sort | grep file
    • 현재 실행중인 프로그램 리스트 중 apache만을 확인하고 자할 때
      • ps aux | grep apache



IO Redirection

  • I : Input
  • O : Output
  • Redirection : 방향을 바꾼다.
    • 출력되는 결과를 방향을 돌려 저장하는 것을 뜻한다.
  • ls -l의 결과를 result.txt를 만들어 저장하고자 할 때
    • ls -l > result.txt

- standard ouput

rename.txt 파일을 삭제한 후 출력결과를 저장해보자.

  • rm rename.txt
  • rm rename.txt > result.txt
    • 오류 발생 : >는 standard output을 향하는 것이지 standard error를 향하는 것이 아니다.
  • rm rename.txt 1> result.txt
    • 오류 발생 : 1이 붙게 되면 standard output(표준출력)이 된다. 로그파일에다가 저장해야 할 듯하다.
  • rm rename.txt 2> error.log
    • 성공 : 2가 붙게 되면 standard error라는 정보를 갖게 된다.
  • rm rename.txt 1> result.txt 2> error.log
    • rename.txt의 결과는 result.txt에 저장하고 만약 오류가 있다면 error.log에 저장한다.



- standard input

  • cat : 사용자가 키보드를 통해 입력한 정보를 받는 명령어
  • cat hello.txt : command-line arguments를 통해서 전달한 입력방식 (대부분 이렇게 쓴다.)
  • cat < hello.txt : hello.txt에 저장되어있는 내용을 입력을 받는다.



Kernel과 Shell

  • shell : 사용자가 입력한 명령어 kernel에 전달. standard input과 standard output, standard error를 통해 사용자와 소통
  • kernel : 사용자가 볼 수 없으며 하드웨어와 프로세스를 잇는 핵심 인터페이스



- bash vs zsh

  • shell의 종류
  • 사용하는 방식에 따라 명령어가 조금씩 다르다.

생활코딩 리눅스강의 통해 학습 중.

'LINUX' 카테고리의 다른 글

Linux 06 : user  (0) 2021.05.20
Linux 05 : cron  (0) 2021.05.20
Linux 04 : background, daemon  (0) 2021.05.20
Linux 03 : shell script  (0) 2021.05.20
Linux 01 : 기본 학습  (0) 2021.05.18

Linux 기초 명령어

  • -r : 디렉토리뿐만 아니라 그 안에 있는 것들 전부 삭제
  • ls -l : 세부정보
  • pwd : 디렉토리가 어디있는지 확인
  • rm -r : 디렉토리 삭제
  • --help : 명령어 확인 ex) rm --help, ls --help
  • man : 명령어 상세 사용설명서 ex) man -ls
  • 빠져나가지 못한 상태에서 검색하고 싶으면 -> /검색할 단어
    • ex) /sort
  • n키를 누를때마다 단어를 찾아줌
  • 밖으로 빠져나가고 싶다 -> q
  • mkdir : 디렉토리 하나만 생성가능
  • mkdir -p : 하위 디렉토리까지 생성 가능 mkdir -p dir/dir1/dir2/dir3

 

  • ls -a : 숨긴파일까지 보여줌
  • ls -al : 숨긴파일의 세부내용까지 보여줌
  • ls -alS : 파일사이즈에 따라 파일 정렬

 

  • cp 원본파일 복사할파일
  • mv 원본파일 복사할파일 : 이름바꾸기

 

  • sudo : super user do
  • rm -rf : 전부 지우는 것

 

  • nano : 글쓰기
  • copy기능이 없기 때문에 cut기능과 uncut기능 조합해서 사용한다
  • ctrl+6 : 블록지정

 

package manager

 

  • update : 설치할 수 있는 패키지의 목록을 최신상태로 유지하는 것
  • upgratde : update로 확인한 패키지의 버전을 업그레이드 해주는 명령어

 

  • htop을 설치하고 업데이트 한 뒤 다시 삭제해보자.
  • apt get-update apt get-cache search htop sudo apt-get install htop sudo htop sudo apt-get upgrade htop sudo apt-get remove htop

'LINUX' 카테고리의 다른 글

Linux 06 : user  (0) 2021.05.20
Linux 05 : cron  (0) 2021.05.20
Linux 04 : background, daemon  (0) 2021.05.20
Linux 03 : shell script  (0) 2021.05.20
Linux 02 : wget, git, shell, kernel 등  (0) 2021.05.20

+ Recent posts