sudo apt-get install python-pip

sudo pip install --upgrade ipython[all]

sudo pip install jinja2


위의 명령을 차례로 실행하여 ipython을 설치하려고 했으나, 에러가 발생하였다.

그래서 구글링을 통하여 해결방안을 찾았다.


sudo apt-get remove python-pip

wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py

sudo python get-pip.py


위의 명령 을실행하여 pip 를다시 취득한 후 아래의 명령을 통해 ipython notebook  을 설치하면 된다.


sudo pip install --upgrade ipython[all]

sudo pip install jinja2



출처: https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1306991



자세한 setting은 이곳으로: http://saelly.tistory.com/571


==================================================================


numpy, scipy, matplotlib SETUP


설치하기전 먼저 패키지를 설치해야한다.

sudo apt-get install liblapack-dev libatlas-dev

sudo apt-get install python-dev gfortran

sudo apt-get install libfreetype6-dev libxft-dev

sudo apt-get install freetype2-demos freetype6-dev

sudo apt-get install libpng-dev

sudo apt-get install zlib1g-dev


sudo pip install numpy

sudo pip install scipy

sudo pip install matplotlib

- 만약, 에러가 난다면 아래의 명령을 실행하자.

 sudo pip install git+git://github.com/matplotlib/matplotlib.git


설치가 완료된 모습



예제 파일 실행 모습



만약, 위의 소스코드를 입력하고 실행했을 때 "Couldn't find conversion for foreign struct 'cairo.Context'" 라는 ERROR가 발생한다면, 아래의 명령을 통해 패키지를 설치해준다.

그러면 아무 에러없이 잘 실행이 될 것이다.

sudo apt-get install python-gi-cairo

sudo apt-get install python-gi-dev


'Programming > etc' 카테고리의 다른 글

XAMPP Install  (0) 2015.11.12
[Ubuntu/Lubuntu] OpenCV Setup  (0) 2015.05.14
[Ubuntu14.04 LTS] AMP Install  (0) 2015.02.07
iPython Install On CentOS7  (0) 2014.09.17
Python matplotlib 설치 및 예제 실행  (1) 2014.09.15
Posted by scii
:

xargs, find 명령어

Linux/Common 2013. 5. 8. 01:58 |


xargs 

xargs 명령은 입력된 데이터를 라인 단위로 읽어서 argument화하는 명령이다.

find 명령을 사용하여 검색한 파일에 대한 처리를 위해 파이프로 연결하여 사용한다.


위의 명령은, which 명령에 의해 출력되는 bash 실행 파일의 경로가 /bin/bash인데, 이 결과 값이 파이트와 xargs에 의해 ls -l 아규먼트로 대입되어 결국 ls -l /bin/bash 명령을 수행한 결과를 출력하게 된다.



find

find 명령은 디렉토리 계층에서 파일을 검색하기 위한 명령이다. 

find 명령으로 검색한 결과 값은 하나의 라인에 하나의 파일명이 출력되는데, 이 결과 값을 파이프로 연결하여 여러가지 명령의 아규먼트로 전달하여 원하는 명령을 실행하고 그 결과 값을 얻어낸다.


형식

1) -exec를 사용하여 검색된 결과를 명령의 아규먼트 ({})로 사용한다.

# find ... -exec 명령 {} \;

2) xargs 명령을 사용하여 파이프로 전달된 결과를 표준 입력 아규먼트로 받아서 명령을 실행한다.

# find ... | xargs 명령


find 옵션


 find 옵션

의        미 

 -name 파일명 

 파일명으로 검색한다. 

 -user 유저명 

 유저명 또는 UID로 검색한다. 

 -group 그룹명 

 그룹명으로 검색한다. 

 -perm nnn 

 퍼미션이 nnn인 파일을 검색한다.

 예) -perm 755

 # find . -perm -100 -print

 실행 가능한 --x------ 파일을 찾는다.

 -perm 인자가 마이너스(-) 부호를 가지게 되면 setuid 설정 비트를 포함한 모든 퍼미션 비트들이 검사된다.

 -type x 

 파일 타입이 x인 파일을 검색한다.

 b(블럭 특수 파일), c(문자 특수 파일), d(디렉토리), p(파이프), f(정규표현 일반 파일), l(심볼릭 링크 파일), s(소켓) 

 -atime +n 

 접근 시간이 n일 이전인 파일을 검색한다. (access) 

 -atime -n 

 접근 시간이 n일 이내인 파일을 검색한다. (access) 

 -ctime +n 

 n일 이전에 변경된 파일을 검색한다.

  (change: 내용 수정이 아니라 모드 변경 또는 접근 시간 변경)

 -mtime +n 

 n일 이전에 내용이 수정된 파일을 검색한다. (modify) 

 -mtime -n 

 n일 이내에 내용이 수정된 파일을 검색한다. (modify) 

 -empty

 파일이 비어있고 (0 bytes) 일반 파일, 디렉토리를 검색한다. 

 -newer 파일명 

 파일명의 파일보다 최근에 수정된 파일을 검색한다. 

 -size n 

 파일 블록 크기가 n 이상인 파일을 검색한다.

 b(블럭 -기본값), c(bytes), k(kbytes), w(2바이트 단어) 

 -links n 

 링크된 개수가 n인 파일을 검색한다. 

 -print 

 표준 출력 

 -exec 명령

 검색된 파일을 찾으면 command 명령을 실행한다.

 명령 인자(검색된 파일)는 {}으로 사용하며, 이때 명령 끝은 \;(;이 아님)을 사용해야 한다.

 즉, 명령구분 문자인 ';'을 이스케이프(\) 시켜 주어야 한다.  

 -operator 

 -a: and 연산, -o: or  연산, !: not 연산 

 -path 패턴

 path가 패턴과 일치하는 path에 대해서 검색한다.  

 -regex 패턴 

 파일명이 패턴과 일치하는 정규 표현식에 대해서 검색한다. 



find 명령에서 사용하는 -atime, -ctime, -mtime 옵션에서의 시간들은 일(하루 24시간) 단위이다. 

부호 없는 숫자, 예를 들어 3은 정확하게 3일 전에 끝난 24시간을 의미한다. 다시 말하면 96시간과 72시간 이전 사이를 의미하는 것이다.


마이너스(-) 부호를 가진 숫자는 그 시간 이후에 기간을 가리킨다. 예를 들어, -3은 지금과 3일 전 사이의 모든 시간을 의미한다. 

다시 말하면 0시간 이전과 72시간 이전 사이를 의미하는 것이다.


플러스(+) 부호를 가진 숫자는 그 시간 이전의 기간을 가리킨다. 예를 들면, +3은 3일 이상된 시간을 의미한다.

다시 말하면 72시간 이상 지난 파일을 의미하는 것이다.



# find . -type f -exec file '{}' \;

쉘이 위치한 현재 디렉토리 아래에서 모든 파일을 검색하고 file 명령을 실행한다. 

'{}', 작은따옴표로 둘러싸인 브레이스는 쉘 스크립트에 의해 해석되지 않도록 하기 위한 것이며, find 명령으로 찾은 파일을 의미한다.

세미콜론(;)은 쉘에서 해석되지 않기 위해 백슬래시(\)를 사용하고 있다. 

만약 현재 디렉토리 아래의 grep 디렉토리에서 검색하려면 ./grep 를 지정하면 된다.


# find $HOMe -mtime 0

현재 쉘에 접속해 있는 자신의 홈디렉토리 아래에서 24시간(-mtime 0) 안에 수정된 파일들을 검색하여 출력한다.


# find . -name 'fi*'

현재 디렉토리부터 모든 하위 디렉토리까지 파일명이 fi로 시작하는 모든 파일을 검색하여 출력한다.


# find . -perm 755

현재 디렉토리부터 모든 하위 디렉토리까지 퍼미션이 755인 파일과 디렉토리를 검색한다.

위의 명령은 모든 파일과 디렉토리를 검색하였지만, -type f 옵션을 추가하면 일반 파일만 출력할 수 있다.

# find . -type f -perm 755


# find /home -newer here.sh

/home 디렉토리 아래에서 here.sh 파일보다 최근에 수정된 파일을 검색하여 출력한다.


# find /home -size +1024 -print

/home 디렉토리 아래에서 파일의 블록 크기가 1024 이상인 파일을 검색하여 출력한다.


# find ~/ -type d -print

홈 디렉토리 아래에서 디렉토리들만 검색하여 출력한다.


# find /home \( -name a.out -o -name '*.o' \) -atime +7 -exec rm '{}' \;

/home 디렉토리 아래에서 파일명이 a.out 또는 .o로 끝나는 파일을 검색하고, 7일 동안 사용하지 않은 파일(생성/변경 날짜가 7일 이상된 파일)이면 rm 명령을 사용하여 삭제하도록 하는 명령이다.


# find /tmp -name core -type f -print | xargs /bin/rm -f

/tmp 디렉토리 아래에서 파일명이 core인 파일을 검색하여 출력한다. 이때 검색된 파일 목록은 하나의 라인에 하나의 파일명이 출력되는데, 파이프로 연결된 xargs 명령에 의해 라인 단위로 /bin/rm -f 명령의 아규면트로 전달되어 검색된 모든 파일들을 삭제하게 된다.


# find . -type f -mtime +1 | xargs -n 100 rm -f

find 명령을 사용하여 현재 디렉토리 아래에서 현재 시간보다 하루(+) 전(24시간 내에 작성/수정된 파일만 제외) 에 작성/변경된 파일을 찾으면 라인 단위로 파일 리스트가 쉘에 출력된다.

이 파일 리스트는 하나의 라인당 하나의 파일명이 출력되기 때문에 각 라인의 파일명을 아규먼트화하기 위해 xargs 명령을 파이프로 연결한 다음 -n 100, 즉 100라인 (100개의 아규먼트) 을 한 번에 읽어서 rm -f [아규먼트] 로 치환하여 100개 단위로 검색된 파일들을 삭제하는 명령이다.


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

vim 업데이트 및 gvim 설치  (0) 2014.02.01
분할 압축  (0) 2013.05.26
Linux Theme  (0) 2013.04.28
Linux Theme Settings  (2) 2013.04.07
터미널에서 멀티태스킹하기  (0) 2013.02.02
Posted by scii
:

후디니는 기본적으로 키 줄 때 alt+마우스클릭으로 편하게 줄 수 있게 셋팅이 되어있다.


하지만 기본셋팅으로 우분투에도 alt+마우스클릭 단축키가 있다. 그러다보니 서로 중복되어서 후디니에서 alt+클릭이 안먹힌다.


이 문제점 해결은 Compiz Config Settings Manager에서 마우스 설정을 변경하여 해결할 수 있다. 

설치가 안되있다면 "sudo apt-get install compizconfig-settings-manager"를 실행하여 설치한다.


컴피즈 설정 마법사에서 window managment의 Move window에서 해제하면 불편하니 alt키를 super키로 변경한다. 리눅스에서 super키는 윈도우키이다.








Posted by scii
:

: 터미널에서 이렇게 인스톨을 하거나 소프트웨어센터에서 다운받음.


: tilda를 실행시킨 후 마우스 오른쪽버튼을 눌러 preference 진입. 그 후, 이렇게 셋팅~!!


: Appearance창으로 가서 자기가 좋아하는 셋팅값으로 셋팅.


단축키 설정! 

~ 이것이 grave이다. ~가 가장 만만하다.


셋팅 후의 tilda 모습.


시작 프로그램에 등록을 하지 않으면 컴퓨터를 부팅할때마다 tilda를 실행시켜야 한다.

그런 귀찮은 작업을 하지 않기 위해선 시작 프로그램에 등록을 해야한다.


시작 프로그램에 추가된 화면.


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

Ubuntu 12.04 설치 후 부팅 문제  (0) 2013.03.15
나의 .bashrc 파일 설정  (0) 2012.12.06
Python 환경 변수 설정  (0) 2012.11.27
우분투 명령어  (0) 2012.05.08
ubuntu 11.10 설치하기  (0) 2012.05.02
Posted by scii
:

우분투 11.10 설치


언어 선택. korean으로 선택하고 진행해도 됨.




맨 밑에 것을 선택하였는데 이것은 사용자가 직접 파티션을 나누는 것이다.


sdc(세번째 SCSI 하드디스크)에 설치할 것이기 때문에 sdc의 free space를 선택.


리눅스는 무조건 /(root)와 swap파티션 이렇게 최소한 2개의 파티션이 존재하여야 한다. 그래서 일단 루트파티션 생성. root는 5기가정도로 할당해주면 충분하지만

내 하드디스크는 용량이 커서 그냥 120기가 정도로 할당하였다.

루트 파티션은 꼭!!! primary로 설정해야 한다.!!


루트 파티션 할당된 모습.


/boot 파티션은 만들지 않아도 문제될 것 없지만, 만들어서 나쁠 것은 없다.

리눅스의 대문과 같은 것. 집안이 아무리 망가져도 대문은 망가지지 않듯이 부트 영역의 공간을 따로 지정하면 컴퓨터 공간이 지저분해져도 망가져도 일단은 부트영역이 뜬다.

/boot 파티션은 꼭!! primary로 설정해야 한다.


swap 영역 파티션. swap은 자기 컴퓨터 메모리용량의 2배정도로 할당한다.

내 메모리는 16기가라서 32기가로 설정하였다.

swap은 메모리 공간이 부족하면 내가 할당한 크기만큼의 하드디스크 영역을 메모리화 하여 쓰는 것이다.


나머지 공간을 모두 /home으로 할당한다.


파티션을 모두 나눈 모습.




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

Ubuntu 12.04 설치 후 부팅 문제  (0) 2013.03.15
나의 .bashrc 파일 설정  (0) 2012.12.06
Python 환경 변수 설정  (0) 2012.11.27
우분투 명령어  (0) 2012.05.08
[ubuntu] 터미널 쉽게 쓰기! "tilda"  (0) 2012.05.02
Posted by scii
: