NOT4DOG
방명록 RSS 태그 글쓰기 관리자
 
[Linux] Linux (Debian 계열) Basic Command
Linux 2021-12-25 20:00:05

반응형

1. man ( manual )

각 명령어들의 도움말을 상세하게 알고 싶을 때 사용

- ( man Is ) 라고 명령어를 검색 시 Is에 대한 상세 설명을 보여준다.

 

2. ls ( list ) + 옵션 + 파일명

현재 디렉터리의 내용을 보여준다.

- ( ls -l ) : 디렉터리 및 파일 리스트를 권한 정보를 포함하여 상세 출력

- ( ls -a ) : 디렉토리 및 파일 리스트의 숨겨진 정보들까지 모두 출력


-i : 파일의 아이 노드(inode) 번호를 출력
-h : 파일의 크기를 쉬운 단위로 표시(k: 킬로바이트, m: 메가바이트)
-l : 파일의 다양한 정보를 함께 출력(소유자 정보, 권한 정보, 크기, 날짜)
-m : 파일을 쉼표로 구분하여 가로로 출력
-s kb : 단위의 파일 크기를 출력
-t : 파일을 최근에 생성된 시간순으로 출력
-f : 파일의 형태와 함께 출력한다('*' : tlfgodvkdlf, '@' : 심볼릭 링크, '/' : 디렉터리)
-r : 서브 디렉터리의 내용을 포함하여 출력(즉 하위 디렉터리 내용을 모두 출력)
-s : 파일을 크기순으로 출력

 

3. pwd ( print working directory )

현재 작업 중인 디렉터리를 확인할 때 사용하는 명령어다.(절대 경로)

- desktop이란 디렉터리에서 입력하면, ~/desktop 이라고 보여준다.

 

4. cd ( change directory )

해당 디렉터리 경로로 이동, 작업할 디렉터리를 바꿀 때 사용한다.

- test 디렉터리 경로로 이동 : ( cd /parent/test ) 라고 입력하면 된다. 

- parent 디렉터리로 이동  :  ( cd parent ) 이라고 입력하면 된다.

 

- ( cd ) : 홈 디렉터리로 이동
- ( cd ~ ), ( cd  ~/ ) 홈 디렉터리로 이동
- ( cd ~smile ) smile의 홈 디렉토리로 이동
- ( cd ~/path/path2 ) 홈 디렉토리 아래 path/paht2로 이동
- ( cd - ) 바로 앞에 작업한 디렉토리로 이동
- ( cd directory ) 지정한 directory로 옮겨진다
- ( cd / ) root directory로 옮겨진다.
- ( cd .. )현재 작업 directory의 부모 directory로 옮겨진다.

 

5. mkdir ( make directory ) + 옵션 + 파일명

새로운 디렉터리를 만드는 명령어이다.

- test 디렉터리를 만들고 싶으면 ( mkdir test )라고 입력하면 된다.

 

6. find와 locate

특정 파일을 찾을 때 이 두 가지 명령어를 모두 사용할 수 있다.

ex) find [검색경로] -name [파일명]

 

7. cp ( copy ) + 옵션 + 원본 파일명 + 목적 파일명 / 디렉터리명

파일 복사 (재귀적으로 탐색을 원할경우 -r 옵션 부여)

- ( cp test cptest ) 라고 입력하면, test 파일의 사본을 cptest란 이름으로 생성한다. test 파일은 그대로 있다.

 

-i : 파일 복사 시 동일 파일명이 있을 시에 사용자에게 덮어쓸 것인지를 물어봄
-f : 동일 파일명 발생 시에도 모두 강제적으로 복사함
-p : 원본 파일의 시간 및 소유 권한 보존
-r : 포함된 자식 디렉터리까지 모두 복사

 

8. mv ( move ) + 옵션 + 파일명

파일 이름을 변경 or 다른 디렉터리로 옮길 때 사용

- ( mv test test1 ) 라고 입력하면 test 파일의 이름을 test1로 바꿔준다.

- ( mv test ~/desktop )라고 입력하면, test 파일을 desktop 디렉터리로 옮겨준다.

 

9. more + -ncdflspu +줄번호 + 파일 이름(들)

파일의 내용을 한 번에 한 화면씩 보여준다.

-n : 여기서 n은 숫자를 의미하며, 숫자는 출력 윈도우의 행수를 지정한다.
-c : 위에서부터 한 행씩 지운 후 한 행씩 출력한다. 보통은 화면 전체를 지운 후 각 행을 출력하기 시작한다. 특정한 터미널을 위해 사용
-d : 스페이스나 q 키를 누르라는 prompt를 출력
-f : 화명의 행이 아닌 논리적인 행 수를 계산한다. 보통은 긴 칼럼의 행은 화면에서 행바꿈을 하여 새로운 행으로 계산된다.

      -f 옵션을 사용하면 이러한 행은 계산하지 않는다.
-s : 여러 개의 빈 공백행은 하나로 취급한다.
-p : 스크롤하지 않는다. 대신 화면을 지우고 출력한다.
-u : 밑줄 치기를 금지한다.

 

10. kill

특정 프로세스를 정해서 종료하고 싶을 때 사용, 보통 kill 명령어는 ps 명령어 다음에 사용 

10-1 killall

특정 프로세스를 모두 종료

10-2. killall5

모든 프로세스 종료

 

11. sudo

관리자 권한(=root 사용자) 만이 설치나 삭제, 변경을 할 수 있는데

sudo 명령어로 일반 사용자도 root 권한을 임시로 부여 

 

12. passwd

패스워드 변경 명령어 (Set UID bit로 Root 권한 부여)

 

13. rm ( remove ) + 옵션 + 파일명

파일이나 디렉터리를 삭제

- f 옵션을 주면 사용자에게 삭제 여부를 묻지 않고 바로 삭제한다.

- 디렉터리를 삭제할 때는 -r 옵션을 주어야 한다. (디렉터리 삭제 시 하위 디렉터리까지 모두 삭제된다.)

 

-f : 디렉터리 안의 파일을 삭제할 때 사용자에게 확인을 요구하지 않음
-r : 인수 list 에서 지정한 디렉터리 혹은 그 아래의 subdirectory를 삭제
-i : whrite permission 이 없는 파일의 삭제를 위해 대화식으로 확인
-p : 디렉터리 dir-name과 비어있는 부모 디렉터리를 사용자가 제거할 수 있으며, 전체 경로명이 삭제되거나 어떤 이유로 인해 경로명의 일부가 남은 것과 무관하게 표준 출력에 메시지가 출력됨
-s -p : 선택항목 지정 시 표준 오류에 출력되는 메시지를 삭제

 

13-1. rmdir

디렉터리를 삭제

 

14. touch + -amc + MMDDhhmmYY + 파일명

파일이나 디렉터리의 최근 업데이트 일자를 현재 시간으로 변경한다.

- 최근 업데이트 일자는 ( ls -l ) 명령으로 확인할 수 있다.

- 파일이나 디렉터리가 존재하지 않으면 빈 파일을 만든다.

 

-a : 파일의 액세스 시간을 바꿈
-m : 파일의 갱신 시간을 바꿈
-c : 파일명이 존재하지 않는다면 새로운 파일을 만들지 않음

 

14-1. vi 

vi 편집기 상태로 들어감 

 

14-2. cat 

파일의 내용을 출력하거나, 파일들을 합치거나, 새로운 파일을 만들거나, 다른 파일에 내용을 덧붙일 때 사용 가능

 

15. head + - count + 파일명

파일의 앞부분을 보고 싶은 줄 수만큼 보여준다. ( 옵션 미 지정 시 상위 10줄)

 

16. tail + - count + 파일명

파일의 뒷부분부터 보고 싶은 줄 수만큼 보여준다. ( 옵션 미 지정 시 하위 10줄)

 참고로 -F 옵션을 주고 실행하면,

파일 내용을 화면에 계속 띄워주고 파일이 변하게 되면 새로운 업데이트된 내용을 갱신해준다.

주로 실시간으로 내용이 추가되는 로그파일을 모니터링할 때 유용하게 사용한다.

 

17. grep + 옵션 + 패턴 + 파일명

파일 내부에 있는 텍스트의 내용으로 파일을 찾을 수 있다

-c : 파일 내에서 패턴과 일치하는 줄의 총수를 구한다.
-h : 여러 개의 파일을 검색할 때, 출력에 파일명이 나타나는 것을 방지한다.
-i : 대, 소문자를 구별하지 않는다
-n : 일치하는 줄의 줄 번호도 같이 출력한다
-v : 패턴과 일치하지 않는 줄만 출력한다

 

18. du

사용자 자신의 디스크 사용 상황을 확인할 수 있다

 

19. tar, bzip2, gzip + 옵션 + 파일명

파일 압축 형식을 묶거나 푸는 명령어

tar cvf [파일명(.tar, _tar)] 압축할 파일(또는 디렉터리) : 묶을 때
- tar xvf [파일명(.tar, _tar)]  : 풀 때

 

-c : 새로운 tar파일의 생성
-x : 기존의 tar파일을 푸는 데 사용
-u : 업데이트를 위한 옵션
-t : tar파일을 푸는 것이 아니라 내용을 보는 옵션
-v : 파일을 묶거나 풀 때의 작업을 보여주는 옵션
-z : gzip를 이용해 tar.gz 혹은 .tgz로 묶인 파일을 풀 때 사용하는 옵션

 

- gzip     [파일명]    : 압축 시
- gzip -d [파일명]   : 해제 시

 

-d : 압축을 해제하는 옵션
-f : 압축을 하거나 해제할 때 같은 이름의 파일이 존재할 경우 덮어쓰기를 한다.
-l : 압축파일의 정보를 보여 준다.
-r : 압축 대상의 디렉터리까지 압축을 수행한다.

20. chmod + 옵션 + 파일명, 디렉터리

특정 파일 또는 디렉터리의 Permission 수정

-R : 서브 디렉터리까지 모든 파일의 권한을 바꾼다.

 

21. chown + 옵션  + 파일명

파일이나 디렉터리의 소유자, 소유 그룹 수정

-R : 서브 디렉터리까지 모든 파일의 소유자를 바꾼다.

 

22. chgrp + 옵션

파일이나 디렉터리의 소유 그룹 수정

-R : 서브 디렉터리까지 모든 파일의 그룹을 바꾼다.

 

23. umask

파일 생성 시의 Permission 값을 변경하는 명령어 (기본 Regular 파일은 666, 디렉토리 파일은 777) 

 

24. at

정해진 시간에 작업을 하나만 수행할 수 있는 명령어

 

25. crontab

반복적인 작업을 수행하는 명령어

 

26. fg ( foreground )

작업을 Foreground 작업으로 변환하는 것으로 모니터에 실행되는 모습을

사용자가 인지할 수 있도록 작업하는 것을 말한다.

 

27. bg ( background )

작업을 Background 작업으로 전환하는 것으로, 사용자의 눈에는 실행되는 모습을 보이지 않으면서도

실제로는 일을 하는 것

- ( 명령어 & ) 로 명령어 다음에 "&" 표시를 붙여서 Background 작업으로 전환할 수 있다.

 

28. jobs

실행되는 job들 나열

-l : 현재 작업하고 있는 디렉터리와 프로세스 그룹 ID를 출력

 

29. wall

시스템에 로그인한 모든 사용자에게 메시지 보내기

 

30. write

로그인한 사용자에게 메시지 전달

 

31. dd

블록단위로 파일을 복사하거나 파일의 변환을 할 수 있는 명령어

 

32. rpm + 옵션 + 파일명

rpm명령어는 redhat 배포본 관련 패키지를 설치 및 업그레이드하는 명령어.

시스템에 설치되어 있는 패키지를 설치하려 한다면 -i 옵션과 -U 옵션을 써야 함

만약 rpm -e rpm 명령을 실행하면 rpm 은 사라지기 때문에 절대로 하지 말아야 한다.

만약 지웠다면 www.rpm.org 에 가서 rpm 소스를 가져다 재설치하는 수밖에 없다.

 

-i, -u : 설치 및 업그레이드 옵션
-e : 패키지의 제거
-q : 패키지 질의
-V : 패키지 검증

 

33. fdisk  -l + -v + -s partition + device

디스크의 파티션을 변경한다


-l : 파티션 테이블의 목록을 출력
-v : fdisk 버전 출력
-s : partition DOS 파티션이 아니라면 해당 파티션의 크기를 출력
device : device 에는 몇 번째 하드디스크를 파티션 할 것인지 알려주어야 한다.

 

아래는 리눅스에서 각각의 디바이스들에 대한 이름이다.
첫 번째 설치된 하드 드라이브 : fdisk /dev/hda
두 번째 설치된 하드 드라이브 : fdisk /dev/hdb
SCSI의 첫 번째 하드 드라이브 : fdisk /dev/sda
SCSI의 두 번째 하드 드라이브 : fdisk /dev/sdb

 

34. ps

ps 명령을 사용하면 어떤 프로세스의 목록과 활동 중까지 알 수 있다.

-aux 옵션을 사용하면 시스템에서 동작중인 모든 프로세스를 살필 수 있다.


Space : 상황 즉시 갱신
-s : 갱신 시간 지정(초 단위)

CPU 사용률 기준으로 정렬
-M : 메모리 사용률 기준으로 정렬
-u : 지정한 사용자의 프로세스만 나타남
-k : 지정한 프로세스 kill
-h : 도움말


35. shutdown 옵션 + 시간 + 메세지

시스템을 종료할 때 사용되는 명령어

-t : n t 옵션 뒤에 n초를 명시해서, 경고 메시지를 보낸후 n초 후에 kill 시그널을 보냄
-h : shutdown시 halt를 실행
-r : 시스템 종료를 완료하고 나서 다시 부팅 과정을 수행 (reboot)
-c : 이미 예약되어 있는 shutdown을 취소
-k : 모든 동작을 제대로 수행하지만 시스템을 종료할 시간이 되면 아무것도 하지 않음.

반응형


[Rooting] 삼성 기기 펌웨어 무료 Download 사이트 공유
Rooting 2021-12-24 22:56:59

반응형

설정 - 소프트웨어 정보 탭에서 기기 모델명서비스sw공급자(기기 통신사)를 확인하여 

기종에 맞는 Firmware를 Version별로 받을 수 있는 사이트이다.

한국 기기 기준 SKC(SKT), KTC(KT), LUC(LGU+) 로 각 Carrier Code가 나누어진다.

Android Version Downgrade 시 Recovery Version (Firmware Build Number 기준 Ux) 에서

x의 숫자가 동일하거나 더 높을 경우에만 Firmware Install이 가능하다. (보안상의 이유)

간단한 회원가입이 필요하며, Google Drive를 연동하여 다운로드 받을 수 있다.

 

https://samfw.com/

 

Samsung Firmware Download - Lastest official firmware update

Samsung Firmware Download ⭐ Official and fast update ⭐ Lastest and old version ⭐ Max speed and free download ⭐ Best Samsung Galaxy website

samfw.com

 

반응형


[Project] OS CPU Scheduler Coding With C
Project 2021-12-24 10:57:38

반응형

운영체제 (OS) CPU Scheduling 알고리즘 이해에 도움이 되길 바란다.

대표적인 알고리즘 (SJF, FCFS RR(Round Robin))의 사용이 가능하며,

RR 알고리즘의 경우 Time Quantum의 각기 다른 설정도 가능하다.

선택한 알고리즘에 따라 진행되는 Process들의 순서와 각 Process의

Finishing Time, I/O Time, Waiting Time, Trun Around Time을 확인할 수 있다.

 

1. SJF

SJF Gantts Chart

2. FCFS

FCFS Gantts Chart

3. RR TQ 10

RR TQ 10 Gantts Chart
NOT4DOG_CPU_Scheduler.zip
0.88MB

 

반응형


[Network] Cellular network 간단한 용어 정리
Network 2021-12-23 15:56:43

반응형

기지국을 세우는 이유 : 주파수 재사용 (capacity increase), 주파수의 제한으로 효율적인 사용 필요

                                          같은 주파수를 copy 해서 다시 사용 (limit 문제 해결)

                                          많이 copy 하려면 cell(기지국)의 반경을 작게 만든다.

 

BSC : 보통 7개가 한 세트(hexagonal), 이웃한 셀들은 다른 주파수를 사용해야 함, 혼선을 박기위해 공식 사용

 

co-channel : 같은 주파수를 사용하는 셀들 (reuse), 이 사이의 거리를 D, 셀의 반경은 R

                         셀들 사이 인접한거리 d, 한 세트의 기지국 개수 N * D/R= 루트3N, D/d = 루트N

 

MSC : COST 계산, 로밍, 핸드오프 서비스, 수신자 위치추적, 핸드쉐이킹 - 세션 셋업 역할, 기지국과 유선으로 연결

 

Cellular Generation : DATA RATE를 미리 정해놓고 그 레이트에 맞는 HW, SW 사용

 

Control channels : 주기적으로 계속 신호가 감 – MSC DB를 통해 찾고 위치 추적 (paging)

                                      Session Set-up (전용경로 설정, 뚜 뚜 뚜)

 

Traffic channels : 전용라인 설립 후 데이터, 목소리 등 전송하는 채널

 

paging : msc가 기지국으로부터 받은 정보로 수신자를 찾는 과정

 

call accepted : paging 이 지나 수신자가 전화를 받음

 

handoff : 통신 도중 이동할 때 위치가 바뀌어 다른 기지국으로 switch가 이루어지는 것 (초창기엔 기술 X)

 

1G : 이동통신의 시작에 의의, FDMA (이동통신 불가) AMPS

2G : TDMA (시간을 나누어 전송) 채널용량 증대, 1세대보다 보안 증가, GSM 표준확립 (3,4,5세대 기반)

2.5G : GPRS를 사용하여, 패킷 송수신이 가능, 각 다른 망으로 통신함 (각각 Packet, Circuit 나누어짐)

3G : CDMA, 초고속 멀티미디어 서비스 (목소리, 영상, 패킷등 송수신 가능)

         UMTS (GSM 기반 3GPP R99(라디오업그레이드), R4(스위칭“), R5(멀티미디어”), R6(ALL IP)

         IS-95 (3GPP2, 후에 CDMA-2000)

4G : ALL IP(패킷망, 보이스망 합침),

        OFDM : 하나의 신호를 여러개의 작은 신호로 나누고 재배치 (전송용량 증대)

        MIMO : 송수신측에 각각 여러개의 안테나를 배치하여, 전송률을 높이는 기술

5G : 초고속, 대용량, 초저지연, 초연결, IoT, VR, AR, M2M이 D2D를 포함함, QoE

 

dB : 10log10p, 파워가 10이면 10dB, 파워가 20이면 100dB, 파워가 30이면 1000dB (SNR)

         상용로그를 사용하는 이유 : 인간이 느끼는 노이즈는 실질적으로 상용로그를 따라감

 

handoff rate : 람다h = R1(N1cos세타+N2sin세타) + R2(N1sin세타+N2cos세타)

                            가장 작게 만드려면 람다h = 2루트AN1N2 and R1/R2=N1/N2 

 

Cell Design : N = i^2 + ij + j^2

                         정의 : L = [(i+1)u+v]modN

                                    (N이 7, i=2, j=1 일 경우 -> L=(3u+v)mod7)

 

fdma/fdd : 상행선, 하행선 주파수를 나눔, 각각을 fdma 로 사용함

fdma/tdd : 1분은 상행선만 fdma로 쓰고, 그다음 1분은 하행선만 fdma로 사용하는 것

tdma/fdd : 주파수를 상행선, 하행선으로 나눈후 시간을 나누어 사용하는 방식

tdma/tdd : 주파수를 나누지 않고 같은 주파수에서 시간으로 나누어 사용하는 방식

 

셀룰러 네트워크란 : 다중접속 기술을 사용하되, 포화를 막고 이동성을 확보하기 위해

                                     셀 중간에 위치한 기지국이 특정 주파수로 서비스를 제공하고

                                     또 일정거리 떨어진 기지국에서 다시 동일한 주파수를 재사용하여

                                     주파수의 효율을 높이는 방식의 네트워크이다.

 
반응형