본문 바로가기
정보보안/OS

Unix 운영체제 기초 명령어(cd,ls,pwd,mkdir,touch,rm,rmdir)

by 우동이 2020. 12. 5.
300x250

 

Unix는 겉보기에 Linux 운영체제의 명령어와 비슷한 체계로 보입니다만

사실상 Linux의 조상 격이라 볼 수 있으며 가장 큰 차이는 Unix는 유료 소프트웨어 

Linux는 무료 소프트웨어라는 점에 있습니다.

 

초심자가 사용하는 기본적인 명령어 체계에 있어 유닉스와 리눅스는 대부분 동일하다고 할 수 있습니다.

그럼 유닉스의 기초적인 명령어 체계에 대해 알아보겠습니다.

 

순서 > cd,ls,man,pwd,touch,rm,rmdir,mkdir,mv,cat/more,head/tail,>>/>,ln,tar,find,grep,|


cd - Change Directory

현재 위치에서 다른 위치로 이동하는 명령어

cd # root, 최상위 디렉토리로 이동
cd .. # 상위 디렉토리로 이동
cd .  # 하위 디렉토리로 이동

cd /etc/passwd # 절대경로 이동법, 현재 디렉토리에서 /etc/passwd 로 바로 이동
cd test_folder # 상대경로 이동법, 현재 폴더에 존재하는 test_folder로 이동

cd는 change directory 디렉터리를 옮긴다는 뜻 그대로

현재 위치한 파일에서 다른 파일로 옮겨가는 명령어입니다.

리눅스는 물론 윈도의 명령 프롬포트에서도 동일한 기능으로 사용됩니다.


ls - List

ls # 현재 디렉토리 내에 있는 파일과 디렉토리의 리스트를 보여준다.

ls -a # -a 옵션은 all 옵션으로 숨겨진 파일까지 드러낸다
ls -l # 파일의 자세한 정보들을 출력(링크 수, 소유자, 권한, 모드, 최종 수정 시간)
ls -al # a와l을 합한 옵션 주로 사용함

ls /etc # 절대경로 /etc 아래의 리스트를 출력함

ls test_folder # 상대경로 test_folder내의 리스트를 출력함

ls는 list라는 뜻으로 현재 폴더에서 위치한 파일의 리스트를 출력합니다.

옵션을 통해 다양한 필터를 조건으로 추가할 수 있습니다.

 


man - (manual)

man cd # cd에 대한 메뉴얼
man ls # ls에 대한 메뉴얼
man 그 외 궁금한 명령어

manual의 약자인 man 명령어입니다.

말 그대로 사용할 명령어의 매뉴얼을 출력합니다.


pwd (현재 위치한 경로 확인)

pwd
>>> / # 현재 root에 위치한 경우
pwd
>>> /home/usr # usr 사용자 계정의 홈 디렉토리에 있을 경우

pwd
>>> /etc # etc폴더 내에 있을 경우

자신이 위치한 파일(디렉터리)의 경로를 출력합니다.


touch (파일 생성)

touch file1.txt # 0의 크기를 가진 file1.txt 파일 생성
touch t1.txt t2.txt t3.txt # t1,t2,t3 각 세 개의 txt파일 생성 역시 크기는 0
touch -t 12201111 t1.txt # -t 옵션은 타임옵션으로 t1파일의 생성시간이 변경되었다

touch는 파일의 크기가 0 인 파일을 하나 생성합니다.

다양한 옵션을 통해 파일 생성 시 필요한 조건을 붙일 수 있습니다.


mkdir(디렉터리 생성) make directory

mkdir test_folder1 # test_folder1의 이름을 가진 디렉터리 생성
mkdir -p /test/test2 # 상위 경로도 포함 생성 -> -p 옵션

make directory 즉 폴더를 생성하는 명령어입니다.

 


rm(remove, 제거)

rm test1.txt # test1.txt 파일 삭제
rm -r test_folder # directory 파일 삭제 폴더 내에 파일이 있어도 삭제 가능 (강제삭제)

remove의 약자 rm 명령어는 파일을 삭제합니다.

-r 옵션을 통해 파일이 들어있는 폴더를 강제 삭제도 가능합니다.


rmdir(디렉터리 삭제) remove directory

rmdir test_folder # 디렉토리 삭제

디렉터리(폴더)를 삭제합니다.

하지만 디렉토리 내에 파일이 존재한다면 삭제할 수 없습니다.

 


mv(이동, 이름 변경) move

mv test1 test_exam1 # test파일을 test_exam1 파일로 이름 변경
mv /home/test1 /etc/test_exam1 # /home 내에 있는 test1 파일을
/etc 아래로 이동 후 test_exam1 으로 이름 변경

move의 약자 mv 명령어입니다.

파일의 이름을 변경하거나, 파일/폴더를 이동시킬 수 있습니다.

 


cat/more (파일의 내용, 텍스트 출력)

cat file1 # file1의 내용 보기
# 짧은 내용이면 cat 사용
more long_file1 # long_file1 내용보기
# 더 긴 내용이면 more이 적합

cat/more은 파일의 내용을 출력합니다.

두 명령어의 차이점은 파일 출력의 방식에 있습니다.

  • cat - 간단히 출력
  • more - 자세히 출력

 


head/tail(머리말, 꼬리말)

head h_file # h_file의 맨 앞 10줄을 출력
tail t_file # t_file의 맨 뒤 10줄을 출력
tail -f /var/log # -f 옵션은 실시간 조회 옵션
# 주로 로그 분석시 사용

각각 머리말/꼬리말에 해당되는 기능을 제공합니다.

가장 마지막 줄을 출력해 보는 tail을 통해 로그를 확인하는데 용이합니다.

 


>>,>(결과 값을 파일로 출력) 꺽쇠

cat /etc/passwd > result.txt # /etc/passwd 파일의 출력값을 result.txt파일로 저장
cat f1.txt f2.txt f3.txt > f_result.txt # f1,f2,f3의 내용을 f_result파일에 합해 저장
cat plus.txt >> f_result.txt # >>는 이미 작성된 파일 뒷부분에 추가로 내용 저장

파일 제어의 옵션입니다.

꺽쇠를 통해 출력 값을 파일에 저장할 수 있습니다.

 


ln(link, 파일 링크/연결)

ln /etc/passwd etc # /etc/passwd 파일을 etc라는 파일로 링크(하드링크)했다.
ln -s /etc/passwd etc # /etc/passwd 파일을 etc라는 파일로 링크(심볼릭링크)했다.

link의 약자 ln 명령어입니다.

말 그대로 파일 간 링크의 기능을 수행합니다.

여기서 링크란 윈도의 바로가기와 같은 물리적 연결의 기능이라고 할 수 있습니다.

 

링크의 종류에는 심볼릭(Symbolic) 링크와 하드(Hard) 링크 두 가지 종류가 있다.

  • Hard Link

1. 링크되어있는 원본 파일이 삭제되어도 링크 파일은 영향을 받지 않는다.

2. 원본 파일의 정보에서 링크 수가 증가한다.

3. 원본, 링크 파일의 수정사항이 공유된다.

 

  • Symbolic/Soft Link

1. 링크 파일의 크기가 작다.(간편한 링크)

2. 원본 파일이 삭제되면 링크 파일은 역할이 사라진다.

3. 링크 파일의 권한은 777로 생성되나 이는 원본 파일의 권한과는 무관하다.

4. 원본, 링크 파일의 수정사항이 공유된다.


tar(파일 묶음)

tar -cvf f_m.tar f1.txt f2.txt f3.txt
#-cvf 옵션은 파일을 묶는 옵션 f_m.tar 파일은  f1,f2,f3이 묶인 파일
tar -xvf f_m.tar # -xvf는 파일을 푸는 옵션 

tar은 파일 묶음 기능을 수행합니다

-z옵션을 통해 파일 압축도 가능합니다.

-zcvf 옵션은 파일을 묶음과 동시에 압축합니다.

이는 tar.gz 확장자 파일이 생성되는데 이를 다시 압축해제하려면 -zxvf 옵션을 활용해야 합니다.


 

find(문자, 숫자 열로 검색)

find te* # 앞 문자가 te인 모든 파일 검색
find test.* # 파일의 이름이 test인 모든 확장자 검색
find -name 't*' -size 0 -user root
# 파일의 이름이 t로시작하고 사이즈는 0
# 소유자는 root인 파일을 찾는 명령어

find는 파일/디렉터리를 검색해서 찾는 기능을 수행합니다.

조건을 통해 다양한 필터링이 가능합니다.


grep(파일 내 특정 문자 검색)

grep -i 'hobby' /etc/passwd 
#-i 옵션은 대소문자 구별을 하지 않는다.
# 'hobby'라는 문자를 /etc/passwd 파일에서 검색한다.
# -n : 라인 번호 출력
# -c : 라인의 개수 출력

find명령어와 같이 사용되곤 합니다.

파일 내에서 특정 문자를 검색하는 명령어입니다.


| (결과를 다음 명령으로 넘김 복합 명령어 사용) 파이프라인

find te*.* | grep -ic "i'm" 
# te로 시작하는 모든 확장자 파일을 찾은 후
# 그 파일에서 i'm이라는 문자열을 대소문자 구별없이 찾는다

복수의 명령어를 같이 실행되도록 합니다.

 


www.notion.so/Unix-a8ba629e8d574268a36420a981141984

 

Unix

Change Directroy

www.notion.so

위 항목은 notion에 정리된 Unix의 기초 명령어 모음이다.

공부할 때 참고하면 좋다.

notion의 용도 및 사용법은 아래 블로그에 있다.

 

blog.naver.com/ww0547/222086045730

 

[Notion] 세련된 개발자들의 일기 // 사용법, 설치법, 기초

Notion은 DB, 일정, 캘린더 그외 팀 프로젝트 개발 등다양한 구성 요소를 제공하는 응용 프로그램이다웹...

blog.naver.com

 

300x250

댓글