。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

[네이버클라우드] 클라우드 기반의 개발자 과정 7기/리눅스

3일 차

quarrrter 2023. 4. 26. 16:48

1. 파일 분류

2. 링크 파일

3. 기초 명령어

 


더블클릭 : 해당 한 줄 복사
트리플클릭: 전체 한줄

vi 에디터
:w s1  /s1 이름으로 저장 
:saveas s1  /s1으로 다른이름으로 저장 

f  : 파일 이름보기

 

profile 주파일
bashrc 보조파일

 

PATH=$PATH:.   현재경로 PATH에 환경변수 추가하기
(환경변수 아니면 ./ 붙여야하는데 싫을 때 환경변수 추가하기)

 

gcc -o bb b.c
=> b.c 내용을 bb에 output gcc(컴파일)


1. 파일 분류 / file

file b file b.c  // 파일 내용보기 -   소스코드면 nl b.c 로 읽어볼수있음
디렉토리라면 .. 
file /etc
/etc: directory

파일의 종류
l 심볼릭링크, 바로가기
- 파일
d 디렉터리
c 캐릭터 장치파일 / 버퍼링 x (키보드, 모니터,,)
b block 형 장치파일 /버퍼링 됨/ 캐릭터보다 빠름
s socket
p named pipe / 프로세스 통신 

일반 

text -  에디터로 열 수 있는 파일 / 자바파일 등,,

binary - cpu가 인식할 수 있는 파일 / a.out

특수

directory 

장치파일 - 블럭형 : 버퍼링을 사용하여 성능 향상 /HDD floppy CD-ROM USB

               - 캐릭터형 : 버퍼를 사용하지 않고 byte 단위 data 입출력 / 프린터, 키보드, 모니터 

 

 

2. 링크파일

파일 복사: 하드디스크 용량 차지

링크 : 하드디스크 용량 차지 x

 

*소프트링크: 주소 값만 가지고 있는 포인터 개념

ln -s b sb   : b를 sb 이름으로 바로가기 만들기

ln -s /usr/local/ 66 :/usr/local/를 66이름으로 바로가기 만들기

*하드링크: 레퍼런스 개념, 하드디스크 차지하지 않고 이름만 여러개 

ln lb b // lb 링크를 b로 복사

 

3. 명령어

( ls tap tap  : 하면 여러 명령어 나오는데 그 명령어의 ls(정보 ) 목록이 나옴 )

■파일 내용 보기: cat, nl, head, tail, more, less 

 

■sort : 파일 내용을 분석하여 행을 기준으로 구분하고 결과를 정렬하여 출력 (a부터 z까지)

sot -r : 리버스정렬

ls -l /var/log | sort -k 5 : 5번째가 파일 크기목록이므로 파일 크기 순으로 정렬 

ls -l /var/log | sort -n -k 5 :     -n : 숫자크기순으로 정렬 

*who | sort // 파이프 활용 

 

■wc : 문서의 행과 단어 그리고 문자의 개수를 카운트하고 출력

wc -l , wc -w, wc-c

who | wc -l

apt list --installed | wc -l

 

■grep : 지정한 특정 문자열 검색하여 동일한 문자열이 있는 줄의 패턴을 찾아 출

grep http s : s 파일에서 http 가 들어가있는 라인만 검색 

grep domain s -c  / c: count 

grep domain s -i / : i 대소문자 무시

grep domain s -v :반대로 없는 것만 출력 

grep domain s -n : n 몇번재 행에 있는지 보여

grep ^http s -n : ^  http 로 시작하는것만 출력 

grep ice$ s -c : ice로 끝나는 것만 출력

ls -al /etc |grep "^d" : 디렉토리만 찾겠다

 

 

ftp             21/tcp

http            80/tcp    

smtp            25/tcp 

pop3            110/tcp     

domain          53/tcp 

 

■pipe |  연결,,

who | sort 

who | sort | nl 

who | sort | nl | column

 

■숫자 다루기

1. expr

expr 20 + 3

2. let

let k=2+7

echo $k

9

3. seq

-> seq 5   // 1 2 3 4 5

->seq 0 2 20 // 0부터 20까지 2의 배수 

 

■문자열 다루기

k="korea"
echo $k

 

■문자가 몇글자인지

echo ${#k}

echo `expr length $k`

값은 5

 

j4@ace:~/d3/d30$ echo '$k'   -> k자체
$k
j4@ace:~/d3/d30$ echo "$k"   ->변수로 
korea

 

j4@ace:~/d3/d30$ echo $k'is'
koreais
j4@ace:~/d3/d30$ echo ${k}_seoul
korea_seoul

 

공백을 포함하려면 " " 로 감싸기 - 권장x  언더바 사용하기 

■whereis whatis whichis 

whereis ls / whatis ls/ whichis ls

 

■dpkg

설치된 패키지 검색

 dpkg를 이용해서 설치된 패키지를 검색하는 방법은 -l 옵션(list)으로 아래와 같이 가능하다.

 

$ dpkg -l 패키지_이름

-l 옵션만 쓰고 뒤에 아무 이름도 명시하지 않으면 설치된 모든 패키지가 화면에 출력된다. 만약 정확한 이름이 기억나지 않아서 패키지 이름으로 검색되지 않는 경우에는 아래와 같이 grep 명령을 추가해서 키워드로 검색할 수 있다. 참고로 -l과 grep 사이에 쓴 막대기는 역슬래시(\) 문자를 쉬프트(Shift) 키와 함께 누른 것이다. (리눅스 파이프라인에 쓰는 문자)

 

$ dpkg -l | grep "패키지_이름의_일부"

■find 검색

find [찾을 위치] [option] [수행할 명령]

find ~ -name *.c : ~홈에서 .c 파일 이름을 찾아

2>/dev/null 오류 무시

 

find / -size +30M -exec ls -Alh {} \; 2>/dev/null

-exec ls -al {} \;     검색되었을 때 특정 명령 수행

 

■filter

-tr

tr 명령어는 문자를 변환하는 필터로 인용 부호나 [ ]를 사용하여 지정한 내용을 변경한다.

echo {a..z} | tr 'a-z' 'A-Z'    : 소문자를 대문자로 변환 

 

-sort

-uniq

uniq my.txt : 중복은 제외하고 출력

uniq my.txt -c : 카운트

uniq my.txt -i : 대소문자 구분 없이 

uniq my.txt -i | sort -r : 리버스로 정렬

 

-shuf

shuf -e 'ace' 'king' 'korea' : 랜덤 출력

shuf -i 1-10 : 1에서 10까지 랜덤 출력

shuf -i 1-45 -n 6 | paste - - - : 1에서 45까지 6개 3줄로 랜덤 출력

 

■압축 

gzip<->gunzip

bzip2<->bunzip2

xz<->unxz

 

■tar 묶기 

c: 새로운 tar 파일 생성

x: 풀기, 추출하기

v: 상태 보여주기 

z: 압축 

 

wget 어쩌구저쩌구.tar.gz

gunzip 저쩌구.tar.gz

tar xf 저쩌구.tar

du 저쩌구     //파일크기 확인 

gzip 저쩌구.tar

tar cf a.tar 저쩌구   //저쩌구 디렉토리를 a.tar로 묶기

gzip a.tar

 

tar cfz b.tar.gz 저쩌구 // 저쩌구 디렉토리를 b.tar.gz로 묶음과 압축 한 번에

tar xfz b.tar.gz   // b.tar.gz 압축파일을 묶음해제와 압축해제 한 번에

 

컨트롤 u 지우기
control e 끝으로 가기