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 끝으로 가기
'[네이버클라우드] 클라우드 기반의 개발자 과정 7기 > 리눅스' 카테고리의 다른 글
4-1 Ubuntu linux 설치 (0) | 2023.04.27 |
---|---|
주짓수 갔다온 다음 날 4일 차 (5) | 2023.04.27 |
3-1 리눅스 설치 (0) | 2023.04.26 |
늦잠 리눅스 2일 차 (3) | 2023.04.25 |
NC7 1일 차 리눅스 등장 (1) | 2023.04.24 |