달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

2014-04-28 오전 9:28  

 

Mkdir -p a/b/c/d/e/f/g 

 

: a/b/c/d/e/f/g 의 디렉터리 구조로 구성하여 생성한다. 

 

 

Umask : 폴더, 파일을 만들때 권한 설정(보안설정) 기본값 022 

 

디렉터리 : 777 - 022 = 755  rwx r-x r-x 

폴더 : 666 - 022 = 644  rw- r-- r-- 

 

예를들어, 

#umask 044 : 이후에 만드는 폴더나 파일에 대해 그룹, 다른 사용자에게 쓰기 권한만 부여한다. 

그냥 umask만 입력하면 설정된 권한을 확인 할 수 있다. 

 

 

Mkdir -m : 권한을 설정하면서 디렉터리 만들기 

 

 

Root전용 명령어 

Chattr [옵션] [파일명] 

Lsattr명령으로 chattr 모드를 확인할 수 있다. 

 

-는 속성 해제, +는 속성 부여,  

 

-R 디렉터리와 그 이하 모든 속성을 변환시킨다. 

-V 변화된 속성에 대하여 자세히 출력한다. 

-v 버전 확인 

-a 파일을 추가모드로만 열 수 있다. 

-c dump명령 수행 시 백업되지 않는다. 

-i 파일을 수정할 수 없다. 

 

  • [파일명]~ : 자동백업(dump)파일 

 

-s 파일이 지워질 때 일단 블록들이 모두 0이 된 다음 디스크 에 기록한다. 

-S 파일이 수정될 때 그 변화가 디스크 상에 동기화 된다. 

-u 파일이 지워지면 내용이 저장된다. 

 

파일생성 명령어 

 

  1. Touch : 비어있는 파일을 생성 
  2. Vi : 편집기를 이용하여 파일을 생성한다. 
  3. Cp : 특정파일을 복사하여 새로운 파일을 생성한다. 
  4. Mv : 특정파일을 이동하여 새로운 파일을 생성한다. 
  5. Cat : 파일의 내용확인 

Cat > 파일명 : 생성 

Cat >> 파일명 : 붙여 넣기 

 

 

 

 

Etc/bashrc 

 

이 파일은 리눅스의 쉘중의 하나인 born shell(BASH)의 설정을 바꿀수 있다. 

 

 

 

Touch 

 

파일을 만들고 파일에 접근하거나 수정한 시간을 변경한다. 

 

Touch [옵션] [파일명] 

 

-a : 최근 파일 사용시간만 업데이트 한다. 

-c : 지정한 파일이 없더라도 파일을 생성하지 않는다. 

-d time : 현재 시간 대신 지정한 시간으로 변경한다. 

-m : 파일이 수정된 시간을 변경한다. 

-t time : 현재시간 대신 지정한 시간으로 변경한다. 

 

 

 

 

 

2014-04-29 오전 9:04 

 

  1. 자기계정으로 로그인 
  2. 패스워드 변경 
  3. /etc/passwd 수정(변경된 패스워드로 재 로그인 확인) 
  4. /etc/shadow도 변경됨 

 

/etc/passwd와 /etc/shadow는 root 계정에 속한 파일이다. 

하지만 유저가 Passwd명령어를 통해  

자신의 패스워드를 변경할 수 있으며 이때 

/etc/passwd와 /etc/shadow또한 변경된다. 

 

결국 root가 아닌 유저도 위의 파일을 변경할 수 있게 되는데 

그 이유는 두 개의 파일에 's'속성이 부여되어 있기 때문이다. 

 

SetUID가 바로 mask값에서 s로 표기되며 

rws r-x r-x 의 형식으로 보여진다. 

 

그러나 원래 우리가 알던 mask값은 세자리이나 

사실 네자리 이며, 맨 앞자리의 값이 1,2,4일 경우  

는 소유자 권한이 아닌 특수권한이 부여된다. 

 

특수권한의 종류 

 

setUID 

맨앞자리가 4 

해당 파일이 실행되는 동안 파일을 실행한 사용자의 권한이 아니라 파일 소유자의 권한으로 실행할 수 있도록 함 

setGID 

맨앞자리가 2 

setGID가 설정된 파일을 실행하면 해당파일이 실행 되는 동안에는 파일소유 그룹의 권한으로 실행 

스티키 비트 

맨앞자리 1 

스티키 비트가 부여된 디렉터리에는 누구나 파일을 생성할 수 있으며, 파일을 생성한 계정의 소유자로 설정된다. 또한 그외의 다른 사용자는 그 파일을 삭제 할 수 없다. 

 

 

CP 

복사 명령어 

 

Finger 

사용자 정보를 찾는 명령어(확인만) 

 

Head 

파일의 앞부터 뒷부분까지 출력 

 

Tail 

파일의 뒷부분부터 앞까지 출력 

 

Fdisk 

 

hda 

IDE 

4개 

Sda 

scsi 

7~15개 

 

IDE 

디스크 

첫번째 

 

스카시 또는 sata 

디스크 

첫번째 

 

기본 파티션 

/boot 

100mb 

리눅스 기본 

전체용량 

리눅스 기본 

Swap 

물리메모리X2배 

swap 

 

 

 

 

 

2014-04-30 오전 9:08  

 

졸려… 

 

# yum install [패키지명] : 패키지(프로그램) 설치 

 

# yum list [패키지명] : 패키지 구성 나열 

 

# yum remove [패키지명] : 패키지 삭제 

 

#Date [날짜시간년도] : 해당 시기로 바뀜 

 

#rdate -s time.bora.net : 기준시간으로 돌아감 

 

알아둬야 할 사이트 

 

www.rpmfind.net 

                 .com 

                 .org 

 

www.kernel.org 

 

The Linux Kernel Archives 

https://www.kernel.org/ 

화면 캡처: 2014-04-30 오전 10:42 

 

 

 

현재 기준 최신 커널 

 

 

3.14.2 

주 버전 

부 버전 

패치 

크게 바뀜 

수정 

홀수-베타 

짝수-안정 

업데이트 

 

 

 

Fdisk /dev/had   "하드 여기 있어요" 

*파티션작업 

 

Regrub 

 

Mkfs(.ext3) 파일시스템 생성 - 리 디렉터리가 가능해짐 

 

Mount : 리눅스 밖에서 안으로 장치를 가져오는 행위 

 

/etc/fstab : 자동마운트 (재부팅해도 마운트가 해제되지 않음) 

 

Umount :  연결 해제 (umount /dev/cdrom) 

 

Busy메세지가 나오므로 mnt디렉터리에서 해제명령을 내린다. 

 

Cd /mnt 

 

 

 

http://ebonny.wordpress.com/2010/10/29/ntfs-%EB%A7%88%EC%9A%B4%ED%8A%B8%ED%95%98%EA%B8%B0/  

< NTFS 파티션을 리눅스로 마운트 하기 > 

CentOS 가 NTFS 에 파일쓰기가 문제가 있었는데 ntfs-3g 가 해결책을 제시했다. 

본 글을 해외 ntfs-3g 포럼을 참고해서 작성했음을 미리 밝힌다. 

 

1. 밑에 3번 설치를 위해 yum-priorities 을 먼저 설치 

[root@localhost ~]# yum install yum-priorities -y 

 

2. priorities.conf 수정 

[root@localhost ~]# vi /etc/yum/pluginconf.d/priorities.conf 

[main] enabled = 1 check_obsoletes = 1 priority=2 

 

3. rpmforge 설치[root@localhost ~]# rpm -ivh http://apt.sw.be/redhat/el5/en/i386/dag/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm 

 

4. 설치된 rpm 으로 패키지 업데이트 

[root@localhost ~]# yum check-update 

 

5. “fuse”, “fuse-ntfs-3g”, “dkms”, “dkms-fuse” 설치 

[root@localhost ~]# yum install fuse fuse-ntfs-3g dkms dkms-fuse -y 

 

6.마운트용 디렉토리 생성(/root/movie 로 하시면 됩니다. ) 

[root@localhost ~]# mkdir /mnt/window 

 

7. fdisk -l 로 마운트할 파티션정보 찾기 

[root@localhost ~]# fdisk -l 

=>HPFS/NTFS 으로 표시되는 /dev/sda[넘버] 를 찾는다. 

 

8. ntfs-3g 타입으로 마운트 실행[root@localhost ~]# mount -t ntfs-3g[장치명] [디렉터리] 

 

 

 

2014-05-01 오전 9:20  

 

/etc/fstab 

 



 

Home : 사용자 계정파일들 

 

Usr : 프로그램 파일들, 고정적 

 

Var : 리눅스 상에서 일어나는 모든 것이 기록됨, 가변적 

 

*spool : 별도의 메모리가 있어서 다수의 작업이 가능. (메일, 프린터) 

 

Proc : 임시디렉토리 

 

리눅스 

윈도우 

설명 

cpu 

프로세서 

cpu 

패키지 

프로그램 

사용자가 할 수없는 것을 대신하여 컴퓨터에게 계산명령을 내림 

데몬 

프로세스 

램(RAM)에서 동작중인 프로그램 

 

IRQ 인터럽트  : ctrl + alt + del - 에러 시 해당 프로세스를 램에서 강제로 끌어내림. 

Ctrl +  C 

 

데몬(daemon) 

  • 백그라운드에서 호출되기만을 기다리고 있는 프로세스 

 

백 그라운드(background)형 : 자주 사용하지 않는 프로세스 (&) 

 

포 그라운드(foreground)형 : 자주 사용하는 프로세스 전면에 띄워 놓음 

 

Yes > /dev/null : 무한루프 명령어 (밑 빠진 독에 물 붓기) 

다른 명령이 먹히지 않는 상태 

 

 

Yes > /dev/null  &  백그라운드로 실행 

 

 

포 그라운드로 돌아가는 프로그램을 어떻게 죽이지 않고 백그라운드로 돌릴까? 

 

  1.  

Ctrl + z 

 

 

일시중지 

Ctrl + c 

Kill -9 

Rm -rf 

강제종료 

 

 

Mtab : 마운트 이력이 기록됨 

Ps : 동작중이 프로세스 확인 

 

Ps -ef : 실전에서 많이 쓰임 

 

Pstree :  

 

 

네트워크 설정파일 

  1. /etc/hosts 로컬 호스트 및 유저 아이피 등록 
  2. /etc/sysconfig/network 게이트웨이 
  3. /etc/sysconfig/network-scripts/ifcfg-eth0 랜카드 설정 
  4. Etc/resolv.conf dns설정 

 

 

 

2014-05-02 오전 9:45  

 

RAID 

 

  1. Fdisk 작업(fd선언) 
  2. 레이드설정 

# mdadm --create /dev/md0 --level=raid0 

   --raid-devices=3 /dev/sdb /dev/sdc 

 

 

# Fdisk /dev/sdb , sdc, sdd, sde… 

각자 하나씩 새로운 파티션을 생성 

 

T : 형식 변경 

 

Fd : 오토 레이드 시스템 

 

# Yum install -y mdadm 

74 

설치 완료 

 

# vi mdadm.conf 

 

 

DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde 

ARRAY /dev/mda0(숫자임의) devices=/dev/sdb1./dev/sdc1./dev/sdd1./dev/sde1 

 

 

# mdadm --create /dev/md0 --level=raid0 

   --raid-devices=3 /dev/sdb /dev/sdc 

 

 

 

# cat /proc/mdstat  ---->확인 명령어 (세부정보 : mdadm --detail /dev/md0) 

 

# mkdir raid0 

 

# mkdir raid1 

 

# mkdir raid5 

 

# mkfs.ext3 /dev.md0 (포멧) 

 

# mount -t ext3 /dev/md0 /root/raid0 

 

 

레이드 해제 (ex., 레이드 미러링의 경우) 

 

  1. 언마운트 
  2. Mdadm --stop /dev.md0 
  3. 각각의 하드디스크를 마운트한다. 
  4. 마운트포인트로 이동하여 DATA확인 
  5. 2번 하드디스크 포멧 
  6. 새로운 하드디스크 추가 후 레이드 미러링 재설정 
  7. 1)~4)확인 

 

 

[RAID 구축하기] 

 

/dev/sdb, /dev/sdc, /dev/sdd, /dev/sde 

 

Mdadm --create /dev/md5 --level=raid5 --raid-devices=4 

/dev/sdb /dev/sdc /dev/sdd /dev/sde 

 

 

/dev/sdb, /dev/sdc, /dev/sdd, /dev/sde 

 

 

*3번고장 발생했을 경우 하드디스크 교체하기 

 

1) 3번 하드디스크 고장 선언 

mdadm /dev/md5 -f /dev/sdd       f=faulty 

 

 

2) 장애 하드디스크 제거 

mdadm /dev/md5 -r /dev/sdd       r=remove 

 

 

3) 새 하드디스크 추가 

mdadm /dev/md5 -a /dev/sdd       a=add 

 

2014-05-12 오전 9:15  

 

MBR 

부팅관련정보 

파티션의 시작과 끝을 알려줌 

부팅가능한 파티션 여부를 알려줌 

파티션의 위치를 알려줌 

 

 

파티션 타입 : 헥사 코드 

 

리눅스는 부트로더는 mbr 이전에 구동됨, 윈도우는 mbr다음에 부트로더가 작동 

 

부트로더 : LILO, Grub 

 

커널부팅 : 기능 점검, 하드웨어 점검 

 

부팅 성공여부 판단 

Install.log 

Dmesg 

 

Init프로세스 동작 

 

모든 프로세스의 최상위 부모 프로세스 

  • 리눅스 구성요소커널/ 쉘/ 프로세스 

 

Vi /etc/inittab 

 

Runlevel 3으로 부팅 

Root로 로그인한 후 재부팅 

 

/Etc/inittab 

Init의 설정파일 

/etc/rc.d/rc/sysinit 

Init Script에서 제일 먼저 실행 되는 파일 

/etc/rc.d/re.local 

Init script에서 제일 마지막에 실행되는 파일 

/etc./rc.d/init.d/* 

데몬을 실행 시키기위한 스크립트들 

/etc/rc.d/rc[0-6].d/* 

각 runlevel에 정의된 데몬들을 실행시키기 위한 파일 

/etc/rc.d/rc 

각 runlevel 에 해당하는 스크립트를 실행 시키는 스크립트 

/vtr/lock/subsys/* 

현재 실행되고 있는 데몬들의 Lock파일 

 

현재 실행되고 있는 데몬들의 PID가 적힌 파일 

 

 

Init와 runlevel 0의 동작 

데몬들을 모두 종료시킴 약간의 간격을 두고 term, quit, kill의 신호를 줌 

 

Shutdown 

 

/sbin/shutdown [-krhfc][-t sec] 

 

  1. 현재부터 10분후에 시스템을 종료하는 명령은? 

Shutdown -h +10 

  1. 현재부터 3분후에 system is going down이라는 메시지를 전달하고 종료하는 명령 

Shutdown +3 "system is going down" 

 

  1. 종료 후 재부팅 

Shutdown -r now 

 

부팅관련 기록 파일 

Btmp 

Utmp 

Wtmp 

기계어로 구성되어 있어 수정이 불가능 

 

리눅스의 특징 

  • 대소문자 철저히 구분 
  • 명령어 나열할 수 있음 ( ; ) 

 

현재 시스템에 접속해 있는 사람과 날짜및 시간을 확인 명령을 한 라인으로 표현하려면? 

Who;date 

 

인터넷으로 시간 동기화 : rdate -s time.bora.net 

 

 

파일시스템 

 

Super block 

파일 시스템에 의존하는 정보를 가지며, 파일 시스팀 크기, 매직넘버, 마운트 횟수와 같은 전체적인 정보를 가진다. 

i-node 

파일 이름을 제외한 파일의 모든 정보를 가지고 있다. 각 파일 이름에 부여되는 고유 번호와 파일 형태 및 크기와 위치, 소유주 등에 관한 정보가 있다. i-node로 이루어진 테이블에서 이 번호로 찾으면 모든 정보를 알 수 있다. 

Data block 

Data block은 i-node에 포함되는 것을 파일에서 데이터를 저장하려고 사용된다. 

Directory block 

파일 이름 & i-node번호 

Indirection 

block 

추가적인 data block을 위한 포인터들이 사용하는 동적으로 할당되는 공간이다. 실제로 i-node는 적은 수의 data block을 가지고 있고 더 많은 data block이 필요하면 이를 지정할 포인터가 필요해지며 이때 포인터들이 사용하는 동적 블록을 의미한다. 

hole 

i-node나 간접 블록(indirection block)안의 data block의 조소로 특별한 값을 저장하는 것을 의미하며 이는 파일 시스템에 의해 파일 안에 자리하게 된다. 그러나 실질적으로 디스크 상의 공간에 할당 되지 않으며 파일 안에 특정 공간을 차지하고 있다고 가정한다. 

 

 

Hpfs OS/2 

Os/2의 파일 시스템 

현재 읽기 전용 파일 시스템 

 

Isofs CD-ROM(iso9660) 

CD롬 

 

리눅스는 멀티 유저를 지원 

사용자마다 id라고 불리는 고유한 식별자 필요 

 

슈퍼유저 

Root 

 

계정전환 

Su 계정명 

 

 

 

사용자계정추가 

 

사용자 계정 : 패스워드 : uid : gid :코멘트 : 홈디렉터리위치 : 쉘의종류 

          1.                2.         3.     4.        5.                6.                    7 

 

 

/etc/shadow 

 

 

 

 

            root:$1$9L2L0oTwd:12751:0:99999:7 : : : 

 

              ①              ②              ③   ④    ⑤  ⑥⑦⑧⑨ 

 

 

 

 

① 필드 1 : 사용자명 

 

② 필드 2 : 암호화된 패스워드 

 

③ 필드 3 : 패스워드 파일 최종 수정일 1970년1월1일 기준 

 

④ 필드 4 : 패스워드 변경 최소일 

 

⑤ 필드 5 : 패스워드 변경 최대일 

 

⑥ 필드 6 : 패스워드 만료 경고기간 

 

⑦ 필드 7 : 패스워드 파기 기간(패스워드 파기후 게정 비활성 기간) 

 

⑧ 필드 8 : 계정 만료 기간 

 

⑨ 필드 9 : 예약 필드 





2014-05-13 오전 10:14  

 

패스워드 관련 에러메세지 

It is too short : 패스워드가 너무 짧게 설정된 경우 

It is too simplistic/systematic : 패스워드가 너무 간단하게 설정된 경우 

Is too  similar to the old one : 이전것과 비슷한 패스워드일 경우 

Is does not contain enough DIFFERENT charactors : 비슷한 문자열이 너무 많은 경우 

 

 

Winsdow >system32 >logfiles  

 

계정 막는 방법 

 31. Lock 

 32. /etc/passwd/ 파일에서 계정명 앞에 *또는 # 붙이기 

 33. /etc/passwd/ 파일에서 패스워드 앞에 !붙이기 

 34. No login, false 

 

 

 

 

Awk 어떤 목록에서 사용자가 원하는 내용만 추출하는 것 

 

 

Return 

한줄만 스크롤이 된다. 라인 스크롤 

반 페이지만 뒤로 이동한다. 

Space 

한페이지 만 뒤로 이동한다. 다음페이지. 

b, B 

한페이지만 앞으로 이동한다. 이전 페이지. 

사용되는 명령어의 도움말을 제공한다. 

Vi에디터를 호출한다. 에디터를 종료하면 원위치로 돌아간다. 

:f 

현재 파일 이름과 라인 번호를 보여준다. 

=  

현재 라인번호를 보여준다. 

서브쉘로 명령어를 실행한다. 

Q, q 

More를 종료한다. 

/[pattern] 

특정단어를 검색한다. 

 

 

 

 

리눅스의 대표적 문서 편집기 

 

Vi, Emacs(전문가), Pico(개발자) 

 

Vi모드  

입력모드 

원하는 글자 입력 

명령모드 

a,A,i,I,o,O 

라인모드 

:을 붙여 종료 준비 

 

 

 

아카이브 : 백업 또는 다른장소로의 이동 등의 목적을 위해 컴퓨터 파일을 하나로 뭉쳐놓는 묶음 

 

Tar(tape archive) 

옵션 

Tar파일을 생성할 때 사용한다. 

묶인 tar파일을 해체할때 사용한다. 

파일을 묶거나 해체할때 그과정을 자세하게 보여준다. 

사용할 tar파일을 지정한다. 

 

압축파일에서 특정파일만 제거하기 

tar --delete -f [압축파일] [제거할 파일] 

 

리눅스의 대표적인 압축프로그램 

프로그램 

확장자 

설명 

gzip 

.gz 

70% 

bzip2 

.bz2 

대용량 70% 

compress 

.Z 

100% 크기 줄지 않음 

 

"-d"압축해제하기 gzip -d 

un 붙이기 gunzip, bunzip2 

 

tar 에서 gzip은  z 

           bzip2는 j 

 

 

 


:
Posted by God Seed