서버용 리눅스
데스트탑 리눅스
다중 사용자 OS
ctrl + alt + f1 ~ f7 : multi user terminal
directory tree
사용자 권한
나 != 관리자, DONT USE ROOT ACCOUNT
ubuntu는 root계정이 없다.
virtualbox에 우분투 gui 깔기
ls, ls -l(ong), -a(ll)
touch
clear
cp
echo, ehco "message" >(redirect) file
echo $? : 이전 command 오류 없으면 0, 있으면 status code
mv
rm -r(ecursive) -f(orce)
cat
cd - : 이전 directory, 뒤로가기랑 다르게 cd - 후 cd -는 원래랑 같음
man(ual) command : 커맨드 설명
whoami
id : 사용가능한 권한 목록
sudo lastb
: 클라우드는 id/pw 비활성화되어 있음. 활성화하면 큰일난다.
cat /var/log/auth.log
usermod -a(ppend) -G(roup) command user
우분투 22.04 GUI, desktop
시스템 권장사항에 맞춰서 VM을 설정할 것, 아니면 initramfs unpacking failed날 수 있다.
https://ubuntu.com/download/desktop
리눅스 실습 환경
wsl, 윈도우에서 개발할 때는 wsl로 vscode 연동해서 사용
VM으로 리눅스 실습을 해보자
VM
Virtual Machine
vm은 docker와 흔히 비교되는 대상으로 나중에 알아보자
호스트 컴퓨터에서 둘 이상의 운영체제를 실행하기 위한
tail /var/log/auth.log
/etc/shadow
디렉터리의 read 권한과 x 권한이 다르네
file : execute
directory : access
umask
파일과 디렉토리를 만들때 권한 기본값
디렉터리에서 r과 x의 차이
ls로 read는 할 수 있지만 x권한이 없으면 들어갈 수는 없다.
chmod
setuid u+s
파일이 실행되는 동안 파일의 소유자 혹은 그룹으로 실행되게끔 함.
u+s는 실행 시 소유자로, g+s는 실행 시 그룹 권한으로
Ex> sudo
chown
/etc/ssh/sshd_config
sudo mkdir .ssh
sudo touch .ssh/authorized_keys
sudo chmod 700 .ssh
sudo chmod 600 .ssh/authorised_keys
sudo usermod -aG devs shpark
devs 그룹에 shpark 유저를 추가
계정 권한은 로그인할 때 부여된다.
setgid 새로 생성되는 파일이나 폴더를 모두 그룹권한을 부여받로고 하는것
그룹을 만들고 유저를 그룹에 넣고 그룹에서 공용되는 작업을 수행할 때, 특정 디렉터리에 모두 접근해서 share할 수 있도록 한다.
리눅스에서 root 파일시스템은 중요하다
30GB 정도 출발
작업은 별도의 디스크에서
클라우드에서 디스크 추가할 때, 가용 영역이 같음을 확인해야한다.
sudo fdisk -l
이건 뭐임? : sudo mkfs.ext4 /dev/nvme1n1
디스크가 잘 생성되었다면 lost+found가 생성된다.
cat /etc/fstab
부팅 될 때 연결될 디스크와 디렉토리가 명시되어 있다.
디스크 용량을 줄일 수 없는 이유
물리적 저장 위치를 바꿔야 해
resize2fs
$ <- prompt
stdin - 0
stdout - 1
stderror - 2
대부분의 명령어 (ex> ls) 들이 stdout이 default임
2로 해주면 stderror
/dev/null 필요없는 파일 넣는 곳
ex> find / -name "*.txt" 2> /dev/null
혹은
find / -name "*.txt" 2> /dev/null > log.txt
혹은
find / -name "*.txt: > output.txt 2>&1
1, stdout의 결괄르 output.txt에 보내고 2, stderr의 결과를 1번과 같은 곳에 보내줘
redirect >
< 입력을 받을 때
> 입력을 줄때
wc, word count
| pipe