SHELL : 사용자들이 내리는 명령어 해석하여 기계어 번역 후 kernel 전달
echo $SHELL
현재 사용자의 기본 쉘 확인
■ls : 디렉터리 or 파일 목록 출력
ls / : 최상위 디렉토리 가기
ls -l : 탐색기가서 목록보는 것처럼 상세 정보
ls -a : .으로 시작하는 (. : 숨김 속성을 가진 파일) 도 표시 (a = all)
ls -al :디렉터리 내 각 파일들의 권한, 날짜 및 이름을 한꺼번에 볼 수 있다.
ls -al /etc :etc 디렉토리 보겠다 ls -al . :. 숨김속성 파일 보겠다
ls -S : 내림차순
ls -Sr : 오름차순
대소문자, 슬래시 구분
■파일 다루기
파일 | 디렉터리 | |
생성 | touch | mkdir |
vi | mkdir -p | |
cat (파일 만들기, 내용보기 둘 다) | ||
복사 | cp | cp -r |
-i | ||
-f | ||
이동 | mv | mv |
이름 바꾸기 | mv, rename | mv |
삭제 | rm | rmdir, rm -r |
■옵션
-i | interactive 대화형 모드 ( 덮어쓸지 물어봄) |
-f | force 강제 |
-r | recursive 재귀적 작업, 하위디렉터리까지 포함(cp -r, rm -r) |
■mkdir c{1..100}
■rm 삭제
rm a* : a로 시작하는거 다 지우기
rm [b-f]*
rm [^xyz]* : xyz 빼고 삭제
rm * : 전부 삭제
rm -rf c* : c로 시작하는 모든 파일 삭제
2>/dev/null: 에러 안 뜨게
■cp 복사하기
cp -r /etc/s* . 2>/dev/null
=>etc 에서 s로 시작하는 파일 복사, 에러뜨면 무시
cp /etc/vtrgb . ; cp /etc/magic . (.은 현재 폴더에 복사)
ㅣ: 목록보기
[a4가 파일일때]
cp /etc/magic a4 : magic을 복사하면서 이름은 a4 로 바꾸기
cp /etc/magic a4 -f : 안 물(중복 시)
cp /etc/magic a4 -i: 묻 (중복 시)
[d200이 디렉토리일때]
cp /etc/magic d200
디렉토리 d200안에 매직 복사
cp /etc/magic d200/a9
디렉토리 d200안에 a9 이름으로 매직 복사
** alias cp='cp -i' 만들어 놓으면 cp 할때마다 물어볼것임
■mv 이름 바꾸기 & 이동
mv sh psh : 1. sh 파일 명을 psh로 변경 2. sh파일을 psh 디렉터리로 이동
ll /tmp : tmp 열어보기
mkdir d20 && cd d20 : d20을 만들고 d20으로 들어가기rename s/\.conf/.777/g *.conf :.conf를 .777로 바꿔라 <--아직 모르겠음
**프로그램 목록 보기**
apt: 설치된 프로그램
apt list // cntl c : 끊기
apt list --installed
apt list --installed | nl
apt list --installed | wc -l 몇갠지만 보기
**파일 내용 보기 nl, cat ,head, tail **
head , tail / 10줄씩만
head -5
more / 엔터: 라인단위, 스페이스 : 페이지 단위, b: 페이지 백 , q: 나오기
less (검색 가능) : /apache : apache 파일 검색 , 스페이스 : 페이지 단위, b: 페이지 백 , q: 나오기
**매뉴얼 사용하기 man,info, help**
man ls / info ls / ls --help
/name :name이란 문자열 검색
■file
file은 지정된 파일의 종류(타입)을 확인하는 명령어
사용법 : file 파일명
■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" : 디렉토리만 찾겠다
■pipe | 연결,,
who | sort
who | sort | nl
who | sort | nl | column
■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 압축파일을 묶음해제와 압축해제 한 번에
'[네이버클라우드] 클라우드 기반의 개발자 과정 7기 > 리눅스' 카테고리의 다른 글
[리눅스] 디렉터리, 경로 (0) | 2023.05.07 |
---|---|
[리눅스] vi editor (0) | 2023.05.07 |
[리눅스] 가상환경에서 리눅스 설치하기 (0) | 2023.05.07 |
9일 차 리눅스 마지막 날 총 정리 + 설치 내용을 담은 스크립트 만들어보 (0) | 2023.05.04 |
8-2 쉘 프로그래밍 (0) | 2023.05.03 |