goorm 7일차

박경현·2022년 8월 9일
0

오늘은 명령어 위주로 배우다 끝낫네,,,

2학년 1학기에 운영체제를 배웠어서 어느정도 알고있는 내용이어서 복습이라 생각하고 가볍게 들었다ㅎ

가볍게 듣다 다 까먹었다는걸 바로 깨달았지만,,,

파일 종류 및 특징

파일 시스템(디렉토리 구조)

경로(path) - 원하는 디렉토리로 이동하거나 명령을 적용하는 디렉토리 위치를 결정하는 방법

경로 지정방법

  • 절대경로 지정

    	항상 /루트(root) 로 부터 경로를 지정하는 방법
    	시작이 / 로 시작!
    	같은 디렉토리에 대한 경로가 항상 동일한 경로 지정
  • 상대경로 지정

    	현재 디렉토리(위치)를 기준으로 경로 지정하는 방법
    	현재 디렉토리의 하위 디렉토리에 대한 경로 지정시 유리
    	경로 지정시 현재 위치를 기준으로 경로 지정 시작
    • 상대경로 지정을 위한 특수 문자

      	. -> 현재 디렉토리
      	.. -> 위에 디렉토리
      	~ -> 로그인 사용자 홈디렉토리				
      	~사용자 -> 특정 사용자 홈 디렉토리
      	

사용자 / 그룹 / 권한

얼마나 권한을 줄지 결정하는거!

사용자

			Linux 사용자는 기본적으로 ID를 이용하여 식별
			Linux kernel은 사용자 식별을 이름이 아닌 번호로!
			사용자 식별 번호를 UID(user id)라고 함
			UID는 커널에 의해서 임의로 부여된다. 정수형태로부여대고 0부터 시작
			did 0번은 root번호!
			UID확인 명령 -> id <사용자명>  -> 지정 사용자 정보 출력    /.    id - 현재 			사용자 정보 출력
			현재 사용자 ID 확인 명령 -> whoami
			

그룹

			gid가 그룹 id임, 
			Liux 사용자는 여러 그룹에 소속될수있다
			리눅스 사용자는 한개 이상의 그릅
			본그룹과 구서구스=우
			그룹이 있다면 그 룹에는 최소 한명 이상의 사람이 속해있다
			gid 0은 루트 그룹

권한

			파일에 대한 읽기 / 쓰기 / 실행 에 권한을 결정해야한다

			읽기 권한 - 파일 내용 읽기 권한, 권한 부여 r, 
			쓰기 권한 - 파일 내용 쓰기 권한 w
			실행 권한 - 파일 실행 권한 x , 실행권한이 없으면 바이너리 파일도 실행 못함
			
		권한은 파일소유자((파일 생성한 사용자) 소유자 그룹 기타사용자에 대한 읽기쓰기 실행에 대한 권한 부여
			파일 소유자:  r w x
			파일 소유자 그룹:  r w x
			기타 사용자:  r w x
			-권한에 대한 우선순위는 없다-

파일 다루기

shell 기본 명령어(파일 다루기 포함)

명령 형식 
		명령 [옵션][인수]
			명령 - shell 내장 명령 및 외부 명령
			옵션 (option) - 생략 가능
				명령에 대한 부가 기능 추가
				-옵션: 약자 형식의 옵션, 여러 옵션을 중첩해서 사용
				—옵션: GNU옵션, 옵션 full name 사용, 옵션 여러 옵션 중첩이 불가능
					ex) file —help
			인수(argument) - 생략 가능
				명령 수행에 필요한 추가 값

shell 기본 명령

	history - 쉘 명령 history 목록 출력 명령
	file - 파일 형식 확인 명령
	sudo - 관리자 권한 일시 획득 후 명령
	su - -> 사용자 전환(switch user)
		su - : 루트 유저, su - <사용자> : 일반유저
	pwd -> 현재 위치에 대한 경로
	whoami -> 사용자
   
	man: 명령에 대한 메뉴얼 표시하는 명령
		man<명령> -> man pwd 하면  리눅스 내에 있는 pwd관련 매뉴얼을 보여준다
		man [매뉴얼 페이지]<명령> -> man 1 pwd
		man 명령 종료: q키
		페이지 종류
			1 - 일반 명령어
			2 - 시스템 호출
			3 - c 표준 라이브러리 함수(libc)
			4 - 특수 파일
			5 - 파일 형식과 Conventions
			6- 게임과 화면 보호기
			7 - 기타
			8 - 시스템 관리 명령과 데몬

	dir 명령어: ls 명령과 같은 결과 출력, 색상 지정없이 출력하는거
	vdir 명령어:  ls -l 과 같은 결과 출력 색상지정없이 출력하는거

	cd <디렉토리 경로> : 일로 이동
		cd -  : 바로 전경로로 이동 ->두개의 디렉토리를 번갈아갈때 이걸 쓰면 쉬움!
		cd: 무조건 사용자 홈 디렉토리로 이동!
		cd ~ 사용자명: 사용자 홈 디렉토리로 이동
		
	mkdir 명령어 - 디렉토리 생성 명령어
		새로 생성된 디렉토리에는 항상 . , .. 파일이 기본생성! -> 리눅스 파일 시스템 계층관리를 위해서 기본 생성
		-p: 다중경로상의 중간 경로 디렉토리 생성 -> mkdir third/tmp가 가능!

	rmdir명령어: 디렉토리 삭제 명령 -> rmdir second/tmp 해서 tmp부터 삭제해야한다!
			기본으로는 한개씩만 삭제 가능!, 
            디렉토리가 비어있는 경우에만 삭제가능!! .(dot) ..(dot dot)만 있는거!	

	cp 명령어 : 파일 복사 명령 cp <원본파일><복사 파일명 or디렉토리명> / cp <원본파일명><복사파일  디렉토리명>
			원본 파일 여러개 복사도 가능	
			만약 한번 더 똑같이 복사 했어도 별 다른거 없음 이미 한거는 무시 
			-i: 파일복사시 같은 이름의 파일명에 대해서는 확인 메세지 출력 ->  shell명령 공통옵션임
			-r: 디렉토리 복사시 하위 디렉토리 포함 복사! -> shell명령 공통옵션임


	mv 명령어 : 파일 이동/이름 변경 명령
		mv<원본 파일명 > <새로운 파일명> - 이름
		mv<이동파일명> <디렉토리명> - 이동
		-f : 무조건 파일이 이동, 같은 이름의 파일이 있으면 덮어쓴다.

	삭제(remove) 명령어
		rm <삭제 파일명> -확인 없이 삭제, 삭제 되면 불가능
			-i: 삭제할거냐 물어보기
			-r:디렉토리 삭제 
			-f: 확인없이 삭제 
			-rf: 확인없이 그 디렉토리 전부 삭제 , 안에 내용 관심없음 
	

shell 기본 명령 - 파일 시스템 명령

whereis 명령어 : 명령어 위치 확인 - 명령어와 관련된 파일 위치도 표시 (연관된 파일들 다 나옴)
which 명령어 : 명령어 위치 확인

ls (list) [옵션] [파일명 또는 디렉토리] : 디렉토리 목록 확인
			ls : 현재 디렉토리의 파일 목록 출력
			—color: 파일 유형에 따라 색상을 다르게 해서 출력, 기본적으로 적용되어있는 옵션
            
			-l (long): 파일 상세 정보 출력 -=> 중요!!
            
				linux파일 구조
				(drawer-xr-x 2 worker worker 4096 8월 5 15:52 Desktop(desktop만 블록노드))
				(cry-r———- 2 root root 10, 237 8월9 14:13 loop4)

					rwx-나오고 나오는 숫자는 하드링크 파일수를 의미 -> 하드링크는 파일 복사본 
					
                    만약 root root라는 파일이 있으면 우리는 일반 사용자니까 기타 사용자로 분류!!
					디랙토리 파일에 대한 실행 권한 -> 디렉토리로 이동 가능하다!!!
					
				inode block + data block
						indoeblock - 파일 정보 저장
							inode번호 -> 파일 식별자! 이게 중요
							(ls -il 을 해야만 inode의 번호를 볼수있다!!)
							파일 유형 - d, -	(일반 파일), l(심볼릭링크 파일), 
								c(캐릭터디바이스파일) , 
								b(block디바이스 파일, 디바이스 파일은 파일 크기대신에 major minior 펴시)		
								,p(pipe파일)
							파일 권한 - 소유자 그룹 기타
							파일 소유자
							파일 소유자그룹
							파일 크기 
							파일 생성/ 수정 날짜 시간
						
	
						data block -> 실제 데이터 저장 기본 4kb로 생성(4096)
						 데이터 추가로 인해  4kb 넘으면 새로운 data block생성 -> 새로 생성되도 inode번호가 추가로 주지는않음!
						
                        파일명은 디렉토리 파일에 저장(파일이 자기 이름을 안갖고 있는거 뿐)

			-a: hidden파일을 포함한 모든 파일 출력 -> 주로 환경설정 파일들을 이렇게 만듦,굳이 보여줄 필요 없어서
					.(dot)으로 시작하는 파일은 hidden파일들!
					.(dot) - 자기자신
					..(dot dot) - 부모 디렉터리 파일

			-R :하위 디렉토리 모두 출력

			-F: 파일 형식에 따라 파일명 끝에 문자 표시
				/ - 디렉토리 파일
				@ - 심볼릭 링크 파일
				* 실행 가능 파일
		

셀프 피드백

rm, cp, mkdir, rmdir, mv, cd, ls -al 등 배웠으니까 한번씩 상황 가정해서 적어보면서 잊지말고 익숙해지자!

오늘 밥먹으면서 인공지능 기초 2강 듣고 파이썬 백준 풀자! + 구글까지 오늘 배운데까지 정리하기!

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글