IT/OS - 윈도우, 리눅스

리눅스 명령어 프롬프트, 커맨드라인 단축키

insight_knowledge 2021. 1. 9. 14:50
728x90
반응형

안녕하세요 지식마블입니다. 


오늘은

리눅스 명령어  몇 개와 단축키를 설명드립니다. 


#리눅스 명령어와 사용은 Bash Shell 로부터

리눅스는 윈도우처럼 그래픽유저인터페이스(GUI) 를 제공하지만, 

역시 명령어라인(command line, 이하 커맨드 라인)을 써야 제맛입니다. 

커맨드라인은 텍스트기반의 인터페이스입니다. 


인터페이스 인터페이스 자꾸 이러니깐 뭔가 어려워보이는데, 그냥 어떤 둘 사이를 이어주는 매개체, 연결해주는 도구 라는 정도로 이해하시면 됩니다. 

컴퓨터 관련 용어들은 어렵게 느껴지고 외계어처럼 느껴지는데, 그냥 이런거다 개념을 익히신다음부터는

암기해서 사용하시다보면 익숙해지실 겁니다. 


여튼, 리눅스 커맨드라인은 쉘(shell)이라고 불리는 프로그램이 제공합니다. 다양한 옵션들을 제공해서 사용방법만 알아두면

굉장히 편리하게 시간을 아끼면서 사용할 수 있습니다. 


명령어를 입력하는 창을 쉘 프롬프트(shell prompt) 라고 부르는데, 

이렇게 생겼습니다. 

@앞에 있는 "user" 는 내가 사용하고 있는 계정명입니다. 우리가 어디 로그인할 때 쓰는 아이디라고 하죠. 동일한 겁니다. 여러분이 사용하시는 계정명에 따라

저기 이름이 바뀌겠죠?

@뒤에 있는 "host" 는 여러분이 접속해있는 컴퓨터 서버를 얘기합니다. 어디에 접속해있냐에 따라 이름이 역시 달리 나타나겠습니다. 

"~" 는 여러분이 접속해있는 컴퓨터 서버 내에, 여러분이 현재 있는 위치를 얘기합니다. 

"$" 는 명령어를 입력하는 프롬프트의 끝을 나타냅니다. $ 뒤에 여러분이 입력하고 싶은 명령어를 입력하는거죠

 

자, 이번엔 이걸 보시죠

앞뒤 다 무시하시고 프롬프트 맨 마지막에 있는 것에만 주목을 해보시죠. 

아까 위의 프롬프트와 뭐가 다르죠? 


그렇습니다. 

아까 위의 프롬프트 끝에는 "$" 표시가 있었는데, 지금은 "#" 표시가 있네요. 

이건 의미가 있습니다. 


리눅스에선 일반 사용자계정과, 이 시스템을 관리하는 궁극의 관리자 root 계정으로 나누어집니다. 

일반 사용자계정으로 로그인했을 때에는 명령어 프롬프트가 $ 로 끝나고, 

궁극의 관리자 root 로 로그인했을 때에는 명령어 프롬프트가 # 으로 끝납니다. 


#명령어 입력 기본사항

쉘 프롬프트에 입력하는 명령어는 3가지 부분으로 이루어지는데요, 

1. 명령어 : 실행할 명령어

2. 옵션사항 : 명령어 입력 시 몇가지 선택사항을 추가할 수 있는 옵션

3. 인지값(Argument) : 명령어 실행 대상, 저는 앞으로 아규먼트라 부르겠습니다. 

입니다. 


예를 들어 보겠습니다. 

여기 쉘 프롬프트에 입력된 명령어는 cat 입니다. 

concatenate 의 cat 부분을 딴 건데, 명령어 이름은 축약된 영어단어로 이해하시면 굉장히 앞으로 사용하기 피곤하실겁니다. 

그러니 그냥 cat 이란 명령어가 있고, 이 명령어는 파일 안에 있는 컨텐츠를 보여주는 명령어다 라는 정도로 

명령어 이름 암기, 명령어가 하는 행위 암기. 이렇게 하셔야 앞으로 속 편하십니다. 

크게 의미를 찾지 마시고, 그냥 외우세요. 

개발자가 저렇게 이름을 지어놓은 거 이해하려 해봤자 본인만 피곤해지십니다. 


여튼 본론으로 돌아와서, 

cat -n /etc/passwd 라는 명령어를 보면, 

1. 명령어 : cat

2. 옵션: -n

3. 아규먼트: /etc/passwd

이렇게 3부분으로 뜯어볼 수 있습니다. 


즉, cat 을 통해서 파일의 내용 보여줘 라고 하는거고, 

그럼 어디 파일의 내용? 이란 물음이 생기시겠죠? 그래서 아규먼트에 그 타켓이 되는

 /etc/passwd 을 입력한거죠. 


그럼 cat /etc/passwd 는 

아~ /etc/passwd 파일에 있는 내용을 보여줘  라는 명령어구나 라고 이해하시면 되겠습니다. 


그럼 -n 은 뭐죠?

위에서 말씀드렸듯이 그냥 옵션입니다. 

옵션은 있어도 그만 없어도 그만인, 필수가 아닌 옵션사항인거죠. 


저 -n 이란 옵션은 파일의 내용을 그냥 보여주지 말고, 행에 번호를 붙여서 보여줘 라는 옵션입니다. 


cat /etc/passwd 과 

cat -n /etc/passwd 의 실행결과를 보시면 더 확실히 이해가 되실 겁니다. 


cat /etc/passwd 의 실행결과


cat -n /etc/passwd 의 실행결과


자, 다르죠?  cat /etc/passwd  는 결과값이 그냥 쭈~욱 나와서, 도대체 몇개의 행인지 알수가 없는데, 

-n 옵션을 줘서 cat -n /etc/passwd  로 실행을 하니, 

passwd 라는 파일안에 총 25줄의 데이터가 있었네 라고 눈에 더 보기 쉽게 알게됩니다. 


그럼 이 옵션들은 뭐가 있는지 어떻게 아나요?  

명령어마다 가지고 있는 옵션들은 상당히 많습니다. 그거 다 알려면 한도 끝도 없죠. 

명령어 뒤에 --help 라고 치시면 그 명령어가 가지고 있는 옵션들을 볼 수 가 있습니다. 


글쵸? 다양한 옵션들이 있네요. 

그런데 이 옵션들 일일이 --help 쳐서 아실 필욘 없고, 

그냥 다른 사람들이 많이 사용하는 옵션들을 하나씩 익히시는 게 처음공부하시는데는 속도도 빠르고 더 속편합니다. 


저도 하나씩 알아볼려고 열심히 봤었는데, 크게 의미없습니다. 

컴퓨터 공부는 A~Z까지 하나씩 공부하는게 아니라, 필요한 것만 찾아서 공부하는 방법이 필요합니다. 

왜냐하면, 양이 너무 방대하기 때문이죠. 


그리고 다 그런건 아니지만 엔지니어분들은 보통

커뮤니케이션에 서툽니다. 그래서 친절하게 알려주지도 않고, 퉁명스럽게 대답하기도 하고, 

그냥 상대방이 모르면 모른채로 내버려두기도 합니다. 


그래서 초심자가 배울 때에는 멘붕이 옵니다. 찾아볼 때도, 물어볼 곳도 없기 때문이죠. 

그래서 미미하나마, 제 블로그가 이렇게 멘붕 온 분들을 위한 도움이 되었으면 좋겠네요. ^^ 


어차피 중급 올라가시면 알아서 찾아서 잘 하시기 때문이죠. 


(글 더 작성 중....)





728x90
반응형