본문 바로가기

리눅스

컴파일, 파일 공유, ssh

컴파일(Compile) : 사람이 쓴 코드를 컴퓨터가 인식하게 해주는 기계어 변환 과정이다.
Kernel compile : Linux에서 customized Linux를 생성하기 위해서 필요한 커널(모듈)들만 넣어서 만든 뒤 기계어로 변역시켜서 Linux의 새로운 버전으로 만듦  
Software compile : ./configure > make > make install 과정으로 진행되는데 특히 ./configure 뒤에 옵션을 붙여서 위치, 함께할 소프트 웨어 지정, ....등을 줘서 컴파일 환경을 만들어 준 뒤 기계어로 만듦. APM(Apache Web Server + PHP Web Programming language + MySQL Databased)과 같이 여러 소프트웨어가 함께 작동될 때 소프트웨어 컴파일이 필수이다.

 

 

파일 공유

Linux-Linux: NFS(Network File System)

Windows-Windows: 공유 폴더
Linux-Windows: Samba, smbclient

 

 

booting 시 사용되는 파일들

/etc/rc.local : 부팅 직전에 수행되어져야 하는 명령어 기술

/etc/fstab: auto mount되는 설정

/etc/inittab: runlevel 설정

/etc/grub.conf: 부팅과 관련된 설정 

 

 

.bashrc 파일

.bashrc 파일은 해당 사용자에게만 적용되는 설정이다. root는 /root/.bashrc, centos는 /home/centos/.bashrc 파일에 해당 사용자의 로그인 후 쉘의 설정이 적용된다. 

 

 

파일 삭제

파일이나 디렉터리 삭제는 rm -rf file/directory인데 shred -u -v file하면 파일을 0으로 채워서 삭제해 복원을 불가하게 한다.

 

 

파일 이동 및 파일명 변경

mv : 파일의 이동(다른 디렉터리로), 이름 변경(같은 디렉터리 내)
rename : 확장자 일괄 변경 

 

 

>, >>, < , <<, |, ||, &&, ;

좌측(>, >>)의 결과가 우측으로 생성됨, 우측(<, <<)의 입력이 좌측으로 생성됨
>>와 <<는 추가의 의미

|(vertical bar/pipe)는 좌측의 결과를 우측의 입력으로 넘김 
||는 shell script에서 or(합집합)의 의미, &&는 shell script에서 and(교집합)의 의미
&&나 ; 는 명령어를 연이어서 실행하라는 의미 

 

 

링크

hard link : 일종의 복사 ln original linked로 사용
soft link(symbolic) : 일종의 단축키와 같은 개념 ln -s original linked로 사용 보안상 매우 취약하다.
cp와 mv, mkdir 등과 다른 점은 링크에서는 어느 한 파일에 변경이 생기면 다른 파일에도 반영된다는 점에서 복사, 생성, 이동과 다르다.

 

 

ubuntu에서 ssh 통신

1. apt-get -y install openssh-server로 ssh설치

 

2. 방화벽 끄기 ufw allow (22/tcp)    //포트는 알아서 바꿔도 됨 

 

3. /etc/ssh/sshd_config에서 AllowUsers에 사용할 유저 추가하기

 

4. service ssh restart하고 잘 받고 있나 netstat -nltp |grep 22로 확인

 

5. scp 나의_파일 (centos/root)@상대_호스트:상대_위치로 내 파일을 암호화로 보내고,
scp (centos/root)@상대_호스트 상대_위치 나의_위치해서 상대 파일을 가져올 수 있다.