프로그램&회로

리눅스 콘솔 단축키 및 명령어

엠칩 2018. 12. 14. 15:55
반응형

 

리눅스 콘솔 단축키

 

 

Shift + PageUp : 상위 페이지 이동
Shift + PageDown : 아래 페이지 이동

출처 : http://andstory.com/zb41/zboard.php?id=tip_board&page=16&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=desc&no=453

리눅스 콘솔이나 터미널 상에서 사용할 수 있는 단축키가 여러가지 있다. 이 중에서 유용한 것들 몇가지를 정리해보자.

우선, 터미널이 아닌 콘솔 상에서 쓸 수 있는 단축키로는 아래와 같은 것들이 있다.

터미널 실행 관련 단축키

  • 터미널 실행 : Ctrl + Alt + T
  • 터미널내에서 새로운 탭으로 터미널 실행 : Ctrl + Shift + T
  • 터미널내에서 새로운 창으로 터미널 실행 : Ctrl + Shift + N
  • 탭으로 실행된 터미널 종료 : Ctrl + Shift + W
  • 현재 터미널 종료 : Ctrl + Shift + Q
  • 터미널내에서 문자열 검색 : Ctrl + Shift + F

 

터미널내에서의 단축키

  • 복사하기 : Shift + Ctrl + C
  • 붙여넣기 : Shift + Ctrl + V
  • 화면 Clear : Ctrl + L
  • 콘솔 이동 : Alt + F1 ~  F12
  • 이전/다음 콘솔로 이동 : Alt + (Left / Right)
  • 프로세스 목록보기 : Ctrl + Scroll Lock
  • 메모리상태 정보보기 : Shift + Scroll Lock

셀 상에서 실행 중인 프로그램을 제어하는 단축키로는

• Ctrl + C - 실행 중인 프로그램 중지
• Ctrl + Z - 실행 중인 프로그램 일시 정지
• % - 일시 정지된 프로그램 다시 실행

그리고, bash 상에서 기본 입력 모드인 emacs 스타일일 때는

• Tab - 자동 완성
• Ctrl + D - 로그아웃
• Ctrl + R - 히스토리 찾기
Ctrl + S - 키보드 잠그기
• Ctrl + Q - 잠긴 키보드 풀기
• Ctrl + M - Enter
• Ctrl + P - 이전 명령어 (Up)
• Ctrl + N - 다음 명령어 (Down)
• Ctrl + L - 화면 지우기 (clear)
• Ctrl + Y - 버퍼의 내용 붙여넣기
• Ctrl + A - 입력 라인의 처음으로 이동 (Home)
• Ctrl + E - 입력 라인의 끝으로 이동 (End)
• Ctrl + B - 커서를 왼쪽으로 이동 (Left)
• Ctrl + F - 커서를 오른쪽으로 이동 (Right)
• Ctrl + XX - 커서를 이전 위치로 이동
• Ctrl + U - 커서 왼쪽의 문자들을 버퍼에 저장 후 삭제
• Ctrl + K - 커서 오른쪽의 문자들을 버퍼에 저장 후 삭제
• Alt + L - 커서 위치에서 문자열 끝까지 소문자로 변환
• Alt + U - 커서 위치에서 문자열 끝까지 대문자로 변환
• Alt + T - 두 단어 위치 바꾸기
• Alt + B - 커서를 다음 단어로 이동
• Alt + F - 커서를 이전 단어로 이동

콘솔 명령어

pwd 

설명 : 현재 작업 디렉토리를 절대 경로 명으로 출력한다.

 

ls [옵션] [파일명] 

설명 : 윈도우 도스창의 'dir' 명령과 같은 명령으로, 현재 디렉토리 내의 파일과 디렉토리에 대한 정보를 출력해준다. [옵션]에는 -로 시작하여 아래와 같은 옵션을 지정할 수 있으며 두 개 이상의 옵션을 동시에 지정할 수 있다. [파일명]에는 파일명이나 디렉토리명을 지정할 수 있다.

 

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

 

cd [디렉토리명] 

설명 : cd(change directory) 작업 디렉토리를 바꾼다.

 

옵션 
cd [엔터] 홈 디렉토리로 이동 
cd ~ 또는 cd ~/ 홈 디렉토리로 이동 
cd ~userid userid의 홈 디렉토리로 이동 
cd ~/path/path2 홈 디렉토리 아래 path/paht2로 이동 
cd - 바로 앞에 작업한 디렉토리로 이동 
cd directory 지정한 directory로 옮겨진다 
cd / root directory로 옮겨진다. 
cd .. 현재 작업 directory의 parent directory로 옮겨진다.

 

작업하고 있는 경로를 기억시킨 뒤 나주에 다시 그 경로로 돌아오려면, 'pushd /겨로/'(현재 경로 기억 예 : pushd .) 하여 경로를 기억시킨 뒤 popd라는 명령을 주면 기억한 경로로 돌아간다. 이 명령은 한 번만 쓸 수 있다. 

cp [옵션] [원본파일명] [목적 파일명 / 디렉토리명] 

설명 : 도스창의 'copy'명령과 같은 명령으로 하나 이상의 원본 파일을 목적 파일이나 디렉토리로 복사한다. [원본 파일명]에는 하나 이상의 파일명을 지정할 수 있고 [목적 파일명 / 디렉토리명]에는 복사될 목적 파일명이나 복사된 파일이 위치할 목적 디렉토리를 지정할 수 있다. [옵션]에는 아래와 같은 옵션을 지정할 수 있다.

 

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

 

mkdir [옵션] [파일명] 

설명 : 새로운 디렉토리를 만든다. write permission이 허용되어야만 directory를 만들 수 있다.

 

옵션 
-p 만들고자하는 디렉토리의 상위 디렉토리가 없는 경우 상위 디렉토리까지 같이 만든다.

 

rmdir [옵션] [파일명] 

설명 : 디렉토리를 제거하기 위한 명령어, whrite permission이 허용되어야만 directory를 제거할수 있다.

 

옵션 
-p 제거된 디렉토리에 대한 메시지가 표시됨 
-s 제거된 디렉토리에 대한 메시지가 표시되지 않음.(Default)

 

more [파일명] 

설명 : 한 화면씩 보기. 유닉스에서 커다란 텍스트 파일을 보는 것이나 많은 수의 파일과 서브디렉토리를 포함하는 디렉토리의 리스트를 보이게 하는 것은 아주 빠른 속도로 화면이 넘어가게 한다. 이럴 경우에 more나 pg 명령을 사용하여서 한 하면씩 보이게 할 수 있다. more filename을 입력하면 filename으로 지정한 파일을 한번에 한 화면에 해당하는 양 만큼씩 보여준다. 또한 출력을 more 명령으로 파이프(redirect) 시킬 수도 있다. 예를 들면 ls -al |more 는 ls 명령의 출력을 more로 보내어서 리스팅을 한 페이지씩 보이게 한다. more를 사용해서 파일을 살펴보는 일반적인 방법은 다음과 같다.

 

옵션 
스페이스, Ctrl-D 다음 한 화면을 보여줌 
엔터 누를 때마다 화면의 아래쪽에 한 줄씩 더 보여줌 
q more 정지 
h 도움말 
/expr expression 검색

 

rm [옵션] [파일명] 

설명 : rm(remove) 파일(디렉토리)을 삭제한다. 삭제하고자 하는 디렉토리에 파일이나 부 디렉토리가 없어야만 삭제가 가능하다.

 

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

 

mv [옵션] [파일명] 

설명 : mv 명령은 파일의 위치를 바꾸거나 이름을 바꾸는데 사용을 한다. mv 명령은 이미 존재하는 파일을 덮어쓰기를 한다. 'mv file1 file2'라고 입력을 하는 것은 file1의 이름을 file2라고 바꾼다. 만약 file2 라는 파일이 이미 존재한다면 file1의 내용물로 교체가 된다. 파일을 한 디렉토리에서 다른 디렉토리로 옮기기 위하여서는 경로를 함께 입력하여 주면 된다. 같은 이름의 파일이 이미 존재하여서 그것을 덮어쓰기를 하지 않으려면 -i 옵션을 사용하면 된다. 한번에 여러 개의 파이을 옮길수도 있다. 마지막이 파일들을 옮겨 넣고자 하는 디렉토리이기만 하면 되는 것이다. 예를 들면 'mv profit sales.txt wrksht repotrs'라고 하면 profit sales.txt wrksht를 모두 reports 디렉토리로 이동시킨다.

 

옵션 
-f 대상 파일이 존재할 대 새로운 파일로 대체 
-i 대상파일이 있을 때 확인 후 작업 
-f 파일의 이동 과정을 보여준다.

 

find [옵션] [파일명] 

설명 : 이제는 find라는 명령어를 알아보자. find라는 명령어는 매우 융통성이 있고 강력한 명령어이다. 파일을 이름, 수정날짜, 소유주, 허가 등을 기준으로 하여 검색하게 해준다.

 

옵션 
-name filename filename과 일치하는 파일을 찾음(*,? 또는 and가 사용될 수 있으며 이들은 따옴표 안에 표시를 하거나 백슬래시를 앞에 주고 사용함) 
-print 현재의 경로 이름을 표시

 

grep [옵션] [패턴] [파일명] 

설명 : grep 명령을 사용하면 파일 내부에 있는 텍스트의 내용으로 파일을 찾을 수 있다. 지정한 문자들을 포함하는 행을 찾을 때마다 그 행을 화면에 표시한다. 만약 grep 하나 이상의 파일을 검색중이라면 그 문자들이 있는 파일의 이름을 표시한다.

 

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

 

head [-카운트] [파일명] 

설명 : 파일의 첫 부분부터 카운트로 정한 숫자만큼의 줄 수를 보여주는 명령으로 카운트 징정을 안 하면 디폴트로 10이 된다.

 

tail [-카운트] [파일명] 

설명 : 파일의 카운트로 정한 숫자만큼의 끝 부분 줄 수를 보여주는 명령으로 카운트를 지정을 안하면 디폴트로 10이 된다.

 

mount [-t 파일시스템] [장치명] [마운트디렉토리] 

설명 : 각 운영체제나 혹은 CDROM같은 경우에는 저마다 자신의 파일 시스템을 사용하고 있다. 마운트라는 것은 특정 디렉토리에 자신이 원하는 파일 시스템을 연결하여 리눅스에서 볼 수 있는 명령이다.

 

리눅스의 파일 시스템 : ext2, ext3, ext4 
윈도우 파일 시스템 : vfat, ntfs 
CDROM의 파일 시스템 : ISO9660 

du 

설명 : 사용자 자신의 디스크 사용 상황을 보고해 준다.(단위=Block)

 

cat [파일명] 

설명 : 파일의 내용을 보거나 표준입력(키보드)으로 입력된 문자들을 파일로 저장할 때 쓰는 명령이다.

 

diff 

설명 : diff(differential file comparator) 두개의 파일이 일치되도록 변경시키기 위한 정보를 제공해 줌.

 

rpm  [옵션] [파일명] <-- rpm명령어는 redhat 배포본 관련 패키지 명령어입니다.  

설명 : 패키지를 설치 및 업그레이드

 

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

 

만약 시스템에 설치되어 있는 패키지를 설치하려 한다면 -i 옵션을 -U 옵션을 써야한다. 
만약 rpm -e rpm 명령을 실해하면 rpm 은 사라지기 때문에 절대로 하지 말아야 한다. 
만약 지웠다면 www.rpm.org 에 가서 rpm 소스를 가져다 설치하는 수밖에 없다. 

gzip [옵션] [파일명] 

설명 : 리눅스에서 사용하는 압축 프로그램으로 속도 면에서나 압축률 면에서나 상당히 좋은 프로그램이다.

 

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

 

하나의 파일밖에 압축을 못한다. 

tar [옵션] [파일명] 

설명 : tar 명령어는 여러 파일을 하나로 묶는데 사용한다. tar는 파일을 압축하지 않지만 gzip와 같이 쓰면 매우 효과적이다.

 

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

 

more [-ncdflspu] [+줄번호] [파일이름(들)] 

설명 : 한 화면씩 출력을 보여주는 유틸리티로 한 번에 전체적으로 볼수 없는 파일은 이것을 사용하여 스크롤을 제어할 수 있다.

 

옵션 
-n 여기서 n은 숫자를 의미하며, 숫자는 출력 윈도우의 행수를 지정한다. 
-c 위에서부터 한 행씩 지운 후 한 행씩 출력한다. 보통은 화면 전체를 지운후 각 행을 출력하기 시작한다. 특정한 터미널을 위해 사용 
-d 스페이스나 q 키를 누르라는 프롬프트를 출력 
-f 화명의 행이 아닌 논리적인 행 수를 계산한다. 보통은 긴 칼럼의 행은 화면에서 행바꿈을 하여 새로운 행으로 계산된다. -f 옵션을 사용하면 이러한 행은 계산하지 않는다. 
-s 여러개의 빈 공백행은 하나로 취급한다. 
-p 스크롤하지 않는다. 대신 화면을 지우고 출력한다. 
-u 밑줄 치기를 금지 한다.

 

return 한줄만 스크롤 
D 빈 페이지만 뒤로 이동 
space 한 페이지만 뒤로 이동 
B 한 페이지 앞으로 이동 
H 도움말을 제공 
V vi 에디터를 부름 
Q 종료 

touch [-amc] [MMDDhhmmYY] [파일명] 

설명 : 파일의 액세스 시간이나 갱신 시간을 수정

 

옵션 
-a 파일의 액세스 시간을 바꿈 
-m 파일의 갱신 시간을 바꿈 
-c 파일명이 존재하지 않는다면 새로운 파일을 만들지 않음 
YY 연도 
DD 날짜 
hh 시간 
mm 분

 

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 

'm' 명령어로 도움말을 볼수 있다. 

ps 

설명 : 현재 자신의 리눅스 서버에서 어떤 프로세스들이 활동하고 있는지 살펴보고자 할떄 'ps' 명령을 사용하는 것이 일반적이다. ps 명령을 사용하면 현재 자신이 실행한 프로세스의 목록을 살펴볼수 있으며, '-aux' 옵션을 사용하면 시스템에서 동작중인 모든 프로세스를 살필수 있다.

 

사용키 
<Space> 상황 즉시 갱신 
<s> 갱신 시간 지정(초 단위) 

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

 

passwd [옵션] [계정] 

설명 : 사용자 계정의 패스워드를 등록하거나 변경시키는 경우 이용되는 명령어이며 특히 슈퍼유저는 다른 유저의 패스워드도 변경할수 있다.

 

옵션 
-l 사용자의 계정에 lock을 건다. 
-d 사용자의 계정에 패스워드를 해체. 즉 패스워드 없이 로그인이 가능해 진다.

 

chmod [옵션] [파일명, 디렉토리] 

설명 : 파일의 권한을 바꾸는 명령어

 

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

 

chgrp [옵션] 

설명 : 파일의 그룹을 바꾸는 명령어

 

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

 

chown [옵션] [파일명] 

설명 : 파일의 소유자를 바꾸는 명령어

 

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

 

jobs 

설명 : 현재 진행중인 작업들을 출력

 

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

 

fg 

설명 : 작업을 전명 작업으로 변환하는 것으로 전면 작업이란 모니터에 실행되는 모습을 사용자에 직접 보이며 작업하는 것을 말한다.

 

bg 

설명 : 작업을 후면 작업으로 전화하는 것으로, 후면 작업이란 전면 작업과는 반대로 사용자의 눈에는 실행되는 모습을 보이지 않으면서도 실제로는 일을 하는 것을 말한다. 백그라운드 작업은 "명령어 &"로 명령어 다음에 "&" 표시를 붙여서 후면 작업으로 전환할 수 있도록 되어 있다.

 

date [yymmddhhmm [ss] ] 

설명 : date는 위아 같이 주어진 인수가 없다면 현재 시스템의 시간과 날짜를 출력한다. 만약 주어지는 인자가 있다면 그에 따라서 시스템의 시간과 날짜를 변경한다. 
yy는 연도를 나타내는 두 숫자이며, mm은 월을 나타낸다. 그리고 dd는 날짜, hh는 24시간 단위로 표현되는 시견이며, mm은 분을 의미한다. 끝의 ss는 초를 의마하는 부분으로 명시하지 않아도 상관없는 부분이다.

 

cal [-jy] [ [달] 연도] 

설명 : 서기 원년부터 9999년까지의 달력을 볼 수 있다. 
인수를 하나만 준다면 그 숫자는 연도를 의미하는 것으로 간주된다. 두 개의 숫자를 준다면 앞의 것을 월, 그 다음은 연도를 의미한다.

 

옵션 
-j 1월 1일 부터 날짜 수를 계산하는 julian 날짜를 표시 
-y 올해의 달력을 표시

 

kill [-signalID] PID 

설명 : kill 명령은 프로세서를 죽이는 데에 사용된다. 그래서 이 유틸리티의 이름도 kill이 되었다.

 

옵션 
-signalID 프로세서에게 보낼 시그널을 지정한다. 시그널은 번호로 지정될 도 있고 시그널 이름으로 지정될 수도 있다. 
-l 시그널 종류를 나열한다. 시그널의 종류는 시그널 번호 순서대로 이름으로 나열된다.

 

finger [-slpm] [사용자] 

설명 : 시스템 상의 사용자들에 대한 정보를 보여준다. 
인수로 아무 것도 주어지지 않으면, finger는 현재 시스템에 로그인되어 있는 사용자들을 보여준다.

 

옵션 
-s 사용자의 로그온 이름, 실제 이름, 터미널 이름, 로그온 시간 등등을 보여줌 
-l -s 옵션 정보에 몇 가지를 추가하여, 여러 줄에 걸쳐서 보여줌 
-p -l 옵션 정보에서 .plan과 .project 파일을 보이지 않는다.

 

su [-] [사용자ID][인수] 

설명 : 다른 사용자 계정으로 서브 쉘을 생성하는 것으로, 잠시동안 다른 사용자 계정으로 작업할 필요가 있을때 사용한다.

 
많은 사람들이 su가 'super user'를 의미하는 말로 생각하지만, 사실은 'substitute user'를 의미하는 말이다. 

옵션 
- 하이픈(-)을 사용하면 새로운 쉘로 로그인할 때 자신의 로그인 과정을 수행한다. 옵션이 주어지지 않으면 새로운 쉘은 단지 쉘 역할을 수행할 뿐이다.

 

shutdown [옵션] 시간 [메세지] 

설명 : 시스템을 종료할 때 일반적으로 사용되는 명령어

 

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

 

출처: http://slayer95.tistory.com/30 [사과 농부의 끄적임~]

 

 

터미널에서 자주쓰는 명령어 단축키 만들기 - alias 

 

 

터미널에서 startx, startkodi같이 자주쓰는 명령어를 x 또는 k 로 단축해서 쓰는 법

 

1. 사용법 

alias [단축명령어]='[리눅스 명령어]'

- sudo apt-get install 명령어를 단축명령어 sins으로만 등록한다면...

  $ alias sins='sudo apt-get install'

그런데 이건 현재 터미널 사용자만 해당된다. 즉 같은 pi라도 ssh사용자와 라즈베리파이의 키보드를 사용하는 pi 사용자도 다르다.

 

2. 전체사용자 명령어 등록 : .bash_aliases 파일을 만들어 자주 사용하는 명령어와 단축키를 기록한다.

  $ sudo nano ~/.bash_aliases

 

alias agi='sudo apt-get install'

alias agu='sudo apt-get update'

alias aguu='sudo apt-get update && apt-get upgrade'

alias cfg='sudo raspi-config'

alias k='startkodi'

alias nn='sudo nano'

alias rbt='sudo shutdown -r now'

alias shd='sudo shutdown -h now'

alias temp='sudo /opt/vc/bin/vcgencmd measure_temp'

alias x='startx'

저장하고 나온다. (많기도 하다. 이번에 영문자판은 확실히 외웠다.)

 

3. Logout이나 리부팅하거나 다음명령을 입력하면 alias를 바로 쓸수 있다.

$ source ~/.bashrc

 

* 라즈비안은 계정별 .bashrc에 alias가 이미 설정되어 있으나 .bash_aliases파일이 있으면 이도 참조하게 되어있는 모양이다.

참조 : https://www.raspberrypi.org/documentation/linux/usage/bashrc.md

 

4. 현재 alias 상태를 확인해본다.

$ alias

 

 

alias agi='sudo apt-get install'

alias agu='sudo apt-get update'

alias aguu='sudo apt-get update && apt-get upgrade'

alias cfg='sudo raspi-config'

alias egrep='egrep --color=auto'

alias fgrep='fgrep --color=auto'

alias grep='grep --color=auto'

alias k='startkodi'

alias ls='ls --color=auto'

alias nn='sudo nano'

alias rbt='sudo shutdown -r now'

alias shd='sudo shutdown -h now'

alias temp='sudo /opt/vc/bin/vcgencmd measure_temp'

alias x='startx'

 

설정안한 ls에 관련한 alias들이 있는데 이는  .bashrc에 지정되어있는 것이다.

 

5. 이제 x를누르면 x윈도우가 실행되고, k만 누르면 kodi가 실행된다. 편하다.

 

 

 

 

 

 

 

리눅스 기본명령어

명령어

사 용 법

login

사용자 인증과정

리눅스 시스템은 기본적으로 multi-user 개념에서 시작하였기 때문에 시스템을 이용하기 위해서는 반드시 로그인을 하여야 합니 다. 로그인은 PC 통신에서도 많이 사용되어져 왔기 때문에 그 개 념  설정에 그다지 어려움이 없을 것입니다. 흔히 말하는 ID를 입력하는 과정입니다. 

passwd

패스워드 변경

리눅스, 특히 인터넷의 세계에서는 일반 컴퓨팅 상황에 비하여 훨씬 해킹에 대한 위험이 높습니다. 패스워드는 완성된 단어 보다는 단어 중간에 숫자나 키보드의 ^, #, ' 등과 같은 쉽게 연상 할 수 없는 기호를 삽입하여 만들어 주는 것이 좋습니다

du

하드사용량 체크(chkdsk)

자신의 하드공간을 알려면
# du 
특정 디렉토리의 사용량을 알려면
# du -s diretory_name

ls

파일 리스트 보기(dir)

F : 파일 유형을 나타내는 기호를 파일명 끝에 표시
    (디렉토리는 '/', 실행파일은 '*', 심볼릭 링크는 '@'가 나타남).
l  : 파일에 관한 상세 정보를 나타냅니다.
a : dot 파일(.access 등)을 포함한 모든 파일 표시.
t  : 파일이 생성된 시간별로 표시
C : 도스의 dir/w명령과 같 이 한줄에 여러개의 정보를 표시
R : 도스의 dir/s 명령과 같이 서브디렉토리 내용까지.

(예)
# ls -al  
# ls -aC
# ls -R

cd

디렉토리를 변경

# cd cgi-bin     : 하부 디렉토리인 cgi-bin으로 들어감.
# cd  ..             : 상위디렉토리로 이동
# cd 또는 cd ~  : 어느곳에서든지 자기 홈디렉토리로 바로 이동
# cd /webker     : 현재 작업중인 디렉토리의 하위나 상위 디렉토리가
                          아닌 다른 디렉토리(webker)로 이동하려면 /로 
                          시작해서 경로이름을 입력하면 된다.

cp

화일 복사(copy)

# cp index.html index.old 
     : index.html 화일을 index.old 란 이름으로 복사.

# cp /home/test/*.*  . 
     : test 디렉토리내의 모든 화일을 현 디렉토리로 복사.

mv

파일이름(rename) / 위치(move)변경

# mv index.htm index.html
     : index.htm 화일을 index.html 로 이름 변경

$ mv file  ../main/new_file 
     : 파일의 위치변경

mkdir

디렉토리 생성

# mkdir download  : download 디렉토리 생성

rm

화일삭제

# rm test.html : test.html 화일 삭제
# rm -r <디렉토리> : 디렉토리 전체를 삭제
# rm -i a.* 
     : a로 시작하는 모든 파일을 일일이 삭제할 것인지 확인하면서 삭제 

rmdir

디렉토리 삭제

# rmdir cgi-bin : cgi-bin 디렉토리 삭제

pwd

현재의 디렉토리 경로를 보여주기

pico

리눅스용 에디터

put

ftp 상태에서 화일 업로드

> put  guestbook.tar.gz

get

ftp 상태에서 화일 다운로드

> get  guestbook.tar.gz

mput 또는 mget

여러개의 화일을 올리고 내릴때 (put,get과 사용법동일)

chmod

화일 permission 변경

리눅스에서는 각 화일과 디렉토리에 사용권한을 부여.

예) -rwxr-xr-x   guestbookt.html
rwx  :처음 3개 문자 = 사용자 자신의 사용 권한
r-x  :그다음 3개 문자 = 그룹 사용자의 사용 권한
r-x  :마지막 3개 문자 = 전체 사용자의 사용 권한

읽기(read)---------- 화일 읽기 권한
쓰기(write)---------- 화일 쓰기 권한
실행(execution)---------- 화일 실행 권한
없음(-)---------- 사용권한 없음

명령어 사용법
chmod [변경모드] [파일]

# chmod 666  guestbook.html
     : test.html 화일을 자신에게만 r,w,x 권한을 줌

# chmod 766  guestbook.html
     : 자신은 모든 권한을 그룹사용자와,전체사용자에게는 
       읽기와 쓰기 권한만 줌

alias

" doskey alias" 와 비슷하게 이용할 수 있는 쉘 명령어 alias는 말그대로 별명입니다. 사용자는 alias를 이용하여 긴 유 닉스 명령어를 간단하게 줄여서 사용할 수도 있습니다. 
이들 앨리어스는 [alias ls 'ls -al'] 같이 사용하시면 되는데, 한 번 지정한 alias를 계속해서 이용하시려면, 자신의 홈디렉토리에 있는 
.cshrc(Hidden 속성)을 pico등의 에디터를 이용하여 변경시 키면 됩니다.

cat

파일의 내용을 화면에 출력하거나 파일을 만드는 명령( 도스의 TYPE명령)



# cat filename

more

cat 명령어는 실행을 시키면 한 화면을 넘기는 파일일 경우 그 내용을 모두 볼수가 없다. 하지만 more 명령어를 사용하면 한 화면 단위로 보여줄 수 있어 유용.

# more <옵션>
옵션은 다음과 같습니다.

Space bar : 다음 페이지
Return(enter) key : 다음 줄
v : vi 편집기로 전환
/str : str 문자를 찾음
b : 이전 페이지
q : more 상태를 빠져나감
h : 도움말
= : 현재 line number를 보여줌

who

현재 시스템에 login 하고 있는 사용자의 리스트를 보여줍니다.

# who

whereis

소스, 실행파일, 메뉴얼 등의 위치를 알려줍니다

# whereis perl : perl의 위치를 알려준다

vi,
touch,
cat

새로운 파일을 만드는 방법

# vi newfile :  vi 편집기 상태로 들어감
# touch newfile : 빈 파일만 생성됨
# cat > newfile  : vi 편집기 상태로 들어감, 문서 작성후 Ctrl+D로 빠져나옴

cat,
head,
tail

파일 내용만 보기

# cat filename         : 파일의 내용을 모두 보여줌
# head -n filename : n줄 만큼 위세서부터 보여줌
# tail -n filename     : n줄 만큼 아래에서부터 보여줌

 

   

압축명령어 사용법

압축 명령어 사 용 법
tar .tar, _tar로 된 파일을 묶거나 풀때 사용하는 명령어
(압축파일이 아님)

# tar cvf [파일명(.tar, _tar)] 압축할 파일(또는 디렉토리): 묶을때
# tar xvf [파일명(.tar, _tar)]  :  풀 때
   (cf) cvfp/xvfp 로 하면 퍼미션 부동 
compress 확장자 .Z 형태의 압축파일 생성

# compress    [파일명]     : 압축시 
# uncompress [파일명]    : 해제시
gzip 확장자  .gz, .z 형태의 압축파일 생성

#  gzip     [파일명]    : 압축시
#  gzip -d [파일명]   : 해제시
기타 .tar.Z 
이것은 tar로 묶은 후에 compress를 사용하여 압축한 것으로 uncompress를 사용해서 압축을 푼 다음, 
다시 tar를 사용해서 원래의 파일들을 만들어내면 됩니다. 
아니면 다음과 같이 한 번에 풀 수도 있다.
# zcat  [파일명].tar.Z  : 해제시

.tar.gz또는 .tar.z
# gzip -cd [파일명]    : 해제시

.tar.gz 또는 .tar.z .tgz
gzip을 사용해서 푼 다음 다시 tar를 사용해서 원래 파일을 만들어 낼 수 있으나,
하지만 다음과 같이 하면 한 번에 처리를 할 수 있다.

# gzip -cd 파일.tar.gz | tar xvf -  또는
# tar xvzf 파일.tar.gz
# tar xvzf 파일.tgz

 

   

리눅스 필수명령어

Linux/Unix 명령어

설 명

MS-DOS 비교

./

x

x 프로그램 실행
(현재 디렉토리에 있는 것)

x

/ ↓

이전에(↑) / 다음에(↓) 입력했던 명령어

doskey

cd 

(

또는 

cd /

x

)

디렉토리 X로 가기

cd

cd .. (

또는

 cd ../ 또는 cd /..)

한 디렉토리 위로 가기

cd..

다음

 [tab] [tab]

x 로 시작하는 모든 명령어 보기

-

adduser

시스템에 사용자 추가

/

ls (

또는

 dir)

디렉토리 내부 보여주기

dir

cat

터미널 상의 텍스트 파일 보기

type

mv 

x y

파일 x를 파일 y로 바꾸거나 옮기기

move

cp 

x y

파일 x를 파일 y로 복사하기

copy

rm x

파일 지우기

del

mkdir 

x

디렉토리 만들기

md

rmdir 

x

디렉토리 지우기

rd

rm -r 

x

디렉토리 x를 지우고 하위도 다 지우기

deltree

rm p

패키지 지우기

-

df (

또는

 df 

x

)

장치 x의 남은 공간 보여주기

chkdsk ?

top

메모리 상태 보여주기(q는 종료)

mem

man 

x

명령어 x에 관한 매뉴얼 페이지 얻기

/

less 

x

 텍스트 파일 x 보기
(리눅스에서는 더 많은 필터 적용 가능)

type x | more

echo

어떤 것을  echo 화면에 인쇄한다.

echo

mc

UNIX를 위한 노턴 커맨더

nc

mount

장치 연결(예: CD-ROM, 연결을 해제하려면 umount)

-

halt

시스템 종료

-

reboot ([ctrl] + [alt] +[del])

시스템  다시 시작하기

[ctrl] + [del] + [del]

    고급명령어

 고급 명령어

 

chmod <권한> <파일>

파일 권한(permissions) 변경

ls -l 

x

파일 x의 자세한 상황을 보여줌

ln -s 

x y

 x에서 y로 심볼릭 링크를 만들어 줌

find x -name y -print

디렉토리 x안에서 파일 y를 찾아서 화면에 그 결과를 보여줌

ps

지금 작동중인 모든 프로세스들을 보여줌

kill 

x

 프로세스 x를 종료 (x는 ps 명령으로 알 게 된 PID)

[alt] + F1 - F7

 터미널 1-7까지 바꾸기 (텍스트 터미널에서; F7은 X-윈도우(시작될때))

lilo

 부트 디스크를 만듦

용어

 

symlink

다른 파일이나 디렉토리로 심볼릭 링크. 윈도유98의 바로가기 같은 것

shell script

여러 명령어들을 차례로 수행하게 한 것. MS-DOS의 배치 파일 같은 것

     팁!!

 - 웹에서 생성한 노바디파일 삭제 하는방법..

기본적으로 웹서버는 nobody 권한으로 동작이 되게 됩니다.
고객님께서 FTP 로 접속하여 전송한 파일이 아니라 웹상에서 사용자들이 파일을 업로드 한 경우나 웹상에서 생성된 파일의 경우 삭제가 되지 않는 경우가 있을 수 있습니다.

웹서버의 동작 권한은 nobody 이고 웹상에서 생성된 파일이므로 해당 파일이 nobody 소유권으로 시스템에 생성이 되게 됩니다.

아래와 같이 웹상에서 실행시키면 됩니다.

1. 메모장을 열어 아래 소스를 붙여넣기 하신후..

<?

//폴더/파일 삭제시

$cmd = `rm -rf 노버디로된파일혹은폴더명`;

echo "$cmd";

echo "폴더가 삭제 되었습니다.";

?>

-- 위에까지..
-- **위에서 수정할 사항은 "노버디로된파일혹은폴더명"을 삭제하시고자 하는 파일명으로 바꿔주세요..

2. 파일 -> 다른이름으로저장 -> 아래 탭에서 파일형식을 "모든파일"로 선택후

   -> "원하는파일명.php" 로 저장 (ex: del.php)

3. ftp를 통해 고객계정에 파일업로드를 하시고 웹에서 파일을 불러주시면 됩니다

   ex: html폴더안에/temp 안에 삭제하고자하는 파일이 있을경우 / html폴더/temp안에 del.php를 업로드하고..

       브라우저에서 http://고객도메인/temp/del.php 를 하면 됩니다

4. 실행하시면 삭제되고 nobody 권한의 폴더만 남습니다.(폴더안의화일들만 지워짐)

   그후 ftp 접속후 폴더를 삭제하시면 됩니다.

ex)

<?

퍼미션 변경시

$cmd = `chmod -R 777 노버디로된파일혹은폴더명`;

echo "$cmd";

echo "퍼미션 변경되었습니다.";

 

?>

 
반응형

'프로그램&회로' 카테고리의 다른 글

Terminal V1.9b 2013  (3) 2019.09.06
QMC5883 지자기센서  (0) 2019.01.16
라즈베리파이 전원버튼 추가.  (0) 2018.12.17
라즈베리파이 네트워크 설정  (0) 2018.12.14
PICKIT3 Programmer to GO  (0) 2016.07.22