Search
Duplicate
📒

노트 템플릿 시리즈

수업
Linux
주제
5 more properties
참고

필수개념

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