Developer Note/국비과정 수업내용 정리&저장

24년 08월 07일

DH_PARK 2024. 8. 7. 16:56

오전

repositories : repositories란 개인 Github 계정에 파일이나 폴더를 저장해 두는 저장소를 의미한다. 

리눅스 터미널 명령어

최신버전 업데이트 작업

1 .sudo : 현재계정에서 root권한을 사용하여 명령어를 쓸 때 사용. 관리자 권한 잠깐 획득

 

멀리떨어져있는 상태에서 작업하는게 보통

통신접속을 통해서 제어하는게 보통

다른pc에 접속하려면 ip가 필요하다.

멀리서 관리하기 위해

  1. ssh Service install : 서버 설치 명령어

sudo apt isntall openssh-server

apt :리포지토리로부터 뭔가를 추가하거나 지우려 할 때 사용하는

sudo systemctl status ssh 설치상태확인

  1. 방화벽 활성화 작업

sudo ufw allow ssh : 방화벽 활성화 허용

sudo systemctl enable ssh 서버용프로그램 자동실행 될 수 있도록 하는거

sudo su : 관리자 모드

putty download 클라이언트용 프로그램

64비트 다운받기

host name : 접속해야할 ip 넣기 (리눅스의 네트워크 설정에서 할당한 ip주소를 넣어준다)

Saved Sessions 에 정처산기Linux 입력(이름)

Load 정처산기 linux 실행.

 

글꼴을 consolas 추천하는 이유 : 0과 영문 O가 구분이 잘 됨.

리눅스사용을 추천하는 이유 : 무료 , 오픈소스(원하는 형태의 리눅스를 만들 수 있음)

C언어 → 플랫폼에 독립적 사용 #현대 와서는 그렇게 의미가 있지 않음

@ : at (.같은뜻)

~ : 틸드 ,사용자의 작업공간이다 라는 뜻?

$관리자인지 일반user인지 구분해주는 문자 #가 관리자 계정 $가 일반계정

shell : 명령어 해석하는 프로그램

/ : 폴더의 위치를 구분

비번바꾸기 passwd user1

비번 2번 적기

ifconfig : 네트워크 확인 명령어

pwd(Print Working Directory) : 현재 위치 확인 명령어

cd(Change Directory) : 디렉토리 변경 명령어

사용자계정 : root 계정

상위 폴더 : root directory

cd : 절대경로, 상대경로 이용하는 방식

경로 앞에 /붙어있으면 절대경로 없으면 상대경로 /가 최상위디렉토리 !

리눅스 명령어 → [명령어 -옵션 -경로] 가 보통 기본값

[옵션]

  • a : 모두보기 (숨김파일도)
  • -l : 자세히 보기
  • -R : 하위까지 보기
  • -d : 디렉토리 보기

ls : 디렉토리 목록 확인

ls /etc/ ls -l /etc/ 법칙 1 [명령어][옵션][타겟] ls -al /etc/ 법칙 2 명령어의 옵션은 조합이 가능하다 ls -Ral /etc/ cd /etc ls -l 법칙 3 상대경로에서의 작업은 생략이 가능하다. ls -ld /etc

l : 링크파일

dir : 디렉토리파일 (ls랑 거의 비슷한 명령어라고 한다. 그러나 ls에서 더 많은 기능을 제공하기 때문에 대부분 ls를 사용한다.)

r : 일반파일


-p : 상위디렉토리 포함 생성

[실습] Mkdir /home/test

Ls -l /home

Mkdir /home/heath/a/b (x) Mkdir /home/heath/a Mkdir /home/heath/a/b

Ls -al /home/heath/a Mkdir /home/test/c/d (x) Mkdir -p /home/test/c/d/

mkdir(Make Directory) : 디렉토리 생성 명령어

mkdir -p ./test4/a/b/c : c를 만드려 할때 상위폴더가 없다면 -p를 입력하면

상위폴더까지 같이 만들어준다 (없으면 안됨!)

touch 4 5 6 : 상대경로에서 파일 만들기 (현재폴더에서)


[옵션]

  • d 00:00 : (date time) 시간
  • t YYYYMMDDHHmmss : 날짜시간 변경

[환경] mkdir /touch cd /touch

[실습]

touch /touch/1 touch 2

touch /touch/3 4 ./5 법칙 4 띄어쓰기시 새로운 옵션 및 경로가 지정된다.

touch -d 12:12 1

touch - t 201601010101 6 날짜시간 지정 빈파일 생성

cf) stat(파일 상태확인명령어) 6 하면 해당 파일의 변경날짜 확인

man(manual) : 명령어 정보 확인

touch :파일생성, 파일의 시간을 변경

touch /home/test1/2 /home/test1/3 : 한 칸 띄우고 치면 여러개를 만들 수 있음

시간변경 명령어: touch -t 199901011200 12 (YYYYMMDDHHMM) (파일이름)


cp : 파일복사 명령어

-p : 보존복사 : 원본 파일의 소유주, 그룹, 권한, 시간 정보들을 그대로 보존하여 복사

-r : 디렉터리 복사 :일반 파일이면 복사, 원본이 경로면 그 경로를 따라 경로 안에 있는 모든 하위 경로, 파일 복사

파일 여러개 복사

cp /home/test1/6 /home/test1/7 /home/test1/8 ./(현재 디렉터리라는 뜻) :상대경로

cp /home/final/12 /home/final/15 /home/back/ : 절대경로 (마지막폴더에 복사함)

하면 한번에 여러개 복사됨

오후

mv : 파일 디렉토리 이동(삭제도 하고 생성도 함 , 삭제보다는 높은 권한)

mkdir /mvfile /mvtest
cd /mvfile
touch 1 2 3 4
mkdir a b c
cd /mvtest

rm(remove) 파일,디렉토리 삭제

[옵션]
-f : 강제 삭제
-r : 디렉토리 삭제
-i : 질의(y/n)

[환경]
mkdir /rmtest
cd /rmtest
touch 1 2 3 4
mkdir a b c

find : 파일,디렉토리 검색하는 명령어

find 파일&디렉토리 검색

  • `------------------------- [옵션]

name : 파일/디렉토리명 검색

perm : 지정된 퍼미션 검색

size : 파일 크기가 일치하는 파일 찾기

type : 파일 형식 지정함

exec : 검색 결과를 해당 명령어로 실행 하는 옵션

o : 복수 옵션 적용

type : 파일 유형검색 (파일 or 디렉토리)

atime n : n일 전에 엑세스한 파일 찾기, +n 또는 -n 형식으로도 사용가능

mtime n : n일 전에 마지막으로 수정된 파일 찾기, +n 또는 -n 형식으로도 사용가능

newer : 지정된 파일 이후 생성된 파일 찾기

used n : 변경된지 n일이 지난 모든 파일 찾기

uid : 지정된 UID를 가진 파일 검색

gid : 지정된 GID를 가진 파일 검색

group : 지정된 그룹을 가진 파일 검색

user : 지정된 소유자가 소유한 모든 파일 검색

 

cat : 문서 파일안의 내용을 확인 (행수도 같이 출력)

cat /etc/passwd (etc 폴더안에 passwd 의 내용을 보겠다 !) #행 수 없이

cat -n /etc/passwd 행수 나오게!

 

head : 위에서부터 기본10줄 표시

head -7 /etc/a (a의 위에서부터 7줄을 표시하겠다)

 

tail : 밑에서부터 기본10줄 표시

tail -7 /etc/a (a의 위에서부터 7줄을 표시하겠다)

 

more : 화면 크기만큼 출력


리다이렉션

해당 파일의 내용을 다른 파일에 적용시키고 싶을 때 사용하는 명령어 < , >를 사용한다.

시험은 표준출력 리다이렉션만 나옴!

cat > ./a : a라는 파일안에 내용을 넣겠다.

쓸 때마다 계속 들어감 !

cat >> a : a안에 내용을 유지하고서 그대로 내용을 넣음 !

ls -l /etc > b : b파일 안에 etc의 내용들이 다 들어감

cat /retest/{a,b,c} > /retest/d # 저기서 a,b,c는 파라미터라서 저런 방법도 가능

ls -l /b |cat -n |more -5


 

apt install vim : vim 모듈 설치

vi : 텍스트모드

i : insert

esc : 이동모드로 다시

: 실행모드

:q (나가기) 저장안하고 나가려면 강제종료(q!)

:s 현재 커서 위치의 문자를 삭제 

vi passwd

u 이전으로 돌아가기

오전

리눅스 , putty 설치

putty 에서 파일 복사하는법 , 폴더 만드는법 등 함

 

곧 있을 내부 시험에 나올 문제 정리

  1. /etc/login.defs /etc/inittab /boot/grub2/grub.cfg 파일을 확인하고 3개의 파일 /backup 디렉토리 생성한 뒤 복사
  2. /backup에 있는 3개의 파일 /backup/test 디렉토리에 각각 login init grub 란 이름으로 이름변경 복사
  3. /backup에 test1 이라는 파일 , /backup/test 에 test2 라는 파일을 한줄명령어로 생성
  4. /backup/test 디렉토리를 /home/test/c/d/linux란 이름이 되도록 이름변경 보존 복사
  5. /home으로 이동(cd /home) 한뒤 경로를 변경하지 않고 /backup안에 있는 파일들 4개를 /home/test/c/d/linux 디렉토리에 한줄명령으로 보존복사 (이름변경및 디렉토리 복사 금지)

그리고 깃허브에 있는 문제풀이 (5개 중에 3개가 평가 문제로 나온다고함! , 내부평가 , 아마 123번 나올거라고 하는데.. 그래도 5번까지 알아두면 좋을듯! )

오후

리눅스 명령어 계속 연습

  1. /output 디렉토리 만든 후 /etc/passwd, /etc/login.defs 를 복사
  2. /output/login.defs 의 내용을 위에서부터 5줄만 확인하세요
  3. /output/login.defs의 내용을 화면 크기만큼 끊어서 확인하세요
  4. /output/passwd의 내용을 행번호를 붙여서 확인해보세요
  5. find 명령어를 이용해서 /output 디렉토리 안의 login.defs , inittab, passwd의 내용을 위로 5행만 출력하는 alias a1 을 만들고 실행해서 확인해 보세요(이건 아마 안나올듯) 빼고 2개정도 나올듯?

cp -rp /backup/test1 /home/test/c/d/linux

cp /backup/grub.cfg /backup/login.defs /backup/passwd /backup/test1 /home/test/c/d/linux

 

p.s  오늘은 리눅스를 배웠다만 해봤는데 꽤 흥미로웠음.

리눅스 화면을 보면서 하니까 눈에 즉각적으로 잘 들어와서 더 와닿는 것도 있었고.

근데 너무 많은 양을 배운것 같아 머리에 다 저장이 안된다는게 조금 아쉽다...

집에가서 좀 들여다보고 쳐보고 하면 좀 외워지겠지? 

'Developer Note > 국비과정 수업내용 정리&저장' 카테고리의 다른 글

24년 08월 09일  (0) 2024.08.09
24년 08월 08일  (0) 2024.08.08
24년 08월 06일  (0) 2024.08.07
24 년 07월 31일  (0) 2024.08.07
24년 08월 2일  (0) 2024.08.06