필수 리눅스 터미널 명령어 정리

dev.dave·2023년 7월 26일

개발지식

목록 보기
32/53

필수 리눅스 터미널 명령어 정리

(배쉬, 파워쉘(Bash,PowerShell),튜토리얼)

———————————————————————————

shell commands(shell과 종류들에 대해)>>>>>>>>>>

-Unix에는

Bourne Shell , Bash , fish , zsh 등

정말 많은 쉘들이 있는데요

정말 좋은 소식은

이중에 하나만 잘 사용하셔도 나머지 것들은 비슷하기때문에 다양한 쉘들을 사용해 볼수 있습니다.

그리고 유닉스 쉘을 공부하면 정말 좋은 이유는요 ,

유닉스 계열의 리눅스, 비에스디 , 맥 오에스 에서도 쉘 커맨드를 사용할수 있습니다.

그리고 이제는 윈도우에서도 유닉스 쉘을 이용할수 있습니다.

예전에는 윈도우에서 유닉스 쉘을 사용하려면,

Cygwin과 같은 툴을 별도로 설치해서 사용했어야했는데요,

하지만 요즘에는 윈도우 안에 , 통채로 리눅스가 포함이 되어져 있기 떄문에, 씨그윈을 설치할 필요는 없습니다.

윈도우즈 안에 리눅스가 들어있는것을, WSL 이라고 부릅니다.

Windows Subsystem for Linux 라고 부르는데요,

이 WSL을 이용하면,

이제, 윈도우 안에서도 윈도우를 사용할 수가 있죠,

WSL은 윈도우즈 버전 10이상부터 사용이 가능,

암튼

윈도우에서는 제공을하는 파워쉘이 있는데요,

윈도우에서는 커맨드프롬트 즉, CMD라고 불리는 이 터미널을 많이 사용하시는데요,

파워쉘이 CMD보다 더 강력하구요,

운영체제에 있는 모든 서비스에 접근이 가능하기 떄문에,

powershell 을 사용하는 것을 추천을 드려요!

유닉스 shell은 요 ,

모든것들이 텍스트로 이루어진 반면에,

powershell은,

오브젝트 (객체를 구성해서)로 이루어짐,

정말 다른 터미널이에요,

좋은 소식은

파워쉘에서 , 이 유닉스에서 사용하는 명령어들을 사용할 수 있게 aliases 를 제공해 줍니다.

그래서 비슷한 명령어를 사용할수 있기 떄문에,

둘중 하나를 배워두어도 헤깔리지않게 유닉스 쉘에서도 충분히 사용할을 꺼에요,

많은 개발자들이, 리눅스나 맥os 보다는 아직 윈도우즈를 많이 사용하고 있는데요,

이번 영상에서는

unix 의 shell 과

windows의 powershell

에서 어떻게 명령어들을 이용할 수 있는지, 두가지 버전을 보여드릴 꺼에요

일단 저는 맥에서 터미널로 하지않고 좀더 이쁜 iTerm 으로 해보겠습니다.

-쉘 커맨드에서 자세히 알아보기전에,

첫번쨰로 꼭 알아야되는 명령어가 있습니다.

바로 man 이에요, Manual 또는 Users Manual 의 약자 인데요,

명령어는 무엇인지 모르겠다, 어떤 옵션을 함께 써야되는지 모르겠다 할때, 이 메뉴얼을 이용해서 이, man 명령어를 이용해서 자세히 알아볼수 있어요,

유닉스 쉘에서 man man 이렇게 man 에대한 매뉴얼을 검색하고 싶을때, 검색해 볼 수 있구요,

여기보면 man 에 대한 설명 그리고 어떤 옵션들이 있는지, 그런 내용들이 함꼐 들어 있습니다.

man 모드에서 나가고 싶을떄는,

q 를 입력하면 됩니다.

윈도우 파워쉘 에서는,

man 을 동일하게 이용할수 있구요,

사실이 이 man 은 get-help 라는 명령어를 링크해놓은 엘리어스에 불과 합니다.

그래서 파워쉘에 있는 get-help를 이용해도 되고,

유닉스에서 이용하는 man 을 이용할수도 있어요.

-다음은 clear 에 대해서 알아볼께요,

clear 는 터미널에 있는 모든 텍스트 들을 깔끔하게 청소해주는 명령어 인데요,

man clear 로 매뉴얼을 확인할 수 있습니다.

  • 자 이번에는,

Navigating file system ,>>>>>>>>>>>>>>>>>

파일 시스템 탐색하기 입니다.

윈도우에서 파일탐색기를 이용하는 것처럼,

터미널에서 어떻게 파일들을 탐색할 수 있는지 알아봅니다.

pwd 입니다.

지금 내가 어떤 경로에 있는지 알아볼 수 있습니다.

Print Working Directory 의 약자 입니다.

내가 지금 있는 곳의 전체 경로를 프린트 해줌

서버에서 로그를 남기거나, 스크립트를 작성할때도 pwd 명령어는 많이 이용됩니다.

파워쉘에서도 이용됩니다.

파워쉘에서는 Get-Location 과 같은 명령어가 pwd 입니다.

이제 우리가 어떤 경로에 있는지 알수 있으니까, 이제는 경로안에 어떤 폴더와 파일들이 들어있는지 확인할 수 있는 명령어가 있습니다.

바로 ls 에요,

터미널에서

ls 를 치면 , 현재 디렉토리안에있는 폴더와 파일들을 확인할 수 있어요.

ls 는 list 의 약자입니다. 목록을 나타낼 때 쓰고요, 현재 경로에 있는걸 보고 싶을때 사용하면되고,

특정 폴더안에 있는 내용들을 보고싶은떄 ,

ls 다음에 경로나 현재 있는 폴더 안에 있는 폴더 이름을 적으면

ls diol

안에 있는 내용들을 볼 수 있구요,

파일에 대해서 좀더 자세한 내용을 보고싶다면,

ls -l

long 포맷 이라는 옵션을 이용하면,

파일의 이름 사이즈 언제 수정이 되었는지 그리고 파일을 소유하고 있는 사람의 언어도 확인할수있음

그리고 ui상에 보여지지않는 숨겨져있는 파일이나,

디렉터리도 보고 싶다면

ls -a

all 옵션을 이용하면,

숨겨진 파일들도 다 볼 수 있어요.

그리고

long 포맷과 all 옵션을 함께 사용하고 싶다면,

ls -la

이렇게 하면 함께 묶어서 옵션을 줄 수도 있다.

그리고 추가로

유닉스에서 터미널의 현재 경로를 탐색기에서 열어보고 싶을때는

open .현재경로 를 명시해주면 되구요,

파워쉘에서 형재있는 경로를 파일탐색기에서 열고싶을떄는,

explorer .

하시면 됩니다.

파웨셀에서도

clear 됩니다.

파워쉘에서도 ls 명령어 사용가능하고요,

man ls

Get-ChildItem 라는 명령어의 엘리어스 입니다.

명령어는 똑같지만, 옵션을 사용할때 약간의 차이점이 있는데요

그냥 ls 를 이용하면 전체적인 조금더 자세한 내용을 확인해볼 수 있구요,

이름만 보고 싶을 떄는,

ls -name

특정한 경로안의 컨텐츠를 보고싶을떄는,

ls 폴더이름이나 경로를 지정해주면 되구요

숨겨진 파일 보고싶을떄는,

ls -force

비슷 하지만 옵션에서 살짝 차이가 있습니다.

이제는

폴더들을 자유자제로 넘나들수 있는

cd 명령어를 알아봅니다.>>>>>>>>>>>>>>>>>

cd는

change directory 의 약자입니다.

지금 내가 현재 경로에 있는 위치를 변경할떄 사용함

cd 경로의 폴더이름 적으면

그 폴더 안으로 들어가게 됨

pwd 명령어로 확인해보면 형재 경로를 확인해볼수있다.

여기서

ls

ls -la 해서

숨겨진 것들을 확인해 보면요,

.

..

이런 점이 있다 , (닷(dot))

여기서 . 은 현재 있는 경로를 나타내고 있고,

cd . 하면 현재 경로에서 현재 경로로 이동하기 떄문에 아무런 효과는 없고,,

cd .. 은 현재 경로에서 바로 상위 경로로 이동함

cs ~

현재 설정된 사용자의 홈 디렉토리로

즉, 최상위 경로로 이동함

cd -

cd 다음에 대쉬 - 를 이용하면 바로 여기로 오기전 이전 경로로 이동함

이전 경로로 왔다 갔다 할수 있어서 편하다.

파워쉘에도

man cd

이용가능하고

cd 는 파워쉘 에서는 Set-Location 의 엘리어스임

cd dir1

pwd

cd ..

cd .

cd ~

pwd

cd -

다 사용 가능함

———

다음으로

find 명령 어를 알아보자>>>>>>>>>>>>>>>>>

유닉스에서,

find 는 파일 시스템에서 특정한 파일이나 디렉토리를 찾을때 유용함

내 현재있는 경로와 그 하위에 있는 모든 폴더에 한해서,

모든 텍스트 파일을 찾고싶다면,

find . -type file -name “*.txt”

이거는

. 은 현재 경로에서부터 시작해서,

-type은 file 이고

-name은 모든파일인데 , .txt확장자로 끝나는 모든파일을

찾아준다.

확장자가 json으로 끝나는 파일을 찾을땐,

find . -type file -name “*.json”

디렉토리 폴더를 찾고 이름이 2로 끝나는것을 찾고싶으면,

find . -type directory -name “*2”

윈도우 파워쉘에서는,

아쉡지만, find 는 없고,

man Get-ChildItem

이라고 해야되고

옵션도 이름이 좀 다르다

get-childitem -File -Filter “*.txt” -Recurse

리컬스는 하위 폴더 안에있는 , 폴더안에, 폴더안에 이렇게 리컬시브하게 재귀적으로 검색이되도록 옵션을 따로 주셔야 합니다.

————

유닉스에서는

which >>>>>>>>>>>>>>

내가 지금 실행하고자하는 프로그램이 ,어디에 설치되어져 있는지 어디에 설정되어져있는지 경로를 확인할떄 사용되어짐

which node

노드의 실행 경로를 알수있다.

which code

비주얼스튜디오의 경로를 확인할수있다

파워쉘에서는

which는 없고

get-command cmd.exe

이렇게 프로그램 경로를 볼수있음

너무 길다 싶으면,

짧게

gcm notepad

하면됨

————————

파일 생성 및 관리하기>>>>>>>>>>>>>>>

Create and managefiles

터미널을 사용하는 장점은 마우스를 사용하지않고 빠르게 키보드로 일처리를할수있다는점이다.

터미널을 사용하다보면,

파일이나 경로를 만들거나,

파일안에 있는 내용들을 빠르게 확인할 필요가 있습니다.

그럴때 유용한 명령어는

touch

터치 다음에 원하는 파일명을 작성하게되면 새로운파일을 만들수있다.

touch new_file1.txt

이렇게 사용가능..

man touch 하게되면

터치의 메뉴얼을 보는건데,

파일이 존재하지 않는다면, 파일을 만들고,

기존에 존재하는 파일을 터치하게되면, 파일의 수정한 날짜가 터치를 한 시점으로 업데이트가 됩니다.

——

cat

파일안에있는 내용을 빠르게 확인할수있다.

cat new_file1.txt

touch new_file2.txt 터치 해서 새로운파일 생성후

cat new_file1.txt new_file2.txt 이렇게 캣으로 모든 컨텐츠의 내용을 한번에 확인 가능함

—————

echo

echo “hello world” 에코 다음 문자열하면 터미널에 출력할수있다

메아리 치는 느낌으로.,,,

echo “Hello world” > new_file3.txt 하면 새로운파일 생성후 저 문자를 새로운파일 안에 넣어준다

cat new_file3.txt 해서 확인가능함

또한,

echo “Hello Brave New World” > new_file3.txt

하면 안의 내용에 저 문자가 덮어씌워진다.

덮어씌우지않고 추가하고싶을 경우는,

echo “Goodbye world” >> new_file3.txt

이렇게, append 처럼 사용할수 있다.

파워쉘에서는

생성하는 방법은 이렇게….하고

new-item new_file1.txt

cat new_file1.txt 캣은 쓸수있음,,,

에코는 똑같이 쓸수 있다.

echo “Hello world”

echo “Goodbye world” >> new_file3.txt

—————————————————————

mkdir

디렉토리를 만드는 명령어

make directory 의 약자임

mkdir 다음에 원하는 경로이름을 작성하면

mkdir dir3

현재있는 경로에서 새로운경로가 만들어진다.

즉, dir3폴더가 하나 생성이된다.

터미널에서 ls -la 하면 만들어진 경로도 확인가능하다.

즉, cd 해서 만들고 들락날락 할필요 없이, 이렇게할수도 있단 말임.

한방에 쭉 만들수 있다.

mkdir -p dir4/subdir1/subdir2

파워쉘에서도 마찬가지로

똑같이 하면된다.

———————

파일 관리할수 있는 3가지 명령어>

cp

mv

rm

입니다.

—————

cp

copy의 약자

cp file1.txt dir1/

씨피 하고 파일명 하고 경로 하면 file1.txt이 dir1 으로 복사가 됨

ls 해서 경로확인하면되고,

또는

복사하지않고 이동만 하고싶다면,

mv

move의 약자

mv file2.txt dir/

하면 이동됨

그리고

새로운파일로 이동,복사하고싶다

mv file1.txt file2.txt

mv 원하는파일 그리고 대상 순으로 한다.

rm

remove의 약자

파일 삭제

rm file2.txt

rm dir2 이렇게 rm으로 그냥 디렉토리를 삭제하게되면,경고 메세지가 나오는데요, 이렇게하면 안되고

rm -r dir2

rm 하고 리컬시브옵션 하고 디렉토리명 하면 경로 삭제가 된다.

하위 경로는 모두 삭제가 된다.

파워쉘 에서는,

man cp

파워쉘에서도 기능이 거의동일하게 사용가능하다.

cp 는 파워쉘에서 사용가능하고, (엘리어스로)

Copy-Item 으로도 사용가능

디렉토리 삭제할때

rm dir2/ 하게되면

파워쉘에서는 오류는 안뜨고 그냥 여러 옵션을 주는데,

잘 선택하면되고,

그냥 단순히 디렉토리 삭제하고싶으면

rm dir2/ -Recurse 하면 됨

————

grep

Global regular expression print

우리가 코딩을 할떄 한 파일안에서, 키워드로 검색을 하거나,

또는 프로젝트 전체에 한해서 키워드로 검색할 경우가 많은데요,

그떄, 터미널에서 동일하게 할 수 있는 명령어에요

grep 다음 검색하고자 하는 키워드를 작성하고, 그다음 파일명이나 별.확장자 명시해주면 , 모든 파일안에서 검색이 가능함

grep “world” *.txt

또한

검색했을때

이 월드 단어가 정확하게 몇번째 줄에 있는지 확인하고 싶다면,

-n 옵션을 이용하면 몇번째 줄에 있는지도 확인해볼수 있다.

grep -n “world” *.txt

또 대소문자 상관없이 검색하고 싶다면,

-ni 쓰면된다

grep -ni “world” *.txt

.

.

.

.

이하 생략

https://www.youtube.com/watch?v=EL6AQl-e3AQ

참고

——————

환경변수

:내 컴퓨터에서 특정한 키워드가 ,

어떠한 일을 하거나,

경로를 저장할수 있도록 만들어요~

profile
🔥개인 메모 / 다른블로그 자료 참조 / 다른블로그 자료 퍼옴 (출처표기) /여기저기서 공부 했던 내용 개인메모 & 참고 / 개인 기록 용도 블로그 입니다.🔥

0개의 댓글