개발 블로그

[교육] 서버 기본 학습 시험 2차 본문

리눅스 | 서버

[교육] 서버 기본 학습 시험 2차

토도 2024. 6. 4. 17:55

예제) 현상황) CentOS7에 접속해 있으며, 계정은 simybh로 접속해 있다. 프롬프트는

/home/simybh에 있다.

미션) a.txt, b.txt, c.txt를 만든 후 각각에 hello a, hello b, hello c를 기입해

저장 후 리눅스에서 하나의 파일로 압축해서 ftp로 다운받고 싶다.

 

) mkdir text

cd text

vi a.txt

hello a

:wq

vi b.txt

hello b

:wq

vi c.txt

hello c

:wq

tar cvfz text.tar.gz ./*

 

1. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 모른다.

미션) 프롬프트에서 현 디렉토리를 위치를 확인할려면?

 

pwd

 

2. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 모른다.

미션) 프롬프트에서 현재 접속한 계정 정보를 확인하고 싶다.

 

whoami

 

3. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 모른다.

미션) 프롬프트에서 현재 서버에 접속해 있는 모든 계정정보를 확인하고 싶다.

 

w

 

4. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 모른다.

미션) 지금까지 서버에 로그인에 성공한 계정정보와 시간을 알고 싶다.

 

last

 

5. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 알고 있다.

미션) 지금까지 서버에 로그인에 실패한 계정정보와 시간을 알고 싶다.

 

su -

lastb

 

6. 현상황) CentOS7에 접속해 있으며 계정은 root 계정으로 접속해 있다.

미션) oneid 계정을 생성하고 비번을 1234로 하고 싶다.

 

useradd oneid

passwd oneid

 

7. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. oneid 계정의 비밀번호를 알고 있다.

미션) simybh 계정으로 접속해 있지만 oneid로 접속한 계정을 바꾸고 싶다.(계정 변경시 oneid 환경변수에 저장된 PATH 를 불러와야 함)

 

su - oneid

 

8. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 모른다.

/home/simybh/log 폴더에 상당히 많은 log 파일이 존재한다.

미션) 몇개의 파일이 있는지 알고 싶다. (힌트: wc 사용)

 

cd /home/simybh/log

ls -l | grep "^-" | wc -l 

 

9. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 모른다.

미션) simybh 홈디렉토리에 program 디렉토리를 만들고 싶다.

 

mkdir ~/program

 

10. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 모른다.

ftp/home/simybh/programapache.tar.gz, tomcat.zip 을 업로드 하였다.

미션) /home/simybh/program 폴더에 apache.tar.gz, tomcat.zip 파일 압축을 풀고 싶다.

 

cd ~/program

tar -xvf /home/simybh/program/apache.tar.gz

gzip -d /home/simybh/program/tomcat.zip

 

11. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 모른다.

미션) /home/simybh/log 폴더에 300개 정도의 log파일이 들어 있다. 일일이 ftp로 받기엔 유실될수도 있어 tar로 묵어 하나의 파일로 만들어 ftp로 다운받고 싶다.

이때 tar로만 묵는걸 희망하며, 압축은 하고 싶지 않다.

 

tar -cvf /home/simybh/log test.txt

 

12. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 모른다.

미션) 터미널을 이용해 작업을 하다보니 터미널에 text가 너무 복잡해 지저분하다. 화면에 text등을 모두 깨끚이 없에고 싶다.

 

clear

 

13. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 모른다.

용량큰 log 파일이 있는데 vi로 열기엔 너무 버벅 거린다.

미션) 로그를 한페이지씩 보고 싶다. (힌트: cat 사용)

 

cat log.txt | less

 

14. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 알고 있다.

서버에 계정이 100개가 생성되어 있다. 당연히 /home100개의 폴더가 있다.

미션) 누군가 올린 내사랑.txt 라는 파일을 찾아서 읽고 싶다. 어느 계정으로 어디에 있는지 알수 없다. 하지만 보고 싶다. (힌트: find 사용)

 

find /home -name 내사랑.txt

 

15. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 알고 있다.

/home/simybh 폴더에 apache를 설치했다. /home/apache2.4로 설치했다.

미션) 그런데 apache2.5 버전이 출시되어 다시 업그레이드를 하였다. /home/apache2.5로 설치했다. apache 홈폴더를 또 변경해야 한다.

향후 apache2.6이 나오면 또 이작업을 해야 한다. 새로 설치는 하고 싶지만 홈폴더를 또 변경하는 설정을 하고 싶지 않다.

그렇다고 버전도 모르게 /home/simybh/apache 로 설치하고 싶지는 않다. 설치 디렉토리를 어떻게 설정해야 할까 (힌트: ln 사용)

 

ln -s /home/apache2.5 /home/apache

 

16. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 알고 있다.

dudul 계정의 사용자가 본인의 폴더에 이전 자료를 /home/dudul/자료.tar.gz으로 받아 놓았다.

미션) 이를 /home/simybh 로 가져오고 simybh 계정으로 자유롭게 자료를 열람하고 싶다.

 

su -

cp /home/dudul/자료.tar.gz /home/simybh/

chown simybh:simybh /home/simybh/자료.tar.gz

exit

cd /home/simybh

tar -xvf 자료.tar.gz

 

17. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 모른다.

/usr/local/jbossEAP7/LOG/server.logWAS log가 쌓이고 있다.

미션) 실시간으로 log를 터미널로 출력하고 싶다. 어떤 명령어로 파일을 열어야 할까?

 

tail -f /usr/local/jbossEAP7/LOG/server.log

-f : 파일의 끝 부분을 계속 모니터링하여 새로운 내용이 추가될 때마다 출력합니다.

 

18. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 알고 있다.

미션) 아파치 프로세스의 PID를 알고 싶다.

 

ps -ef | grep httpd

 

19. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 알고 있다.

아파치가 동작되지 않고 있다. 아파치를 재기동 하고 싶다.

아파치 위치는 /usr/local/apache2.4에 설치되어있다.

미션) 아파치를 재기동하고 싶다(kill 사용)

 

ps -ef | grep httpd

kill -9 <PID>

/usr/local/apache2.4/bin/apachectl start

 

20. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 알고 있다.

데일리 백업을 하게 하는 daily.sh 쉘을 받았다.

미션) 매일 새벽 1시에 daily.sh가 실행되게 하고 싶다.

 

crontab -e

0 1 * * * /daily.sh

 

21. 현상황) CentOS7에 접속해 있으며 계정은 simybh 계정으로 접속해 있다. root 계정의 비밀번호를 알고 있다.

데일리 백업을 하게 하는 month.sh 쉘을 받았다.

미션) 매월 1일 새벽 1시에 month.sh가 실행되게 하고 싶다.

 

crontab -e

0 1 1 * * /month.sh