IT/라즈베리파이2

라즈비안 기본 명령어 설명

단디1969 2015. 6. 26. 11:46

원문 : http://naturis.kr/2063


<기본 용어 설명>

- SSH(Secure Shell) : 보안상태로 원격의 기기를 컨트롤하기위한 암호화 프로토콜 쯤...   Putty같은 SSH 클라이언트가 있다.


- sudo (=super user do =  substitute user do) : OS가 사용자로 하여금 슈퍼유저의 보안권한으로 프로그램을 실행할 수 있게 해주는 프로그램. super user일 뿐 administrator의 권한은 아님.


- nano : 리눅스에서 사용하는 편집기.. 예전 vi 에디터쯤 됨.


- Apt. : 유닉스에서 "Add and Remove Programs"..


- 페어링(Pairing) : 기기와 기기 연결..  예를 들면 블루투스 동글과 블루투스 키보드를 페어링..


- Raspbian : Debian을 기본으로하는 라즈베리파이 운영체제. (물론 유닉스, 리눅스가 그 뿌리임)


- MPD : music player daemon  (volumio 가 유명. rasbian같은 서버에 깔아 씀)


- MPC : a client for MPD. Program for controlling Music Player Daemon.


(데몬 : 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램을 말한다. 시스템 로그를 남기는 syslogd처럼 보통 데몬을 뜻하는 ‘d’를 이름 끝에 달고 있으며, 일반적으로 프로세스로 실행된다.


데몬은 대개 부모 프로세스를 갖지 않으며, 즉 PPID가 0이며, 따라서 프로세스 트리에서 init 바로 아래에 위치한다. 출처 : 위키피디아)


 


<유용한 리눅스,라즈비안 명령어>

: 명령어 맨 앞에 sudo 가 붙은 건 무시하셔도 됩니다.. 앞에서 설명했듯이 사용자 권한상으로 붙고안붙고의 차이인데 정리하다보니 sudo를 미쳐 빼지 못한 것이 있습니다..  


- "startx" : 리눅스 그래픽 윈도우즈화면 진입.


-  "ll" : 디렉토리 및 파일 표시.


- "ls -lrt" : 디렉토리내 모든 파일 리스트.


- "df -h"   : show all mounts


- "dpkg –get-selections" : show all installed packages


- "dpkg –get-selections | grep <package name>" :  find a specific package:


- "sudo apt-get dist-upgrade" : check for distro upgrades for your RPi


- "sudo apt-get –purge remove <app name> && sudo apt-get autoremove –purge" : 응용프로그램 제거


- "sudo apt-get update && sudo apt-get upgrade && sudo apt-get autoremove –purge" : update your system software and remove orphans


- "sudo -i " : super user로 스위치.. sudo를 타이핑 할 필요가 없어짐.


- "sudo dpkg-reconfigure tzdata" : synchronize the date and time of your RPi


- "sudo ifconfig" : 파이의 ip어드레스


- "sudo lsmod" : list all loaded drivers


- "sudo lsusb" : 연결된 usb 장치 리스트


- "sudo nano /boot/config.txt" : 파이의 부트 설정파일을 편집


- "sudo raspi-config" : 파이의 시스템 설정을 변경


- "sudo reboot" : 파이 재시작


- "sudo rpi-update" : 파이의 펌웨어 업데이(git가 인스톨 되어 있어야 함)


- "top" : list the most active system processes (quit by pressing ‘q’)


- "sudo shutdown –h" 파이 셧타운.. halt~.. 꺼도 됨.


- "sudo shutdown –h 11:15" : timed 셧다운... 11:15 처럼 셧다운 할 시간을 적거나, 10 이라고 적으면 10분후 셧다운.


- "sudo shutdown –r now : 즉시 재시작


- "sudo passwd root" : root 계정의 암호 변경


- "sudo passwd username" : 기본 계정의 암호 변경


- "sudo nano /etc/sudoers" : 기본 계정에 sudo 권한 추가


(맨마지막 줄에 추가..  pi ALL=(ALL) NOPASSWD: ALL... 을 그대로 카피&패이스트해서... pi 이름만 바꿀것. )


- "wget " : 외부 웹서버로부터 파일을 다운받는 명령어. 기본적으로 url과 몇 가지 옵션이 들어감.


- "rm" 또는 "rmdir" : 파일 또는 디렉토리 삭제


- "chroot" : 특정 디렉토리를 최상위 디렉토리로 보이게 하는 명령어


 


아래는 라즈베리파이 관련 하드웨어 정보확인 명령어.. (아마도 Raspbian에서만(?) 사용되는 명령어인 듯.. )


-  "cat /proc/hardwarename"  : 하드웨어 정보를 보여준다.


ex) "cat /proc/cpuinfo"  : cpu정보 ..


"cat /proc/meminfo"  : 메모리 정보


"cat /proc/partitions"  : 파티션 정보 (sd카드나 hdd  등의)


"cat /proc/version"  : 파이버전 정보  (또는 "/opt/vc/bin/vcgencmd version" )


- "cat /sys/class/net/eht0/address" : 맥 어드레스 얻기


- "vcgencmd systemname" : 기타 시스템 정보


ex) "vcgencmd measure_temp : cpu 온도


- cpu 클럭주파수 정보 : 오버클럭일 경우 유용


"cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"

"cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq"

"cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq"

: 결과는 kHz 임.


- “vcgencmd measure_clock CLOCKNAME” : 클럭주파수 확인  (h264, isp, v3d, uart, pwm, emmc, pixel, vec, hdmi, dpi, arm)


: 결과는 Hz.


쉘스크립트의 경우(shell script.. 도스에서의 배치파일이랑 비슷하다고 보면 됨)


for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do \

echo -e "$src:\t$(vcgencmd measure_clock $src)" ; \

done


 


- “vcgencmd measure_volts VOLTNAME”  : 전압확인 (core, sdram_c, sdram_i, sdram_p)


쉘스크립트의 경우


for id in core sdram_c sdram_i sdram_p ; do \

echo -e "$id:\t$(vcgencmd measure_volts $id)" ; \

done


-  “vcgencmd codec_enabled CODECNAME”  : 사용중인 코덱확인 ( H264, MPG2, WVC1, MPG4, MJPG, WMV9)


쉘 스크립의 경우


for codec in H264 MPG2 WVC1 MPG4 MJPG WMV9 ; do \

echo -e "$codec:\t$(vcgencmd codec_enabled $codec)" ; \

done


 


- "/opt/vc/bin/vcgencmd get_config arm_freq"   : cpu 클럭 얻기


 


<Shell Script 만들기>


- "sudo mkdir /home/pi/Code" : 디렉토리 생성


- "sudo nano /home/pi/Code/updatePI.sh" : 나노(nano)를 가지고 쉘스크립트 생성


예) 쉘스크립트 내용


#!/bin/bash

date

 echo UPDATING SYSTEM SOFTWARE – UPDATE

sudo apt-get update

 echo UPDATING SYSTEM SOFTWARE – UPGRADE

sudo apt-get upgrade

 echo UPDATING SYSTEM SOFTWARE – DISTRIBUTION

sudo apt-get dist-upgrade

 echo REMOVING APPLICATION ORPHANS

sudo apt-get autoremove –purge

 echo UPDATING FIRMWARE

sudo rpi-update


: 라즈베리파이를 업데이트한다.


- "sudo chmod +x /home/pi/Code/updatePI.sh" : 쉘스크립트를 실행가능하게 모드 변경


- "sudo /home/pi/Code/updatePI.sh" : 쉘스크립트 실행


- "sudo ./updatePI.sh" : 쉘스크립트 실행(현제 디렉토리에 있을때)