Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| public:computer:linux [2021/08/21 02:29] – created alex | public:computer:linux [2021/08/23 23:19] (current) – alex | ||
|---|---|---|---|
| Line 17: | Line 17: | ||
| - | * ls | + | * ls; list 파일 목록 |
| < | < | ||
| <col sm=" | <col sm=" | ||
| <cli prompt=" | <cli prompt=" | ||
| - | $ ls | + | $ ls # 현재 디렉토리 파일 목록 |
| - | $ ls / | + | $ ls / |
| - | $ ls -a | + | $ ls -a # 현재 디렉토리의 목록(숨김 파일 포함) |
| - | $ ls -l | + | $ ls -l # 현재 디렉토리의 목록을 자세히 |
| - | $ ls *.conf | + | $ ls *.conf |
| - | $ ls -l / | + | $ ls -l / |
| </ | </ | ||
| </ | </ | ||
| </ | </ | ||
| - | * cd | + | * cd; change directory 디렉토리 이동 |
| - | * pwd | + | < |
| - | * rm | + | <col sm=" |
| - | * cp | + | <cli prompt=" |
| - | * touch | + | $ cd |
| - | * mv | + | $ cd ~ubuntu |
| - | * mkdir | + | $ cd .. |
| - | * rmdir | + | </ |
| - | * cat | + | </ |
| - | * head | + | </ |
| - | * tail | + | |
| - | * more | + | * pwd; print working directory |
| - | * less | + | * rm; remove |
| - | * file | + | < |
| - | * clear | + | <col sm=" |
| - | * pwd | + | <cli prompt=" |
| + | $ rm abc.txt | ||
| + | $ rm -i abc.txt | ||
| + | $ rm -f abc.txt | ||
| + | $ rm -r abc | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | * cp; copy | ||
| + | * touch; 사이즈 0인 파일 생성, 파일이 존재할 경우 최종 수정 시간 변경 | ||
| + | * mv; move | ||
| + | * mkdir; make directory | ||
| + | * rmdir; remove directory | ||
| + | * cat; concatenate, | ||
| + | * head; 텍스트 파일의 앞 10행 출력 | ||
| + | * tail; 텍스트 파일의 뒤 10행 출력 | ||
| + | * more; 텍스 파일 페이지 단위로 화면 출력, space bar, b, q | ||
| + | * less; more의 확장, pageUp, pageDown | ||
| + | * file; 파일의 종류 표시 | ||
| + | * df; 디스크 사용량 | ||
| + | * wc; word count | ||
| + | * clear; 화면 지움 | ||
| + | * date, time, cal; 날짜, 시간, 달력 출력 | ||
| * 파이프; | | * 파이프; | | ||
| * 필터; grep, tail, wc, sort, awk, sed 등 | * 필터; grep, tail, wc, sort, awk, sed 등 | ||
| Line 72: | Line 96: | ||
| * uname -r; 커널 버전 확인 | * uname -r; 커널 버전 확인 | ||
| * /etc/issue; 우분투 버전 | * /etc/issue; 우분투 버전 | ||
| + | * lsb_release -a | ||
| * wget | * wget | ||
| * curl | * curl | ||
| - | * | + | |
| Line 88: | Line 113: | ||
| * 파일 이름 | * 파일 이름 | ||
| * chmod; u(user), g(group), o(others) | * chmod; u(user), g(group), o(others) | ||
| - | * chown | + | * chown; |
| * chgrp | * chgrp | ||
| * whoami | * whoami | ||
| Line 109: | Line 134: | ||
| * 파일 압축 | * 파일 압축 | ||
| - | * xz | + | * xz; 확장명 xz로 압축/ |
| - | * bzip2 | + | * bzip2; bz2로 압축/ |
| - | * gzip | + | * gzip; gz 압축/ |
| - | * zip / unzip | + | * zip / unzip; zip 압축/ |
| * 파일 묶기 | * 파일 묶기 | ||
| - | * tar | + | * tar; tar로 묶음/ |
| + | * c; 새로운 묶음 | ||
| + | * x; 묶인 파일 해제 | ||
| + | * t; 묶을 풀기 전에 묶인 경로 보여줌 | ||
| + | * C; 묶음을 풀 때 지정된 디렉토리에 압축 해제. | ||
| + | * f(필수); 묶음 파일 이름 지정 | ||
| + | * v; visual | ||
| + | * J; tar + xz | ||
| + | * z; tar + gzip | ||
| + | * j; tar + bzip2 | ||
| * 파일 위치 검색 | * 파일 위치 검색 | ||
| - | * find | + | * find 경로 옵션 조건 action; |
| - | * which | + | < |
| - | * whereis | + | <col sm=" |
| - | * locate | + | <cli prompt=" |
| + | $ find /etc -name " | ||
| + | $ find /home -user ubuntu | ||
| + | $ find ~ -perm 644 | ||
| + | $ find /user/bin -size +10k -size -100k | ||
| + | $ find ~ -size 0k -exec ls -l { } \; | ||
| + | $ find /home -name " | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | * which; PATH에 설정된 디렉토리 검색. 절대 경로를 포함한 위치 검색 | ||
| + | * whereis; 실행 파일 및 소스, man 페이지 까지 검색 | ||
| + | * locate; updatedb 실행 필요 | ||
| * cron; crond : / | * cron; crond : / | ||
| * at | * at | ||
| + | * https:// | ||
| ==== 네트워크 ==== | ==== 네트워크 ==== | ||
| Line 140: | Line 187: | ||
| * / | * / | ||
| * /etc/group; 그룹이름: | * /etc/group; 그룹이름: | ||
| - | * adduser | + | * adduser; 새로운 사용자 추가 / |
| - | * passwd | + | * passwd; 비밀번호 변경 |
| - | * usermod | + | * usermod; 사용자 속성 변경 |
| - | * userdel | + | * userdel; 사용자 삭제 |
| - | * chage | + | * chage; 사용자의 암호를 주기적으로 변경하도록 설정(change age) |
| - | * groups | + | * groups; 사용자 소속 그룹 출력 |
| - | * groupadd | + | * groupadd; 새로운 그룹 생성 |
| - | * groupmod | + | * groupmod; 그숩 속성 변경 |
| - | * groupdel | + | * groupdel; 그룹 삭제 |
| - | * gpasswd | + | * gpasswd; 그룹 암호 설정, 그룹 관리 |
| Line 227: | Line 274: | ||
| </ | </ | ||
| + | |||
| + | * raid(Redundant | ||
| + | * 단순볼륨 | ||
| + | * 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/ | ||
| + | |||
| + | |||
| + | ==== bash shell script ==== | ||
| + | * alias | ||
| + | * history | ||
| + | * 연산기능 | ||
| + | * job control 기능 | ||
| + | * 자동 이름 완성 기능 | ||
| + | * 프롬프트 제어 기능 | ||
| + | * 명령 편집 기능 | ||
| + | * shebang(hashbang) | ||
| + | |||
| + | ^ 환경변수 ^^ | ||
| + | | HOME | 현재 사용자의 홈 디렉토리 | ||
| + | | PATH | 실행 파일을 찾는 디렉토리 경로 | ||
| + | | LANG | 기본 지원되는 언어 | ||
| + | | PWD | 사용자의 현재 작업 디렉토리 | ||
| + | | TERM | 로그인 터미널 타입 | ||
| + | | SHELL | 로그인해서 사용하는 쉘 | | ||
| + | | USER | 현재 사용자의 이름 | ||
| + | | DISPLAY | ||
| + | | COLUMNS | ||
| + | | LINES | 현재 터미널 라인 수 | | ||
| + | | PS1 | 1차 명령 프롬프트 변수 | ||
| + | | PS2 | 2차 명령 프롬프트 (대개는 '>' | ||
| + | | BASH | bash 쉘의 경로 | ||
| + | | BASH_VERSION | ||
| + | | HISTFILE | ||
| + | | HISTSIZE | ||
| + | | HOSTNAME | ||
| + | | USERNAME | ||
| + | | LOGNAME | ||
| + | | LS_COLORS | ||
| + | | MAIL | 메일을 보관하는 경로 | ||
| + | | OSTYPE | ||
| + | |||
| + | * export 환경변수=값, | ||
| + | * .sh | ||
| + | * echo | ||
| + | * chmod +x | ||
| + | * 변수 | ||
| + | * 변수=값; = 앞뒤로 공백 없음, 문자열 | ||
| + | * 숫자 계산; 역따옴표`, | ||
| + | * 파라미터; | ||
| + | * if ~ fi, else | ||
| + | <alert type=" | ||
| + | if [ 조건 ] | ||
| + | then | ||
| + | 참일 경우 실행 | ||
| + | else | ||
| + | 거짓인 경우 실행 | ||
| + | fi | ||
| + | </ | ||
| + | * case ~ esac, 비교할내용) 명령 끝에만;; *) 나머지 조건;; | ||
| + | * and; -a, &&, | ||
| + | * [ 식1 ] && [ 식2 ]; then | ||
| + | * [ \(식1\) -a \(식2\) ]; then | ||
| + | * or; -o, || | ||
| + | * for ~ in; < | ||
| + | <alert type=" | ||
| + | for 변수 in 값1 값2 값3 | ||
| + | do | ||
| + | 반복할 문자 | ||
| + | done | ||
| + | </ | ||
| + | * while 참이면, until 참이 될 때 까지, break, continue, exit, return | ||
| + | <alert type=" | ||
| + | while [ 참 ] | ||
| + | do | ||
| + | 명령 | ||
| + | done | ||
| + | </ | ||
| + | * 사용자 정의 함수 | ||
| + | <alert type=" | ||
| + | 함수이름 () { | ||
| + | $1, $2, | ||
| + | 실행 | ||
| + | } | ||
| + | |||
| + | 함수이름 | ||
| + | </ | ||
| + | * eval; 문자열을 명령문으로 인식하여 실행 | ||
| + | * printf; | ||
| + | * set과 $(명령) | ||
| + | |||
| + | ^ 문자열 비교 연산자 | ||
| + | ^ 문자열 비교 | ||
| + | | " | ||
| + | | " | ||
| + | | -n " | ||
| + | | -z " | ||
| + | |||
| + | ^ 산술 비교 연산자 | ||
| + | ^ 산술 비교 | ||
| + | | 수식1 -eq 수식2 | ||
| + | | 수식1 -ne 수식2 | ||
| + | | 수식1 -gt 수식2 | ||
| + | | 수식1 -ge 수식2 | ||
| + | | 수식1 -lt 수식2 | ||
| + | | 수식1 -le 수식2 | ||
| + | | !수직 | ||
| + | |||
| + | ^ 파일 조건 | ||
| + | ^ 파일 조건 | ||
| + | | -d 파일이름 | ||
| + | | -e 파일이름 | ||
| + | | -f 파일이름 | ||
| + | | -g 파일이름 | ||
| + | | -r 파일이름 | ||
| + | | -s 파일이름 | ||
| + | | -u 파일이름 | ||
| + | | -w 파일이름 | ||
| + | | -x 파일이름 | ||
| + | |||
| + | |||
| + | ==== OpenSSH ==== | ||
| + | * apt-get -y install openssh-server | ||
| + | * port 22/tcp | ||
| + | * systemctl restart/ | ||
| + | |||
| + | ==== Name Server ==== | ||
| + | * DNS(Domain Name System) Server | ||
| + | * 캐싱 | ||
| + | * apt-get -y install bind9 bind9utils | ||
| + | * / | ||
| + | * recursion yes; | ||
| + | * allow-query { any; }; | ||
| + | * systemctl restart/ | ||
| + | * port 53 | ||
| + | * dig @네임서버IP 조회할URL | ||
| + | * 마스터 네임서버 | ||
| + | * / | ||
| + | * named-checkconf | ||
| + | |||
| + | ==== Mail Server ==== | ||
| + | * 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 | ||
| + | * / | ||
| + | * / | ||
| + | * / | ||
| + | * / | ||
| + | * systemctl restart/ | ||
| + | * systemctl restart/ | ||
| + | * 라운드큐브 웹메일 | ||
| + | * apt-get -y install dovecot-imapd lamp-server^ | ||
| + | * apt-get -y install roundcube | ||
| + | * / | ||
| + | * / | ||
| + | * Postfix | ||
| + | * 네임서버 세팅 먼저 | ||
| + | |||
| + | ==== Database Server ==== | ||
| + | * MySQL, mariaDB | ||
| + | * apt-get -y install mariadb-server mariadb-client | ||
| + | * port 3306 | ||
| + | * 서버스크립트; | ||
| + | * 클라이언트 실행파일; | ||
| + | * phpMyAdmin; apt-get -y install phpmyadmin | ||
| + | |||
| + | ==== Web Server ==== | ||
| + | * LAMP | ||
| + | * apt-get -y install lamp-server^ | ||
| + | * Apache2 | ||
| + | * / | ||
| + | * nginx | ||
| + | * nextCloud | ||
| + | |||
| + | |||
| + | ==== Firewall ==== | ||
| + | * ufw [[https:// | ||
| + | * iptables [[https:// | ||