Linux

Linux - 3차시

박지유 2022. 6. 15. 18:27

 

 

명령어를 더 배워보자!
sudo & su
일반 user계정에서 root계정 이용시 사용

sudo와 su의 차이점
-sudo : 명령어를 관리자 권한으로 실행시킬때
-su : 계정을 user에서 root계정으로 변환할 때
chmod
권한을 바꾸어주는 명령어
sudo chmod [권한 수준] [파일/폴더명]

이 명령어는 관리자 권한이 아니면 실행이 불가능합니다.

[ex]

파일이 아무 권한도 가지지 않고 있는것을 확인할 수 있다.

 

파일이 실행되지 않는다
다음과 같이 모든 권한을 주게 되면 , 실행이 가능해진다.

chmod

d : directory
r : read
w : write
x : execute

chmod 777의 뜻

맨 앞의 7 owner
두번째의 7 group
세번째의 7 others

vim

vi(텍스트 편집기)의 플러그인 버전
초심자에게는 어렵지만 잘 쓰면 겁나 편함!

sudo apt-get install vim으로 꼭 설치 후 사용

사용법 : vim [원하는 파일명]

입력모드 i / a / o
파일저장 :w
저장 x :q
저장하고 나가기 : :wq
강제 종료 :q!
강제 저장후 나가기 :wq!
mkdir
폴더를 만들 때 사용
-p옵션 : 상위 폴더까지 생성 가능
-m 옵션 : 권한까지 한번에 설정 가능 
rm / rmdir

rm : 파일 삭제시
rmdir : 폴더 삭제시 - 폴더 안에 파일이 있으면 삭제 불가능
but, rm -r [폴더]를 이용하면 파일뿐만이 아니라 폴더도 삭제 가능
rm -f 옵션 : 강제로 삭제
mv / cp
mv : 잘라내기 혹은 이름변경
-mv [ file1 ] [ 경로 ] : file1을 해당경로로 잘라 넣겠다
-mv [ file1 ] [ file2 ] : file1 의 이름을 file2로 바꾸겠다

cp : 복사 붙여넣기
cp [ file1] [ 경로 ] : 해당 경로에 file1을 붙여 넣겠다
shell Script
Bash Shell 에 명령을 내릴 수 있는 명령
C언어와 비슷하며 파일 확장명은 sh이다

변수선언

변수를 선언할 때에는 '='을 사용

변수명은 영어, "_", 숫자만 허용

번수를 이용할 때는 '$'를 사용
출력문
pruntf, echo사용

$0 : 실행하는 스크립트의 파일명으로 실행했을 떼 경로를 포함한다면 경로를 포함해서 나옴.

입력문
read로 받을 수 있음
배열 선언
배열 index는 0부터 시작
@를 넣으면 모든 원소들 출력
배열의 출력할때는 항상 {}사용
배열을 입력할때는 read -a옵션 이용


조건문
문자열을 비교 할 때 '같다'를 쓰고싶으면 =를 쓰기
정수형 끼리 비교할 떄에는 -eq, -ne, -gt, -ge, -lt, -le등을 써주기
계산할 때는 'expr 식' 으로 써줘야 함

if 의 기본형태
if [조건]; then
~~
elif [조건]; then
~~
else
~~
if
반복문
() 두개 사용
do 바로 밑에 하고싶은 행동
done은 작업을 끝냄. do 와 세트
무한반복은 for((;;))
함수
함수의 기본 선언방식
함수 pramaeter 전달방식
-매개 변수 사용 x
-argv인자 전달방식

곱셈.

모든 실습에서 권한을 다 주었는데도 이렇게 뜹니다..

사칙연산

function djska(){
        printf "Input Sign : "
        read a
        printf "Input Number : "
        read b c
        if [ $a == "+" ]; then
                echo "$b $a $c = `expr $b + $c`"
        elif [ $a == "-" ]; then
                echo "$b $a $c = `expr $b - $c`"
        elif [ $a == "*" ]; then
                echo "$b $a $c = `expr $b * $c`"
        else
                echo "$b $a $c = `expr $b / $c`"
        fi

}
djska

별찍기

read q
for((i=0; i<q/2+1; i++))
do
        for((j=0; j<q/2-i; j++))
        do
                printf " "
        done
        
        for((j=0; j<2*i+1; j++))
        do
                printf "*"
        done
        
        echo ""
done

곱셈

function qwer(){
        for((i=1; i<10; i++))
        
        do
                echo "$a*$i=`expr $a "*" $i`"
        done
        
        printf "Input Number : "
        read a
}
printf "Input Number : "
read a

while [ $a -ne 0 ];
do
        qwer
done

 

1. NEFUS라는 폴더와 그 폴더의 하위폴더로 20th 폴더 만들기

2.NEFUS폴더에 권한을 756, 20th 폴더에 권한을 745로 주기

3.20th 폴터 안에 아무 파일 만들기

4.그 파일의 권한을 441로 주기

5.20th 폴더안에 만든 파일 NEFUS 폴더로 복사하기

'Linux' 카테고리의 다른 글

Linux - 2  (0) 2022.06.14