리눅스 명령은 옵션까지 모두 포함해서 수천 개가 넘을 정도로 많습니다. 명령을 다 외운다는 것은 거의 불가능하고 외울 필요도 없지만, 리눅스를 사용하는 데 필요한 기본 명령 15가지는 필수 명령이므로 반드시 익히는 것이 좋습니다. 이러한 기본 명령은 그냥 외우기보다는 꼭 필요한 옵션을 사용해 직접 입력해 보면 훨씬 이해하기 쉽습니다.
ⓛ ls
LiSt의 약자로 Windows 명령 프롬프트의 dir 명령과 같은 역할을 합니다. 즉, 해당 디렉터리(폴더) 에 있는 파일의 목록을 나열하는 명령입니다.
[사용 예]
# ls → 현재 디렉터리의 파일 목록을 표시
# ls /etc/sysconfig /etc/sysconfig → 디렉터리의 목록을 표시
# ls -a → 현재 디렉터리의 목록(숨김 파일 포함)을 표시
# ls -l → 현재 디렉터리의 목록을 자세히 표시
# ls *.cfg → 확장자가 cfg인 목록을 표시
# ls -l /etc/sysconfig/a* → /etc/sysconfig 디렉터리 중
앞 글자가 'a'인 것의 목록을 자세히 표시
② cd
Change Directory의 약자로 디렉터리를 이동하는 명령입니다.
[사용 예]
# cd → 현재 사용자의 홈 디렉터리로 이동,
만약 현재 사용자가 root면 '/root' 디렉터리로 이동
# cd ~rocky rocky → 사용자의 홈 디렉터리로 이동
# cd .. → 바로 상위의 디렉터리로 이동
'..'은 현재 디렉터리의 부모 디렉터리를 의미,
예를 들어 현재 디렉터리가 /etc/sysconfig면
바로 상위인 '/etc' 디렉터리로 이동
# cd /etc/sysconfig → /etc/sysconfig 디렉터리로 이동(절대 경로)
# cd ../etc/sysconfig → 상대 경로로 이동.
현재 디렉터리의 상위('..')로 이동한 후
다시 /etc/sysconfig로 이동
✅'.' 와 '..'
‘.’(현재 디렉터리)와 ‘..’ (현재 디렉터리의 상위 디렉터리)는 자주 사용되는 명령어입니다. 하지만 비슷하게 생겼다 보니 리눅스 초보자 입장에서는 혼란스러울 수 있습니다.
예를 들어 cp ../lib/ abc . 명령은 ‘현재 디렉터리의 상위 디렉터리(‘..’) 아래에 있는 ‘/lib’ 디렉터리의 abc 파일을 현재 디렉터리 (‘.’)에 복사하라’는 의미입니다.
③ pwd
Print Working Directory의 약자로 현재 디렉터리의 전체 경로를 화면에 표시합니다.
[사용 예]
# pwd → 현재 작업 중인 디렉터리의 경로를 출력
✅숨김 파일 및 현재 디렉터리
리눅스는 숨김 파일(hidden file)이라는 속성이 별도로 존재하지 않습니다. 파일 이름이나 디렉터리의 제일 앞 글자를 ‘.’으로 지정하면 자동으로 숨김 파일이 됩니다.
한편 리눅스를 처음 사용할 때 익숙하지 않은 것 중 하나가 ‘현재 디렉터리’라는 개념인데요. 예전의 도스에서도 이러한 개념이 있었지만, Windows 시대에 접어들면서 거의 사용하지 않게 되었죠. 리눅스에 익숙하지 않은 사용자에게 자주 사용하도록 권장하는 명령이 pwd입니다. cd 명령과 함께 pwd 명령을 자주 사용하면 현재 디렉터리 위치를 명확히 파악할 수 있어 리눅스의 전체적인 디렉터리 구조를 더욱 빨리 익힐 수 있습니다.
④ rm
ReMove의 약자로 파일이나 디렉터리를 삭제합니다. 당연히 파일이나 디렉터리를 삭제할 권한이 있어야 해당 명령을 실행할 수 있습니다. 단 root 사용자는 모든 권한이 있으므로 rm 명령 사용에 제약이 없습니다.
[사용 예]
# rm abc.txt → 해당 파일을 삭제(내부적으로 'rm -i'로 연결됨)
# rm -i abc.txt → 삭제 시 정말 삭제할 지 확인하는 메시지를 표시
# rm -f abc.txt → 삭제 시 확인하지 않고 바로 삭제(f는 Force의 약자)
# rm -r abc → 해당 디렉터리를 삭제(r은 Recursive의 약자)
# rm -rf abc → r 옵션과 f 옵션을 합친 것으로 abc 디렉터리와 그 아래에 있는
하위 디렉터리를 강제로 전부 삭제(편리하지만 주의해서 사용해야 함)
⑤ cp
CoPy의 약자로 파일이나 디렉터리를 복사합니다. 새로 복사한 파일은 복사한 사용자의 소유가 됩니다. 그러므로 명령을 실행하는 사용자는 해당 파일의 읽기 권한이 필요합니다.
[사용 예]
# cp abc.txt cba.txt → abc.txt를 cba.txt라는 이름으로 바꿔서 복사
# cp -r abc cda → 디렉터리 복사
⑥ touch
크기가 0인 새 파일을 생성하거나 생성된 파일이 존재한다면 파일의 최종 수정 시간을 변경합니다.
[사용 예]
# touch abc.txt → 파일이 없는 경우 abc.txt라는 빈 파일을 생성하고,
abc.tx 파일이 있는 경우 최종 수정 시간을 현재 시각으로 변경
⑦ mv
MoVe의 약자로 파일이나 디렉터리의 이름을 변경하거나 다른 디렉터리로 옮길 때 사용합니다.
[사용 예]
# mv abc.txt /etc/sysconfig/ → abc.txt을 /etc/sysconfig/ 디렉터리로 이동
# mv aaa bbb ccc ddd → aaa, bbb, ccc 파일을 /ddd 디렉터리로 이동
# mv abc.txt www.txt → abc.txt의 이름을 www.txt로 변경해서 이동
⑧ mkdir
MaKe DIRectory의 약자로 새로운 디렉터리를 생성합니다. 생성된 디렉터리는 명령을 실행한 사용자의 소유가 됩니다.
[사용 예]
# mkdir abc → 현재 디렉터리 아래에 /abc 이름의 디렉터리 생성
# mkdir -p /def/fgh → /def/fgh 디렉터리를 생성. 만약 /fgh 디렉터리의 부모 디렉터리인
/def 디렉터리가 없다면 자동 생성(p는 Parents의 약자)
⑨ rmdir
ReMove DIRectory의 약자로 디렉터리를 삭제합니다. 해당 디렉터리의 삭제 권한이 있어야 하며 디렉터리는 비어 있어야 합니다. 파일이 있는 디렉터리를 삭제하려면 rm -r 명령을 실행해야 합니다.
[사용 예]
# rmdir abc → /abc 디렉터리를 삭제
⑩ cat
conCATenate의 약자로 파일 내용을 화면에 출력합니다. 여러 파일을 나열하면 파일을 연결해서 출력합니다.
[사용 예]
# cat a.txt → a.txt 파일의 내용을 화면에 출력
⑪ head, tail
텍스트 형식으로 작성된 파일의 앞 10행 또는 마지막 10행만 화면에 출력합니다.
[사용 예]
# head anaconda-ks.cfg → 해당 파일의 앞 10행을 화면에 출력
# head -3 anaconda-ks.cfg → 앞 3행만 화면에 출력
# tail -5 anaconda-ks.cfg → 마지막 5행만 화면에 출력
⑫ more
텍스트 형식으로 작성된 파일을 페이지 단위로 화면에 출력합니다. [Space]를 누르면 다음 페이지로 이동하며, [B]를 누르면 앞 페이지로 이동합니다. [Q]를 누르면 명령을 종료합니다.
[사용 예]
# more anaconda-ks.cfg
# more +30 anaconda-ks.cfg → 30행부터 출력
⑬ less
more 명령과 용도가 비슷하지만, 기능이 더 확장되어 있습니다. more에서 사용하는 키와 더불어 화살표 키나 [PageUp], [PageDown]도 사용할 수 있습니다.
[사용 예]
# less anaconda-ks.cfg
# less +30 anaconda-ks.cfg → 30행부터 출력
⑭ file
파일의 종류를 표시합니다.
[사용 예]
# file anaconda-ks.cfg → anaconda-ks.cfg는 텍스트 파일이므로
아스키 파일(ASCII)로 표시
# file /dev/sr0 → sr0은 DVD 장치이므로 block special로 표시
⑮ clear
현재 사용 중인 터미널 화면을 깨끗하게 지웁니다.
[사용 예]
# clear
위 콘텐츠는 『이것이 리눅스다 with Rocky Linux 9』의 내용을 바탕으로 작성되었습니다.
최신 콘텐츠