달력

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
2014. 12. 10. 14:06

4/25 chmod IT 스터디/리눅스 Cent OS2014. 12. 10. 14:06

2014-04-25 오전 11:34  

 

Chmod : 권한 변경 

 

Rwx 

Rwx 

Rwx 

사용자 

사용자그룹 

기타계정들 

User 

Group 

Others 

 

Read 

읽기권한 

3비트(4) 

Write 

쓰기권한 

2비트(2) 

Execute 

실행권한 

1비트(1) 

 

폴더의 최대권한 : 777 

Rwx | rwx | rwx 

파일의 최대권한 : 666 

Rw- | rw- | -rw- 

 

*디렉터리를 execute한다는 것 : 디렉터리 안으로 들어간다. 

 

단, 실행파일은 (.exe) 또는 스크립트파일(.sh) 

                                  =프로그램으로 작성된 파일 

    일 경우에는 실행권한이 있어야 한다. 

 

*리눅스의 실행파일은 녹색폰트이다. 

 

:
Posted by God Seed

2014-04-24 오전 9:01  

 

계정생성시 확인 

 

  1. /etc/passwd 

사용자정보 

 

  1. /etc/shadow 

사용자 패스워드 

 

  1. /home/계정명 

사용자 홈 디렉터리 

  1. /var/spool/mail/계정명 

사용자 이메일주소 

# sl var/spool/mail 

 

Vi 

 

Esc 

 

: w - write 쓰기 

 q - quit 종료 

 ! -        강제 

 

:q 

저장하지 않고 종료 

:wq 

저장하고 종료 

:q! 

강제종료 

:wq! 

강제 저장하고 종료 

:qw 

에러 

 

 

Useradd 

 

[root@loclahost test100] 

 

 

 

계정이름/ 유저패스워드/ 유저아이디/ 그룹아이디/ 코멘드, 설명/ 유저의 홈 디렉터리/ 로그인 쉘// 

 

과제물 

설치 화면에서 아랫쪽에 위치한 단축키 

 

Chgrp 

 

Rwx rwx rwx 

421 421 421 

소유자 그룹 기타  

 

 

*useradd 실행시 확인 

 

1. /etc/passwd  

   사용자정보 

 

# cat /etc/passwd 

 

2. /etc/shadow 

   사용자 패스워드 

 

# cat /etc/shadow 

 

3. /home/계정명 

   사용자 홈디렉토리 

 

# cd /home 

 

4. /var/spool/mail/계정명 

   사용자 이메일주소 

 

# ls /var/spool/mail/계정명 

 

 

 

vi 

 

esc 

 

: w  wirte 쓰기 

  q  quit  종료 

  !        강제 

 

1)저장하지 않고 종료 

:q 

 

 

2)저장하고 종료 

:wq 

 

3)강제종료 

:q! 

 

4)강제 저장하고 종료 

:wq! 

 

# echo $SHELL 

 

 

# useradd test400 

 

# passwd test400 

 

# vi /etc/passwd 

 

/bin/bash ===> /bin/false 

 

 

 

 

*사용자 로그온 금지설정 

 

[실습] 

조별 2번 계정들은 로그온을 못한다. 

 

21-2 22-2 

23-2 24-2 

25-2 26-2 

27-2 

 

# usermod -L 계정명 

 

 

* 변경사항 보고하세요~~(5분) 

  - 조장이 메모지에 특이사항 적어서 

 

4분 남았습니다 

3분 ..... 

2분 ..... 

1분 ..... 

보고하세요 

1분후 보고없으면 과제 나갑니다. 

 

 

과제물] 

 

리눅스 설치화면  

 

boot: Enter 

      linux text 

       

기타 ...... 

 

 

 

 

21-3 계정으로 로그인 

 

su 21-2 

password: 

 

 

 

* 24-4 로그인 

 

$ cat /etc/shadow 

 

$ cat /etc/shadow 

 

$ cat /etc/passwd 

 

 

histort -C 

 

cat .bash_history 

 

 

 

 

허니팟미끼작전해커를 잡기위해 일부러 허술한 보안을 구축감시 

 

 

#chgrp 계정.그룹 파일/폴더명 

 

# touch test 

 

# ll 

 

# chown 24-2.24-4 test 

 

# ll 

 

# chown .25-4 test 

 

26-4 계정으로 변경 

 

# ?????? 

 

 

 

# mkdir dir_test 

 

# cd dir_test 

 

# touch 1 2 3 

 

# mkdir dir1 dir2 dir3 

 

# cp 1 dir1 

# cp 2 dir2 

# cp 3 dir3 

 

 

dir_test/dir1/1 

        /dir2/2 

        /dir3/3 

 

Q> ls 명령만 사용해서 하위디렉토리 

   정보를 확인하시요. 

 

#pwd 

dir_test 

 

A>  

 

# ls -lR 

 

 

# ls -lR > index.txt 

 

# cat index.txt 

 

 

 

실습] 

 

# dir_test/dir1/1 

          /dir2/2 

          /dir3/3 

 

 

dir_test 소유자를 root --> 22-2 변경 

 

                  22-2 ---> 27-2 

 

 

:
Posted by God Seed

1. pwd 

  

현재 프롬프트가 위치하고 있는 절대경로를 보여준다. 

bash 쉘에 경로를 다나오게 할수도 있지만 보통은 그렇지 않기 때문에현재 위치가 어딘지 확인 하는 버릇을 들이는게 좋다. 

명령어 사용법은 간단하다. 

  

쳐라. pwd 

그럼 아래와 같이 나온다. 

 

 

  

  

현재위치가 '/usr/bin' 이라는 소리이다 

  

(파일시스템의 기본 마운트 위치가 '/'   등의 구조적인 강의 포스팅은 다음에 따로 해두겠다여기서 하기엔 양이 많네) 

  

  

  

2. ls 

  

ls라는 명령어는 현재 위치에서 어떤 파일  디렉토리가 있는지 확인을   있게 해준다. 

  

'ls' 입력해줘도 되며하위 디렉토리나 파일의 정보를 자세히 볼수 있는 옵션또한 존재한다. 

  

사용법은 

ls [옵션] [파일이름]  혹은 ls [파일이름] [옵션] 

  

예를 들어 'ls -al /dev' 

라고 치게되면 /dev폴더에 존재하는 파일 모두의(-a옵션자세한 정보(-l옵션)   있다. 

(-a 옵션과 -l옵션을 동시사용할 것이면, - 한번만 쳐주면된다. -al 처럼) 

  

옵션을 보는 방법은 [명령어] --help라고 치면된다. 

리눅스에서 지원하는 어떤 명령어든 help 지원하며 자신이 사용할  있는 옵션을 보여준다. 

뒤쪽에서 다시 설명하도록 하겠다. 







위의 정보는 '/' 기본적으로 마운트되어있는 파일시스템의 정보이다. 

내가 사용할 모든 파일들의 최상위 위치가 '/' 붙어있다고 생각하면된다. 

리눅스는 모든 정보를 파일단위로 관리하며 디바이스 또한 파일형태로 관리를 해준다. 

마운트라는 것은 간단히 생각하면 디바이스들을 리눅스에서 관리할  있게 파일형식으로 갖다 붙혀주는거다. 

  

  

  

  

3. cd 

  

'cd'라는 명령어는 'Change directory' 약자다. 

디렉토리 간을 이동할  쓰는 명령어다ㅇㅋ??? 

  

기본적인 쓰임은 다음과 같다. 

  

cd [이동할 디렉토리] 

  






위의 작업은 /밑의 workspace라는 폴더에 들어갔다 나왔다 하는 것들이다. 

빨간색 네모표시된 4가지 부분과 같이 똑같은 디렉토리에 접근하더라도 저렇게 접근할  있다는 것을 보여주기위해 해둔 부분이다. 

보는 것과 같이 네가지 방법 모두  맞다절대경로를 Full 다쳐줘도 되고 위치에 비교해서 상대경로를 쳐줘도 된다폴더 뒤에 / 쳐주건 안쳐주건 동일하다. 

  

노란색 네모표시는 폴더에서 빠져나오는 방법이다 위치에 비교하여 하나 위의 상위 폴더로 이동하는 것이 'cd ..' , 상위 두개 위는 'cd ../..' 이런식이다상위  폴더 이상이면 그냥 절대경로 치자ㅋㅋㅋ 

pwd 복습할  상위 두개 폴더로 가는 것을 확인하기 위해 표시했다. 

  

  

  

... 내용이 점점 많아진다짧게짧게 해야겠다. 

  

  

  

  

  

4. mkdir/rm/help 

  

1~3에서 경로를 보는 방법경로에 위치한 파일을 보는 방법경로를 바꾸는 방법에 대해서 알아봤다. 

이제는 존재하는 경로가 아닌 내가 디렉토리를 만들고 지우는 방법을 알아보자. 

  

mkdir. 이름만 봐도  답이 나온다. 

make directory이다. 

  

다음과 같이 

mkdir [Directory Name] 으로 쓰면되는데, 

mkdir babo 처럼 현재위치한 폴더에 새폴더 생성을 위해 상대경로로 표시해줘도 되고, 

mkdir /workspace/merong 형태로 어느위치에서나 절대경로를 입력하여 해당위치에 생성해줄 수도 있다. 

  

  

rm이라는 명령어는 remove 약자이다. 

파일을 지울때 쓰는데 몇가지 알아둬야할 명령어 옵션들이 있다. 

  

-r이라는 옵션은 디렉토리를 지울때 사용한다고 생각하면 간단하다. 

-f 옵션은 치고 삭제보통 rm명령어는 파일을 지울때 지울건지 한번  묻는데이런거 안묻고 바로 삭제한다. 

일반적으로 파일 하나하나를 지울때는 -f옵션을 사용안하는게 실수를 미연에 방지하는 길이지만폴더를 삭제할때  옵션을 사용하지 않으면 하위파일 수만큼 전부 묻는다... 

  

그래서 rm 명령어는 다음과 같이 쓰는 것을 추천한다. 

  

파일을 지울 , rm [파일이름] 

폴더를 지울 , rm -rf [폴더이름] 

  

다른 옵션들도 존재한다위에서 간단히 언급했던  처럼 '[명령어] --help'라고 입력하면 리눅스에서 지원하는 어떤 명령어건 해당 명령어의 정보와 옵션들을 보여준다. 

그리고 명령어들은 /bin /sbin 아래에 대다수가 존재한다. 

 공부해보고 싶으면 언급한 폴더에 존재하는 명령어 파일들을 보고 하나하나 --help 쳐보시길 ㅋㅋ 



위의 작업은 work라는 폴더를 '/'밑에 만들어주고 지워주는 작업이다. 

 아래는 rm --help 통해 사용법과 옵션을 볼수 있다. 

  

  

  

  

5. cp 

  

이제 폴더도 만들어주고 지우고 했으니파일처리에 기본인 '복사'!!  배워볼까?! 

철수가 친구한테 받은 야구동영상파일이 있다근데  리눅스를 사용한다파일을 복사해야지어떻게몰라!!!!!!!! 

(Xwindow에서 복사는 없다고 생각하고 ㅋㅋ) 

  

그럼 철수를 구제해주자. 

  

cp [옵션] [원본파일] [대상위치] 

  

위와같은 형태로 사용하면 된다. 

원본 파일과 대상위치는 절대경로 혹은 상대경로를 써도 되며 옵션은 사용안해주어도 상관없다. 

  

cp /work/sexyhoney.avi /myfolder/jorong-e.avi 

  

위와 같이 복사해줄  아예 다른 이름으로 바꿔서  수도 있다. 

적절한 예이지 않은가ㅋㅋ 

  

cp /work/goodgirl.jpg /myfolder/ 

  

위와 같이 사용하면 어떻게 될까? 

myfolder 폴더 아래에 goodgirl.jpg라는 동일한 이름으로 copy 된다. 

파일 이름 긴데  적어주는 바보는 없길 바란다. 

  

**여기서 Tip** 

파일이름이 만약 evansholicishwkimkkk.jpg라면 이거 언제 다적어주고 있나?! 

evan정도 적고 'Tab'키를 눌러보자해당 위치에 evan으로 시작되는 파일이 있다면 자동완성을 해준다. 

그리고 존재하는 데도 반응이 없다면 'Tab'키를 두번 연타해본다그러면 evan으로 시작하는 파일이 두개이상이 있어서일 것이고  파일들이 표시가된다. 

  







위의 작업은... 이제 그냥 봐라손아프다  

vi 명령어는 vi 편집기를 통해서 파일을 만들어 주기 위해  것이다. 

리눅스는 vi 그외 많은 편집기들로 모든 종류의 파일들(혹은 확장자가 없는 파일들) 생성하고 편집해줄 수가 있다. 

파일을 만들고 싶으면 vi [만들고 싶은 파일해서 파일이 생성이 되면 저장한후 

(파일이 열리면  ':wq'입력이에 대한건 나중에 포스팅하겠다나오면 된다. 

만약 vi filename했는데 존재하는 파일이면 생성이아닌 편집이 된다. 

  

그외에는 설명한 것들과 같다마지막은 cp 옵션들이다. 

 

 

 

 

6.  mv 

  

파일을 복사해서 원본파일 지워주고 이러면  빙시같다. 

그렇게 해줘도 된다그래도 빙시같다. 

미안 

  

아예 이동시켜주는 명령어가 있는데  저걸 쓰나 글자수 똑같은데 

  

  

mv [옵션] [원본파일] [대상위치] 

  

  

cp 똑같이 쓰면된다옵션은  다른가. 

근데 중요한건 파일의 이름바꾸기 또한 mv 한다는 사실! 

같은 위치에서 mv명령어를 사용한다고 생각해보자. 

  

mv /work/goodjob /work/badwork 

  

위와 같이 사용하면 goodjob이라는 파일은 badwork라는 이름의 파일로 이동하는데  위치가 동일하다결국 이름이 바뀌게 되는 결과가 나온다. 

  

ㅇㅋ? 

  








위의 일련의 작업들은 설명한 내용을 토대로  내용들이다. 

   마지막의 man mv help 같은 명령어의 정보보기의 방법의 일종이다. 

  

요놈은 명령어에 대한 정보를 파일이 열리는 형태로 표시해 주기때문에 끄고싶으면 'q' 눌러준다. 

안된다고 터미널 끄지마라바보짓임 

vi편집기나 로그보는  등에 관해서는 다음번에 포스팅하기로 하고여튼 명령어의 정보를 보는 방법은 

  

[명령어] --help 

man [명령어] 

  

요렇게 두가지가 있다. 

근데 사실 help 편해. 

man 한글이 지원되는  같기도 하지만 보고나서 꺼줘야 되기땜시.. 

거기다 나도 얼마전에 알게된거라 잘안쓴다. 

  

  

************************************************************************************************************* 

  

  

  

  

여튼 요정도만 대충 알고나면 

기본적인 리눅스 터미널 사용에는 무리가 없다. 

왜냐 

 정도 명령어들로 help 치고 다니면서 홀로 공부해   있기 때문에! 

 


:
Posted by God Seed