한글 zip 파일 풀기

9.04 까지만해도

unzip 명령어에 -O 라는게 있어서
unzip -O cp949 파일명
이런식으로 한글파일도 깔끔하게 풀수있었다 ..
근데 9.10에서는 이게 사라졌다!!..(그냥은 안된다 뭐 옵션줘서 컴파일해야되는거로앎)
우분투 채널 보니까 스크립트를 만들어서 쓰더라 (인코딩변환후 리네임방법)
perl과 ruby 스크립트중
 ruby가 맘에들어 ruby를 쓰기로했다.
#!/usr/bin/ruby
# libzip-ruby1.8 패키지를 설치한 후 사용할 수 있습니다.
# 사용법: $ ruby unzip_cp949_to_utf8 zipfile.zip
require 'fileutils'
require 'zip/zip'
require 'zip/zipfilesystem' # ruby 1.8.x
require 'iconv'

def unzip
   Zip::ZipFile.open(ARGV[0]) do |zipfile|
      zipfile.each do |f|
         # libzip-ruby1.9 아직 없음. 그래서 아래 문장 주석 처리
         #utf_string = f.name.encode("utf-8") # for ruby1.9 or higher
         # cp949 파일 이름을 utf-8로 변환
         utf_string = Iconv.conv("UTF-8", "CP949", f.name) # for both ruby1.8.x and ruby1.9.x
         FileUtils.mkdir_p(File.dirname(utf_string))
         zipfile.extract(f, utf_string)
         puts utf_string
      end
   end
end
unzip

unzip

그냥은 안된다 …
sudo apt-get install rubygems  로 루비 gem을 설치후
gem install zip/zip  으로 zip 라이브러리를 설치해준다
그다음에 네번쨋 줄쯤에 require rubygems 를 해주면 잘된다
삽질하고나서 읽어보니까 libzip-ruby 한방이면 되는거같기도하다 ;..(설명서를 읽자!)
http://ubuntu.or.kr/viewtopic.php?p=44412#p44412
Debian 8, ruby 2.1 에서는
sudo gem install zip iconv
가 필요
————————————-
업데이트
루비 2.1
#!/usr/bin/ruby
require 'fileutils'
require 'zip'

def unzip
	Zip::File.open(ARGV[0]) { |zipfile|
		zipfile.each  {|f|
			# cp949 파일 이름을 utf-8로 변환
			utf_string = f.name.force_encoding("CP949").encode("UTF-8", :invalid => :replace, :undef => :replace, :replace => "_") # for ruby1.9 or higher
			FileUtils.mkdir_p(File.dirname(utf_string))
			#zipfile.extract(f,utf_string)
			f.extract(utf_string)
			puts utf_string
		}
	}
end
unzip

 

ubuntu samba 설정

sudo apt-get install samba

/etc/samba/smb.conf 수정
# 동작하는 그룹명
   workgroup = WORKGROUP
# 시스템 설명
   server string = %h server (Samba, Ubuntu)
# 예제파일을 참고하여
;[profiles]
;   comment = Users profiles
;   path = /home/samba/profiles
;   guest ok = no
;   browseable = no
;   create mask = 0600
;   directory mask = 0700
#공유폴더 생성
[Share]   #폴더명
comment “WebShare”
valid users = Only
path = /home/smb
read only = yes
browsable = yes
유저 추가
sudo smbpasswd -a Only
유저 삭제
sudo smbpasswd -x Only
삼바 재시작

screen

으잌ㅋ

이걸 안써놓다니
screen -r //붙이기 (여러개 떠있으면 뒤에이름지정)
screen -ls //스크린 뭐떠있나 보는거
screen -S “name”  //name 이란 세션이름으로 스크린 띄우기(새창)
screen -r “name” // name 에 붙이기
screen -S test1 -X pow_detach  // test 세션 강제로 떼어내기 (누가 들어있을경우)
screen -r -x // 강제로 붙히기 (누가 접속해 있던없던 같이 같은화면을 볼수있따)
screen -S test1 -X exec top// test1세션이름을 가진 스크린에 top을 실행한다 (빅뱅:탑 아님)
스크린 떠있을때 단축키
Ctrl+a,c // 새창띄우기
Ctrl+a,a // 이전창으로 이동
Ctrl+a,0 // 0번 창으로 이동
Ctrl+a,1 // 1번 창으로 이동
Ctrl+a,9 // 9번 창으로 이동
Ctrl+a,d : screen 때어내기 (exit랑 다름, 스크린은 살려두고screen 을 빠져나옴)
화면 복사하기
Ctrl+a [   (화살표로 이동가능 로그같은거 볼때도 유용ㅋ)

vim 자동완성 플러그인

http://www.vim.org/scripts/script.php?script_id=1879

~/.vim/plugin 에 넣어주고
~/.vimrc 에
function! InsertTabWrapper()
    let col = col(‘.’) – 1
    if !col || getline(‘.’)[col-1]!~’\k’
        return “\<TAB>”
    else
        if pumvisible()
            return “\<C-P>”
        else
            return “\<C-N>\<C-P>”
    end  
    endif
endfunction
inoremap <tab> <c-r>=InsertTabWrapper()<cr>
inoremap <expr> <CR> pumvisible() ? “<C-Y><CR>” : “<CR>”
hi Pmenu ctermbg=blue
hi PmenuSel ctermbg=yellow ctermfg=black
hi PmenuSbar ctermbg=blue
추가 염 “

대여폭 측정방법

서버

iperf -s -p 1234

클라

iperf -c wsv -p 1234

————————————————————

Client connecting to wsv, TCP port 1234

TCP window size: 16.0 KByte (default)

————————————————————

[  3] local 169.254.8.2 port 45556 connected with 169.254.8.1 port 1234

[ ID] Interval       Transfer     Bandwidth

[  3]  0.0-10.0 sec  1.08 GBytes    930 Mbits/sec

0~10초간 1.08GBytes 전송했다는걸 알수있다

TCP window size: 16.0 KByte (default)

————————————————————

[  3] local 169.254.8.2 port 58695 connected with 169.254.8.1 port 1234

[ ID] Interval       Transfer     Bandwidth

[  3]  0.0-10.0 sec    113 MBytes  94.7 Mbits/sec

8849922255.xxx