참고
필수개념
NOTE
•
•
목차
NOTE
Linux 시스템에 로컬로 접속하는 방법에 대해 다룬다.
•
텍스트 모드?
•
콘솔, 가상 터미널, 터매널 애뮬레이터
컴퓨터를 하나를 여러 사람이 사용한다.
그래서 컴퓨터가 현재 어떤일이 일어나는지 콘솔에 표시했다.
VNC 뷰어? RDB 프로토
SSH와 텔넷에 대한 설명
•
보안적인 차이가 존재한다
로그인 및 시스템 문서
printf
•
데이터 출력 명령어
•
man 1 printf ⇒ printf 명령어 조회, 1은 섹션
journalctl
•
systemd의 로깅 시스템인 journalId의 로그조회 명령어
•
systemd기반의 시스템에서 로그를 쉽게 분석하도록 사용함
hostnamectl
•
systemd를 사용하는 Linux 시스템에서 호스트이름과 관련된 정보를 관리하는 명령어
•
호스트 이름 설정및 변경
•
시스템 정보 조회
•
hostname, uname, systemctl 등의 유사 명령어 존
mandb
•
man 페이지 데이터베이스를 생성하거나 업데이트 한다.
•
해당 데이터베이스는 man, apropos가 사용한다.
•
ex) 새로운 패키지 설치이후 man, apropos가 데이터가 없다면 업데이트 가능
ssh
•
네트워크 원격 접속
•
ssh 사용자명@서버주소 형식으로 접속
•
ssh -V ⇒ 버전(Version)
•
ssh -v 사용자명@Host ⇒ 연결진단(verbose)
hostctl
•
/etc/hosts/ 파일을 관리하는데 사용
•
개발중인 로컬 호스트 파일에 추가하여 실제 도메인을 적용하기전 hostctl을 통해 맵핑가능
apropos
•
특정 키워드와 관련된 man 페이지 검색
•
filewall에 대한 명령어를 찾고싶지만 정확한 명령어를 모를때 apropos filewall을 실행하여 조회가능
파일 및 디렉터리, 하드 및 소프트 링크
ls
•
•
ls -al ⇒ 전체 파일 리스트
•
ls -alh ⇒ 전체 파일 리스트 + 용량
cd
•
cd / ⇒ 루트 디렉토
•
cd - , cd .. ⇒ 이전 디렉토리
•
cd ⇒ 홈 디렉토리
touch
mkdir
mkdir -p # 부모폴더 없어도 자동생성
Shell
복사
•
폴더만듬
cp
cp -a
Shell
복사
•
cp [soruce] [destination]
•
cp -r [source] [dest] ⇒ 재귀복사(폴더내의 모든 파일복사)
mv
하드링크/심볼릭링크
윈도우를 사용하다 보면 어떤 파일을 실행할 때, 바로가기를 통해 접근할 수 있다. 리눅스 역시 바로가기와 비슷한 기능을 제공하는데 이를 리눅스 링크라고 한다.
하지만 리눅스 링크는 윈도우와 다른점이, 하드링크와 심볼릭링크 2가지 개념으로 나뉜다.
inode
ls -li # inode 정보 확인
Shell
복사
•
유닉스 계통의 파일 시스템에서 사용하는 자료구조
•
모든 파일과 디렉토리는 1개씩 inode를 가지고 있으며 여기에는 해당 파일의 허가권, 소유권, 파일의 실제위치 등 중요한 정보들이 들어있다.
stat
stat [파일명]
Java
복사
•
stat [파일 경로] ⇒ 파일의 정보와 접근, 수정내역
하드링크
동일 inode가 생성되는걸 볼 수 있다.
# 하드링크 생성
ln [대상파일] [하드링크파일]
# 심볼릭 링크 생성
ln -s [대상파일] [하드링크파일]
Shell
복사
•
ln -s path_to_target_file path_to_link_file
•
원본 파일과 동일한 inode를 직접적으로 가리킨다.
◦
원본 파일이 사라지더라도 데이터만 살아 있다면 원본 파일에 접근이 가능하다. (일반 변수 복사개념)
◦
동일한 파일 시스템내에서만 생성가능
◦
디렉터리 링크 불가능
◦
소프트링크는 원본이 삭제될 경우 링크 사용이 불가능하다. 단 하드링크는 원본이 삭제되어도 동일 내용을 가지므로, 일종의 복제본이라 생각하면 편하다.
심볼릭 링크, 소프트 링크
•
심볼릭(소프트) 링크는 만들게 되면 또다른 inode를 생성해서 이를 바라본다.
•
복사 생성된 inode는 포인터를 가리키고, 포인터는 다시 원본파일을 가리키는 개념이다. (참조 변수 복사개념)
◦
심볼릭 링크는 디렉터리 링크가 가능하다.
◦
원본 파일이 사라지면 해당 데이터에 접근할 수 없다.
파일 권한/검색
chgrp wheel family_dog.jps
chown jane family_dog.jpg
chown aaron:family family_dog.jpg
ls -l # 권한확인
# r, w, x
chmod u=r [파일경로]
chmod 400
chmod u=rw [파일경로]
chmod 600
chmod u+rw,g=r,o= [파일경로]
chmod 640
chmod u=rw,g-w [파일경로]
chmod 600
chmod o=r [파일경로]
chmod 004
chmod 4664
chmod 2665
chmod 1777 stickydir
chmod u+s,g+s,o+t /home/bob/datadir
find /usr/share/ -name '*.jpg'
find /lib64/ -size +10M
find /dev/ -mmin -1
find -mmin [minute]
find -mmin 5
find -mmin -5
find -size [size]
find -name "f*"
find -name "f*" -size 512k
find -not -name "f*"
find -perm 664 # 664 동일 (권한검색)
find -perm -664 # 미만
find -perm /664 # 최소
sudo find /var/log -perm -g=w ! -perm /o=rw > /home/bob/data.txt
sudo find /usr/share -name "dogs.txt" > /home/bob/dogs
find $pwd -name "cats.txt"
sudo find /var/ -name "pets" > /home/bob/pets.txt
sudo find /var -type f -perm 0777 | wc -l
sudo find /usr -type f -mtime -2 | wc -l
sudo find /var -type f -mmin -30 | wc -l
sudo find /usr -type f -size +5M -size -10M > /home/bob/size.txt
Shell
복사
chgrp (change group)
•
그룹 변경
groups
•
그룹 목록
chown (change owner)
•
소유자 변경
chmod
•
권한 변경
find
•
파일 찾기
suid, se, jid
파일 콘텐츠/정규식
sed 's/canda/canada/g' userinfo.txt
sed 's/canda/canada' userinfo.txt
sed -i 's/canda/canada/g' userinfo.txt --in-place
cut -d ' ' -f 1 userinfo.txt
uniq countries.txt
sort countries.txt
diff file1 file2
sdiff file1 file2
more /var/log/dnf.log
less /var/log/dnf.log
grep 'CentOS' /etc/os-release
grep 'centos' /etc/os-release
grep -ir 'centos' /etc/
grep -vi 'centos' /etc/os-release
# 정규식 패턴
grep 'sam' names.txt
grep '^sam' names.txt # 시작
grep 'sam$' names.txt # 마지막
grep '7$' /etc/login.defs
grep -r 'c.t' /etc/ # . 한글자
grep -w 'c.t' /etc/ # 단어
grep -r 'le*' /etc/
sed -i 's/enabled/disabled/g' /home/bob/values.conf
Shell
복사
cat
tail
sed
IO리디렉션
# 출력을 넘겨준다.
# 1은 정상, 2는 오류
sort file.txt > sortedfile.txt
date > file.txt # 내용으 덮어씀
date >> file.txt # 다음 라인에 추가함
# /dev/null은 블랙홀 (사라짐)
grep -r '^The' /etc/ # 에러 메시지도 같이출력
grep -r '^The' /etc/ 2> /dev/null # 에러메시지 제거
grep -r '^The' /etc/ 1>> output.txt 2>> errors.txt
# &1은 1번 출력으로 리다이렉션시
grep -r '^The' /etc/ > all_output.txt 2>&1
grep -r '^The' /etc/ 1> all_output.txt 2>&1
grep -r '^The' /etc/ 2> &1 1> all_output.txt
Shell
복사
SSL 인증서 시작
openssl x509 -newkey rsa:20480 -keyout key.pem -out req.pem
Shell
복사
목차
NOTE
•
•