。゚(*´□`)゚。

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

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

늦잠 리눅스 2일 차

quarrrter 2023. 4. 25. 21:39

/ : 디렉터리

~: HOME

l : link
-: 파일
d: 디렉토리

 

ls : 디렉터리 or 파일 목록 출력

ls /  : 최상위 디렉토리 가기

ll :디렉터리 내 각 파일들의 권한, 날짜 및 이름을 한꺼번에 볼 수 있다.

이는 사실 ls -al명령어의 축약형이지만 이렇게 입력하는 것보다 ll로 입력하는게 훨씬 간단하기도 하다

ls -l : 탐색기가서 목록보는 것처럼 상세 정보 
ls -a : .으로 시작하는 (. : 숨김 속성을 가진 파일) 도 표시 (a = all) 
ls -a -l  = 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)

cat

cat > a4
p
s
h
컨트롤 d
=> cat : a4에 내용 넣기 

cat a4 : a4 내용 보기
cat -n a2   (공백 카운트 o)
cat -b a2  (공백 카운트 x) (b = nl)
cat << END > a10
aa
bb
END
nl a10
     1  aa
     2  bb

 

 

mkdir c{1..100}

rm -rf c*  : c로 시작하는 모든 파일 삭제

 

rm 삭제
rm a* : a로 시작하는거 다 지우기
rm [b-f]*
rm [^xyz]* : xyz 빼고 삭제
rm * : 전부 삭제

 

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로 바꿔라   <--아직 모르겠음

 

*계산*

expr 30 / 5 값: 6
expr 30 \* 5 값: 150
expr 30 '*' 5 값: 150

 

 

**프로그램 목록 보기**

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이란 문자열 검색

 

**명령 프롬포트 - Ctrl 키 활용 **

컨트롤 U : 다 지우기 
컨트롤 W : 단어 별로 지우기 
컨트롤 a : 커서를 맨 앞으로 끌고 오기 
컨트롤 e : 커서를 맨 끝으로 끌고 오기 

 

stdin 표준입력  키보드
stdout 표준출력  모니터 
stderr  모니터 
>redirection 재지향 , cnffur ( 출력 방향을 꺾겠다) / date > a8 파일에 넣기
>> append

 

------------
file

file은 지정된 파일의 종류(타입)을 확인하는 명령어

사용법 :  file 파일명

 


lrwxrwxrwx   1 root  root   8  8월  9  2022 sbin -> usr/sbin/
                                                                        -> : 심볼릭링크=소프트링크,바로가기 아이콘,주소값만 가짐,4KB(동일)

 


**리눅스 디렉터리 **

/bin 실행 파일 모음 /usr/bin도 같음 binary
/sbin 관리 명령어 모음
/etc 설정 파일 모음
/var 가변 디렉터리 variable
/usr 설치된 파일
/root root HOME
/home 일반 사용자 기본 HOME
/tmp 임시 디렉터리 temporary (용량 꽉차면 임시 사용)
/dev 장치 파일 모음 device

**PATH(경로)

절대 경로 /부터 시작
상대 경로 pwd가 기준 
  pwd: 현재 작업 디렉터리 확인
. 현재 Directory
.. 부모 Directory
~ HOME Directory
/ 최상위 root Directory

 

**경로 이동 16page (cd - change directory)

cd 집으로
cd / 절대 경로
pwd (현재 작업 디렉터리 확인)
cd /usr 절대
cd /usr/local 절대
cd /etc 절대
cd .. 상대 / 상위 디렉터리로 올라가기
cd ../bin 상대
cd ~ home 으로

 

 



vi editor 

메모장 같음,,

1. 일반 (esc)

2. 입력 (i (앞) a (다음) o (다음 줄) 커서 단위/ I A O(현재 라인 한줄 위 추가) 라인 단위)

3. 실행(:w 저장, :q 끝내기, :wq 저장 후 종료, :q! 강제 종료)

4. 비주얼

 

line, 단어, 문자 단위 작업

기본값은 1라인, 필요한 라인만큼 숫자 넣기
dd 잘라내기  50dd 100dd
yy 복사하기
p 붙여넣기   1000p 소문자 밑에붙음 / 대문자는 위에 붙음
dd p 맞바뀜

u undo 뒤로 돌아가기, 연타 가능

~ 대소문자 변환 

x 한 문자 삭제 
cc 현재 라인 삭제 후 insert


단어 단위
dw 잘라내기  
yw 복사하기
p 붙여넣기

 

커서 이동

h 좌 / j 하 / k 상 / l 우

gg, [[ 처음으로 / ]], G 끝으로

:20, 20G  20줄로 이동

^, 0 행의 처음 / $ 행의 끝

 

:set mouse=a    : 마우스 사용하기 (사용하면 안 되는 기능이 생길 수 있음)
ab P print(" : P누르면 print(" 나오기 // ab j System.out.println(" ");

 

환경설정set (se)se nu / se nonu : 번호 붙이기, 해제 se ai / se noai: 입력 후 줄 넘길 때 띄어쓰기 바로 밑, 처음으로 돌아가기***   ****

 

비주얼모드 : ^v 중간에서 복사할 수 있음 .. 

 

vi .bash_aliases

  1 alias h='history'
  2 alias l='ls -AlF'
  3 alias c='clear'
  4 alias cp='cp -i'
  5 alias mv='mv -i'
  6 alias df='df -h'
  7 alias du='du -sh'

 

unalias k : k 엘리언스 해제
history -c : 흔적 지우기 

 

변수 ($)
a=30
echo $a
30

 


SHELL : 사용자들이 내리는 명령어 해석하여 기계어 번역 후 kernel 전달

echo $SHELL

env

history

!! : 이전 명령어 다시 실행

alias c='clear'

 

지역변수 : set  현재 로그인한 터미널에서만 적용, 다시 로그인하면 소멸 (저장 후 새로 로그인 후 작동)환경변수 : env 시스템이 가지고 있는 설정 값, 다시 로그인해도 유지

 

자동완성기능: tap // his tap => history
tap 2번: 할수잇는거 다 보여줌 (ex: host)
파일 명도 가능 :   nl /etc/z tap

 

bash: shell 종류 中 1,설치 위치는 '/bin/bash' 

vi k.sh

내용입력

bash k.sh    :k.sh shell 실행

 

 

사용자 루트일 때 사용자 j100 만들기
#useradd j100
#passwd j100


아직 x 
PS1='[\! \d \t \u \W] \\$'

PS2 -> 보조 프롬프터 
echo "dfdfd' 
컨트롤 c = 취소 

 

 

--------
CMD
D:   : d드라이브 들어가기 
cls: clear screen
mkdir dd :만들기 (=md dd)
cd dd : 들어가기
rmdir a1 :지우기
di: 디렉터리 보기

. : 자기자신
.. : 부모
tree: 구조 보기
f7 : history
calc: 계산기 실행
mspaint: 그림판 실행
notepad: 메모장 실행

파일만들기 
copy con b.bat
echo hello
mspaint
컨트롤z
=>폴더 들어가서도 있고,  cmd에서 b.bat 입력해도 실행됨 
exit: 나가기

------------