분류 전체보기 954

파일 묶기

압축 : 용량 압축시켜서 줄이기 파일 묶기 : 파일 묶음, 알집 명령어 : tar 확장자 : tar c 묶기 x 풀기 t 경로확인 u 아카이브 업데이트 r 압축파일에 파일추가 옵션 : f 파일 v 비쥬얼, 과정 보기 z 묶은 후 gzip으로 압축 j 묶은 후 bzip2로 압축 J 묶은 후 xz로 압축 tar cvf 이름 묶을파일들. tar cvf txt.tar *.txt tar cvf txt.tar test1.txt test2.txt tar xvf tar파일 cvf나 xvf 쓸 때 - 안씀 경로 지정 -C tar xvf 파일이름 -C 경로 f옵션이 필요한 이유 원래 tar은 tape backup을 위한 명령어였음. 그걸 파일에다 하라고 하는 게 -f 옵션. 아카이브: 파일이나 디렉토리를 묶어 하나로 만드..

dnf

yum에서 성능 향상 시킨 것. rpm > yum > dnf dnf install 패키지이름 yum은 패키지를 웹에서 다운받아 오는거기 때문에 인터넷이 있어야 함. centos 패키지 저장소에서 다운 받아옴. dnf -y install 패키지이름 -y는 yes, 모두 허락 dnf localinstall rpm_파일이름.rpm rpm파일 설치 dnf check-update 업데이트 가능한 목록 update remove info 현재 패키지가 설치되어있는지 안되어있는지는 rpm -q 패키지이름 dnf clean all 패키지 소스 url 다 지움. (아마 AppStream이랑 Base파일)

RPM

RPM은 윈도우의 setup.exe랑 비슷. 간단한 설치과정을 제공함. 확장명 .rpm 패키지임. 옛날의 경우 tar.gz, Z 등의 압축파일을 풀어서 설치 진행. rpm 옵션 설치 rpm -Uvh 패키지파일이름 -v 설치과정 확인 -h 설치 진행 마크(#)가 출력 -Uvh -ivh 둘 다 설치 가능 -Fvh 이전버전 있을 때만 설치 rpm -qa 설치되어있는 패키지 출력 a는 all임. -qi 설치되어 있는지 -q~ ~에 대하여 질문 그냥 -q도 가능 설치 빼고는 삭제나 기타 등등을 할때는 패키지이름을 씀. 파일이름 말고. rpm은 파일이 있어야 함. 분할되어있는 파일도 있음. 이름 패키지이름-버전-릴리즈번호.페도라버전.아키텍쳐.rpm

카테고리 없음 2022.10.26

link, inode

리눅스는 파일을 만들 때 파일 구조가, 원본파일 > inode > datablock 이렇게 가르킨다. inode는 파일관리 쉽게 파일에 번호를 매기는 것이며, 이 inode에는 파일번호, 주소, 소유자 등 inode가 가지고 있는 정보 설명 inode 번호 inode의 고유 식별 번호입니다. 파일 모드 16비트의 플래그로 파일의 실행 권한입니다. 소유자의 권한, 소유자 그룹의 권한, 기타 사용자의 권한, 파일 형식, 실행 플래그 등을 나타냅니다. 링크 수 이 아이노드에 대한 참조 수를 나타냅니다. 소유자 아이디 파일의 소유자 아이디를 나타냅니다. 그룹 아이디 파일 소유자의 그룹 아아디를 나타냅니다. 파일 크기 파일의 크기(bytes)를 나타냅니다. 파일 주소 실 데이터가 나오는 파일 주소를 나타냅니다. ..

네오번들

https://github.com/Shougo/neobundle.vim/blob/master/README.md GitHub - Shougo/neobundle.vim: Next generation Vim package manager Next generation Vim package manager. Contribute to Shougo/neobundle.vim development by creating an account on GitHub. github.com 위에서 안내한 대로 설치해주고, 홈디렉토리에 .vimrc를 만들고 샘플을 넣어준다. 그 다음 vi의 원하는 형식을 찾아 call neobundle#end() 이전에 붙여준다.

파일 권한

chmod 777 파일이름 파일 허가 소유자 소유자가속한 그룹 그 외 4, 2, 1 읽기 쓰기 실행 폴더 들어가려면 x 필요 폴더 내의 파일을 변경하려면 directory에 대한 x권한 필요 리눅스 깔 때 처음 생성하는 사용자는 731 useradd로 생성한 유저는 700 chmod 상대 파일권한 변경 chmod g+w 파일이름 파일의 접근권한 중 w를 추가한다. u = user g = group o = other a = all chmod go-w,u+x 파일이름 위에 쉼표 띄면 안됨. =rx 등도 가능. 절대모드 권한 변경. 루트가 생성한 파일이랑 일반사용자가 만든 파일이랑 설정되는 접근권한이 다름. rw r r 일반 : rw rw r 권한변경은 슈퍼유저나 소유자만 가능. 기본 허가권 설정 및 보기 :..

원형(prototype) 패턴

원형 패턴은 일종의 식당 메뉴와 같다. 미리 정해진 틀 대로 음식을 만들어 놓고, 손님이 주문하면 그 음식을 주는거다. 프로토타입 객체가 어떠한 객체들에 대한 원형을 가지고 있다가, 요청시 그 객체를 복사하여 주는 것이다. class MazePrototypeFactory extends MazeFactory { public Maze MakeMaze(); public Maze MakeRoom(int roomNum); public Maze MakeWall(); public Maze MakeDoor(Room room1, Room room2); private Maze prototypeMaze; private Maze prototypeRoom; private Maze prototypeWall; private Maz..

팩토리 메서드

팩토리 메서드란... 생성부분을 따로 빼놓는 거다. 추상클래스에 createGameObject() 라는 함수를 정의 하고, 이걸 다른 것들이 상속 받으면.. 장점은 객체 생성 후에 해야 할 공통적인 수행을 정의할 수 있고 GameObject를 인자로 받아 다형성이 가능해진다. (이건 그냥 추상 패턴의 장점) 그리고, 생성자는 private GameObject(){} 이런 식으로 해서 오직 create함수만 생성에 담당하게 하면 좋다. 템플릿을 사용한 서브클래싱은 피해야 한다.

빌더 패턴

빌더 패턴은 생성에 관련된 패턴이다. 우리가 클래스를 만들다 보면 상당히 많은 멤버변수들이 있다. 이름, 나이, 전화번호 등등 이러다보면 이 클래스를 생성(객체)할 때 생성자의 멤버변수의 위치 등 고려해야 할 사항이 많다. 그런데 이걸 내부 클래스나 이런 걸로 빌더로 정의해두면 정말 쉽다. 빌더는 음.. 일종의 임시 클래스라고 생각하면 좋을 것 같다. 어떤 클래스의 빌더는 그 클래스의 똑같은 멤버변수를 가지고 있는거다 (그렇다고 해서 그 클래스를 상속받는게 아니다. 다른 클래스다.) 상수로 사용하고 싶은 것은 생성자를 이용해 받아야 겠지만, 나머지는 기본값을 넣어두고, setter를 이용해 받는 것이다. 단, setter지만 목적과 방법이 조금 다르므로 빌더의 경우는 그냥 멤버변수의 이름으로 한다. Ga..