- [ useradd or adduser ] : 새로운 사용자 추가(/etc/passwd, /etc/shadow, /etc/group에 새로운 행 추가됨)

     (1) useradd newuser : newuser 생성

     (2) useradd -u 1111 newuser : newuser의 id를 111로 생성

     (3) useradd -g mygroup newuser : mygroup이라는 그룹에 newuser를 생성(mygroup이라는 그룹이 먼저 존재해야한다.)

     (4) useradd -d /newhome newuser : 홈디렉터리를 /newhome으로 지정

     (5) useradd -s /bin/csh newuser : 기본 셸을 /bin/csh 로 지정

※ 그룹을 먼저 만들고 사용자를 만드는 것이 좋다 ※


- [ passwd ] : 사용자 비밀번호 지정/변경


- [ usermod ] : 사용자 속성 변경 (옵션은 useradd와 동일)

     (1) usermod -g root newuser : newuser의 그룹을 root그룹으로 변경


- [ userdel ] : 사용자 삭제

     (1) userdel newuser : newuser 삭제

     (2) userdel -r newuser : newuser의 홈디렉터리까지 삭제


- [ chage ] : 사용자의 암호를 주기적으로 변경하도록 설정

     (1) change -l newuser : newuser에 설정된 사항 확인

     (2) change -m 2 newuser : newuser에 설정한 암호를 최소 2일은 사용해야 한다.

     (3) change -M 30 newuser : newuser에 설정한 암호를 최대 30일까지 사용 가능

     (4) change -E 2019/12/12 newuser : newuser에 설정한 암호가 2019/12/12 에 만료됨

     (5) change -W 10 newuser : 암호 만료 10일 전에 알려줌 (default : 7일)


- [ groups ] : 사용자가 소속된 그룹을 보여줌

     (1) groups : 현재 사용자가 소속된 그룹을 보여줌

     (2) groups newuser : newuser가 소속된 그룹을 보여줌


- [ groupadd ] : 새그룹 생성

     (1) groupadd newgroup : 그룹 생성

     (2) groupadd -g 2222 newgroup : 그룹 id를 2222로 생성


- [ groupmod ] : 그룹 속성 변경

     (1) groupmod -n newgroup mygroup : newgroup -> mygroup


- [ groupdel ] : 그룹 삭제

     (1) groupdel newgroup : 그룹 삭제 (삭제하는 그룹을 주요 그룹으로 지정한 사용자가 없어야함)


- [ gpasswd ] : 그룹의 암호 설정하거나 그룹관리

     (1) gpasswd newgroup : 그룹의 암호 설정

     (2) gpasswd -A newuser newgroup : newuser를 그룹의 관리자로 설정

     (3) gpasswd -a user1 newgroup : user1을 newgroup의 사용자로 추가

     (4) gpasswd -d user1 newgroup : user1을 newgroup에서 제거

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

YUM 기본적인 부분  (0) 2017.11.02
파일과 디렉터리  (0) 2017.11.02
기본 명령어 정리  (0) 2017.11.01

- [ ls ] : LiSt의 약자, Windows의 'dir' 역할

     (1) ls + [폴더 주소] : 해당 폴더의 목록

     (2) ls -a : 숨김파일도 표시

     (3) ls -l : 자세히 보기


 - [ cd ] : Change Directory의 약자, 디렉터리 이동

     (1) cd ~centos : centos 사용자의 홈 디렉터리로 이동

     (2) cd .. : 상위 디렉터리로 이동 

     (3) cd + [절대주소] : 절대주소로 이동


 - [ pwd ] : Print Working Directory의 약자, 디렉터리 전체 경로 출력


 - [ rm ] : ReMove의 약자, 파일이나 디렉터리 삭제(해당 파일이나 디렉터리에 대한 권한을 가져야함.)

     (1) rm abc.txt : 한번 더 묻고 삭제

     (2) rm -f abc.txt : 바로 삭제

     (3) rm -r abc : 해당 디렉터리 삭제

     (4) rm -rf abc : r옵션과 f옵션 합친 것


 - [ cp ] : CoPy의 약자, 복사

     (1) cp abc.txt efg.txt : abc.txt파일을 efg.txt파일로 바꿔서 복사

     (2) cp -r abc efg : 디렉터리 복사


 - [ touch ] : 크기가 0인 새파일 생성, 존재하는 파일이면 최종수정시간을 현재시간으로 변경


 - [ mv ] : MoVe의 약자

     (1) mv abc.txt + [디렉터리 주소] : 해당 디렉터리로 abc.txt를 이동

     (2) mv aa bb cc dd : /dd 디렉터리로 이동

     (3) mv abc.txt www.txt : 이름 변경


 - [ mkdir ] : MaKe DIRectory의 약자, 디렉터리 생성

     (1) mkdir abc : 현재 디렉터리 아래에 abc 디렉터리 생성

     (2) mkdir -p /abc/def : abc 디렉터리가 없으면 abc 생성하고 def도 생성


 - [ rmdir ] : ReMove DIRectory의 약자, 디렉터리 삭제(삭제권한 필요, 디렉터리가 비어 있어야 삭제 가능)


 - [ cat ] : conCATenate의 약자, 파일을 연결해서 출력

     (1) cat a.txt b.txt : a.txt와 b.txt를 연결해서 화면에 출력


 - [ head ], [ tail ] : 시작(마지막)부터 10행을 출력

     (1) head anaconda-ks.cfg

     (2) head -3 anaconda-ks.cfg : 앞 3행만 출력


 - [ more ] : 페이지 단위로 출력, space 다음페이지, B 앞페이지, Q 종료

     (1) more anaconda-ks.cfg

     (2) more +100 anaconda-ks.cfg : 100행부터 출력


 - [ less ] : more의 확장판, Page Up/Page Down 키를 활용 가능해짐


 - [ file ] : 파일이 어떤 종류의 파일인지 표시

     (1) file anaconda-ks.cfg : 텍스트 파일이므로 아스키(ASCII) 파일로 표시됨

     (2) file /usr/bin/gzip : 실행파일이므로 Executable파일로 표시됨


 - [ clear ] : 현재 작성 중인 터미널의 화면을 깨끗하게 지워준다. (앞에 썼던 명령들은 스크롤을 올리면 다시 볼 수 있음)


 - [ whoami ] : 현재 사용자를 알려줌

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

YUM 기본적인 부분  (0) 2017.11.02
파일과 디렉터리  (0) 2017.11.02
사용자 및 그룹 관련 명령어  (0) 2017.11.01

[기본 셋팅]


1. 자바 SDK // 2. Node.js // 3. 안드로이드 SDK - http://developer.android.com // 4. GIT(옵션) - 플러그인 설치할 때 필요

 

Node.js 에서 진행

("Node.js command prompt" 프로그램을 실행해서 진행)


- 폰갭 설치
  >npm install -g phonegap

- 코르도바 설치
  >npm install -g cordova



 

1. 프로젝트 생성(폴더 디렉토리 생성)

  (1) 기본으로 생성

    >cordova create (프로젝트명)

    >cordova create helloWorld

  (2) 패키지명과 앱이름까지 생성할 경우

    >cordova create (프로젝트명) (패키지명) (어플이름)  

    >cordova create helloWorld kr.co.dothome.pjs movie  


2. 프로젝트로 이동

  >cd helloWorld


3. 프로젝트 위치를 열고 미리 작성해 놓은 웹페이지(css, img, js, lib, html 등)를 복사 붙여넣기를 한다.

  (helloWorld 폴더를 찾아가보면 www 라는 폴더가 있는데 거기를 열어보면 된다.)


4. 안드로이드 플랫폼을 추가 (모바일 OS 별로 추가 할 수 있다.)

  >cordova platform add android

  (helloWorld 폴더 내에 android 폴더(네이티브앱과 비슷한 구조)와 platforms.json 파일이 생성된다.)


5. 안드로이드 프로젝트 빌드

  (1) 빌드

    >cordova build android

  (2) 빌드 + 설치(폰과 케이블 연결 필요)

    >cordova run android


6. ...\projects\helloWorld\platforms\android\build\outputs\apk 안에 [android-debug.apk] 파일이 생성된다.


7. 폰에 넣어서 .apk 설치하고 실행한다.



** 빌드가 안될 경우 **

안드로이드 스튜디오 다운로드 페이지(https://developer.android.com/studio/index.html)에서 

아래쪽 [명령줄 도구만 다운로드]로 이동하여 해당하는 OS의 .zip 파일을 다운 받는다. (아래 이미지 참고)






** 개발단계와 배포단계의 keystore가 다르다는 점을 유의해야한다. **


- 개발단계에서의 빌드 명령어 (배포로 사용 불가)

  >cordova build android

    : ...\projects\helloWorld\platforms\android\build\outputs\apk 안에 [android-debug.apk] 파일 생성됨.


- 배포단계에서의 명령어

  >cordova build android --release

    : ...\projects\helloWorld\platforms\android\build\outputs\apk 안에 [android-release-unsigned.apk] 파일 생성됨.


 (1) release용 keystore 만든다.

    (keytool 명령어는 jdk(bin폴더)에 포함 되어있다. 환경변수 -> 사용자변수 부분에 jdk\bin 폴더 위치를 등록한다.)

      >keytool -genkey -v -keystore release.keystore -alias myMovie -keyalg RSA -keysize 2048 -validity 10000


  -genkey : key 생성

  -v : 생성과정출력

  -keystore : keystore 파일명

  -alias : 별명

  -keyalg : key생성 알고리즘

  -keysize : key 크기

  -validity : 유효기간(일단위)


  (2) .apk에 .keystore를 sign한다.

    >jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release.keystore android-release-unsigned.apk myMovie


  (3) 정렬 (최적화)

    (zipalign명령어는 C:\Users\(사용자명)\AppData\Local\Android\sdk\build-tools\(최근버전) 에 있다. 이 위치를 위와 같이 사용자 정의 변수에 추가해준다.)

    >zipalign -v (바이트수) (빌드 후 생성 되는 파일 명) (최종파일명)

    >zipalign -v 4 android-release-unsigned.apk movie2.apk


  위 단계를 마친 후 배포한다.(market에 올린다.)


+ Recent posts