chmod : 권한설정
' > , < : 방향 재지정
| : 방향 재지정 파이프라인
ps -ef : 윈도우의 작업관리자 처럼 실행중인것들 보여줌
tar : 압축하기
tar : 압축 풀기
파일 및 디렉토리에 접근을 제어
관리자로 로그인하는버
sudo su - root
명령어 switch user -루트라는 사용자로
맨앞에 d는 파일형식
d : 디렉토리
f : 파일
ex)
-rwxrw-r--. 1 abc(사용자) admin(사용자가 속한 그룹명)
현재로그인 사용자가 누구냐에 따라 접근가능한 정도가 다름
사용자면 모든것 가능, 같은 그룹이면 읽고 쓰기 가능, 나머지는 읽기만 가능
chmod [권한][파일또는 디렉토리 이름]
1) 심볼릭모드
심볼릭모드는 직관적
ex)
chmod u+w file
u + rw
go-wx
2) 옥텟모드
숫자들의 합으로 권한 부여 가능
ex)
chmod 소유자,그룹,나머지사용자 파일이름 의 형태
chmod 777 파일이름
소유자에게 rwx권한 부여
그룹에게 rwx권한 부여
나머지사용자에게 rwx권한 부여
3) unmask
파일또는 디렉토리를 생성할때 권한값을 결정
파일의 기본권한은 644
디렉토리는 755
1) 디렉토리일때
r w x
ls touch cd
0 x x x
1 x x 0
2 x x x
cd에 권한이 없어서 파일을 만들 수도 없음
3 x o o
4 o x x
5 o x o
6 o x x
7 o o o
2) 파일일때
r w x
cat vi: 수정 및 저장 파일 실행 ./파일명(echo run! 하면 run! 출력)
0 x x x
1 x x x
2 x △ x
3 x △ x
4 o x x
5 o x o
6 o o x
7 o o o
프로그램을 실행하려면 읽을 수 있어야함
일반적인 권한과는 다른 조금 특수한 권한
SetUID : 나머지 사용자가 파일을 실행할 때 소유자의 권한으로 접근할 수 있게 해주는 권한
SetGID : 나머지 사용자가 파일을 실행할 때 관리 그룹의 권한으로 접근할 수 있게 해주는 권한
StickyBit : 디렉토리에 부여하는 권한, 디렉토리를 마치 자유게시판 처럼 사용할 수 있게 해주는 권한 누구나 자신의 파일을 생성 삭제할 수 있지만 다른사용자의 파일은 수정 삭제 x
SetUID : chmod 4xxx 파일이름 또는 chmod u+s 파일이름
SetGID : chmod 2xxx 파일이름 또는 chmod g+s 파일이름
StickyBit : chmod 1xxx 파일이름 또는 chmod o+t 파일이름
쉘 : 탐색기, 우리가내리는 명령을 하드웨어 자치가 알 수 있게 번역해 줌
터미널에 입력한 명령을 해석하고 관리하는 프로그램을 쉘 이라고 한다.
1) 경로 이름 메타 문자 : 특정한 경로를 지정해둔 문자
~ : 현재 로그인한 사용자의 홈 디렉토리(사용자 정보를 저장하고 있는 /etc/passwd 파일의 6번째에 설정된디렉토리
2) 파일 이름 메타문자
3) 인용부호 메타문자
4) 방향 재지정 메타문자
< : 표준입력 재지정
'> : 표준 출력 및 표준 에러를 재지정, 일반적으로 명령어의 출력을 파일로 저장 또는 네트워크로 전송 , 재지정 문자 > 원래 화면에 나와야하는것을 다른곳에 나오게할 수 있음
ex)
파일에 저장 : echo 'test' > ./file
정상적인 결과만 출력할 때 : find / -perm -4000 2> /dev/null(표준 에러를 dev/null 이라는 쓰레기통으로 보냈기때문에 정상적인 결과만 출력됨)
에러 결과만 출력할 때 find / -perm -4000 1> /dev/null
' >문자를 한번만 사용하면 내용을 덮어쓰지만 >> 두번 사용하면 내용을 이어서 쓴다.
| : 파이프 문자, [명령어1] | [명령어2] 처럼 사용하며 명령어 1의 결과를 명령어 2의 입력으로 사용
ex)
파일의 이름이 passwd 인 파일을 검색하는 결과를 파일로 저장
find / -name passwd > /gh/result
파일의 이름이 passwd 인 파일을 검색하는 결과 중 etc가 포함된 결과만 파일로 저장
find / -name passwd |grep etc > /gh/result2
/etc/profile : 대부분 있음, 이 컴퓨터를 사용하는 모든사용자에게 적용되는 파일 모조건 적용이 필요한것을 여기다 설정
~/.profile : 개별 사용자의 홈 디렉토리에 있는 파일, 해당 사용자의 설정을 변경할 때 사용
물결은 현재 로그인한 사용자의 내문서 폴더 (로그인할때 인식됨)
~/.bashrc : 개별 사용자의 홈 디렉토리에 있는 파일, 해당 사용자의 셀 관련 설정을 변경할 때 사용 (배쉬셀이 실행할때 적용)
환경변수, 쉘 프롬프트 모양, 별명기능, 쉘 옵션 정의 등 설정 가능
환경변수 : 시스템 환경에 대한 정보를 저장하고 있는 변수
명령어는 실행프로그램
환경변수는 시스템 자체 저장해두는 설정
HOME : 사용자의 홈 디렉토리
PATH : 실행 파일을 찾는 경로
LANG : 프로그램 사용시 기본 지원되는 언어
SHELL : 로그인해서 사용하는 쉘
EDITOR : 기본 편집기의 이름
PS1 : 명령프롬프트 변수
환경변수 ps1(프롬프트 모양)을 바꾸는 방법
echo $PS1으로 위치확인 디렉토리는 :으로 구분
ps
etc profile은 부팅될때 적용
source /etc/profile로 불러들이기 가능
데몬 프로세스 (중요) : 백그라운드로 동작
서버프로그램이 여기해당(아파치 실행파일이 httpd.exe임) mysqld 도 해당
일반적으로 사용자가 실행하지 않음
리눅스에는 최상위 디렉토리처럼
최상위 프로세스가 있음 프로세스를 관리하는 프로세스가있음
ps -ef
시그널 번호 : 시그널은 프로세스를 제어하기 위해서 프로세스에게 전달하는 신호값
kill : PID로 프로세스를 제어
ex)
kill -9 3058 PID가 3058인 프로세스 하나 끌 때
pkill : 프로세스 이름으로 제어 이름에 해당하는 프로세스 모두 down 가능
ex)
pkill -9 sleep 프로세스 이름이 슬립이라는 애 다 끌 때
여러 파일을 하나의 묶음으로 보관
일반적으로 프로그램을 tar 아카이브 후 gzip 압축한 형태로 배포하는 경우가 많다.
1) tar 명령어
묶을파일을 미리 만들어 놓고
tar [기능][아카이브파일] [묶을 파일1][묶을 파일2]
아카이브 생성
ex)
tar cvf fruits.tar banana apple
아카이브 해제
ex)
tar xvf fruits.tar
2) 기능
c : 새로운아카이브 파일을 생성
x : 아카이브 파일에서 여러 파일을 해제
t : 아카이브 파일에서 안의 내용을 조회
v : verbose, 명령어 수행과정을 자세히 출력
f : 아카이브 장치 지정(파일 또는 백업 장치를 지정)
gzip은 리눅스에서 많이 사용
gz 가 gzip으로 한 압축을 의미
아카이브로 한곳에 모은것을 gzip으로 압축해야 용량이 적음
그다음으로 많이 쓰는게 bzip2
tar zxvf 하면 압축과 아카이브 한번에 해제
아무것도 없는 디렉토리에서 vi로 없는 파일을 편집하겠다고 하면
저장하고 나가면 파일이 생김
/usr/bin/passwd 이 명령어 쓰면 실행되는 동안 나는 소유주가 될 수 있음