순두부 호랑이 2022. 12. 29. 12:29
728x90
SMALL
 
 

 

 
-------------------------------------
date : 날자를 확인
date '+%Y-%m%-d'
cal, cal 2023
clear
echo '안녕하세요'
  -e,
  -n
echo -n '안녕하세요 오늘 날씨가 춥습니다.' - 개행안됨
echo -e '안녕하세요\n오늘 날씨가 춥습니다.'  
echo -e "과정명: FUll Stack SW융합 실무 부트캠프\n기 간: 2022.08.01 - 2023.03-13\necho 담 임 : 강예진"
logname
whoami -> 현재 접속한 창에 대한 사용자의 계정
who    -> 현재 접속한 사용자의 계정 목록
hostname 
  -i
ifconfig -> 접속한 서버의 IP주소 확인. 
env 
env | grep PATH
history
  ![라인번호]
  -d[라인번호] -> 해당 라인의 명령어 삭제
  -c       -> 전체 명령어 삭제
  
--
pwd  -> 현재 작업위치
ls -> 파일의 목록 조회
  -F  -> 파일의 속성 확인
     @: 링크파일, /: 디렉토리, *: 실행파일
  -a  -> 숨긴 파일을 조회
  -l  -> 파일을 상세하게 조회
  -R  -> 하위 디렉토리 까지 조회 
  
ls -alFR 
 
1 2   3   4     5 6    7     8    9           10  
l rwx rwx rwx.  1 root root   14  8월 14  2019 system-release -> centos-release
- rw- r-- r--.  1 root root   23  8월 14  2019 system-release-cpe
d rwx r-x r-x.  4 root root  150 11월 11  2019 systemd
- rw- rw- r-- 1 centos centos  0 12월 19 12:06 myfile
-- 1
파일의 속성 -> l:링크 파일, -:일반파일, d:디렉토리
-- 2
rwx -> 자신(소유자)의 실행권한 r: read, w:write, x: excute
-- 3
rwx -> 그룹의 실행권한 r: read, w:write, x: excute
-- 4
rwx -> 타인의 실행권한 r: read, w:write, x: excute
-- 5:I-node수, 6:자신 7:그룹, 8: 파일의 크기, 
-- 9:파일의 생성및 마지막 수정일, 10: 파일명
  
-----
cd : 디렉토리 옮겨가기 
cd /etc
-- 홈디렉토리 이동
cd ~   
cd 엔터 
-- 절대경로, 상대경로
절대경로: /(root)에서 시작한다.
상대경로: 현재의 디렉토리 시작한다.
cd /home/centos
cd ../../etc
pwd : 현재 작업 디렉토리을 확인
-- 파일을 생성하는 법
touch  myfile 빈 파일을 생성한다.
문서편집기 vi, nano
복사/이동/재명명 : cp, mv 
리다이렉트 :
ls > ls-file
   >  : 새로운 파일의 생성 
   >> : 새로운 파일의 생성 & 파일의 내용을 추가
   
파일의 내용을 확인하는 방법
  cat my-fiel
  more : 한 페이지씩 조회
  less : 한 페이지씩 조회 방향키 사용가능 
  tail : 파일의 끝부분 조회 
    -[n] : 해당 수의 라인조회
    -f : 해당 수의 라인조회
  head : 파일의 앞부분 조회 
    -[n] : 해당 수의 라인조회
  vi / nano
-- 파일의 삭제
rm 파일명
 -r : 하위디렉토리까지 삭제
 -f : 삭제시 물어보는거 취소
---
su - root : 해당 계정의 홈디렉토리로 이동  
su root   : 현재의 디렉토리에서 해당 계정의 권한으로 사용
-- 계정을 바꾸거나, 작업전에 확인 해야할 사항
 hostname
 whoami
 pwd
 ls
 who
 
----
-- 문서편집기 vi
-- vi 파일명
-- 명령모드 -> 편집 상태 이동
  a, i, o, O
  a: cursor커저의 뒤쪽에 삽입 
  i: 커저의 앞쪽에 삽입
  o: 커저의 아래쪽에 삽입
  O: 커저의 위쪽에 삽입
  
-- 편집저장 및 종료
 :wq -> 저장하고 종료하기
 :q! -> 편집한 문서 버리고 종료하기
-- 명령모드
  [n]dd : [n]줄(Line) 삭제
  [n]x  : [n]문자(char) 삭제  
  [n]yy : [n]줄(Line) 복사 -> ctl+c
      p : ctl+v
     cw : 단어를 수정
     
	 gg : 문서의 처음으로 이동
	  G : 문서의 마지막으로 이동
    /문자열: 문자열 찾기
	
-- 라인모드
	  u : 직전작업 취소
	 e! : 현재 편집 문서를 버리고 최초 문서로 다시 읽어오기
	 [n]: 해당라인으로 이동/재명명
	 
	set number   : 편집문서의 줄번호 보기 
	set nonumber : 편집문서의 줄번호 취소 
	
----
-- 문서편집기 nano
	ctl_x > y > enter : 편집문서 저장하고 종료하기
	
줄번호 
    shoft + alt + 3	
문자열 찾기/바꾸기
	ctl+w -> 찾기
	ctl+\ -> 바꾸기
문자열 복사/붙어넣기
    alt+a, alt+6, ctl+u
	
한줄 삭제
    ctl+k	
	
작업취소/실행 (undo/redo)	
    undo: alt+u
	redo: alt+e
	
-------------------------
-- 권한의 변경	
	
l rwx rwx rwx.  1 root root   14  8월 14  2019 system-release -> centos-release
4 2 1	
r w x	
0 0 1  = 1	
0 1 0  = 2	
0 1 1  = 3
1 0 0  = 4 *
1 0 1  = 5 *
1 1 0  = 6 *
1 1 1  = 7 *
--
  자신(owner) : u
  그룹(group) : g
  타인(other) : o
--
chmod 권한 파일명
chmod 766 ed-edit01
	
------
-- 디렉토리의 생성/삭제
mkdir inho
  -p : 하위 디렉토리까지 한번에 생성..
  
mkdir -p ./inho/shin/in/ho
	
rmdir inho -> 현재 디렉토리에서 삭제
rm inho -> 하위 디렉토리 모두 삭제
  -r : 하위 디렉토리 모두 삭제
  -f : 삭제 물어보지 않고 삭제
+++++++++
---------
-- 파일 검색
cat /etc/passwd
1      2 3    4    5      6            7  
centos:x:1000:1000:centos:/home/centos:/bin/bash
   1: 사용자의 계정
   2: 암호
   3: 사용자ID
   4: 그룹ID
   5: 계정의 설명
   6: 홈디렉토리
   7: 계정이 사용하는 shell   
--
grep bigdata /etc/passwd
   -n : 발견된 문자열의 라인출력
   -H : 파일의 이름과 함께 찾는 문자열 출력
   -r : 하위 디렉토리까지 검색
--
find ./ -name '*.txt'
find ./ -name '*.txt' -exec ls -l {} \;
find ./ -empty
find ./ -type d
find . -name '*.txt'
find . -type f -name '*txt'
find . -type f -name '*txt' -exec ls -l {} \;
find . -type f -exec rm {} \;
find . -type d -- 디렉토리만 찾기
find . -empty  -- 크기가 0인 파일 찾기
find . -type d |wc -l
   d : 디렉토리, f : file, l: 링크파일
find . -user stduser
-- word count
wc [옵션] 파일명
  -l : 줄 수
  -w : 단어(word) 수
  -c : 문자(charater) 수
  
ls -l | wc -l
-- 링크파일 생성
ln -s inho h : h->inho
-- 명령어 위치확인
which cp  : 명령어의 위치를 확인
whereis cp : 명령어, 메뉴얼의 위치를 확인
man cp  : 메뉴얼 보기
=================================
--*
--**
--***
-- 별을 인쇄합니다 >>---
숫자를 입력하세요 -  read
-- while, for문 활용하기
-- 1-10까지 더하기
-- 현재 디렉토리에 일반파일의 앞에 3줄을 출력하기
=================================
-- 시스템의 시작과 종료	
-- 재시작
reboot
-- 종료
halt
shutdown -h now
   -p  + 10 10분후에 종료하기
   -r 13:00 -> 13시에 재부팅
   -c -> 예약 취소
shutdown -r now
inti 0   
=================================
-- 사용자의 생성/삭제
-- useradd, adduser
adduser inho
passwd inho
chage -l inho  -> 계정의 설정 정보조회
chage -m 2 inho  -> 2일후 암호 수정가능
chage -M 30 inho -> 암호 수정후 30일간 사용가능
chage -W 10 inho -> 암호 만료 10전 알림
useradd inho
groupadd inho
=================================
-- 원격지의 서버 접속
-- telnet(23), ftp(21), ssh(22), http(80), https
-- ping 172.30.1.66
172.30.1.66의 응답: 바이트=32 시간<1ms TTL=64
172.30.1.66의 응답: 바이트=32 시간<1ms TTL=64
172.30.1.66의 응답: 바이트=32 시간<1ms TTL=64
172.30.1.66의 응답: 바이트=32 시간<1ms TTL=64
계정 : stduser / stduser
=================================
-- 관리자 권한의 작업
-- 사용자의 생성, 암호의 변경, 사용자의 삭제
-- 프로그램의 설치
rpm -Uvh 패키지이름
  -U : 설치진행
   v : 설치과정조회
   h : #진행상황조회
-- 설치된 패키지조회   
rpm -qa 패키지이름
rpm -qf 패키지가 포함된는지 확인
rpm -ql 패키지안에 어떤 파일이 있는지 확인
rpm -qi 패키지상세정보 확인
rpm -e  설치된 패키지 삭제
   
-- 네트워크확인
ifconfig
ifdown 장치이름(ens160)
ifup 장치이름(ens160)
-- 의존성 문제를 해결
dnf -y install 패키지명
dnf -remove 패키지명
-- 파일의 압축
xz 파일이름
  -d 압축해제
  -l 압축내용 조회
  -k 기존이름 그대로유지
  
bzip2 파일이름
gzip 파일이름
  -d : gunzip 파일이름
  
-- 파일의 압축
tar 파일이름 대상파일
  -c :묶기  (*)
   C :해당 디렉토리 지정
   x :풀기  (*)
   t : 경로확인 
   f : 파일명(*) 
   v : 과정보기(*)
   J : tar + xz
   j : tar + gzip
=========================
-- 배치처리(cron, at)
-- cron
vi /etc/crontab
*  *  *  *  * user-name  command to be executed   
분 시 일 월 요일  계정(root)  명령어(shell 활용)
요일(0-6) : 일 월 화 수 목 금 토 
00 03 * * * run-part /etc/cron.monthly
00 03 * * * root     /home/centos/backup.sh
1. 백업 디렉토리 작성
  mkdir /backup
2. 쉘 프로그램 작성
  vi /etc/cron.daily/backup.sh
    #!/bin/bash
	fname="backup-$(date'+%Y%m%d').tar.xz"
	tar cfJ /backup/$fname /home/centos
  chmod 755 ./backup.sh
  ./backup.sh
  
3. cron 등록
  vi /etc/crontab
    #마지막 라인에 추가
	01 03 * * * root run-parts /etc/cron.daily
4. cron데몬 재시작  
 -- 월-일-시-분-년 
 date 122603002022
 systemctl status crond
 systemctl restart crond
-- 프로세스 확인
ps -ef | grep crond
kill -9 pid
pstree  -- 프로세스를 트리형태로 조회
-- fg 실행
yes > /dev/null  -- 무한루프 실행
ctl+z 
bg
-- bg 실행
yes > /dev/null &
jobs
bg [잡 번호]
fg [잡 번호]
-- 프로세스의 구동
systemctl start/stop/restart/status 프로세스명(데몬)
=====================
-- 네트워크 용어
-- 1.tcp-ip
-- 2.호스트명/도메인명
-- 3.ip주소
-- 4.네트워크주소
-- 5.브로그캐스트주소
-- 6.게이트웨이/ 라우터
-- 7.넷 마스크/클래스 255.255.255.0
-- 8.DNS(네임서버) 
  www.daum.net
-- 네트워크 관련 주요 파일명
-- 네트워크 설정관련
cat  /etc/sysconfig/network
-- LanCard 카드 설정
cd /etc/sysconfig/network-scripts
-- DNS서버 확인
vi /etc/resolv.conf
-- hosts파일 도메인 확인
vi /etc/hosts
-- 도메인 확인
nslookup
===========================
원격지의 서버(Raspberrypi)
서버주소 : 172.30.1.95
계정 : stduser / stduser
su - pi / raspberrypi
sudo adduser inho
-- 본인 계정으로 재접속
inho / inho
echo "안녕하세요?" > myEcho
-- FTP를 이용한 notepad의 설정 및 활용
------------
-- telnet서버 설치
dnf -y install telnet-server
systemctl start telnet.socket
adduser
firewall-config
ISO 파일 생성
 freeisocreator_setup.exe
------------
-- 원격 데스크탑 연결
dnf -y install epel-release
dnf -y install xrdp
방화벽 3389 open
systemctl start xrdp
firewall-config 
-- ftp 
dbf -y install vsftpd
systemctl start vsftpd
systemctl enable vsftpd
firewall-config 
==================
-- ftp
anonynous
cd  /var/ftp
cp  /boot/vmlinuz-4* file1
vi /etc/vsftpd/vsftpd.conf  수정
   12줄 anonymous_enable=NO -> 
       anonymous_enable=YES
------------
-- DNS  관련 패키지 설치
dnf -y install bind bind-chroot
-- 설치 패키지 환경 설정
vi /etc/named.conf
  11행 수정: listen-on port 53 { 127.0.0.1; }; -> listen-on port 53 { any; };  
  12행 수정: listen-on-v6 port 53 { ::1; }; -> listen-on-v6 port 53 { none; };
  19행 수정: allow-query     { localhost; }; -> allow-query     { any; };
  34행 수정: dnssec-validation yes; -> dnssec-validation no;
systemctl restart named
systemctl enable named
-- 텍스트 환경에서의 브라우져 사용
dnf -y install elinks
==========================
-- DB 서버 설정및 실행
-- 1.설치
dnf -y install gal*.rpm MariaDB*.rmp
-- 2.서비스 실행
systemctl restart mariadb
systemctl enable mariadb
systemctl status mariadb
-- 3.방화벽 개방
firewall-config
   mysql 
   
-- 4.Mysql 실행
-- Linux의 root권한으로 실행
-- 사용자 계정/암호 생성및 권한 부여
mysql
  show databases;
  use mysql
  select user, host, password from user;
  grant all privileges on *.* to 'root'@'%' identified by '0000';
  grant all on *.* to 'devuser'@'192.168.111.%' identified by '0000';
  flush privileges;
  select user, host, password from user;
  
  drop user root@%;
  quit
-- mysql 사용자의 생성및 권한부여
-- root 사용자의 암호 변경
mysqladmin -u root password '0000'
   
-- 4.MariaDB PC에서 접속하기
-- 1. GUI환경으로 접속
HeidiSQL_11.3.0.6295_Setup.exe
-- 2. CLI환경으로 접속
-- 프로그램 설치
mariadb-10.4.10-winx64.msi 
cd C:\Program Files\MariaDB 10.4\bin
mysql -h 192.168.111.100 -u devuser -p0000
-- 3. 개발 툴(Eclpse)에서 접속
-- data source 접속
728x90
LIST