lsb_release -a
어느 리눅스에서 작업하고 있는지.
사용자에게 임시 공간을 주고 설정파일에 기록을 하면 사용자가 만들어지는 것
뒤의 경로는 로그인 했을때 어느 디렉토리에 접근했는지 / 로그인 디렉토리를 정하는것은 정해줄 수 있다. 하드디스크나 원격으로 가능
루트 사용자인 것 확인. 나는 master로 사용하고있어서 함부로 접근할 수 없다.
tail 하면 허가 거부가 난다
암호는 나의 암호 적어줌
1번 : 로그인 ID
2번 : 암호가 암호화 된 것
3번 : 계정의 제약조건
그룹 확인
sudo는 사용자의 생성이나 어떤 관리자 권한, 그래서 sudo를 사용
adduser로 tester3 생성 후 비밀번호 같게 설정 하고 암호 비교해보기
암호는 다 같지만 암호화 된 패턴들은 다 다르다. / mariadb는 똑같음
경로는 갈 수 있지만 직접적인 조회는 하지 못한다. 나는 지금 master이지만 보고싶은건 tester3이기때문.
master에서
tester3로접근하려면
1.재로그인
2.임시로 권한을 얻어내기
su를 사용
su 사용자아이디
현재 상태(위치)에서 잠시 사용자아이디(권한)를 빌리는 것
su - 사용자아이디
재로그인 -> 사용자의 홈디렉토리로 이동
~(틸러) : 홈 디렉터리 라는 것. 그래서 tester3로 바뀌면서 홈 디렉터리가 바뀐다.
ls하면 허가 거부가 나오는 이유는 master로 돼있어서(/home/master) 그렇다
권한이 공통적으로 있는 상태에서 사용해야함.
아까와는 다르게 사용자는 바뀌었지만 홈 디렉토리는 바뀌지않았다.
pwd로 확인한 결과 완전히 디렉토리가 바뀜 / 재로그인처럼 빠져나갔다가 접속한 느낌
exit 하면 로그아웃
새로운 사용자를 만들었을 때 접근을 했더니 파일이 있는데, 파일이 있다는 것은 사용자 생성시 파일들이 자동으로 만들어진다는 것 인데 어떻게 만들어진 것일까 ?
이 파일들이
아까 만든 tester3사용자에 복사가 되는 것.
sudo su(잠시 루트로 로그인하겠다) 하고 touch readme.txt로 파일을 생성하였음.
그리고 tester4 사용자 생성 후 ls로 확인하면 readme.txt가 들어있는 것을 볼 수 있다.
디폴트로 세팅해서 더 넣어준것
tester4를 지웠지만 실제 디렉토리는 지워지지않았음.
원래는 디렉토리와 설정파일이 지워지는 것이 맞는데,
디렉토리는 일종의 자료라서 시스템쪽에서 분리를 해놨음
그래서 자료라서 나중에 시스템(관리자)가 지우고 설정을 지워주는것.
하지만 그럼 권한이 이상해짐.
그래서 숫자값으로 바뀐 껏
여기에서는 tester4 지워진 것 확인
tester3을 다 지워줬지만, 이 방법은 권장하지는 않는다.
tester4 강제로 지워줌
1번 : 허가권
2번 : 소유자, 소유그룹
=> 1,2번으로 파일 접근 권한 보호함.
편리하게 cmd창 두 개 띄웠음.
위 cmd를 cmd1 밑의 cmd를 cmd2라고 지칭하겠음 !
cmd2에서 tester1로 접속
cmd1에서 mkdir dir1로 하면 허가 거부가 나는 이유는 디렉토리 권한이 root권한이여서 안됨
그래서 sudo로 해주었음.
ls로 확인 하였을 때 root라는 사용자가 755 권한으로 dir1을 만들었다는 것.
cmd2에서 dir1을 볼 수 있음.
외부에게 r 권한이 있어서 볼 수 있는 것.
cmd1에서 r 권한 빼기 / 750 으로 마지막 부분을 0으로 해서 권한 빼줬음.
그리고 cmd2에서 다시 실행하면 권한 없다고 뜬다. / cmd1에서 권한을 빼줬기 때문.
cmd1에서 754로 읽기 권한 생성하고 cmd2에서 확인하면 확인 가능
cmd2에서 파일 생성이나 dir1로 이동도 불가능.
실행권한 주기 755
755권한을 줘서 cmd2에서 cd dir1 변경 가능 / 하지만 여전히 파일 생성은 불가능.
757로 전 권한 다 줬음
전 권한을 다 줘서 dir1에 빛이 들어옴. 파일 생성도 가능.
cmd1에서 dir1에 757권한 주고 test.txt파일 생성 후 그 파일에게 660 권한을 주었음.
cmd2에서 dir1으로 들어간 cat test.txt 하면 허가거부됨.
왜냐하면 read권한이 없기때문.
하지만 cmd1에서 664로 권한을 준다면, 내용은 없지만 읽은 것 확인
cmd2에서 수정하려고 vi를 키면 보인다.
거기서 수정하고 :wq로 저장하고 나오려고하면 readonly로 돼있어서 안된다.
write 옵션이 없어서 그렇다.
cmd1에서 cmd2에 수정 할 수 있는 권한 주기 그럼 vi에서 작성 하고 :wq로 빠져나올 수 있음
스크립트 작성
cmd1에서 vi test.txt
cmd1에서 667(x모드 추가)권한을 주기 전에는 cmd2에서 허가 거부가 떳지만 권한을 받고 난 후에는 출력해줌.
주는 형식
권한주기 / dir2 생성 후 o+w로 x 권한 넣어주기 / sudo를 쓰는 이유는 현재 master인데 dir2는 root이기때문 / x 권한 빼기는 o-x 하면 된다.
초기권한
디렉토리 : 777
파일 : 666 ( 실행권한이 빠진 상태 )
root
디렉토리 : 755
파일 : 644
일반사용자
디렉토리 : 775
파일 : 664
소유자를 바꾸는 것은 root 권한이라서 sudo 사용 / 소유자와 소유그룹 바꿔줌
master로 바꿔줘서 master가 관리 가능
프로그램이 실행되는 상태를 -> 프로세스 <- 스레드 (프로세스 안에)
프로세스
부모 - 자식
- 데몬 프로세스
서비스(시스템에서 실행되는 것 : 데몬)
- 고아 프로세스
부모가 종료된 프로세스
- 좀비 프로세스
프로세스가 종료되었는데 상태가 남아있음.
ps : 프로세스 상태 볼 수 있음.
PID : 프로세스의 고유 ID값 / 모든 프로세스는 독립적으로 관리해야해서 PID값이 있음
TTY : 터미널 / 어느 터미널에서 실행 되고 있는지.
TIME : 시간
CMD : 명령어 / 터미널 빠져나오기 명령어 sh
vi를 실행했다가 나오면 vi 실행된 것을 볼 수 있음.
exit 하고 보면 다시 없어져있음.
조금 더 자세히 보기 ps a
ctrl + Alt +F3 후 tester3으로 로그인 후 위의 tty3 확인
돌아가서 확인해보면 tty3 돌아가고 있는 것 확인 가능
ctrl + Alt +F3 후 vi 키고 - ps a
다시 돌아가서 확인하면 vi1 실행되고 있는 것 보임 - ps a
사용자까지 동시에 보이기 - ps au / 실행되고 있는 것들을 끄면 꺼진거 확인 가능( 없어짐 )
무수히 많은 정보들이 나옴 / | more로 끊어서 보기도 한다.
이런식으로 원하는 것 보기 가능 / master로 가져온 것만
-9 하면 죽여라 라는 것
그럼 죽었음 뜸
프로세스가 진행되고 있는 상태를 실시간으로 계속 바뀌면서 알려준다.
탭 간격은
:set tabstop=숫자 하면 숫자만큼 간격정해짐
컴파일 해주면
이렇게 gedit이 뜬다.
명령모드와 입력모드를 구분하지않아서 편할 수 있음.
파일 복사해주었음.
ps -a를 실행한 결과를 BufferedReader로 읽어서 한줄 씩 출력시키라는 것.
컴파일 후 확인해보았음.
실행 하면 ps -a 한 결과가 출력이 된다.
foreground process - 전면 : 전면부에 돌아가는 것
background process - 후면 : 동시작업 가능
=> 데몬
sleep (잠시 멈춰있는 명령어)
뒤의 옵션만큼 잠깐 멈춤.
이렇게하면 10초동안 아무 것도 못한다.
10초 후에 풀림
sleep을 20 &로 특수기호 & 로 후면처리 하게 걸어줬고, ps로 확인하였을때 sleep이 걸려있는 것을 확인할 수 있음.
끝나고 ps로 확인하였을때 완료된 것 확인.
gedit 하고 켜진 텍스트창에서는 작업이 가능하지만 cmd창에서는 작성을 해도 작업이 되지 않는다.
창을 닫고나서 실행이 됨.
&를 이용하여 백그라운드 실행을 시켜주어 텍스트 파일과 ls명령어의 동시 실행에 문제없게해줌 없으면 텍스트만 작동함
ctrl + z
jobs로 확인 후 bg(background) 1번을 백그라운드로 쓰라는 것. 그래서 jobs가 돌아감
fg(foreground) 1도 가능
리눅스는 기본적으로 오픈소스라는 개념때문에 여러가지 인스톨할 수 있는 방법들이 있다.
프로그램 제공
1. 압축파일 형태
1. 소스(일반적으로 C / C++로 만듦) - 소스 자체를 준다
소스파일 - 컴파일 - 설치 - 실행 하는 과정
2. 실행파일 압축
압축해제 - 실행
2. 인스톨 파일 - 패키지 관리 도구
* 배포판 마다 특성
데비안(우분투 계열) - dpkg(Debian Package) : 확장자는 .deb
레드헷 - RPM : 확장자는 .rpm
* 다운로드
원격 다운로드(maven)
데비안 - apt / apt-get
레드헷 - yum
압축파일
Tar(Tape Archiver : 묶음) + Gzip(압축) => tar.gz
tar xvf
cvf
tvf
uvf
dir에 test.txt 폴더들 생성
tar cvf test.tar 으로 파일들을 test.tar에 넣어주고 ls로 확인해보면 test.tar 생성되어있음.
tar tvf test.tar 으로 test.tar에 들어있는 것 확인
test4.txt파일 생성하여 tar uvf(update) test.tar test4.txt 해서 파일 추가해줌
그리고 들어간 것 확인
ls하면 gz 하나 남은거 볼 수 있음
풀기
txt 파일 삭제 후 ls 해주면 gz만 뜬다.
파이어 폭스 -> www.eclipse.org -> 오른쪽 상단 Download 클릭 -> GetEclipase IDE 2323-06에서 Download Packages 클릭 -> Eclipse IDE for Enterprise Java and Web Developers 에서 Linux X86_64다운로드
현재 위치로 옮기고 ls로 확인
풀기
eclipse로 경로 바꾸고 ./eclipse로 실행 -> 그럼 정상적으로 이클립스 실행이 된다.
PPT나 pdf로
1. 주제(목표) : 어떤 것에 대한 사이트를 만들고싶어 !
2. 벤치마킹
기획(컨텐츠) 벤치마킹 - 넣고싶은 내용
- OpenAPI
기능 벤치마킹 - 개발하고 싶은 기능
디자인 벤치마킹 - 따라하고 싶은 디자인
=> 스크린 캡처로 제공
3. 간단한 메뉴 구성
: 사이트 맵
: 회원가입
: 게시판
: 공지사항