'OS/Linux'에 해당되는 글 35건

  1. 2018.10.04 VirtualBox CentOS 6.10 Basic Server - ssh 설치
  2. 2018.10.04 VirtualBox CentOS 6.10 Basic Server 설치 후 네트워크 설정
  3. 2018.02.28 서버 접속자 수 확인해보기
  4. 2017.07.18 리눅스 OS,하드웨어 정보 확인
  5. 2016.11.30 find로 지난 LOG 또는 템플릿 파일/ 디랙토리 삭제하기
  6. 2016.09.19 캐시 메모리 비우기
  7. 2015.11.11 UNIX 시스템 1~5주차
  8. 2015.09.17 VMware에 설치된 SentOS를 외부에서 원격 접근
  9. 2015.09.16 CentOS 비밀번호 분실시 변경하기
  10. 2014.12.18 crontab 한글깨짐 현상

VirtualBox CentOS 6.10 Basic Server - ssh 설치

OS/Linux 2018.10.04 14:57

VirtualBox에서 작업하는데 답답하여 ssh로 작업하기 위해 설치를 하였다.


1. 설치

#yum install openssh-server


2.설정

#vim /etc/ssh/sshd_config


#Port 22 <-- 주석 풀고 원하는 포트로 변경

Port 50022


#PermitRootLogin yes <-- root 로그인을 막기위해 주석 풀고 원하는 no로 변경.

PermitRootLogin no


3.방화벽 설정

# vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 50022 -j ACCEPT <- 추가해줌

#service iptables restart <- 재시작


4. ssh 재시작

#service sshd restart


5. VirtualBox 포트포워딩 설정

이 설정을 해야 VirtualBox의 CentOS에 접근할 수 있다.

설정>네트워크>어댑터 1 내부 고급>포트포워딩

호스트 IP[127.0.0.1],호스트 포트[50022],게스트 IP[10.0.2.15],게스트 포트[50022] 추가 후 확인


호스트는 127.0.0.1이고 게스트는 CentOS 시작 후 ifconfig로 확인한 ip로 해야한다.

그리고 putty 등 어플로 접속해보자. 혹시 안된다면 CentOS를 재시작해보자. 

작업중 안되서 재시작을 했는데, 알고보니 포트포워딩 규칙에서 확인 버튼을 누르지 않았다. 바로 될지는 모르겠다.

tags : CentOS, ssh, VirtualBox
Trackback 0 : Comment 0

VirtualBox CentOS 6.10 Basic Server 설치 후 네트워크 설정

OS/Linux 2018.10.04 12:24

CentOS 6.10 Basic Server 설치 후 로그인을 하면 네트워크 접근이 안된다.

처음에 접근하려면 먼저 설정을 해주어야하는데, 다음 명령어로 파일을 열어보자.

#vim /etc/sysconfig/network-scripts/ifcfg-eth0


파일을 열어보면 네트워크 설정이 몇줄 나오는데 그 중에서 다음 부분을 수정해주자.

ONBOOT=yes <-- no로 되어있었다.


이제 network 서비스를 다시 시작해주자.

#service network restart


보통은 이렇게 하면 네트워크가 연결되어 ip 조회가 가능하다.

#ifconfig


조회해보면 eth0로 네트워크가 연결된 것을 확인할 수 있다.


Trackback 0 : Comment 0

서버 접속자 수 확인해보기

OS/Linux 2018.02.28 14:46

갑자기 서버에 부하가 걸려 서버 모니터링을 다양하게 해보다가 포트를 모니터링해서 접속자 수 체크하는 방법이 있어서 남겨본다.


netstat 명령어를 이용한 방법으로 특정포트에 접근한 숫자를 확인하여 접속자 수를 가늠해 볼 수 있다. 기본 명령어는 다음과 같다.

netstat -anp


모든 포트 정보를 표시하고 address는 숫자로만 표기된다. 여기서 일단 웹 서버 접속자 수를 가늠해보려고 하니 80포트와 443 포트를 확인해보자.

netstat -anp | grep -E ":80 |:443 "


실행 결과를 보면 원하지 않는 포트도 보일 것이다. 숫자 뒤에 띄어쓰기 한 것은 8009 같은 다른 포트 검색을 제거하기 위해 한 것이다. 여기서 다시 한가지 걸러낼려고 하는데 ESTABLISHED 상태인 것만 걸러낼 것이다.

ESTABLISHED는 서로 연결된 상태를 의미한다.

netstat -anp | grep -E ":80 |:443 " | grep ESTABLISHED


이제 라인수를 구하면 접속자 수가 되겠다.

netstat -anp | grep -E ":80 |:443 " | grep ESTABLISHED | wc -l


서버 셋팅을 수정하고 비교하니 숫자가 확실히 줄어들었다. thread 수를 늘리고 나니 대략 접속자 수가 10명이상 차이가 난다. 그리고 처리 속도도 빨라진듯 하다. 처리가 빨라저서인지 정확히는 알 수 없으나 부하가 어느정도 걸리는지 간단히 확인하는 것으로는 충분해 보인다.

Trackback 0 : Comment 0

리눅스 OS,하드웨어 정보 확인

OS/Linux 2017.07.18 15:38

리눅스 버전 확인

#cat  /etc/issue

(결과 예시)

CentOS release 5.4(Final)


또는


#cat /etc/redhat-release

(결과 예시)

CentOS release 5.4(Final)



커널 버전 확인

#cat /proc/version

(결과 예시)

Linux version 2.6.18-164 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Thu Sep 3 04:03:03 EDT 2009


#uname -a

(결과 예시)

Linux v-ollehpaperdev01 2.6.18-164 #1 SMP Thu Sep 3 04:03:03 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux



메모리 정보 확인

#cat /proc/meminfo



CPU 정보

#cat /proc/cpuinfo



디스크 정보 확인

#df -h



Trackback 0 : Comment 0

find로 지난 LOG 또는 템플릿 파일/ 디랙토리 삭제하기

OS/Linux 2016.11.30 15:21

서버를 운영하다보면 로그 파일과 템플릿 파일이 점점 쌓여서 넘쳐날 경우가 있다. 이런 파일들은 일정 기간이 지나면 삭제해야하는데, 매번 찾아서 삭제하기 번거로우니까 배치로 삭제해보려고 한다.


삭제할 파일이 /log 안에 있다고 가정하자.


30일이 지난 파일을 찾을 경우 다음과 같이 명령어를 입력하면 된다.

find /log -name "*.log"


그런데 이 경우 하위 디렉토리에 있는 log 파일도 검색해주기 때문에 현재 위치만 하기 위해서는 옵션을 하나 추가해야 한다.

find /log -name -maxdepth 1 "*.log"


파일이 아니고 디렉토리의 경우에는 옵션을 다르게 해야한다.

find /log -type d


검색한 파일 중에 하루 이상 지난 파일을 검색 하려면 다음과 같다.

find /log -name -maxdepth 1 "*.log" -mtime +1


-name : 원하는 이름을 검색할 때 사용

-type d : 디렉토리 검색

-maxdepth : 깊이 검색인데, 1을 사용하면 현재 디렉토리만 검색

-mtime : 일 단위로 검색. +1 하루 이상 지난 파일. +가 없으면 하루 지난 파일.


여기에 검색한 내용을 삭제하려면 명령어 뒤에 추가해주면 된다.

find /log -name -maxdepth 1 "*.log" -mtime +1 -exec rm -rf {} \;


하루 이상 지난 log 파일을 찾아 삭제한다. 시간단위는 몇가지 더 있으니 필요하면 find 옵션에서 확인해보자.


추가: 다른 방법을 찾아서 추가한다.

find /log -maxdepth 1 -name "*.log" -mtime +1 -delete



Trackback 0 : Comment 0

캐시 메모리 비우기

OS/Linux 2016.09.19 10:24

리눅스 메모리가 상당히 이상해서 찾았으나 관리자 권한이 없어서 사용할 수가 없다...

그래도 일딴 정리해본다.


참고 사이트

http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EC%BA%90%EC%8B%9C_%EB%A9%94%EB%AA%A8%EB%A6%AC_%EB%B9%84%EC%9A%B0%EA%B8%B0

http://ehclub.tistory.com/1322

https://blog.lael.be/post/1090



pagecache 해제

echo 1 > /proc/sys/vm/drop_caches


dentries, inodes 해제

echo 2 > /proc/sys/vm/drop_caches


pagecache, dentries, inodes 모두 해제

echo 3 > /proc/sys/vm/drop_caches



한가지 더 고려해야하는 것은 디스크 캐시이다. 입출력 효율을 높이기 위해 디스크 쓰기를 버퍼에 담아 두었다가 처리하는데, 디스크 쓰기 버퍼를 처리하는 명령어인 sync를 이용하여 다음과 같이 명령어를 사용하면 좋다.

sync && echo 3 > /proc/sys/vm/drop_caches


한가지 주의해야할 부분은 쓰기 작업이 활발히 일어나는 PC에서는 CPU 부하가 늘어날 수 있으니, 부담이 적은 시간대를 이용하여 스케쥴링 하는 것도 좋을 것이다.

Trackback 0 : Comment 0

UNIX 시스템 1~5주차

OS/Linux 2015.11.11 17:11

1주차 - UNIX 개요


1.리눅스의 특징은 무엇인가? 

멀티유저(multiuser), 멀티태스킹(multitasking) 지원

신뢰성과 성능 보장

Character User Interface / Graphical User Interface 지원

공개 소스로서 빠르게 발전하고 보완됨

여러 종류의 파일 시스템을 지원

쉘(shell)을 이용

효율적인 하드웨어 활용

인터넷의 모든 기능 지원


2.리눅스 역사에서 중요한 공헌 두 가지 이상을 나열하면? 

1972년 벨 연구소의 Ken Thompson과 Dennis Ritchie가 Unix 운영체제를 C언어 기반으로 작성

1984년 Richard Stallman이 Unix와 유사한 공개 운영체제를 개발하는 GNU 프로젝트를 시작

1991년 Linus B. Torvalds에 의해 리눅스 커널 발표

1992년 최초 리눅스 배포판 : MCC Interim 리눅스


3.GNU General Public License에서 보장하는 소프트웨어에 대한 자유는? 

자유롭게 프로그램을 복제하고 사용할 수 있으며 소스 코드를 개작할 수 있고 개작된 

프로그램을 배포할 수 있으나 소스코드는 공개하여야 한다.


4.리눅스 배포판 중 최근에 인기 있는 것은 어떤 것이며, Red Hat 계열인 CentOS 리눅스와 Fedora 리눅스의 특징은 무엇인가? 

현재 가장 인기 있는 배포판은 Ubuntu인 것으로 보인다. Fedora, openSuSE, Debian Linux, Mandriva Linux, 

Linux Mint, PCLinuxOS, Slackware Linux, Gentoo Linux, CentOS, FreeBSD 등도 인기 있는 배포판이다.

CentOS 리눅스는 안정적이라는 특징이 있고 Fedora 리눅스는 새로운 버전이 빠르게 나온다는 특징이 있다.



2주차 - 리눅스 설치


1.가상머신을 이용하여 리눅스를 설치하는 것과 하드디스크의 비어있는 파티션에 리눅스를 직접 설치하는 것의 장단점은 무엇이며 어떻게 선택해야 하는가? 

가상머신에 설치하는 경우 VirtualBox등의 가상머신 소프트웨어 설치절차가 필요하지만 디스크 공간의 여유만 있으면 간단하게 리눅스를 설치할 수 있다는 장점이 있다. 단점은 PC의 성능이 낮을 경우 가상머신을 구동하는데 부담이 있다는 것이다. 절대적인 기준은 아니지만 CPU Pentium4 2.6GHz, 메모리 1GB 정도의 PC에 설치하였을 때 설치 진행속도는 느리지만 시스템 운영에는 문제가 없는 것으로 보인다.

하드디스크의 비어있는 파티션에 설치하기 위해서는 반드시 Windows등 기존 운영체제에 사용하지 않는 파티션이나 별도의 하드디스크 드라이브가 있어야 한다. 그러나 가상머신을 사용하는 것에 비하여 리눅스 시스템의 속도가 빨라진다는 장점이 있다. CPU Pentium3 1GHz, 메모리 512MB 정도의 PC에는 가상머신 없이 직접 설치를 권장하며, 직접 설치 시 시스템 운영에는 문제가 없는 것으로 보인다.


2.하드디스크의 파티션이란 무엇이며 리눅스에서 기본으로 사용하는 파티션은 무엇인가? 

파티션은 하드디스크를 논리적으로 나눈 구역이며 논리적인 하드디스크라고 할 수 있다.

Windows에서는 독립적인 드라이브(C:, D: 등)로 지정할 수 있고 리눅스에서도 각각의 파티션은 독립적인 저장장치로 취급된다.

리눅스에는 반드시 root(/) 파티션이 있어야 하고 swap 파티션이 가상 메모리 관리를 위하여 필요하다. 이외에도 필요에 따라 추가 파티션을 생성할 수 있다.


3.리눅스의 /etc, /home, /var, /dev 디렉터리 각각의 용도는 무엇인가? 

/etc : 시스템 환경 설정 파일이 주로 위치하는 곳이다.

/home : 사용자 계정별 디렉터리가 위치하는 곳이다.

‘/home/사용자명’ 디렉터리가 만들어지며 일반적으로 개별 사용자는 자신의 디렉터리 아래에 있는 파일만 생성, 변경, 삭제할 수 있다.

/var : 인쇄, 메일 등 가변 자료를 저장한다.

/dev : 리눅스는 모든 장치를 파일로 취급하는데 장치를 접근하는데 필요한 파일이 위치한 곳이다.



3주차 - 리눅스 시작 : 운영체제의 로딩, 리눅스 시작과 종료 , 기본 명령, 파일 시스템 


1. 리눅스 시스템의 부팅 과정을 전원을 켰을 때부터 로그인 프롬프트가 뜨기까지 과정을 자세히 나열하면? 

전원을 켜면 ROM BIOS의 부트스트랩 로더(bootstrap loader)가 실행된다. 부트스트랩 로더는 MBR(Master Boot Record)에 있는 부트 블록(boot block)에 있는 내용을 실행한다.

MBR 부트 블록은 운영체제의 부트 섹터에 있는 프로그램인 부트 로더(boot loader)를 실행한다.

LILO, GRUB 등의 부트 로더는 보조 기억장치에 저장된 리눅스 커널 이미지를 찾아 실행시킨다.

커널 이미지는 압축을 풀고 커널 프로그램의 주 기능을 수행한다. 커널의 기능 점검, 하드웨어 점검, root 파티션을 읽기 전용으로 마운트(mount), 디스크 검사, root 파티션을 쓰기 가능 모드로 리마운트(remount), 그리고 init 프로세스를 실행시키고 제어권을 넘긴다.

init 프로세스는 /etc/inittab 파일을 읽어 설정된 내용을 실행한다. Runlevel에 따라 실행되는 내용이 달라진다. init은 각종 장치를 활성화 시키고 리눅스 시스템 운영에 필요한 프로세스를 실행시킨다. Runlevel 5인 경우 최종적으로 X Window 로그인 화면이 나타난다.


2.리눅스 시스템의 종료 명령어는 무엇이고 어떤 옵션이 있는가? 그리고 리눅스 시스템의 종료 절차를 나열하면? 

종료 명령은 ‘shutdown [-krhfc][-t sec] time [경고메시지]’ 이다. 다음을 포함하여 여러 가지 옵션을 선택할 수 있다. 

-t sec : 프로세스에 경고 보냄과 kill 시그널 사이 초 단위 간격

-k : 사용자에게 경고 메시지만 전달

-r : 시스템 종료 후에 재부팅

-h : shutdown 후에 시스템 정지(halt)

-f : 재부팅할 때 fsck(file system check)를 하지 않음

-c : shutdown명령어를 취소한다.

time : +m(m분 후) 또는 hh:mm(지정 시각)에 시스템 종료

경고메시지 : 사용자에게 보내지는 메시지


시스템 종료는 다음 순서로 진행된다. 

① 사용자들에게 시스템 종료메시지를 보내고 로그인을 제한한다.

② 지정된 시간 내 종료되지 않은 프로세스를 강제 종료한다.

③ 지정된 시간 내 로그아웃하지 않은 사용자를 강제 로그아웃 시킨다.

④ 메모리에 데이터를 디스크에 저장한다.

⑤ 시스템 종료와 관련된 정보를 시스템 로그 파일에 기록한다.

⑥ 마운트 되어 있는 디바이스들을 마운트 해제한다.

⑦ 시스템을 종료한다.


3.리눅스의 주요 파일 시스템과 각각의 특징을 자세히 조사하시오. 

ext

: 리눅스 초기의 파일 시스템이다. 지금은 거의 사용되지 않는다.

ext2

: 리눅스의 기본 파일 시스템으로 사용되었다. 여전히 기본 파일 시스템으로 많이 사용하고 있는데 ext2는 journaling을 지원하지 않으므로 단순 쓰기 성능은 ext3나 ext4에 비하여 빠르다. 단점은 복구가 어렵다는 것이다.

ext3

: ext2를 journaling을 지원하도록 확장한 것이다. Journaling은 변경을 기록하는 로그(journal)를 두어 시스템 비정상 종료 시 파일 시스템 복구를 쉽게 하는 방법이다. 현재 리눅스에서 주로 사용되고 있다.

ext4

: ext3를 확장한 것이다. 일반적으로 ext2나 ext3에 비하여 읽는 속도가 빠르고 ext3보다 쓰기 속도도 빠르다. 최근 ext4의 사용이 늘어나고 있으며 안정성도 높은 것으로 알려져 있다.



4주차 - 기본 운영(1) : 사용자 계정 관리, 그룹 계정 관리, 파일/디렉터리 상태 출력 명령 


1. 사용자 계정을 추가, 삭제, 변경하는 명령의 사용법을 간단히 기술하고 관련이 있는 파일에 관해 설명하시오. 

계정을 추가하는 명령은 ‘useradd 사용자명’, 삭제하는 명령은 ‘userdel 사용자명’, 변경하는 명령은 ‘usermod 사용자명’이다. 참조하는 파일은 다음과 같다. /etc/passwd : 사용자 계정의 자세한 정보

/etc/shadow : 암호화된 패스워드

/etc/skel : 사용자 홈 디렉터리에 복사되는 파일들의 템플릿

/etc/group : 그룹 정보, 그룹명과 GID 나열

/etc/login.defs : 사용자 계정 추가 시 적용되는 설정

/etc/default/useradd : 홈 디렉터리, 쉘의 종류 등 정보 

2.디렉터리의 내용을 보여주는 ls 명령의 사용법을 자세히 설명하시오. 

ls [옵션] [파일명]...

파일명 : 나열할 파일 이름 또는 디렉터리 이름이다. 파일명을 주면 해당 파일 정보만 나열하고 파일명을 생략하면 현재 디렉터리의 내용이 나열된다. 디렉터리 이름을 주면 해당 디렉터리의 내용을 나열한다. 여러 파일명을 사용할 수 있는데 파일명에 *나 ?를 사용하면 shell에 의하여 패턴에 맞는 파일의 이름들로 변환된다.

예를 들어 디렉터리 내에 a.txt, b.txt, cc.txt 파일이 있다고 가정하면 *.txt는 ‘a.txt b.txt cc.txt’로 변환되고 ?.txt는 ‘a.txt b.txt’로 변환된다.

-a : 숨겨진 파일과 숨겨진 디렉터리 등을 포함하여 나열

-l : 파일종류/디렉터리/링크 구분, 접근 권한, 링크 수, 소유자, 그룹명, 파일 크기, 최종 수정된 시간, 이름 등 자세한 정보를 나열

-F : 이름 뒤에 실행 가능한 파일은 '*‘, 디렉터리는 '/'를 붙여서 보여줌

-i : 파일 및 디렉터리의 inode 번호를 보여줌

-s : 파일 및 디렉터리의 블록 수(간접 블록 포함)를 보여줌

-u : 파일 및 디렉터리가 최종 사용된 시간 순서로 보여주며 -l 옵션과 같이 사용하면 최종 사용된 시간을 보여줌

3.텍스트 파일의 내용을 보여주는 명령을 나열하고 기능을 간략히 설명하시오. 

cat 파일명... 

: 파일(들)의 내용을 보여준다.

more 파일명... 

: 파일(들)의 내용을 페이지 단위로 보여준다. 패턴 검색이 가능하다.

head 파일명... 

: 파일(들)의 앞부분을 보여준다.

more 파일명... 

: 파일(들)의 뒷부분을 보여준다.

4.현재 디렉터리를 변경하는 명령, 디렉터리를 생성, 삭제하는 명령을 나열하고 기능을 간략히 설명하시오. 

cd [디렉터리명] 

: 디렉터리명을 생략하면 사용자 계정의 홈 디렉터리로 변경되고 디렉터리명을 지정하면 해당 디렉터리로 변경된다.

‘cd ∼’명령도 ‘cd’명령과 동일하다. ∼은 shell에서 홈 디렉터리를 의미한다. ‘.’은 현재 디렉터리이고 ‘..’은 상위 디렉터리이다.

mkdir 디렉터리명... 

: 디렉터리(들)를 생성한다.

rmdir 디렉터리명... 

: 디렉터리(들)를 삭제한다. 비어있는 디렉터리만 삭제 가능하므로 삭제 이전에 디렉터리 아래에 있는 파일과 디렉터리를 모두 삭제하여야 한다.



5주차 - 기본 운영(2) : 파일/디렉터리 조작 명령


1.파일의 권한을 변경하는 명령어의 사용법을 자세히 설명하시오. 

chmod [옵션] 권한 파일명...

-R : 파일명이 디렉터리일 경우 디렉터리 아래에 있는 모든 파일과 디렉터리에 권한이 재귀적으로 적용됨을 의미한다.


읽기 (r) : 파일 및 디렉터리 내용 보기

쓰기 (w) : 파일의 쓰기 및 디렉터리 안에 파일 생성 및 삭제

실행 (x) : 파일 실행 및 디렉터리 접근


사용자 권한 : 첫 번째 열 (예: rwx)

그룹 권한 : 두 번째 열 (예: r-x)

다른 사용자들 권한 : 세 번째 열 (예: r-x)


기호모드 [ugoa][+-=][rwx]

ugoa는 각각 user, group, other, all을 의미, 생략하면 all(user, group, other 모두 포함)의 의미이다.

+, -, =는 각각 권한 추가, 권한 삭제, 권한 지정을 의미한다.

여러 기호모드를 나열하여야 할 경우 , 로 연결하고 ‘ ’로 기호모드를 감싸서 표현한다. (예 : chmod 'u=rw,g=r,o=' test.txt)


2.파일의 속성을 변경하는 명령어의 필요성과 사용법을 자세히 설명하시오. 

root 계정 뿐만 아니라 파일의 소유자일지라도 파일을 읽기전용으로만 사용하거나 삭제를 할 수 없게 지정하여 파일을 실수로 삭제하는 것을 막기 위하여 사용된다. root 계정만 속성을 변경할 수 있다.


chattr [옵션] [+-=속성] 파일명...


-R : 파일명이 디렉터리일 경우 디렉터리 아래에 있는 모든 파일과 디렉터리에 속성이 재귀적으로 적용됨을 의미한다.속성 지정은 다음과 같다. 


+, -, = 는 각각 속성 추가, 속성 삭제, 속성 지정을 의미

i : 읽기 전용 모드

a : 추가 전용 모드


lsattr 명령은 ls 명령과 비슷하나 파일과 디렉터리의 속성을 확인할 수 있다.


3.리눅스 명령어의 설명서를 보는 명령은 무엇이며 사용법을 구체적인 예를 들어 기술하시오. 

man 명령

man find (find 명령에 대한 설명 표시, <space>로 페이지 이동, /로 단어 검색)


한글 설명서(번역 과정에서 생략된 내용이 있음) 대신 영문 설명서는 보려면 쉘에서 unset LANG 명령을 수행한 후 man 명령을 수행하면 그 이후부터는 영문 설명서가 표시된다.


4.파일을 복사, 삭제, 이동하는 명령의 사용법을 구체적인 예를 들어 기술하시오. 

복사 명령 

cp cp src_file dst_file (src_file을 dst_file이라는 이름으로 복사)

cp src_file dst_dir (src_file을 dst_dir에 복사)

cp -r src_dir dst_dir (src_dir의 내용을 dst_dir로 복사)


삭제 명령 

rm rm del_file (del_file을 삭제)

rm -r del_dir (del_dir과 내용을 모두 삭제)


이동 명령 

mv mv src_file dst_file (src_file을 dst_file이라는 이름으로 변경)

mv src_file dst_dir (src_file을 dst_dir로 이동)

mv src_dir dst_dir (src_dir을 dst_dir로 이동)


5.파일의 링크를 생성하는 명령의 사용법을 구체적인 예를 들어 기술하시오. 

하드 링크의 생성 ln : 하나의 파일(디렉터리 제외)에 여러 이름을 부여 

ln filename nickname (filename 파일에 nickname이라는 별명을 부여)

vi nickname (filename 파일을 nickname으로 접근할 수도 있음)

rm filename (filename을 삭제해도 nickname이라는 이름으로 파일이 남아있음)

rm nickname (nickname까지 삭제해야 파일이 실제로 삭제됨)


심볼릭 링크의 생성 ln -s : 파일(디렉터리 포함)에 연결을 생성 

ln -s src_dir/src_file my_link (src_dir에 있는 src_file에 대한 연결을 현재 디렉터리에 생성)

cat my_link (src_dir에 있는 src_file을 my_link로 접근할 수 있음)

rm src_dir/src_file (연결의 원본이 삭제되면 my_link는 사용할 수 없음)


6.조건에 맞는 파일을 검색하는 명령의 사용법을 구체적인 예를 들어 기술하시오. 

파일 검색 명령 find 

find ~ -type d -perm 700 -name 'pr*' -print

(홈 디렉터리 아래에서 접근 권한이 700이고 이름이 pr로 시작하는 디렉터리를 찾아서 이름을 출력)

find . -name '*.txt' -print -exec cat {} \;

(현재 디렉터리 아래에서 이름이 .txt로 끝나는 것을 찾아서 이름을 출력하고 그 내용을 출력)

find /etc -type f -name passwd -print -exec grep root {} \;

(/etc 디렉터리 아래에서 이름이 passwd인 파일을 찾아서 파일의 이름을 출력하고 그 파일 안에서 root라는 단어가 있는 줄을 출력, grep은 파일 안에 주어진 문자열 패턴이 있는 줄을 출력하는 명령임)



Trackback 0 : Comment 0

VMware에 설치된 SentOS를 외부에서 원격 접근

OS/Linux 2015.09.17 17:29

SSH 설정은 생략하고 local에서 접근이 가능하다는 전제로 VMware 설정을 설명한다. 일딴 이런 설정을 하는 이유는 집에서 작업할 시간이 별로 없고, 회사에서 틈틈히 사용해보기 위함이다. 그러기 위해 공유기 설정도 해야하지만, 순수하게 VMware만 설명하겠다.


작년에 만들어둔 CentOS를 VMware Workstation 12 Player로 구동하여 설정하였다. 일딴 검색을 해보았으나 설정이 따로 없어서 설정에 들어가서 직접해보았다.


1. 위 화면에서 Edit virtual machine settings를 클릭한다.



2. Hardware 탭에서 Network Adapter를 선택하면 위와 같이 나온다. 여기서 Bridged를 선택하고 하단에 체크박스를 체크하자. Configure Adapters버튼을 누르면 랜카드를 선택할 수도 있다. Advenced... 버튼을 눌러보면 MAC Address를 수정할 수도 있다. 이렇게 하면 공유기에서 추가로 IP 하나를 CentOS에 할당할 수 있다. 


이제 OK를 눌러 설정 종료 후에 CentOS를 실행해서 ifconfig 명령어로 ip를 확인해보자. 그럼 공유기에서 할당 받은 ip가 있을 것이다. 이제 이 ip로 공유기에서 포트포워딩을 하여 원격으로 접근해 사용하자. 물론 고정 ip로 만들어주는 것도 잊지 말자.









'OS > Linux' 카테고리의 다른 글

캐시 메모리 비우기  (0) 2016.09.19
UNIX 시스템 1~5주차  (0) 2015.11.11
VMware에 설치된 SentOS를 외부에서 원격 접근  (0) 2015.09.17
CentOS 비밀번호 분실시 변경하기  (0) 2015.09.16
crontab 한글깨짐 현상  (0) 2014.12.18
vi 명령어  (0) 2013.03.12
tags : Linux, sentos, VMware
Trackback 0 : Comment 0

CentOS 비밀번호 분실시 변경하기

OS/Linux 2015.09.16 11:52

전에 사용하던 VMWare에 설치된 CentOS를 사용해보려고 열었는데 비번이 생각나지 않는다... 1년전에 설치한거라 기억에 없는...


1. 부팅하면 아래같은 화면이 나오는데 키보드 아무 키나 누르자.


2. 그럼 아래같이 GRUB 화면이 나오는데 여기서 다시 e 키를 누르자.


3. 아래 화면에서는 두번째 줄로 커서를 맞추고 다시 e 키를 누르자.


4. 그럼 아래같은 화면이 나온다. 사실 이 단계는 블로그마다 차이가 있어서 그냥 검색한 내용에서 따라해보았다.


5. 위에 화면에서 rhgb quiet를 지우고 single로 바꾸자.


6. Enter 키를 누르면 이전 화면으로 나오는데 b 키를 눌러 부팅하면 화면이 쭉~ 올라가고 커멘드 라인이 나오게 된다.


7. "passwd [username]" 입력하고 엔터를 누르면 비번을 변경할 수 있다. [username]은 사용자 계정이다. 난 root로 하겠다. 잊어버리기 쉽겠지만 영문,숫자,특수문자를 섞어 쓰자. 너무 단순한 비번은 입력해도 안넘어간다고 하니....


8. 비번 변경이 끝났으면 "reboot"를 입력해서 리부팅을 한 후에 로그인 화면이 나올 것이다. 그중 other를 누르면 아래 화면이 나온다. 나는 root 비번을 바꾸었으니 root라고 username을 입력하고 비번을 입력하면 된다.


매번 느끼지만 비번을 너무 단순하게 하던 복잡하게 하던 시간이 지나면 잊는다. 잊더라도 복구할 대책을 잘 정리해두자.


'OS > Linux' 카테고리의 다른 글

UNIX 시스템 1~5주차  (0) 2015.11.11
VMware에 설치된 SentOS를 외부에서 원격 접근  (0) 2015.09.17
CentOS 비밀번호 분실시 변경하기  (0) 2015.09.16
crontab 한글깨짐 현상  (0) 2014.12.18
vi 명령어  (0) 2013.03.12
CentOS - sar 명령  (0) 2011.11.04
Trackback 0 : Comment 0

crontab 한글깨짐 현상

OS/Linux 2014.12.18 11:08

crontab에서 실행시 한글깨지는 현상이 나타난다.

java로 배치작업을 하는데 한글이 ?로 나온다.

쉘 스크립트가 배치로 돌 경우 언어환경이 콘솔과 다르다고 생각된다.

찾아보니 선구자들이 역시 간단한 방법을 제시하였다.


우선 OS 언어설정부터 확인해보자

]# env | grep LANG

LANG=ko_KR.eucKR


LANG=ko_KR.eucKR 이라고 나온다. 이걸 배치작업하는 쉘 스크립트 상단에 넣어주면 해결된다.

#!/bin/sh

export LANG=ko_KR.eucKR


나는 쉘 스크립트 선언 아래에 바로 넣어주었다.

'OS > Linux' 카테고리의 다른 글

VMware에 설치된 SentOS를 외부에서 원격 접근  (0) 2015.09.17
CentOS 비밀번호 분실시 변경하기  (0) 2015.09.16
crontab 한글깨짐 현상  (0) 2014.12.18
vi 명령어  (0) 2013.03.12
CentOS - sar 명령  (0) 2011.11.04
CentOS - top 명령  (0) 2011.11.04
Trackback 0 : Comment 0