'개발/Linux'에 해당되는 글 5

  1. 2011.01.26 find 와 grep
  2. 2010.06.22 DEB package install, remove 하는 방법 (2)
  3. 2010.04.26 tar 사용법
  4. 2010.03.15 Ubuntu 부트 메뉴 리스트
  5. 2008.12.17 Ubuntu 에서 Remote Folder 마운트 하기

find 와 grep

grep 과 find 조합해서 특정 문자가 들어간 파일 찾기

-i 는 대소문자 구분 없이.
-n 는 라인수 -H 는 파일 이름
$ find ./ -name '*.log' -exec grep -H -n -i 'check' {} \;
find 로 찾은 파일들이 {} 에 들어가고, -exec 로 grep 을 실행해서 문자열이 포함된 걸 검사.
find 의 여러 옵션을 사용해서 원하는 파일의 범위를 좁힐 수 있다. 

copy example

find ./ -type f \( -name 'aa*' -o -name 'bb*' \) -exec cp {} text \;

 


모든 파일 에서 grep 하기
$ grep -n 'hello' *
$ grep -r -n 'hello' * ( 하위디렉토리까지 검사)
$ find ./ * -exec grep -n -H 'mapred.task.id' {} \;
(어쨋든 find 와 결합한다면...-H 는 파일명 보이기)

RegExp 를 사용해서 검색 가능.
Examples

$ grep '^n' *

n으로 시작하는 모든 행을 출력한다.


$ grep '4$' file

(4로 끝나는 모든 행을 출력한다.)

$ grep -rni  '\.5' *

.5가 나오는 모든 행을 출력한다.
 

$ grep -rni  '^[we]' *

(w나 e로 시작하는 모든 행을 출력한다.)

 

$ grep -rni '\<[a-z].*n\>' *
소문자 하나로 시작하고, 이어서 임의 개수의 여러 문자가 나오며, n으로 끝나는 단어가 포함된 모든 행을 출력한다. 여기서 .*는 공백을 포함한 임의의 문자들을 의미한다.

$ grep -r -n -i 'CREATE.*.EMP' *
CREATE 다음에 여러 다른 문자열이 온 후 EMP가 있는 라인 리턴.




참고



'개발 > Linux' 카테고리의 다른 글

find 와 grep  (0) 2011.01.26
DEB package install, remove 하는 방법  (2) 2010.06.22
tar 사용법  (0) 2010.04.26
Ubuntu 부트 메뉴 리스트  (0) 2010.03.15
Ubuntu 에서 Remote Folder 마운트 하기  (0) 2008.12.17
TRACKBACK 0 COMMENT 0

DEB package install, remove 하는 방법


Debian 에서 dpkg 명령어를 사용하여 software package 를 install, remove 할 수 있다. 
Apt(for "A Package Tool") 나 aptitude 같은 툴을 쓰면 software 를 더 쉽게 추가, 제가 할수 있지만, 여기서는 일단 dpkg 사용법을 보고 가자.

Installing a Deb Using dpkg -i
$ dpkg -i package-file-name

-i is to install a package

Verifying the installation of package using dpkg -l packagename
$ dpkg -l | grep 'tcl'

ii  tcl8.4                               8.4.19-2                   Tcl (the Tool Command Language) v8.4 - run-t

'ii' 는 'installed ok installed'

Uninstalling a Deb using dpkg -r
$ dpkg -r tcl8.4

다시, package 의 상태를 체크하면,
$ dpkg -l | grep 'tcl'
rc  tcl8.4                             8.4.19-2                   Tcl (the Tool Command Language) v8.4 - run-t

'rc' 는 'removed ok config-files'. 
하지만, remove action은 configuration file 을 제거하는 것은 아니다. 
(/var/lib/dpkg/status 에서 status 확인)
그래서, 완전히 package 를 지우려면,
$ dpkg -P tcl8.4

** uninstall with apt-get
apt-get remove packagename

'개발 > Linux' 카테고리의 다른 글

find 와 grep  (0) 2011.01.26
DEB package install, remove 하는 방법  (2) 2010.06.22
tar 사용법  (0) 2010.04.26
Ubuntu 부트 메뉴 리스트  (0) 2010.03.15
Ubuntu 에서 Remote Folder 마운트 하기  (0) 2008.12.17
TRACKBACK 0 Comment 2

tar 사용법

묶기

1. Creating an archive 
$ tar cvf archive_name.tar dirname/
압축없이 묶기
- c : create a new archive
- v : verbosely list files which are processed.
- f : following is the archive file name

2. Creating a gzipped tar archive
$ tar cvzf archive_name.tar.gz dirname/
- z : filter the archive through gzip

3. Creating a bzipped tar archive 
$ tar cvjf archive_name.tar.bz2 dirname/
- j : filter the archive through bzip2

gzip VS bzip2
bzip2  은 압축하고 압축을 푸는데 gzip 보다 시간이 더 걸린다. 
bzip2 로 묶은 크기는 gizp 보다 작다.

풀기

1. Extract a *.tar
$ tar xvf archive_name.tar
- x : extract files from archive

2. Extract a gzipped tar archive (*.tar.gz)
$ tar xvzf archive_name.tar.gz

3. Extract a bzipped tar archive (*.tar.bz2)
$ tar xvjf archive_name.tar.bz2

리스트 보기

1. View the tar archive file content without extracting 
$ tar tvf archive_name.tar

2. View a gzipped tar (*.tar.gz)
$ tar tvzf archive_name.tar.gz

3. View a bzipped tar (*.tar.bz2)
$ tar tvjf archive_name.tar.bz2


'개발 > Linux' 카테고리의 다른 글

find 와 grep  (0) 2011.01.26
DEB package install, remove 하는 방법  (2) 2010.06.22
tar 사용법  (0) 2010.04.26
Ubuntu 부트 메뉴 리스트  (0) 2010.03.15
Ubuntu 에서 Remote Folder 마운트 하기  (0) 2008.12.17
TRACKBACK 0 COMMENT 0

Ubuntu 부트 메뉴 리스트

Ubuntu 에서 자동 업데이트 하고 나면 부트 메뉴가 마구 마구 늘어나는데,
이거 보기 싫으니깐, 리스트 정리를 하고 싶다면,

sudo
sudo gedit /
boot
boot/grub/menu.lst

gedit 에서 boot menu list 를 열어서 안쓰는 커널은 삭제 하면 된다. 

'개발 > Linux' 카테고리의 다른 글

find 와 grep  (0) 2011.01.26
DEB package install, remove 하는 방법  (2) 2010.06.22
tar 사용법  (0) 2010.04.26
Ubuntu 부트 메뉴 리스트  (0) 2010.03.15
Ubuntu 에서 Remote Folder 마운트 하기  (0) 2008.12.17
TRACKBACK 0 COMMENT 0

Ubuntu 에서 Remote Folder 마운트 하기

ssh 를 사용해서 Remote Folder 를 마운트하는 방법.


1. 다음 모듈을 설치
(sudo su 로 가서 root 권한 받아서 하던가 아니면 매번 sudo 하던가)
sudo apt-get install sshfs

2. modprobe command 로 다음을 load
sudo modprobe fuse

3. Permission Setting
<username>대신에 ubuntu 사용자 이름으로.
sudo adduser <username> fuse
sudo chown root:fuse /dev/fuse
sudo chmod +x /bin/fusermount

4. logout 하고 다시 들어오기
usergroup에 사용자를 추가했기때문에 log out 했다가 다시 들어 오기.

5. local 에 디렉토리 만들기
mkdir local-folder

6. remote folder(remote-folder) 를 local에 (local-folder)로 연결하기
remote server : remote.server.com
sshfs -o umask=000 root@remote.server.com:/remote-folder local-folder
root 계정(예를 들면)으로d remote.server.com 에 접속하려고 하기 때문에 password를 물어본다.
그러면 root 의 password를 입력하면 된다.

## unmount
fusermount -u local-folder
or
umount local-folder


local-folder 는 그대로 남아있지만, remote-folder와의 연결이 끊어졌기 때문에 아무 내용이 없다.


'개발 > Linux' 카테고리의 다른 글

find 와 grep  (0) 2011.01.26
DEB package install, remove 하는 방법  (2) 2010.06.22
tar 사용법  (0) 2010.04.26
Ubuntu 부트 메뉴 리스트  (0) 2010.03.15
Ubuntu 에서 Remote Folder 마운트 하기  (0) 2008.12.17
TRACKBACK 0 COMMENT 0