Notice
Recent Comments
Link
«   2025/05   »
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
Tags
more
Archives
Today
Total
관리 메뉴

정보통신공학과 노선변경기

리눅스 기초 1일차 ls, ln, cat, more, less, grep, head, tail, touch, cp, md5sum, mkdir, rm, rmdir 명령어 본문

Sub2_리눅스 기초

리눅스 기초 1일차 ls, ln, cat, more, less, grep, head, tail, touch, cp, md5sum, mkdir, rm, rmdir 명령어

HEONPOLI 2021. 5. 10. 22:13

Tmp=> 응용프로그램 동작 시 발생하는 정보 임시저장하는 장소,
var =>
시스템 운영중 발생하는 정보 임시저장..

 

*상대경로, 절대경로

1) 상대경로

. : 현재 디렉토리    .. : 상위 디렉토리 ./../ è 현재 경로의 상위경로를 뜻한다.

2) 절대경로

/home/user è 디렉토리명을 모두 명시하는 것을 절대경로라 한다.

cd - 직전에 사용된 디렉토리로 이동

 

*ls :(list를 보여주는 명령어) 디렉토리의 정보를 볼 때 사용

[option]
-l =>
리스팅하여 나타냄
-d=>
디렉토리 내부의 내용이 아닌, 디렉토리 그 자체의 정보 보여준다.
-I =>
파일의 identity node를 확인하기 위해 사용(숫자로 나타내어진다.) 같은내용을 갖고있는 파일임에도 inode가 다르다면 다른 파일이되는것을 확인할 수 있다. I node가 같다?= 같은파일이다.
-a =>
숨김파일까지 모두 볼 때 사용
-R =>
하위 디렉토리의 정보들을 모두 보여준다.
-F =>
파일의 속성정보를 보여준다..(자주 안쓰는 옵션)
(MAC time == modify access change time)
-lt => modified time, -lut => access time, -lct => change time
나타내어준다.

 

dwxr-xr-x 2 user user  ...… =>ls -l 의 결과중 한부분으로 권한을 나타내는 것(사용자 부분 설명시에 다시 한다)

wxr ==> 앞의 세자리,파일의 소유자에 대한 권한
r-x ==>
두번재 세자리, 파일의 그룹에 대한 권한
r-x ==>
세번째 세자리, 파일의 other에 대한 권한

숫자 2 => 이 파일의 link count, 만약 2라면 이 파일 안에는 더 이상 다른 파일이 존재하지 않는다는 뜻. 디렉토리는 2부터 시작(자신과 자기 위에 하나), 만약 숫자 4=> 하위에 디렉토리 2개 더 있다는 뜻.파일은 일반적으로 1 이다.

리눅스는 계정별 파일컨트롤이 가능한 시스템이다.. 윈도우는 사용자에게 파일권한이 모두 넘어가있는 반면 리눅스는 아니다.

 

*파일의 내용을 확인하는 명령어 cat, more, less, grep, head, tail

1.cat : 파일의 내용출력
[option] -n => line number
표시

cat 에서의 > 의미: 표준출력을 어떻게 하는가가 생략 되어있음(1>)
cat  > aa : >(ridirection)aa
라는 파일이 없다면 생성하고, 기존에 존재하는 파일에는 overwrite(덮어씌우기) 한다. 엔터를 칠 때 출력이 넘어간다. >>(append) 내용 추가할 때 사용.

cat < aa > bb  : aa의 내용을 cat 명령어에 넣어주고 그것을 다시 bb로 넣어주므로 aa bb가 동일하게 만들어진다.
cat < aa >> bb :
표준입력을 aa에서 받아서 bb append 하므로, aa bb는 다른 내용이된다. append한다 ex) aa 의 내용: hihi , bb의 내용: haha 라면 cat < aa >> bb è

cat < aa >> bb è  bb의 내용:haha
                                     hihi
append 된다

 

2. head, default => 파일의 내용 위에서부터 10줄 출력

cat -n aaa | head ==> aaa파일의 출력 내용을 위에서부터 10줄 출력, |(파이프) 앞의 내용을 뒤의 명령어 맞게출력
cat -n aaa | head -5 (or -n +5) ==> head
뒤의 숫자에 맞는 줄 수 출력

 

3. tail => 파일 내용 끝에서부터 10줄 출력

cat -n aaa | tail ==>  aaa파일의 출력 내용을 뒤에서부터 10줄 출력
cat -n aaa | tail -n 5 ==>
뒤부터 5줄 출력
[option] -f ==>
지속성과 관련된 옵션, tail -f aaa 하면 aaa 파일의 변화되는 항목들을 바로바로 확인가능(로그파일 확인에 주로 사용), 모니터링 한다고 생각하면됨
**cat -n aaa | tail -n +20
è 끝에서부터 20번째 줄 까지 출력

** aaa 파일의 10~20번째 줄 출력 ==>cat -n aaa | head -n +20 | tail -n +10

 

4. more => 파일의 내용을 페이지 단위로 보여줌, pipe와 엮어서 쓰기에 적합하다,
ex) ls -al | more  파일 정보를 more 명령어에 맞게 출력하여 보여준다.

5. less =>  파일내용 빈공간의 내용을 문자로 임의로 채워넣기때문에 느리고, 다른 명령어와 엮어서 쓰기에 부적합 용량이 커진다.

 

 

*grep:
grep, fgrep, egrep 3
가지 종류의 grep이 있음
형식: grep [option] [pattern] [파일위치]

[option]
           -i ==>
대소문자 구분하지 않게한다.
           -l ==>
패턴이 검색되는 파일의 이름을 출력
           -v ==> ls | grep -v ccc =>
현재 디렉토리내에 있는 파일 중ccc라는 단어 들어가는 파일제외하고 출력
        -c ==> grep -c root /etc/passwd => etc/passwd
안에 root라는 단어가 들어가는 갯수 출력
        -n ==> grep -n root /etc/passwd => etc/passwd
안에 root단어가 들어가는 줄을 줄번호와 함께 표기

[정규 표현식 메타문자]
^ :
시작부분 지정 grep ^root aaa => root 로 시작하는 줄 출력, [^a-z] ==>소문자 알파벳이 들어가는 줄 제외한다는 의미, ^[0-9] => 숫자로 시작하는 걸 의미
ex) ls /proc | grep [^a-z] ,,,, ls /proc | grep ^[0-9]
$ :
끝부분 지정   grep bash$ aaa => bash로 끝나는 줄 출력
[0-9]:
숫자표현, [a-z]: 소문자 표현, [A-Z]: 대문자 표현

 

fgrep 사용 => aaa 파일에 ^root 내용 추가하고 검색할 시에
grep ^root aaa
하면 root로 시작하는 걸 찾아주고
fgrep ^root aaa
하면 ^root 그대로 시작하는걸 찾아준다.
Egrep
사용 => egrep ‘^root|bash$’ aaa => or를 사용하여 root로 시작하고 bash로 끝나는 줄
검색가능

 

ex) grep setup aaa | grep gnome => aaa파일 안에서 setup을 검색하고 그 줄에 gnome이 있는 내용출력

ls -l aa 1> /dev/pts/1 ==> 터미널 정보 dev/pts/1 aa ls-l 결과를 출력시킨다.

ls /aaaaaa 2> /dev/pts/1 ==>  tty 명령어로 확인된 터미널 dev/pts/1로 에러를 출력해준다.

 

*touch

0byte파일을 새로 생성하여 준다.

 

*cp: 복사 관련 inode, block, hard disk 에서의 동작..

파일이름을 이용하여 inode 정보를 확인(파일을 보관하고 있는 디렉토리 이 정보를 갖고있다) 하고 하드디스크에 데이터블록 영역에 접근하고 다른 데이터블록 영역에 붙여놓고 파일이름과 새로운 inode를 할당하는것이 copy 명령어의 과정

cp aa bb ==> 다른 inode를 갖는 aa bb이기 때문에 cp는 용량이 증가하는 명령어이다.
alias cp='cp -i' ==> default
inode 또한 같이 복사시키는 것 (터미널 한번 열려있을 때에만 유효)

삭제=>파일이름과 inode를 끊어놓는것, 파일 이름만 삭제되고 inode는 남아있는다.

 

*md5sum:  무결성을 보장하는 명령어, 이게 같다면 같은파일.. but 내용은 같지만 inode가 다르면 다른파일

 

*mkdir => 디렉토리 생성

mkdir kbs mbc sbs ==> kbs mbc sbs 디렉토리 생성

mkdir -p kbs/mbc/sbs ==> p 옵션을 사용하면 kbs/mbc/sbs 모두 같이 그 순서로 생성하여준다.

디렉토리도 inode가 부여되고, 디렉토리 많아지면 PC성능저하된다.

Cp kbs dddd ==> kbs 디렉토리를 dddd로 복사한다. 내부의 디렉토리 또한 모두 복사.

삭제명령어

 

*rmdir => 디렉토리 하위가 다 비어있어야 삭제가능하다.

 

*rm => 파일, 디렉토리  모두 삭제 가능하다.

  [option]

           -r : 디렉토리 삭제

           -rf: 전체 강제 삭제 ex) rm-rf / ==>/밑의 모든 파일, 디렉토리 강제삭제