카테고리 없음
리눅스
순두부 호랑이
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