linux2019. 1. 25. 11:06

how to git merge branch A to B


#git commit  

#git push         // update A branch

#git branch 

#git pull 

#git checkout B// move to B branch

#git pull

#git merge A    // merge A with B 

#git push         // update B branch

#git checkout A // move to A

Posted by easy16
linux2019. 1. 22. 10:48


find examples)


find . -type f -exec grep include {} \;

find . -type f | xargs grep include

find . -exec grep -l "vol.Events" {} \;

find .  -exec grep -l  "s" {} \; 2>/dev/null (directory warning 무시)

find . -name "*.o" -exec rm  {} \;


awk examples)


ps aux | grep contents | awk '{ print $2 }' | xargs kill -9

 

ps -ef  | awk '{print $2 $7 }'

ps -ef  | awk '{print $2"\t"$8 }'

 

ps -ef | grep [l]gApp | awk '{ print $3 }' | xargs kill -9

 

정규표현식

http://j07051.tistory.com/554

 

 

grep -P "맹구|봉숭아" *

이렇게 -P 또는 -E 옵션을 붙이면 백슬래쉬를 붙이지 않아도 됩니다. 주의! 모든 리눅스/유닉스용 프로그램의 옵션은 대소문자를 엄격히 구분합니다.

 

 

grep -E "맹구|봉숭아|" *

이것은 지정한 파일들에서, 맹구 또는 봉숭아 또는 가 있는 모든 행을 찾습니다.

 

원본 위치 <http://mwultong.blogspot.com/2006/09/grep-multiple-strings.html>

 

grep -v inverse match

 

-A NUM, --after-context=NUM : 패턴매칭라인 이후의 라인을 NUM수만큼 출력

 

-B NUM, --before-context=NUM : 패턴매칭라인 이전의 내용을 NUM수만큼 출력.

 

-C NUM, -NUM, --context=NUM : 출력물 앞뒤 전후의 주어진 라인만큼 출력(패턴매칭 라인은 포함하지 않고 기본 2라인)

 

원본 위치 <http://geundi.tistory.com/113>


Posted by easy16
linux2018. 11. 29. 17:18




메모리 사용량 확인 명령어

$  free -m


pagecache 해제 명령어

$  echo 1 > /proc/sys/vm/drop_caches


dentry 및 inode 캐시메모리 해제 명령어

$ echo 2 > /proc/sys/vm/drop_caches


pagecache, dentry, inode 캐시메모리 모두 해제 시

$ echo 3 > /proc/sys/vm/drop_caches




출처: 

https://brunch.co.kr/@alden/14


https://com.odroid.com/sigong/nf_board/nboard_view.php?brd_id=freeboard&bid=7824


http://osasf.net/discussion/587/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%84%9C%EB%B2%84%EC%9D%98-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B0%84%EB%8B%A8-%EA%B4%80%EB%A6%AC-%EB%B0%A9%EB%B2%95-%EC%82%AC%EC%9A%A9%EB%9F%89-%ED%99%95%EC%9D%B8-%EC%BA%90%EC%8B%9C%EC%82%AD%EC%A0%9C-%EC%A0%95%EA%B8%B0%EA%B4%80%EB%A6%AC



Posted by easy16
linux2018. 10. 30. 12:24

libpng와 libz는 서로 dependancy가 있어서 libpng 빌드를 위해 libz가 반드시 필요하다.

위의 패키지들의 소스코드와 툴체인이 이미 존재한다는 가정하에 아래의 순서로 빌드하고, 툴체인에 패키지들을 복사(설치) , 타겟보드의 파일시스템에도 복사(설치) 하면 핑핑 잘 돌아간다.


configure에 대한 옵션을 잘 이해하는 것이 무엇보다 중요하다.



생성된 라이브러리 파일을 툴체인과 임베디디 보드에 복사하기 위해 

로컬에 디렉토리인 release 생성 후, 빌드


1,tar zxvf zlib-1.2.11.tar.gz

2,mv zlib-1.2.11 zlib

3,cd zlib

4,mkdir release

5,CC=arm-linux-gcc ./configure --prefix=./release

6,make && make install


release/

├── include

│   ├── zconf.h

│   └── zlib.h

├── lib

│   ├── libz.a

│   ├── libz.so -> libz.so.1.2.11

│   ├── libz.so.1 -> libz.so.1.2.11

│   ├── libz.so.1.2.11

│   └── pkgconfig

│       └── zlib.pc

└── share

    └── man

        └── man3

            └── zlib.3


-> 생성된 라이브러리를 툴체인에 복사

7, cd release

8, tar cvzf zlib.tar.gz include/ lib/ share/

9, cd ../../../../toolchain/stbgcc-4.8-1.5/arm-linux-gnueabihf/

10,cp ../../../factory_app/EXT/zlib/release/zlib.tar.gz .

11,tar zxvf zlib.tar.gz


libpng cross compile



1, tar xvf libpng-1.6.35.tar.xz

2, mv libpng-1.6.35 libpng

3, cd libpng

4, mkdir release

5, ./configure --host=arm-linux-gnueabihf CC=arm-linux-gcc AR=arm-linux-ar STRIP=arm-linux-strip RANLIB=arm-linux-ranlib --prefix=~/EXT/libpng/release

6, make && make install


$ tree .

.

├── bin

│   ├── libpng16-config

│   ├── libpng-config -> libpng16-config

│   ├── pngfix

│   └── png-fix-itxt

├── include

│   ├── libpng16

│   │   ├── pngconf.h

│   │   ├── png.h

│   │   └── pnglibconf.h

│   ├── pngconf.h -> libpng16/pngconf.h

│   ├── png.h -> libpng16/png.h

│   └── pnglibconf.h -> libpng16/pnglibconf.h

├── lib

│   ├── libpng16.a

│   ├── libpng16.la

│   ├── libpng16.so -> libpng16.so.16.35.0

│   ├── libpng16.so.16 -> libpng16.so.16.35.0

│   ├── libpng16.so.16.35.0

│   ├── libpng.a -> libpng16.a

│   ├── libpng.la -> libpng16.la

│   ├── libpng.so -> libpng16.so

│   └── pkgconfig

│       ├── libpng16.pc

│       └── libpng.pc -> libpng16.pc

└── share

    └── man

        ├── man3

        │   ├── libpng.3

        │   └── libpngpf.3

        └── man5

            └── png.5


9 directories, 23 file



7, cd release

8, tar cvzf libpng.tar.gz bin/ include/ lib/ share/

9, cd ../../../../toolchain/stbgcc-4.8-1.5/arm-linux-gnueabihf/

10,cp ../../../factory_app/EXT/libpng/release/libpng.tar.gz .

11, tar xvzf libpng.tar.gz


libz


ln -s libz.so.1.2.11 libz.so

ln -s libz.so.1.2.11 libz.so.1


libpng


ln -s libpng16.so.16.35.0 libpng16.so.16

ln -s libpng16.so.16.35.0 libpng16.so

ln -s libpng16.so libpng.so



위의 command들을 makefile에 merge


출처 : https://badayak.com/entry/make-z-png-jpeg-so-lib-file




Posted by easy16
linux2018. 7. 16. 17:07
find . -name \*.cpp -exec grep -q "debug" '{}' \; -print

출처 : https://www.tutorialspoint.com/developers_best_practices/handy_tools_techniques.htm

Posted by easy16
linux2018. 7. 4. 15:26

 



[ 저장 및 종료 ]



[ex모드]

[설명]

:w

저장

:w file.txt

file.txt 파일로 저장

:w >> file.txt

file.txt 파일에 덧붙여서 저장

:q

vi 종료

:q!

vi 강제 종료

ZZ

저장 후 종료

:wq!

강제 저장 후 종료

:e file.txt

file.txt 파일을 불러옴

:e

현재 파일을 불러옴

 





[ 입력모드 전환 ]


[명령모드]

[설명]

[명령모드]

[설명]

a

커서 윈치 다음 칸부터 입력

A

커서 행의 맨 마지막부터 입력

i

커서의 위치에 입력

I

커서 행의 맨 앞에서부터 입력

o

커서의 다음 행에 입력

O

커서의 이전 행에 입력

s

커서 위치의 한 글자를 지우고 입력

S(cc)

커서 위치의 한 행을 지우고 입력

 




[ 이동 ]


[명령]

[설명]

[명령]

[설명]

H

왼쪽으로 이동(←)

l

오른쪽으로 이동(→)

j

아래 행으로 이동(↓)

k

위 행으로 이동(↑)

w or W

다음 단어의 첫 글자로 이동

b or B

이전 단어의 첫 글자로 이동

e or E

단어의 마지막 글자로 이동

<CR>

다음 행의 첫 글자로 이동

^

그 행의 첫 글자로 이동

$

그 행의 마지막 글자로 이동

+

다음 행의 첫 글자로 이동

-

위 행의 첫 글자로 이동

(

이전 문장의 첫 글자로 이동

)

다음 문장의 첫 글자로 이동

{

이전 문단으로 이동

}

다음 문단으로 이동

H

커서를 화면의 맨 위로 이동

z<CR>

현재 행을 화면의 맨 위로 이동

M

커서를 화면의 중앙으로 이동

z.

현재 행을 화면의 중앙으로 이동

L

커서를 화면 최하단으로 이동

z-

현재 행을 화면의 최하단으로 이동

[n]H

커서를 위에서 n행으로 이동

[n]L

커서를 아래에서 n행으로 이동

<Ctrl>+u

반 화면 위로 스크롤

<Ctrl>+d

반 화면 아래로 스크롤

<Ctrl>+b

한 화면 위로 스크롤

<Ctrl>+f

한 화면 아래로 스크롤

gg, 1G

문서의 맨 첫 행으로 이동

G

문서의 맨 마지막 행으로 이동

[n]G

n행으로 이동

:[n]<CR>

n행으로 이동



[ 삭제 ]


[명령모드]

[설명]

x, dl

커서 위치의 글자 삭제

X, dh

커서 바로 앞의 글자 삭제

dw

한 단어를 삭제

d0

커서 위치부터 행의 처음까지 삭제

D, d$

커서 위치부터 행의 끝까지 삭제

dd

커서가 있는 행을 삭제

dj

커서가 있는 행과 그 다음 행을 삭제

dk

커서가 있는 행과 그 앞 행을 삭제

 




[ 복사 & 붙이기 ]


[명령모드]

[설명]

[명령모드]

[설명]

yy

커서가 위치한 한 행 복사

p

붙여넣기

[n]yy

커서가 위치한 이후로 n행 복사

[n]p

n번만큼 붙여넣기 반복

 



[ 블록 지정 관련 ]


[명령]

[설명]

[명령]

[설명]

v

블록 지정

<Ctrl>+v

비쥬얼 블록 지정

~

대소문자 전환

d

삭제

y

복사

c

치환

>

행 앞에 탭 삽입

<

행 앞에 탭 제거

:

선택된 영역에 대하여 ex명령

J

행을 합침

U

대문자로 만듦

u

소문자로 만듦

 



[ 문자열 탐색 및 치환 ]


[ex모드]

[설명]

/[문자열]

문자열을 탐색

:s/old/new

현재 행의 처음 old를 new로 교체

:s/old/new/g

현재 행의 모든 old를 new로 교체

:10,20s/old/new/g

10행부터 20행까지 모든 old를 new로 교체

:-3,+4s/old/new/g

현재 커서 위치에서 3행 위부터 4행 아래까지 old를 new로 교체

:%s/old/new/g

문서 전체에서 old를 new로 교체

:%s/old/new/gc

문서 전체에서 old를 new로 확인하며 교체

:g/pattern/s//new/g

:%s/old/new/g와 동일

 

[ vim 정규 표현식 ]

[메타문자]

[설명]

[메타문자]

[설명]

^

행의 첫 문자([]안에서는 not의 의미)

$

행의 끝

.

아무 문자나 한 문자 의미

\|

or의 의미

[ ]

[]사이의 문자 중 하나

\{min,max\}

min 이상 max 이하 반복됨

*

앞의 내용이 0번 이상 반복됨

\+

앞의 내용이 1번 이상 반복됨

\<

단어의 시작

\>

단어의 끝

\n

새 행 문자

\t

탭 문자

 



[ vim 확장 정규 표현 문자열 ]


[이스케이프]

[설명]

\i (소문자 아이)

변수 지정에 사용되는 문자들 [_0-9A-Za-z]

\I (대문자 아이)

\i와 같지만 숫자는 제외

\k

keyword로 사용하는 문자 [_\.\-0-9A-Za-z]

\K

\k와 같지만 숫자는 제외

\f

파일 이름으로 사용하는 문자

\F

\f와 같지만 숫자는 제외

\p

프린트 가능한 문자

\P

\p와 같지만 숫자는 제외

\s

whitespace character(공백과 탭)

\S

non-whitespace character

\d

숫자 [0-9]

\D

숫자가 아닌 문자 [^0-9]

\x

16진수 숫자 [0-9A-Fa-f]

\X

16진수 숫자가 아닌 문자 [^0-9A-Fa-f]

\o

8진수 숫자 [0-7]

\O

8진수 숫자가 아닌 문자 [^0-7]

\w

영문 단어에서 사용되는 문자 [0-9A-Za-z-]

\W

영문 단어에서 사용되지 않는 문자 [^0-9A-Za-z-]

\h

영문 단어의 시작에 사용되는 문자 [A-Za-z-]

\H

영문 단어의 시작에 사용되지 않는 문자 [^A-Za-z-]

\a

모든 알파벳 [A-Za-z]

\A

알파벳이 아닌 문자 [^A-Za-z]

\l (소문자 엘)

소문자 [a-z]

\L

소문자가 아닌 문자 [^a-z]

\u

대문자 [A-Z]

\U

대문자가 아닌 문자 [^A-Z]

\e

<ESC>

\t

<TAB>

\r

캐리지 리턴 (CR)

\b

백스페이스(BS)

\n

새 행(LF)

 




[ POSIX 문자 클래스 ]



[문자 클래스]

[내용]

[:alnum:]

알파벳과 숫자 [A-Za-z0-9]

[:alpha:]

알파벳 [A-Za-z]

[:cntrl:]

제어 문자

[:blank:]

탭과 공백 문자

[:digit:]

숫자 [0-9]

[:graph:]

제어 문자와 공백 문자를 제외한 문자

[:lower:]

소문자 [a-z]

[:upper:]

대문자 [A-Z]

[:print:]

제어 문자를 제외한 문자. 즉 프린터 할 수 있는 문자

[:punct:]

[:graph:] 문자 중 [:alnum:]을 제외한 문자. (ex: !, @, #, $, %, ^....)

[:space:]

화이트 스페이스 (ex: 공백, 탭, 캐리지 리턴, 새 행, 수직 탭, 폼 필드)

[:xdigit:]

16진수



 

[ 파일 버퍼 관련 명령 요약 ]


[ex모드]

[설명]

:buffers

버퍼의 내용을 나열

:files or :ls

버퍼의 내용을 나열

:b[n]

n번 버퍼로 이동

:bd[N]

n 버퍼를 삭제(n이 없으면 현재의 버퍼를 완전 삭제)

:bw[n]

n 버퍼를 완전 삭제(n이 없으면 현재의 버퍼를 완전 삭제)

:bp[n]

이전 버퍼로 이동. n을 붙이면 n번만큼 이전 버퍼로 이동

:bn[n]

이후 버퍼로 이동. n을 붙이면 n번만큼 이후 버퍼로 이동

:sb[n]

창을 수평 분할하여 n번 버퍼를 로드

:bf

첫 번째 버퍼로 이동

:bl

마지막 버퍼로 이동

:al

현재 열려 있는 모든 버퍼를 수평 분할 창에 로드



[ 마킹 및 마킹한 위치로 이동 ]


[명령모드]

[설명]

[명령모드]

[설명]

ma

a로 마킹, mb는 b로 마킹...

  

  

`a

a로 마킹된 위치로 돌아감

'a

a로 마킹된 행의 처음으로 돌아감

' '

직전에 커서가 위치하던 행의 처음

` `

진전의 커서 위치로 이동

' "

이전에 vim으로 현재 파일을 닫았을 때 커서가 있던 행의 처음으로 이동

` "

이전에 vim으로 현재 파일을 닫았을 때 커서가 있던 위치로 이동

 



[ 다중 창 관련 명령 ]


-[ 창 생성 ]-

 

 

[명령모드]

[ex모드]

[결과]

<Ctrl>+w s

:sp[plit]

현재 파일을 두 개의 수평 창으로 나눔

<Ctrl>+w v

:[n]vs[plit]

새로운 수직 창 생성, n이 붙으면 n칸 크기의 창 분할

<Ctrl>+w n

:new

새로운 수평 창 생성

<Ctrl>+w ^

  

수평 창으로 나누고 이전 파일의 오픈

<Ctrl>+w f

  

창을 수평으로 나누고 커서 위치의 파일을 오픈

<Ctrl>+w i

  

커서 위치의 단어가 정의된 파일을 오픈

-[ 창 삭제 ]-

 

 

<Ctrl>+w q

:q[uit]!

현재 커서의 창을 종료

<Ctrl>+w c

:clo[se]

현재 커서의 창을 닫음

<Ctrl>+w o

:on[ly]

현재 커서의 창만 남기고 모든 창 삭제

-[ 창 이동 ]-

 

 

<Ctrl>+wh

  

왼쪽 창으로 커서 이동

<Ctrl>+wj

  

아래쪽 창으로 커서 이동

<Ctrl>+wk

  

위쪽 창으로 커서 이동

<Ctrl>+wl

  

오른쪽 창으로 커서 이동

<Ctrl>+ww

  

창을 순차적으로 이동

<Ctrl>+wp

  

가장 최근에 이동한 방향으로 이동

<Ctrl>+wt

  

최상위 창으로 이동

<Ctrl>+wb

  

최하위 창으로 이동

-[ 창 위치 바꾸기 ]-

 

 

<Ctrl>+wr

  

순차적으로 창의 위치를 순환

<Ctrl>+wx

  

이전 창과 위치를 바꿈

-[ 창 크기 조정 ]-

 

 

<Ctrl>+w =

  

창의 크기를 모두 균등하게 함

<Ctrl>+w _

  

수평 분할에서 창의 크기를 최대화

<Ctrl>+w |

  

수직 분할에서 창의 크기를 최대화

<Ctrl>+w [n]+

:res[ize] +n

창의 크기를 n행만큼 증가 (Ctrl+w +는 1행만큼 증가)

<Ctrl>+w [n]-

:res[ize] -n

창의 크기를 n행만큼 감소 (Ctrl+w -는 1행만큼 증가)

<Ctrl>+w [n]>

  

창의 크기를 오른쪽으로 n칸만큼 증가(수직 창에 한함)

<Ctrl>+w [n]<

  

창의 크기를 왼쪽으로 n칸만큼 증가(수직 창에 한함)



[ ctags 관련 명령 ]


[ex모드]

[설명]

:ta [tag] or <Ctrl>+]

[tag]가 정의된 위치를 나열하고 선택한 위치로 점프. 현재 위치는 stack에 push된다.

:ts [tag] or :서 [tag]

 

:po or <Ctrl>+t

stack top에 저장된 위치를 pop하고 그 위치로 점프

:sts [tag]

[tag]가 정의된 위치를 나열하고 선택한 위치로 창을 수평 분할하여 새로 생성된 창에 표시

:stj [tag]

 

:tn

tj나 ts로 점프했을 때 다음 tag로 점프

:tp

tj나 ts로 점프했을 때 이전 tag로 점프

:tr

tj나 ts로 점프했을 때 처음 tag로 점프

:tl

tj나 ts로 점프했을 때 마지막 tag로 점프

:pts [tag]

[tag]가 정의된 위치를 나열하고 선택한 위치로 창을 수평 분할하여 새로 생성된 창에 표시하지만 커서는 현재 위치에 유지

:ptj [tag]

미리보기 윈도우에 tag가 정의된 형식을 보임

:ptn

ptj나 pts로 점프했을 때 다음 tag로 점프

:ptp

ptj나 pts로 점프했을 때 이전 tag로 점프

:ptr

ptj나 pts로 점프했을 때 처음 tag로 점프

:ptl

ptj나 pts로 점프했을 때 마지막 tag로 점프



[ cscope 관련 명령 


:cs find {질의 종류} {심볼}

ex_) :cs find s start_kernel

 

0 or s

이 C symbol 찾기

1 or g

이 정의 찾기

2 or d

이 함수에 의해 불려지는 함수들 찾기

3 or c

이 함수를 부르는 함수들 찾기

4 or t

Find assignments to

6 or e

이 egrep 패턴 찾기

7 or f

이 파일 찾기

8 or i

이 파일을 포함하는 파일들 찾기

 

출처: <http://devanix.tistory.com/170>

 


Posted by easy16
linux2018. 7. 2. 18:31

Tasks: 221 total,   1 running, 220 sleeping,   0 stopped,   0 zombie

%Cpu(s):  3.0 us,  0.1 sy,  0.0 ni, 96.6 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem:  16315256 total, 10231164 used,  6084092 free,   114968 buffers

KiB Swap: 15999996 total,   441876 used, 15558120 free.  9276708 cached Mem



CPU

us : 사용자가 사용중인 사용률

sy : 시스템이 사용중인 사용률

ni : 프로세스 우선순위를 기반으로 사용되는 사용률(사용자 공간에서 사용됨)

id : 아무일도 하지 않는 여유율

wa : 입출력을 기다리는 프로세스 사용률

hi : 하드웨어 인터럽트 사용률

si : 소프트웨어 인터럽트 사용률

st : 가상화 환경에서 손실률

User값이 높다면, 사용자 코드를 수행하는데 시간이 오래 걸린다면 내부적으로 계산을 많이 하고 있다는 것입니다.

System값이 높다면, 시스템에 의해 사용되고 있는 시간이 오래 걸린다면 프로세스들이 시스템 호출 또는 I/O가 많다고 할 수 있습니다.

idle의 값이 항상 0이라면 CPU를 100% 사용하고 있다는 것을 의미합니다. CPU를 계속사용하고 있는 프로세스를 찾아 적절하게 대응 할 필요가 있습니다.


PROCESS


PID : 프로세스 ID

USER : 프로세스를 실행 시킨 사용자 ID

PR : 프로세스의 우선순위

NI : NICE 값, 마이너스를 가지는 값이 우선순위가 높음

VIRT : 가상 메모리의 사용량(SWAP+RES)

RES : 현재 페이지가 상주하고 있는 크기

SHR : 가상 메모리 중 사용중인 메모리를 제외한 잔여 가상 메모리

S : 프로세스의 상태

%CPU : 프로세스가 사용하는 CPU의 사용율

%MEM : 프로세스가 사용하는 메모리의 사용율

TIME+ : 프로세스가 CPU를 사용한 시간

COMMAND : 실행된 명령어


참고 >>

프로세스목록을 원하는 특정 기준에 따라 정렬할 수 있을까요? 

top 실행화면에서 Shift 키와 영문자를 누르면 프로세스의 정렬 기준을 변경할 수 있습니다.


SHIFT + M 메모리 사용률 정렬 

SHIFT + N PID 기준 정렬 

SHIFT + P CPU 사용률 정렬 

SHIFT + T 실행시간 기준 정렬 

SHIFT + R 정렬 기준변경 

(오름차순인 경우 내림차순으로, 내림차순인 경우 오름차순으로 변경)


출처 : http://tech.whatap.io/2015/09/03/linux-monitoring/


'linux' 카테고리의 다른 글

find - keyword가 포함된 파일 찾기.  (0) 2018.07.16
vi 단축키정리  (0) 2018.07.04
표준입출력 redirect  (0) 2018.06.25
ubuntu default /bin/sh is dash  (0) 2018.06.22
ubuntu samba 설정하기  (0) 2018.06.21
Posted by easy16
linux2018. 6. 25. 11:40

파일 디스크립터

표준 입력과 표준 출력 그리고 표준 에러를 쉘이나 시스템 프로그래밍에서는 숫자로도 표현할 수 있는데 이를 파일 디스크립터라고 한다.

구분장치파일 디스크립터
표준 입력키보드0
표준 출력모니터1
표준 에러모니터2

/dev/null 2>&1

/dev/null은 0 값을 갖는 null 파일이고 표준 에러(2)를 표준 출력(1)으로 리다이렉션 하라는 의미이다.



출처: http://webdir.tistory.com/256 [WEBDIR]

'linux' 카테고리의 다른 글

vi 단축키정리  (0) 2018.07.04
top 명령어 세부사항  (0) 2018.07.02
ubuntu default /bin/sh is dash  (0) 2018.06.22
ubuntu samba 설정하기  (0) 2018.06.21
useful linux system info commands  (0) 2018.06.20
Posted by easy16
linux2018. 6. 22. 10:21

ubuntu는 /bin/sh가 dash로 되어있어 shell script가 원하는대로 돌지 않는 경우가 많다.

아래와 같이 symlink를 변경해주자.


leej5@LeeJ5:~/workspace$ ls -l /bin/sh

lrwxrwxrwx 1 root root 9  6월 22 10:15 /bin/sh -> /bin/dash



leej5@LeeJ5:~/workspace$ ls -l /bin/sh

lrwxrwxrwx 1 root root 9  6월 22 10:15 /bin/sh -> /bin/bash

'linux' 카테고리의 다른 글

top 명령어 세부사항  (0) 2018.07.02
표준입출력 redirect  (0) 2018.06.25
ubuntu samba 설정하기  (0) 2018.06.21
useful linux system info commands  (0) 2018.06.20
makefile 내장 함수  (0) 2018.06.19
Posted by easy16
linux2018. 6. 21. 18:03



ubuntu <-> window samba 설정하기 


in ubuntu side

$ sudo apt-get install samba

Samba 계정 추가

아래 명령어를 통해 사용하려는 계정을 간단히 계정을 추가할 수 있다.


명령어를 실행시키면 곧이어 사용할 비밀번호를 두번 묻고, 모두 입력하면 계정 추가 과정이 완료된다.

나는 아래와 같이 'Jeon' 을 계정명으로 사용했다.

$ sudo smbpasswd -a [계정명]

eg. $ sudo smbpasswd -a Jeon


나의 경우 계정이 하나 밖에 없는 관계로 계정 추가 없이 아래와 같이 패스워드를 재설정 후

곧 바로 사용 가능하였다.


leej5@LeeJ5:~$ sudo smbpasswd jayce

New SMB password:

Retype new SMB password:


출처:

http://techlog.gurucat.net/290 [하얀쿠아의 이것저것 만들기 Blog]

http://maximer.tistory.com/182

'linux' 카테고리의 다른 글

top 명령어 세부사항  (0) 2018.07.02
표준입출력 redirect  (0) 2018.06.25
ubuntu default /bin/sh is dash  (0) 2018.06.22
useful linux system info commands  (0) 2018.06.20
makefile 내장 함수  (0) 2018.06.19
Posted by easy16