본문 바로가기

리눅스 (Linux)34

리다이렉션 [명령어] 파일의 내용을 명령어의 입력으로 사용 [명령어] > [파일명] ----> 명령어의 결과를 파일에 덮어쓴다 [명령어] >> [파일명] ----> 명령어의 결과를 파일에 추가한다 [명령어] 1> [파일명] ----> 명령어의 결과를 파일에 덮어쓴다 [명령어] 2> [파일명] ----> 명령어의 결과가 에러일때, 에러를 파일에 덮어쓴다 [명령어] 1> [파일1] 2> [파일2] ----> 명령어의 결과는 파일1에, 에러는 파일2에 덮어쓴다 [명령어] 1> [파일] 2> [파일] ----> 명령어의 결과, 에러 모두 파일에 덮어쓴다 위 명령어들을 실행할 때, 해당 경로의 해당 파일이 존재하지 않으면 알아서 파일을 생성하고 내용을 입력한다. 위 리다이렉션들 사용법들 중 > 를 .. 2021. 12. 19.
명령어 치환 (Command Substitution) 역따옴표(backtick) ``로 명령어를 감싸서 변수에 넣어 활용할 수 있다. -----------------kimchi.sh---------------- #!/bin/bash kimchi=`basename $0` basename은 해당하는 파일의 파일명만 반환해줌 echo "김치 변수 = $kimchi" ------------------------------------------- $ ./kimchi.sh 김치 변수 = kimchi.sh 위처럼 변수안에 basename 명령어를 실행한 결과를 넣어 echo 명령어 안에서 이용할 수 있다. 또 다른 예시. #include #include using namespace std; int main() { cout 2021. 12. 19.
특수 변수 쉘 스크립트에서 정해져있는 특수 변수가 있고 각 특수 변수들의 사용법과 의미는 다음과 같다 $0 : 현재 스크립트 파일 이름 -------------kimchi.sh 파일 안에서 작성---------- #!/bin/bash echo "이 파일의 이름은 $0입니다." ------------------------------------------------- $ ./kimchi.sh 이 파일의 이름은 ./kimchi.sh입니다. 파일명 앞에는 실행시킬 때 경로 입력한것에 따라 바뀐다. 현재 경로에 있다는 의미로 쓴 ./ 가 $0 에 같이 나오듯 a/b/c/kimchi.sh 라고 실행하면 $0 도 a/b/c/kimchi.sh 라고 나온다 $1 : 첫번째 아규먼트 $2는 두번째, $3는 세번째... 10번째부터는.. 2021. 12. 19.
특수 권한 특수권한 사용자의 파일 권한을 부여하여 기초적인 보안체계를 유지 파일이나 디렉토리에 유저,그룹,기타 권한이 존재 각각 읽기, 쓰기, 실행 권한을 부여 이러한 권한을 수정하기 위해 chmod 명령을 사용하는데 쉘에서 특수 권한을 주기 위해서도 같은 명령을 사용한다 특수권한은 SetUID, SetGID, Sticky Bit 세가지가 있다 각 특수권한을 지정하는 방법 $ chmod [1~7][rwx권한숫자3자리] [파일명] $ chmod 7721 setuid.sh -------------------------------------------------------------------- $ ll -rws-wS--t 1 root root 49 Dec 17 16:20 setuid.sh* ---------------.. 2021. 12. 19.