2025.03.15
명령어
ping -c 3 8.8.8.8
= ping : 명령어
= -c 3 : 옵션
= 8.8.8.8 : argument (전달인자)
pwd : 현재 경로 확인
ls -l -> -l 옵션 : 파일 정보 확인
= \- : 파일
= d : 디렉토리
옵션의 경우 합쳐쓰기 가능 -> -l -a = -la = -al
용어
~ : 홈 디렉토리
파일 이름 앞에 .이 붙으면 숨김 파일
폴더
/bin : 리눅스에서 사용하는 바이너리 파일
/dev : device의 약자, 리눅스 연결되는 하드웨어 장치 파일
/etc : 리눅스의 설정 파일
/home : 각 계정의 홈 디렉토리
/lib : library의 약자, 공유 라이브러리 파일들이 존재하는 디렉토리
/root : root 계정의 홈 디렉토리
/sbin : system binary의 약자, 시스템 관리를 위한 명령어(바이너리)
/tmp : temp의 약자, 임시 디렉토리 -> 누구나 이 디렉토리를 쓸 수 있다. 껏다 키면 안에 있는 파일들이 다 사라짐
/var : 리눅스에서 사용하는 프로그램들이 사용하는 파일들을 보관
2025.03.16
용어
절대 경로: 최상위 디렉토리부터 쭉 다 표현하면 절대 경로
상대 경로: 현재 내가 위치한 곳부터 표현하면 상대 경로
2025.03.18
명령어
. : 지금 내가 있는 이 곳!
.. : 지금 내가 있는 곳에서 한 단계 위의 경로!
cd /root/Desktop -> 절대 경로로 표현 = cd ./Desktop -> 상대 경로로 표현
/root/Desktop/.. = /root
cat 경로 : 파일 읽기
file 경로 : 파일 형태 확인
more 경로 : 긴 파일을 읽을 때 사용. 스페이스바로 페이지 넘김
cp [src] [dst] : src = 복사할 파일, dst(destination) = 복사할 위치, 목적지에 원하는 파일 이름으로 저장도 가능
cp -r [dir] [dst] : dir = 복사할 디렉토리, 디렉토리를 복사할 땐 -r
mkdir : 경로 생성
rm 파일 : 파일 remove(제거)
rm -r 디렉토리 : 디렉토리 제거
rm -rf : 강제 삭제
mv [src] [dst] : 이동하기(잘라내기), cp와 방식 동일, 목적지에 원하는 파일 이름으로 저장도 가능 -> 같은 위치에 이름을 바꿔서 저장하면 이름바꾸기도 가능.
vi
- 2가지 모드
1. 입력 모드 : i로 진입
2. 명령 모드 : esc로 진입
- 명령어
:w - 저장
:q - 나가기
/단어 - 단어 찾기
:숫자 - 숫자 줄로 이동
지우고 싶은 줄로 이동 dd - 그 줄 전체 삭제
숫자 dd - 숫자개 줄 삭제
용어
UID : User ID
GID : Group ID
root : 최고 관리자 권한 / UID=0, GID=0
root:x:0:0:root:/root:/usr/bin/zsh
-> 계정 이름(ID):비밀번호:UID:GID:사용자의 별명:홈 디렉토리:로그인 쉘, /usr/bin/nologin = 로그인이 안되는 계정(시스템 계정 or 프로그램이 사용하는 계정)
명령어
su : switch user
2025.03.19
용어
rwx :
r : read, 읽기 권한
-> 파일 : 그 파일을 읽을 수 있는지!
-> 디렉토리 : 그 디렉토리 안에 어떤 파일이 있는지!
w : write, 쓰기 권한
-> 파일 : 그 파일의 내용을 수정할 수 있는지!
-> 디렉토리 : 그 디렉토리 안에 파일, 디렉토리를 생성할 수 있는지!
x : execute, 실행 권한
-> 파일 : 그 파일을 실행할 수 있는지
-> 디렉토리 : 디렉토리에 접근할 수 있는지 (cd)
-rw-r--r--1 root root -> - rw- r-- r-- :
- : 파일 / d : 디렉토리
(1) rw- : 소유자 권한
(2) r-- : 그룹 권한
(3) r-- : 기타 사용자 권한 = 소유자도 아니고, 그룹 멤버도 아닌 사람
특수 권한
(1) setuid
-> 그 파일을 실행할 때, 그 파일의 소유주의 권한으로 실행한다!
-> rws : 실행 권한 있음 / rwS : 실행 권한 없음
-rwsr-xr-x 1 root 72424 Mar 3 14:41 /passwd
-> 비밀번호를 변경하는 명령어, 일반 사용자라도 자신의 비밀번호를 바꿀 수 있어야 한다. 따라서 비밀번호 바꿀 때 만큼은 root 권한으로 실행할 수 있게 한다.
(2) setgid
-> 그 파일을 실행할 때, 그 파일의 그룹의 권한으로 실행한다!
-> rws : 실행 권한 있음 / rwS : 실행 권한 없음
(3) sticky bit
-> 디렉토리에 설정되는 권한!
-> rwt : 실행 권한 있음 / rwT : 실행 권한 없음
-> 그 디렉토리는 누구나 마음껏 파일을 생성할 수 있게 된다!
-> 예시 : /tmp
drwxrwxrwt 18 root root 4096 Apr 25 21:49 tmp
명령어
vi 명령어
:q! - 강제 종료
chmod [] [파일]
u r
g +,- w
o x
권한을 숫자로 표현할 수 있다!
r -> 4 / w -> 2 / x -> 1
rwxr--r-- = 744
2025.03.20
용어
# 데이터 스트림 (Data Stream)
[입력]
/-------------------->
사람 <---> 운영 체제 <---> 컴퓨터
<--------------------/
[출력]
- 표준 입력 : standard input stream, fd = 0
- 표준 출력 : standard output stream, fd = 1
- 표준 에러 : standard error stream, fd = 2
*** 파일 디스크립터 (fd) : 파일을 처리하기 위한 id
# Redirection
[명령어] [fd]> [파일 이름] : 명령어의 결과를 파일로 저장 (기존 내용 싹다 지우고 새로 저장)
[명령어] [fd]>> [파일 이름] : 명령어의 결과를 파일로 저장 (기존 내용에 이어서 저장)
*** /dev/null : 쓰레기통 경로
# PIPE
어떤 프로세스의 출력을 다른 프로세스의 입력으로 넣어주고 싶을 때!
[명령어의 출력을] | [명령어의 입력 값으로]
ex) ifconfig | grep inet = grep inet ifconfig
*** grep [파일 패턴] [수색할 파일/디렉토리]