[Udemy] 리눅스 강의 #3 (alias, wildcards, basic commands)
Prog. Langs & Tools/Linux

[Udemy] 리눅스 강의 #3 (alias, wildcards, basic commands)

 

오늘은 리눅스 기본 강의에서 Alias, Wildcard와 기본적인 명령어들에 대해서 간단하게 정리해 보려고 합니다. 

 

먼저 Alias 입니다. Alias는 커맨드와 파이프라인에서 커스터마이즈 된 명령입니다.(custom nickname) 우리가 자주 쓰는 명령어는 이렇게 기억하기 쉽게 설정을 해 놓으면 개발하는데 덜 번거롭게 되죠 ㅎㅎ 기본적으로 root에서 alias 라는 명령어를 입력하면 다음과 같이 기본으로 세팅 된 alias들이 나타나게 됩니다.

alias를 추가하고 싶은 경우, home 디렉토리의 .bash_aliases 파일에 저장이 되어야 합니다. 여기서 파일명 앞에 .은 히든 파일을 의미합니다. 일반적인 환경에서는 보이지 않는 파일입니다. alias를 설정하는 방법은 다음과 같습니다.

// .bash_aliases 파일에 다음과 같이 입력해 주면 됩니다.
alias aliasName = 'command1 -options args | command2 -options args ...'

// 예를 들면 이렇게 입력을 했다고 가정을 했을 때
alias abc='ls -al'

// 재부팅을 하고 나서 다음과 같이 입력을 하면 해당 디렉토리의 리스트를 볼 수 있게 되는 것입니다.
$ abc
crw------- 1 root root ...
crw------- 1 root root ...
...

 


 

다음으로 리눅스 파일 체계를 간단하게 보고 넘어갈께요. 

출처 : 유데미

전체 파일 시스템은 다음과 같고 가장 위의 '/'를 root 라고 합니다. 그리고 그 아래를 sub directory라고 하죠. 서브 디렉토리 중에서 /home의 경우 모든 일반 사용자들의 홈 디렉토리를 가지고 있습니다.(ex. alice, bob, ...) 터미널에 'cd ~'라고 입력을 하게 되면 홈 디렉토리로 이동을 하게 됩니다.  각각의 디렉토리 별로 자세한 설명은 아래에 첨부한 사진을 참고해주세요. 

출처 : 유데미

 

여기서 또 한가지 기억해야 할 점은 / (base directory) 에서 출발하는 경로를 절대 경로(absolute path), 현재 디렉토리에서 출발하는 경로를 상대 경로(relative directory) 라고 하는데요. 나중에 혼동이 올 수 있는 부분이므로 명확하게 알고 가는 것이 중요합니다.

 


 

다음으로 살펴볼 내용은 Wildcard 입니다. 와일드카드는 디렉토리나 파일을 출력하거나(ex. ls) 검색할 때(ex. find) 유용하게 사용되는 경우가 많습니다.  아래의 사진을 보면서 설명을 하도록 할께요.

비어있는 sample 디렉토리에 파일을 5개 생성하고 싶습니다. 파일 명은 abc1.txt, abc2.txt, .. 이런 식으로 말이죠. 물론 5개 정도면 일일이 직접 만들어 줄 수 있지만 갯수가 50개, 500개가 되면 이야기가 달라집니다. 이 때 파일을 생성하는 touch 명령어를 사용하여 파일명에서 바뀌는 숫자 부분만 {1..5} 이렇게 적어준다면 이 부분이 숫자 1 부터 5까지로 지정된 파일 5개가 생성이 되게 됩니다.

여기서 검색을 할 때에도 비슷한 방법으로 파일에서 달라지는 부분만 [1-3] 이렇게 적어주면 이 부분이 숫자 1에서 3까지인 조건으로 파일을 찾아주게 되는 모습을 알 수 있습니다. wildcard는 이와 같이 파일을 찾거나 생성할 때 유용하게 사용할 수 있습니다.

위의 사진처럼 두개 이상의 {}로 파일이나 디렉토리를 생성할 수 있습니다 jan,feb,mar 3개의 이름이 앞에 나오고 뒤에는 숫자가 4개가 나오므로 3*4=12개의 파일을 단 한 줄의 명령어로 만들 수가 있어요. 여기서 이렇게 디렉토리를 만들면서 하위에 파일까지 한 번에 만드는 것도 물론 가능합니다 ㅎㅎ

해당 디렉토리에서 숫자 1이 들어간 파일이나 폴더를 찾고 싶은 경우, *1* 과 같이 작성을 해 주면 바로 찾을 수가 있어요. *는 기본적으로 모든(all) 이라는 의미를 가지고 있어요. 그래서 이 경우도 숫자 1 이 들어가 있으면 앞 뒤에 어떤 값이 오더라도 가능하다는 의미로 *1* 으로 사용된 것입니다. 

 


 

기본적으로 자주 사용하는 명령어 들에 대해서 간단하게 정리를 하고 마무리를 할까 합니다.

  • ls : 해당 디렉토리에 있는 모든 파일이나 폴더를 출력하는 명령어
  • cd : 디렉토리 경로를 바꾸어 주는 명령어
  • touch : 파일을 생성해 주는 명령어
  • mkdir : 폴더를 생성해 주는 명령어
  • rm : 파일 또는 폴더를 삭제해 주는 명령어
    • rm -r : 지우고 싶은 폴더에 내부에 다른 파일들이 있으면 이 명령어로 지울 수 있음
  • cp : 파일 또는 폴더를 복사해 주는 명령어
  • mv : 파일 또는 폴더를 이동시켜 주는 명령어