리눅스가 gui로 시작되서 로그인 환경설정을 테스트하는 예제를 해볼수가 없었다. 프롬프트로 시작하는 방법이 있을텐데 책에도 나오지 않고 검색으로도 찾지 못해서 그냥 넘기기로 했다.
그래서 로그인을 프롬프트로 할수 없으니 .profile대신 .bashrc을 변경해서 쉘이 시작될때를 변경해서 테스트를 하기로 했다.
.bashrc에 echo "쓰고픈 문자" 입력해서 표시하고 echo "`date`"로 날자도 표시해 봤다. 명령어는 키보드 왼쪽 상단의 역 따옴표로 감싼다.
예제로는 .bashrc을 새로 만드는거을 보여주는데 원본파일이 날라가면 안될것 같아서 전체를 바꿔보진 못했다.
#아래 명령은 파일을 생성할 때 퍼미션을 정하는 명령어로 077은 rwx-------모드로 생성하라는 의미이다.
umask 077
#bash는 사용한 명령어를 .basho_history파일에 저장해두고 history명령어를 입력했을때 다시 불러와줄수있다 histsize는 화면에 출력할 명령어 개수이고 histfilesize는 파일에 저장해둘 history의 개수를 의미한다. 예제에서는 10개 100개인데 우분투에서는 1000개 2000개로 설정되어있다.
export HISTSIZE =10
export HISTFILESIZE = 100
#아래는 tty터미널의 세팅에 관한 명령어로 글자를 지울때 CTRL+H로 설정했다는 의미이고 이것은 백스페이스<-를 뜻한다.
stty erase ^H
#alias는 별명을 설정해 기존의 명령어를 단축해서 별명을 만들어 쓸수 있다.
alias md='mkdir'
.
.
.
#path는 사용자가 친 명령어를 찾을 경로를 기억하고 있으며 :이 나누어진 순서대로 최초 .을 시작으로 없으면 다음 경로 순으로 찾아간다.
export PATH = .:/bin:/usr/sbin:/usr/bin:/usr/lib:/usr/local/bin
#PS1환경변수는 쉘 프롬프트의 모양을 나타낸다. PWD환경변수에 의해 현자 자신이 위치한 디렉토리의 절대경로를 표시하도록 지정하고 있다. .bashrc파일이 최초한번 수행하게되면 지정된 프롬프트의 모양을 화면에 나타낼수 있다.
export PS1="[$PWD]
alias 명령어를 입력하면 설정된 별명들을 볼수있다. 책의 저자는 vim을 vi로 해놓고 쓰고 있었다. 치사해... vim 설치법도 안알려주고 혼자쓰네 ㅠㅠ
그리고 초반에 실패했던 glade-3설치는 루트 계정으로 해보니 가능했다 왜 루트계정은 되고 내계정은 안되는지는 모르겠다.
vim을 설치해보니 vi보다 훨씬 좋은걸 알수 있었다 vi는 편집모드와 명령어모드가 구별이 안되는데 vim은 insert라고 입력 모드때 알려줘서 굉장히 좋은거 같다.
history를 입력하게 되면 숫자와 입력했던 명령어가 나오는데 !숫자를 입력하게 되면 해당 명령어를 다시 쓸수있다. 또한!문자열로 문자열로 시작하는 최근 명령어를 실행하게 된다.
메타문자란 명령어를 효율적으로 쓰게 도와주는 문자들로 |,<,>,&등이 있다.
>표준출력을 파일에 기록하는 출력 재지향
>>파일 끝에 표준 출력을 덧붙이는 출력 재지향
<파일로 부터 표준 입력을 읽는 입력 재지향
|프로세스의 출력을 다른 프로세스의 입력으로 보내는 파이프기호
등등이 있다.
예를들어 ls > yh.txt를 하게 되면 파일 목록을 yh.txt에 입력할수 있다.
|은 파이프라인 기능을 통해 명령어의 출력을 다른 명령으로 전달하는 기능을한다. 이렇게 명령어를 연결하여 사용함으로서 큰작업을 빠르게 할수있다.
ls|grep txt| tee test.txt 라고 입력한다면 파일 목록중 txt를 가진 목록을 test.txt에 저장과 동시에 화면에 뿌려주는 명령을 할수있다.
tee라는 명령어는 표준입력을 파일에 저장함과 동시에 표준출력으로 보여주는 기능을 한다.
;은 명령을 순차적으로 실행하게 하는 명령어로 ls;pwd;whoami를 하면 순서대로 명령어가 실행되는것을 볼수 있다.
*는 임의 문자열 ?은 임의 문자 그리고 [집합]을 통해 문자의 범위를 지정할수있다.
작업 제어를 하는 방법중에 &를 끝에 붙임으로서 쉐를 붙잡지 않고 백그라운드 작업으로 처리할수 있다. 이렇게 되면 쉘 상에서 명령어가 포그라운드로 마냥 기다리지 않고 빠져나오게 된다
fg 명령어는 백그라운드로 실행하는 작업을 포그라운드로 전환 bg는 포그라운드 작업을 백그라운드로 실행할수 있는 명령어이다.
sleep 100은 100초동안 기다리라는 명령어로 시작시 포그라운드로 진행되서 쉘을 사용할수 없다. 컨트롤+z로 잠시 실행을 멈추고 bg명령어로 백그라운드로 전환할수있고 fg로 다시 포그라운드로 전환할수도있다.
드디어 낼부터는 쉘 프로그래밍을 해볼수 있을꺼같아서 기대가 된다 너무 졸려서 오늘은 여기까지 점점 께을러 지는거 같다 ㅠㅠ
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.