□ Login
 - 사용자 계정 및 암호를 통해 사용자 인증을 거치는 과정
 - 파일 및 디렉토리에 대해 접근권한 및 사용권한을 얻어 시스템을 사용할
   수 있게 되는 과정
 - 입력한 password는 출력되지 않는다. (GUI제외)

 (1) /etc/passwd 파일에 존재 하는 쉘 환경 확인
 (2) /etc//bashrc와 /etc/profile 파일을 읽음
 (3) 사용자 홈디렉토리에 위치한 .bashrc, .bash_profile 파일을 읽음
 
□ Logout
 xshell : Ctrl + d (연결해제)
 Console : Ctrl + d
     #exit, #logout
 Console에서는 총 6개의 작업창이 제공된다.
 Ctrl + Alt + F1 ~ F6
 
□ 파일의 종류

파일(file) - 관련있는 정보들의 집합
- 파일을 효과적으로 관리하기 위해 디렉토리를 사용
- 파일은 사용목적에 따라 일반 파일, 디렉토리, 심볼릭링크, 장치 파일로 구분

 

(1)일반파일 : 데이터를 저장하는데 주로 사용, 각종 텍스트 파일, 실행 파일, 이미지 파일등 리눅스에서 사용하는 대부분의 파일은 일반파일에 해당

(2)디렉토리 : 리눅스에서는 디렉토리도 파일로 취급, 디렉토리 파일에는 해당 디렉토리에 저장된 파일이나 하위 디렉토리에 대한 정보가 저장

(3)링크파일 : 원본 파일을 대신하여 다른이름으로 파일명을 지정한 것

(4)장치파일 : 리눅스에서는 하드디스크나 키보드 같은 각종 장치도 파일로 취급, 리눅스 시스템에 연결된 장치들을 관리하기 위한 특수파일


□ 디렉토리 계층 구조
- 리눅스에서는 파일을 효율적으로 관리하기 위해 디렉토리를 계층적으로 구성

최상위 디렉토리
- '/'로 표시하며 모든 디렉토리에 상위 디렉토리

하위 디렉토리(서브 디렉토리)
- 디렉토리 아래 있는 디렉토리

상위 디렉토리(부모 디렉토리)
- '..'으로 표시하며 '/' 디렉토리를 제외한 모든 디렉토리는
  상위 디렉토리가 있다.
 
□ 작업 디렉토리(현재 디렉토리)
- 현재 위치한 디렉토리이며 '.'으로 표시

홈 디렉토리
- '~' 물결로 표시하며 각 사용자에게 할당된 디렉토리로 처음 사용자 계정 생성 시 지정

파일과 디렉토리 이름의 규칙
 - 파일과 디렉토리에는 경로명의 구분자로 사용하느 '/'을 사용 할 수 없다.
 - '-', '_' '.'만 사용하며 그외 공백이나 특수기호 사용하면 안된다.
 - 대소문자를 구별하며 '.'으로 시작하면 숨김파일로 간주한다.
 
--------------------------------------------------------------------------
□ 명령어의 구조
1. #[CMD] + [OPTION]
   #[CMD] + [ARGUMENT]
   #[CMD] + [OPTAION] + [ARGUMENT]
2. 대, 소문자 구분
3. 명령어의 도움말
 - 명령어 뒤에 --help 인자를 사용하여 사용방법 및 옵션을 확인 할 수
   있다.
 
 #[CMD] --help
 #[CMD] -h  or  #[CMD] -help
 -man 패키지 설치 후 #man [CMD]
 
 man 패키지 설치
 (1) #yum -y install man
--------------------------------------------------------------------------
□ 기본 명령어

pwd - (Print Working Directory)
- 현재 위치한 경로 확인 (절대 경로)

 

ls - (List Segment)
 -파일 및 디렉토리 목록 출력 

 ※ ls를 통해서 현재 위치에 해당하는 파일 및 디렉토리등을 확인 할 수가 있다.

#ls [option] [file/directory]
 -a 숨김파일을 포함한 경로안에 모든 내용 출력
 -l 리스트형태로 출력 (#ll)
  출력결과 가장첫번째 필드 부분을 확인하여 해당 파일의 종류를 알 수 있음 (- 일반파일, d 디렉토리)
 -F 파일의 형식을 알 수 있는 문자를 추가
 -t 수정된 날짜를 기준으로 출력
 -R 현재 위치를 기준으로 하위 디렉토리 및 파일을 출력
 -h -l과 함께 사용하여 파일 크기를 사람이 보기 쉽게 출력
 -S -l과 함께 사용하여 파일 크기를 기준으로 정렬하여 출력
 
 / : 디렉토리
 * : 실행파일
 @ : 링크파일
 
cd (Change Directory) - 디렉토리 변경
- #cd [디렉토리명]
- 디렉토리 나타내는 특수문자
- #cd / #cd ~  : 로그인한 사용자 홈디렉토리
- #cd ~[계정명]  : 해당 계정의 홈디렉토리로 이동
- #cd -    : 바로 이전의 작업 디렉토리 이동
- #cd ..   : 상위 디렉토리로 이동
- #cd /    : 최상의 디렉토리로 이동

 ※ 현재 디렉토리를 확인한 후 최상위 root로 이동한것

 

□ 절대 경로
 - 최상위 디렉토리 '/' 부터 시작하는 위치
 - 반드시 '/' 으로 시작
 - 루트 디렉토리로 부터 시작하여 특정 파일이나 디렉토리의 위치까지
   이동하면서 거치는 모든 중간 디렉토리의 이름을 표시
 - 특정 위치를 가리키는 절대 경로명은 항상 동일하다
 
□ 상대 경로
 - 현재 작업하고 있는 디렉토리에서의 상대적인 위치
 - '.' 현재 디렉토리 '..' 상위디렉토리
 - '/' 이외에 문자로 시작
 - 상대 경로명은 현재 디렉토리가 어디냐에 따라 달라진다
 
 절대 경로  : cd /windows/10/enterpise
 상대 경로  : cd ../../windows/10/enterpise
 
□ mkdir (Make Directory) - 디렉토리 생성
  mkdir [디렉토리명]
  mkdir [옵션] [디렉토리명]

  옵션 : -p 하위 디렉토리까지 한번에 생성
    -m 기본 권한을 주면서 디렉토리 생성 // 사용X
    복수 지정 가능

#mkdir test       //현재 디렉토리에 test 디렉토리 생성

#mkdir test1 test2 test3 test4  //현재 디렉토리에 test1~4 디렉토리 생성

 
□ rmdir (Remove Directory)
 - 디렉토리 삭제
 - 디렉토리에 파일이 있는 경우 삭제가 되지 않는다.
   빈 디렉토리만 삭제 가능

#rmdir [디렉토리명]

 

 

□ cp (copy) 파일 혹은 디렉토리 복사
   cp [option] [source] [target]
  -i 만약 복사할 대상이 기존에 있다면 사용자에게 덮어쓸지 물어보는 옵션
 -f 기존에 중복된 파일이 있다면 물어보지 않고 강제로 덮어쓰는 옵션
 -v 복사 과정 출력
 -R, -r 디렉토리를 복사할 경우 하위 디렉토리 및 파일을 포함하여 모두 복사
 

cp [option] [source] [target] 
복사 시 두인자가 모두 파일인 경우

#cp /bin/ls /practice/day1/ls_backup  // /bin/ls 파일을 ls_backup으로 복사
- ls_backup 파일이 존재하면 원본파일 덮어쓴다.
- ls_backup 파일이 존재하지 않을 경우 새로 생성이 된다.

복사 시 두번째 인자가 디렉토리 인경우
#cp /bin/ls /practice/day1/
- /practice/day1/ 디렉토리 ls 파일 복사

복사 시 인자를 여러개 지정할 경우
#cp /bin/ls /bin/cp /practice/day1/
- 마지막 인자 [/practice/day1/]는 무조건 디렉토리여야한다.

 

디렉토리 복사하기

#cp -r /bin /practice/day1/bin_backup
- 목적지 디렉토리가 없을 경우 생성된다.
- 디렉토리 내부에 파일도 함께 복사된다.

 

□ mv (move) - 파일 및 디렉토리 이동
  #mv [source] [target]
 -v 실행과정
 -i 중복될 경우 덮어쓸지 물어본다.
 -f 강제로 덮어쓴다.
 
□ mv [file1] [file2] [file3] ... [directory]
-----------------------------------------------------------------------------------
□ rm (Remove) - 파일 및 디렉토리 삭제
  rm [option] [file/directory]

 -f 삭제시 물어보지 않고 강제 삭제
 -r 디렉토리 삭제시 하위 디렉토리 및 파일을 포함하여 삭제
 -i 삭제여부 사용자에게 확인
-----------------------------------------------------------------------------------
□ cat (conCATenate)
- 파일보기 (일반 파일 중 텍스트파일 내용 출력)
cat [옵션] [파일명]
-n 라인번호 포함하여 출력
-b 라인번호 출력, 공백은 제외하고 출력
-----------------------------------------------------------------------------------
touch - 빈파일 생성 및 파일의 생성 시간을 변경
touch [파일명]  // [파일명] 으로된 빈 파일 생성
touch -t YYYYMMDDhhmm [파일명]  //기존 파일일 경우 해당 시간으로 생성 시간 변경
                                //없을 경우 해당 시간으로 생성시간을 정하여 파일
          생성
-----------------------------------------------------------------------------------
□ file - 파일의 형식을 확인
 형식 : file [파일명]
#file /bin/ls  // 실행 파일
#file /etc/passwd // 아스키코드로 구성된 일반 텍스트 파일
#file /root   // 디렉토리
-----------------------------------------------------------------------------------
□ type - 명령어 파일의 위치, bash 내장 명령 여부, alias등의 정보를 확인
#type [파일명]
-----------------------------------------------------------------------------------
□ whereis - 명령어에 대한 바이너리, 소스, (man)메뉴얼 페이지의 위치 확인
#whereis [파일명]
#whereis ls
#whereis file
-----------------------------------------------------------------------------------
□ which - 실행파일 위치 및 alias 여부 확인
  which [파일명]
-----------------------------------------------------------------------------------
□ more - 화면 단위로 파일 내용 출력
  형식 : more [파일]
  space bar - 다음화면출력
  enter key - 한 라인씩 스크롤
q  - 종료

ctrl + f 다음화면으로 이동
ctrl + b    이전화면으로 이동
-----------------------------------------------------------------------------------
□ head - 파일 내용의 첫 10줄만 출력
   head [옵션] [파일명]
 -n [행번호]
 -  [행번호]
 
#head /etc/services   // 처음 10줄만 출력
#head -n 5 /etc/services // 처음부터 5줄만 출력
#head -5 /etc/services  // 처음부터 5줄만 출력
-----------------------------------------------------------------------------------
□ tail - 파일 내용의 마지막 10줄만 출력
  tail [옵션] [파일명]
 -n [행번호]   
 -  [행번호]
 
 ★-f 실시간으로 파일 마지막 내용을 출력★
 
 tail -f /var/log/secure
#tail /etc/services   //마지막 10줄만 출력
#tail -1 /etc/services  //마지막 1줄만 출력
#tail -n 1 /etc/services //마지막 1줄만 출력
-----------------------------------------------------------------------------------
□ nl (number line) - 파일의 각 라인에 번호를 표시
#nl /etc/services
-----------------------------------------------------------------------------------
□ grep  (Globally find Regular-Expression and Print)
- 문자열 검색
grep [옵션] [패턴] [파일]

-i : 대소문자를 구별하지 않는다.
-n : 행번호를 함께 보여준다.
-v : [패턴]을 제외한 나머지를 출력

/etc/service --> filenet

ls abc*

 

□ cal [달력출력]
cal
cal [년도]
cal [월] [년도]

date - 현재시간 확인
date -s "hh:mm:ss"
date -s "YYYY-MM-DD hh:mm:ss"

 

□ 파일링크
파일시스템상에 존재하는 파일이나 디렉토리에 대한 바로가기를 만들때
사용되는 파일

 

1.심볼릭 링크
파일을 가르키는 포인터가 있는 작은 파일을 생성(바로가기)
- 원본 파일을 가리키는 새로운 파일을 생성

ln -s [대상파일명] [링크파일명]

2. 하드 링크
ln [대상파일명] [링크파일명]
 - 기존파일에 새로운 파일명을 추가로 생성
 - 디렉토리 링킹 할수 없으면 같은 파일시스템에 존재 해야한다.

정규 표현식 메타문자

메타문자
^ - 행의시작
$ - 행의마지막
. - 하나의 문자와 대응
[] - 사이에 문자하나와대응
[^] - []사이의 문자를 제외한 문자와 대응

sort - 파일내의 내용을 알파벳 순서대로 정렬
형식 : sort [옵션] [파일]
-n 숫자지준으로 정렬
-r 역순으로 정렬
-u 중복행 제거
-o 출력결과를 파일로 저장

wc - 단어,라인,문자 수를 계산
wc [옵션] [파일]
-l 라인수 출력
-m 문자수
-w 단어수

출력필드 의미 [라인][단어][문자]

'운영체제 > Linux' 카테고리의 다른 글

리눅스4  (0) 2017.03.27
Linux 3 - vi 편집기 및 사용자 계정 생성 및 관리  (0) 2017.03.06
리눅스 1  (0) 2017.03.06
리눅스6  (0) 2017.01.23
리눅스 5  (0) 2017.01.23

+ Recent posts

티스토리 친구하기