public:computer:linux

This is an old revision of the document!


linux 기초 사용법

$ history

  • ls

$ ls
$ ls /etc/systemd
$ ls -a
$ ls -l
$ ls *.conf
$ ls -l /etc/systemd/b*

  • cd
  • pwd
  • rm
  • cp
  • touch
  • mv
  • mkdir
  • rmdir
  • cat
  • head
  • tail
  • more
  • less
  • file
  • clear
  • pwd
  • 파이프; |
  • 필터; grep, tail, wc, sort, awk, sed 등
  • 리디렉션; >(overwrite), »(append), <, < >
  • 연속 실행 ;
  • 프로세스
    • foreground process
    • background process
    • 프로세스 번호
    • 작업 번호
    • 부모 프로세스, 자식 프로세스
    • ps
    • kill
    • pstree
  • 데몬; 명령 &
  • 서비스;
    • systemctl start/stop/restart
    • systemctl status
    • systemctl enable/disable
  • 소켓; /lib/systemd/system 디렉토리 소켓이름.socket
  • GRUB; /etc/default/grub
  • uname -r; 커널 버전 확인
  • /etc/issue; 우분투 버전
  • lsb_release -a
  • wget
  • curl
  • ls -l
    • 파일유형; d(디렉토리),-(일반), b(블록 디바이스), c(문자 디바이스), l(링크)
    • 파일허가권; r(read)w(write)x(execute) 형식, 소유자-그룹-기타 순.
    • 링크수
    • 파일소유자
    • 파일소유그룹
    • 파일크기(Bytes)
    • 마지막변경 날짜/시간
    • 파일 이름
  • chmod; u(user), g(group), o(others)
  • chown
  • chgrp
  • whoami
  • 링크
    • Hard link; 원본 데이터를 직접 가르킴
    • Symbolic link; ln -s, 별도의 포인터
    • inode에 대한 이해
  • package
    • dpkg -i(–install), -r(–remove), -P(–purge), -l, -L
    • apt-get; 의존성 문제 해결,
      • apt-get -y install 패키지 이름
      • apt-get update
      • apt-get remove,
      • apt-get purge,
      • apt-get autoremove
    • apt-cache
      • apt-cache show
      • apt-cache depends
      • apt-cache rdepends
  • 파일 압축
    • xz
    • bzip2
    • gzip
    • zip / unzip
  • 파일 묶기
    • tar
  • 파일 위치 검색
    • find
    • which
    • whereis
    • locate
  • cron; crond : /etc/crontab
  • at
  • ifconfig
  • ifdown
  • ifup
  • systemctl start/stop/restart/status networking
  • nslookup
  • ping
  • /etc/resolv.conf; dns 서버의 정보와 호스트 이름이 들어있는 임시 사용 파일
  • /etc/hosts; 호스트 이름과 FQDN이 들어있는 파일
  • /etc/network/interfaces
  • 사용자/그룹;
    • /etc/passwd; 사용자이름:암호:사용자ID:사용자소속그룹ID:추가정보:홈디렉토리:기본쉘
    • /etc/group; 그룹이름:비밀번호:그룹ID:보조그룹사용자
    • adduser
    • passwd
    • usermod
    • userdel
    • chage
    • groups
    • groupadd
    • groupmod
    • groupdel
    • gpasswd
  • mount / unmount
  • 히스토리

$ history

  • 도움말
  • 로그 아웃 (사용자 계정)

$ logout
$ exit

  • 시스템 재부팅 (root 계정)

# reboot
# shutdown -r now
# init 6

런레벨
런레벨 영문 모드 설명 비고
0 Power Off 종료 모드
1 Rescue 시스템 복구 모드 단일 사용자 모드
2 Multi-User 사용하지 않음
3 Multi-User 텍스트 모드의 다중 사용자 모드
4 Multi-User 사용하지 않음
5 Graphical 그래픽 모드의 다중 사용자 모드
6 Reboot
  • 시스템 종료 (root 계정)

# poweroff
# shutdown -P now
# halt -p
# init 0
# shutdown -P +10  # 10분 후 종료 (P: poweroff)
# shutdown -r 22:00  # 오후 10시에 재부팅 (r: reboot)
# shutdown -c  # 예약된 shutdown 취소 (c: cancel)
# shutdown -k +15  # 현재 접속한 사용자에게 15분 후에 종료 메시지 브로드캐스팅, 실제 종료는 안됨

  • raid(Redundant of Inexpensive/Independent Disks)
    • 단순볼륨
    • linear raid
    • raid 0; stripping
    • raid 1; mirroring, fault-tolerance
    • raid 5; parity
    • raid 6;
    • raid 1+0, 1+6
  • quota; /etc/fstab → reboot → quota heck, quotaon/quotaoff → edquota
  • alias
  • history
  • 연산기능
  • job control 기능
  • 자동 이름 완성 기능
  • 프롬프트 제어 기능
  • 명령 편집 기능
  • shebang(hashbang)
환경변수
HOME 현재 사용자의 홈 디렉토리
PATH 실행 파일을 찾는 디렉토리 경로
LANG 기본 지원되는 언어
PWD 사용자의 현재 작업 디렉토리
TERM 로그인 터미널 타입
SHELL 로그인해서 사용하는 쉘
USER 현재 사용자의 이름
DISPLAY X 디스플레이 이름
COLUMNS 현재 터미널의 컬럼 수
LINES 현재 터미널 라인 수
PS1 1차 명령 프롬프트 변수
PS2 2차 명령 프롬프트 (대개는 '>')
BASH bash 쉘의 경로
BASH_VERSION bash 버전
HISTFILE 히스토리 파일의 경로
HISTSIZE 히스토리 파일에 저장되는 개수
HOSTNAME 호스트의 이름
USERNAME 현재 사용자 이름
LOGNAME 로그인 이름
LS_COLORS ls 명령의 확장자 색상 옵션
MAIL 메일을 보관하는 경로
OSTYPE 운영체제 타입
  • export 환경변수=값, printenv
  • .sh
  • echo
  • chmod +x
  • 변수
    • 변수=값; = 앞뒤로 공백 없음, 문자열
  • 숫자 계산; 역따옴표`, expr \(, \), \*,
  • 파라미터; $0, $1, $2, …
  • if ~ fi, else
  • case ~ esac, 비교할내용) 명령 끝에만;; *) 나머지 조건;;
  • and; -a, &&,
    • [ 식1 ] && [ 식2 ]; then
    • [ \(식1\) -a \(식2\) ]; then
  • or; -o, ||
  • for ~ in; ((i=1;i<=10;i++)) 괄호 두개, seq 1 10
  • while 참이면, until 참이 될 때 까지, break, continue, exit, return
  • 사용자 정의 함수
  • eval; 문자열을 명령문으로 인식하여 실행
  • printf;
  • set과 $(명령)
문자열 비교 연산자
문자열 비교 결과
“문자열1” = “문자열2” 두 문자열이 같은면 참
“문자열1” != “문자열2” 두 물자열이 같지 않으면 참
-n “문자열” 문자열이 NULL(빈 문자열)이 아니면 참
-z “문자열” 문자열이 NULL(빈 문자열)이면 참
산술 비교 연산자
산술 비교 결과
수식1 -eq 수식2 두 수식(또는 변수)이 같으면 참
수식1 -ne 수식2 두 수식(또는 변수)이 같지 않으면 참
수식1 -gt 수식2 수식1이 크다면 참
수식1 -ge 수식2 수식1이 크거나 같으면 참
수식1 -lt 수식2 수식1이 작으면 참
수식1 -le 수식2 수식1이 작거나 같으면 참
!수직 수식이 거짓이라면 참
파일 조건
파일 조건 결과
-d 파일이름 파일이 디렉토리라면 참
-e 파일이름 파일이 존재하면 참
-f 파일이름 파일이 일반 파일이면 참
-g 파일이름 파일에 set-group-id가 설정되면 참
-r 파일이름 파일이 읽기 가능이면 참
-s 파일이름 파일 크기가 0이 아니면 참
-u 파일이름 파일에 set-user-id가 설정되면 참
-w 파일이름 파일이 쓰기 가능 상태이면 참
-x 파일이름 파일이 실행 가능 상태이면 참
  • apt-get -y install openssh-server
  • port 22/tcp
  • systemctl restart/enable/status ssh
  • DNS(Domain Name System) Server
  • 캐싱
    • apt-get -y install bind9 bind9utils
    • /etc/bind/named.conf.options
      • recursion yes;
      • allow-query { any; };
    • systemctl restart/enable/status bind9
    • port 53
    • dig @네임서버IP 조회할URL
  • 마스터 네임서버
    • /etc/bind/named.conf
    • named-checkconf
  • SMTP(Simple Mail Transfer Protocol), POP(Post Office Protocol), IMAP(Internet Mail Access Protocol)
  • Sendmail
    • apt-get -y install sendmail
    • apt-get -y install dovecot-pop3d
    • /etc/mail/sendmail.cf
    • /etc/mail/access
    • /etc/dovecot/dovecot.conf
    • /etc/dovecot/conf.d/10-mail.conf
    • systemctl restart/enable sendmail
    • systemctl restart/enable dovecot
  • 라운드큐브 웹메일
    • apt-get -y install dovecot-imapd lamp-server^
    • apt-get -y install roundcube
    • /etc/apache2/conf-enabled/roundcube.conf
    • /etc/roundcube/config.inc.php
  • Postfix
  • 네임서버 세팅 먼저
  • MySQL, mariaDB
  • LAMP
  • Apache2
  • nginx
  • public/computer/linux.1629566891.txt.gz
  • Last modified: 2021/08/22 02:28
  • by alex