리눅스 서버를 운영하다 보면 로컬 PC와 리눅스 서버 간 파일들을 주고받아야 할 경우들이 많습니다. 이때 대부분의 파일은 묶음, 압축 파일의 형태로 보내게 되는데요. 서버에서 GUI를 사용할 수 있다면 간단히 마우스 클릭만으로도 압축을 해제할 수 있겠지만 터미널만 사용할 수 있는 환경이라면 압축파일들을 관리할 수 있는 명령어들을 알고 있어야 할 필요성이 있습니다. 이번 포스팅에서는 리눅스에서 가장 많이 사용하는 압축파일인 tar, gz, zip 파일의 압축방법과 압축해제 방법에 대해 알아보도록 하겠습니다. tar 명령어 사용법 tar는 Tape ARchiver 테이프 아카이버의 앞글자를 딴 말로 정확히 말하자면 압축방식은 아니고 일종의 묶음 형태입니다. tar파일은 리눅스 및 유닉스에서 가장 많이 사용되..
find 명령어 리눅스의 find 명령어는 리눅스 파일 시스템에서 파일을 검색하는 데 사용되는 명령어입니다. 다양한 표현식을 사용하여 원하는 파일의 목록을 추출할 수 있습니다. 리눅스 find 사용법 find [옵션] [경로] [표현식] # 현재 위치에서 log가 들어가는 파일 모두 찾기 find . -name "*log*" 옵션 P : 심볼릭 링크를 따라가지 않고, 심볼릭 링크 자체 정보 사용. L : 심볼릭 링크에 연결된 파일 정보 사용. H : 심볼릭 링크를 따라가지 않으나, Command Line Argument를 처리할 땐 예외. D : 디버그 메시지 출력. 경로 find의 인자값으로는 경로를 받습니다. 상대 경로, 절대 경로 모두 가능하며 대부분의 리눅스의 경우 이 경로 인자 값을 생략한다면 ..
cat 명령어 리눅스의 cat명령어는 concatenate에서 따온 명칭으로 그 이름에서 유추할 수 있듯 본래의 기능은 여러 파일의 내용을 하나로 합쳐주는 역할을 합니다. 하지만 리눅스에서 cat 명령어는 단순히 파일을 합치는 것에만 사용되는 것은 아니고 파일의 내용을 단순 출력하여 확인하거나, >이나 >>와 같은 리다이렉션 기호와 함께 사용하여 파일을 생성하고, 저장하는 용도로도 사용될 수 있습니다. 입출력 리다이렉션 리다이렉션 기호 방향 의미 > 표준 출력 명령 > 파일 : 명령의 결과를 파일로 저장 >> 표준 출력 (추가) 명령 >> 파일 : 명령의 결과를 기존 파일에 추가하여 저장 new_file # file1 + file2 + file3 내용을 new_file라는 이름으로 생성 cat file1..
리눅스 grep명령어는 로그파일이나, 텍스트 파일에서 특정 문자열을 찾을 때 사용하며 tail 명령어나 find 명령어등 다양한 명령어들과 함께 사용하여 로그 파일에서 실시간으로 특정 문자열을 찾는다던지, 혹은 디렉터리 내에서 특정 이름을 포함하는 파일을 찾을 때 등등 다양하게 응용도 가능합니다. grep 명령어 리눅스에서 grep 명령어는 특정 파일에서 지정한 문자열이나 정규표현식을 포함한 행을 출력해주는 명령어입니다. 특히 tail이나 ls 등 다양한 명령어와 조합하여 응용되는 경우가 많아서 이 grep명령어는 리눅스에서 능숙하게 사용할 줄 알아야 하는 기본 명령어입니다. 리눅스 grep 사용법 grep [옵션][패턴][파일명] 문자열로 찾기 # 특정 파일에서 'error' 문자열 찾기 grep 'e..
리눅스에서 tail 명령어는 일반적으로 로그와 같이 시간에 따라 변하는 파일들을 grep과 같은 명령어로 조합해서 실시간으로 업데이트되는 로그를 분석하는데 많이 사용됩니다. tail 명령어 tail 명령어는 파일의 마지막 행을 기준으로 지정한 행까지의 파일 내용 일부를 출력해주는 명령어입니다. 기본값으로는 마지막 10줄을 출력하며 주로 tail은 리눅스에서 오류나 파일 로그를 실시간으로 확인할 때 매우 유용하게 사용됩니다. 리눅스 tail 사용법 # 파일 마지막 부분을 출력하는 명령어 tail [옵션][파일명] tail filename.txt tail -f filename.txt tail명령어를 사용하시면 해당하는 파일의 마지막 부분을 확인하실 수 있습니다. 위와 같이 쓰면 filename.txt 이라는..
리눅스는 터미널에서 작업해야 할 경우가 대부분입니다. 그래서 작업을 해야 할 때 필요한 모든 명령어를 일일이 손으로 쳐야만 하는데 이 과정은 매우 심각한 불편함을 초래합니다. 그래서 긴 명령어의 경우 alias를 사용하여 명령어 세트를 별칭으로 지정해두고 그 별칭을 사용함으로써 작업의 효율성을 추구하고는 합니다. 특히 자주 이동해야 하는(cd) 깊은 Depth의 디렉토리의 경우에는 꼭 alias로 지정해두어 업무 효율을 높이도록 합시다. alias란? alias는 별칭이라는 뜻으로 리눅스에서 alias는 사용자가 명령어를 다른 이름으로 바꿔서 사용할 수 있는 쉘 내부 명령어를 말합니다. 이 alias를 통해서 일일이 입력하기 번거로운. 길이가 긴 명령어를 간단한 이름으로 바꿔서 등록하여 업무 효율을 높일..
touch touch는 아무것도 없는 빈 파일을 생성하거나 touch는 파일의 날짜와 시간을 수정하는 명령어입니다. touch의 파일명이 이미 존재한다면 서버의 현재 시간으로 파일의 최근 사용한 시간(access time)과 최근 변경 시간(modification time)을 변경하고 파일명이 존재하지 않는다면 파일의 크기가 0인 빈 파일을 생성합니다. touch [옵션][파일명] # 파일이 없다면 file txt 파일 생성, 있다면 file.txt의 시간 정보 수정 touch file.txt 수정 할 파일이 존재하지 않는다면 크기가 0 인 빈 파일을 생성합니다. 수정 할 파일이 존재한다면 해당 파일의 최근 사용한시간과 최근 변경 시간을 현재 시간으로 수정합니다. 별다른 옵션이 없다면 atime, cti..
mkdir mkdir의 뜻은 make directory의 약자로 디렉토리(폴더)를 생성할 때 사용하는 명령어입니다. mkdir [옵션][생성 할 디렉토리] new_folder 디렉토리 생성 ex) mkdir new_folder /home/user/위치에 new_folder 디렉토리 생성 ex) mkdir /home/user/new_folder new_folder, new_folder2, new_folder3 디렉토리 생성 ex) mkdir new_folder new_folder2 new_folder3 경로를 지정하지 않으면 현 위치를 Defualt로 합니다. 생성할 디렉토리를 여러개 나열하여 한번의 명령어로 복수의 디렉토리를 생성할 수 있습니다. 자주 사용하는 옵션 -m : 디렉토리를 생성할 때 권한을 ..
rm rm의 뜻은 remove의 약자로 파일이나 디렉토리( -r 옵션시 삭제가능)를 삭제 시킬때 사용하는 명령어입니다. 한번 지운 파일은 복구가 어렵기 때문에 rm 명령어를 실행시키기전에 두번 세번 확인하는 습관을 가집시다. rm [옵션][삭제 할 디렉토리/파일] test.txt 삭제 ex) rm test.txt new_folder /home/user/test.txt 삭제 ex) rm /home/user/test.txt new_folder 디렉토리 삭제 ex) rm -r new_folder new_folder 디렉토리 삭제 시 삭제 확인 메시지를 출력하지 않음 ex) rm -rf new_folder 경로를 지정하지 않으면 현 위치를 Defualt로 합니다. 비어있지 않은 디렉토리는 -r 옵션 없이는 삭제..
mv mv의 뜻은 move의 줄임말로 파일이나 디렉토리를 이동 시킬때 사용하는 명령어입니다. mv [옵션][이동 할 파일][이동 될 위치] 현재 디렉토리에 있는 test.txt 파일을 디렉토리 내부의 new_folder 디렉토리로 이동 ex) mv test.txt new_folder 현재 디렉토리에 있는 test.txt 파일을 new_test.txt라는 파일로 이름 바꾸기 ex) mv test.txt new_test.txt /user/jtaewu 경로의 test.txt 파일을 /user/jtaewu 디렉토리로 이동 ex) mv test.txt /user/jtaewu/new_folder /user/jtaewu 경로 test.txt 파일을 /user/guest 디렉토리에 new.txt로 바꾸어 이동 ex) ..
cp cp의 뜻은 copy의 줄임말로 파일이나 디렉토리를 복사할 때 사용하는 명령어입니다. cp [옵션][복사 할 디렉토리/파일][복사 될 디렉토리/파일] 현재 디렉토리에 있는 test.txt 파일을 new_test.txt라는 이름으로 현 위치에 복사 ex) cp test.txt new_test.txt /user/jtaewu 경로의 test.txt 파일을 new_test.txt라는 이름으로 현재 위치에 복사 ex) cp /user/jtaewu/test.txt new_test.txt /user/jtaewu 경로의 test.txt 파일을 new_test.txt라는 이름으로 /user/guest에 복사 ex) cp /user/jtaewu/test.txt /user/guest/new_test.txt cp 명령어..
CD의 뜻은 change directory의 줄임말로 현재 작업하고 있는 디렉토리의 위치를 이동하는 명령어 입니다. CD 명령어 뒤에 디렉토리 이동경로를 입력해주시면 해당 디렉토리로 즉시 이동합니다. 이 디렉토리 이동경로를 입력하실때는 키보드 TAB 버튼을 함께 사용하시면 어느정도 경로를 자동으로 지정해주기에 좀 더 편하게 디렉토리 이동을 하실 수 있습니다. cp [이동 할 디렉토리 경로] ex) cd / : root로 이동 ex) cd project : 현재 디렉토리 내부에 있는 project 디렉토리로 이동 ex) cd /user/jtaewu : /user/jtaewu 경로의 디렉토리로 이동 현재 위치한 디렉토리의 위치를 이동할 수 있습니다. CD 명령어에는 별도의 옵션이 존재하지 않습니다. 이동할 ..
ls ls의 뜻은 list의 줄임말로 현재 위치한 디렉토리에 있는 내용(디렉토리, 파일) 리스트를 출력하는 명령어입니다. ls [디렉토리] ex) ls / : root에 있는 파일 목록 출력 ex) ls /project : /project 경로의 디렉토리에 있는 파일 목록 출력 디렉토리를 지정하여 파일 목록을 출력할수도 있습니다. 옵션을 사용하지 않으면 숨김 파일은 나오지 않습니다. 디렉토리명을 생략하면 현재 위치한 디렉토리의 파일 목록을 출력합니다. 자주 사용하는 옵션 -l : 파일들을 나열할때 자세히 출력한다. -a : 경로안의 모든 파일을 나열한다.(숨김파일도 포함) -R : 위치한 디렉토리 하부 디렉토리의 파일까지 모두 출력한다. -h : 파일크기를 해석파기 편하게 출력한다. -r : 출력 결과를..