Sunday, April 6, 2014

Bash commands for Debian GNU/Linux

Bash commands for Debian GNU/Linux

Bash commands for Debian GNU/Linux


;; =================================================
;; εμαcs is ⎋[esc]⌘[meta]⌥[alt]⌃[ctrl]⇧[shift].
;; =================================================

이 문서는 emacs org-mode로 작성된 글입니다.


Operating System Environments

  • Main- : OS X Mavericks (10.9.2)
  • Sub- : Debian GNU/Linux Wheezy (7.4)
  • Server: Debian GNU/Linux Wheezy || Squeeze || Lenny
  • Mobile: iOS 7.1

Bash commands(or shell commands)를 여기서 전부 다루는 것은 불가능하고 의미도 없다. 그 중에서 Debian GNU/Linux에서 주로 쓰이며, 이 정도만 알면 기본적으로 시스템이 어떻게 돌아가는지 알 수 있다고 생각되는 몇 가지 기본적인 명령어들을 A4 한 장 분량의 pdf로 만들어 보았다. 이 블로그에도 같은 내용을 html 형식으로 옮겨 놓았다.

Bash commands for Debian GNU/Linux in PDF

bash_commands_korean_xoblivoir.pdf

이 문서는 Kangsoo Kim (karnes@ktug/a.k.a. 도은이아빠)께서 만들고 배포하고 있는 xoblivoir-class를 써서 XeLaTeX으로 compile 하였다.

Bash commands for Debian GNU/Linux in HTML

Bash(Bourne-again shell)은 Bourne shell(sh)를 free-/open-software로써 대체하려는 GNU project를 위해 Brian J. Fox가 만들었다. Born again과 유사한 발음이 나서 재탄생한 쉘(Born again shell)이란 이중적 의미를 가지게 의도적으로 만들었다. Debian 계열의 Linux에 default로 설치되어있으며 터미널(terminal or terminal emulator)에서 작동한다. 전에 실행했던 명령어 내역이 자동으로 저장되어 위/아래 방향키( / )로 쉽게 접근할 수 있으며, 문자열을 적다가 탭키(↹Tab)를 누르면 자동 완성된다. 터미널 안에서 복사/붙이기는 각각 ⌃Ctrl + ⇧Shift + c/v 이다.

13334096135_54b29dfaac.jpg

앞으로 Bash command에서 고정된 부분은 소문자(lowercase letter)로 바뀌는 부분은 대문자(CAPITAL_LETTER)로 적기로 한다.

su, adduser, login, logout, exit, passwd, and shutdown

$ su 시스템 관리자(super user or root)로 로그인
# adduser ACCOUNT_NAME ACCOUNT_NAME 이라는 이름의 계정(account) 만들기
# login ACCOUNT_NAME ACCOUNT_NAME 계정으로 로그인하기
$ logout 현재 로그인하고 있는 사용자에서 로그아웃 (logout) 하기
# exit 시스템 관리자에서 나오거나 터미널 (terminal/Bash) 창 닫기
$ passwd 현재 로그인 (login) 하고 있는 사용자 (user) 의 비밀번호 (password) 변경
# shutdown -h now 지금 바로 시스템 종료하기

Debian GNU/Linux information

$ lsb_release -a 현재 설치된 Debian GNU/Linux의 정보를 출력
$ dpkg --print-architecture Debian이 설치된 architecture를 출력(ex. i386, amd64, or etc)
$ sudo ifconfig 연결된 네트워크 정보 (ex. ip-, mac-address, or etc) 출력
$ sudo fdisk -l 연결된 저장장치 (ex. hdd, usb, or etc) 정보 출력

pwd, clear, ls, cd, cp, mv, rm, and mkdir

$ clear 터미널(terminal) 창의 화면에 보이는 내용을 지움
$ ls 현재 디렉터리에 있는 내용(contents) 출력
$ ls -a 숨겨있는 내용까지 출력
$ ls -la 숨겨있는 내용까지 자세히 출력
$ ls |grep KEYWORD 내용 중 KEYWORD 가 포함된 것만 출력
$ cd ∼ 홈 디렉터리 (/home/user_ID/)으로 이동
$ cp SOURCE DESTINATION SOURCEDESTINATION 으로 복사
$ mv SOURCE DESTINATION SOURCEDESTINATION 으로 이동
$ mv SOURCE NAME SOURCE 의 이름을 NAME 으로 변경
$ rm FILES FILES 를 삭제
$ rm -rf DIRECTORY DIRECTORY 와 그 안의 내용을 모두 삭제
$ mkdir DIRECTORY_NAME DIRECTORY_NAME 의 이름을 가진 디렉터리를 현재 위치한 곳에서 만듦

Installation and removal

$ sudo apt-get update 업데이트 목록이 있는지 확인
$ sudo apt-get upgrade 확인된 업데이트 목록을 업그레이드
$ apt-cache search PACKAGE_NAME Debian 저장소(repository)에서 PACKAGE_NAME 의 유무 확인
$ sudo apt-get install PACKAGE_NAME Debian 저장소에서 PACKAGE_NAME 을 설치
$ dpkg --get-selections 설치된 패키지(packages) 모두 보기
$ dpkg --get-selections |grep KEYWORD KEYWORD 라는 이름을 포함한 설치된 패키지 모두 보기
$ sudo dpkg -i PACKAGE_NAME.deb PACKAGE_NAME.deb 수동으로 설치하기
$ sudo apt-get remove PACKAGE_NAME 설치된 PACKAGE_NAME 지우기
$ sudo apt-get autoremove 설치된 패키지 중 더이상 필요 없는 것들 지우기
$ tar -zxvf ARCHIVE.tar.gz ARCHIVE.tar.gz 파일을 현재 디렉터리에 압축 풀기

man and find

$ man COMMAND COMMAND 라는 이름의 명령어 매뉴얼(manual) 보기
$ find ∼ -name KEYWORD* 홈 디렉터리 (~) 아래에 이름에 KEYWORD 가 들어간 모든 파일 및 디렉터리를 찾기
$ sudo find / -name KEYWORD* 시스템 천체에서 이름에 KEYWORD 가 들어간 모든 파일 및 디렉터리를 찾기

Run

$ sh SHELL_SCRIPT SHELL_SCRIPT 실행
$ ./EXECUTABLE_FILE EXECUTABLE_FILE 실행

mount and umount

# mount -o loop IMAGE.iso MOUNT_POINT IMAGE.iso 파일을 MOUNT_POINT 에 마운트(mount)하기.
  MOUNT_POINT 는 미리 만들어져 있어야 한다.
$ sudo umount MOUNT_POINT MOUNT_POINT 에 마운트한 이미지를 추출하기
# mount -t ntfs-3g /dev/sdb# /media/NTFS ntfs 형식의 usb(or hdd)를 /media/NTFS 에 마운트하기.
  /media/NTFS 는 미리 만들어져 있어야 하며,
  /dev/sdb#$ sudo fdisk -l 로 확인할 수 있다.

Permissions

13333808914_695eac6e89.jpg

$ chmod +w FILE FILE 을 쓰기 가능으로 만듦
$ chmod -w FILE FILE 을 쓰기 불가능으로 만듦
$ chmod +x FILE FILE 을 실행 가능으로 만듦

ssh, sftp, and smb

$ ssh USER@IP_ADDRESS IP_ADDRESSUSER 로 ssh(secure shell) 접속
$ ssh -Y USER@IP_ADDRESS IP_ADDRESSUSER 로 X11-enabled ssh 접속
$ sftp USER@IP_ADDRESS:PORT IP_ADDRESSUSER 로 sftp 접속(:PORT 는생략가능)

sftp와 smb 프로토콜(protocol)은 File manager(Dolphin, Thunar, or etc)에서 ⌃Ctrl + l로 이용할 수 있다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created: 2014-04-06 Sun 16:13

Emacs 23.4.1 (Org mode 8.0.2)