08. 리눅스 기본 명령어
리눅스 기본 명령어
리눅스는 많은 명령어들이 있다. 사람이 컴퓨터도 아니고 다 알수 없으니, 필요한 건 그때 그때 찾아서 쓰면되니까
기본적인 것만 정리한다.
ls
List의 약자로 Windows의 'dir'과 같은 역할을 한다. 즉, 해당 디렉토리(=폴더)에 있는 파일의 목록을 나열한다.
[ 사용예 ]
# ls : 현재 디렉토리의 파일 목록
# ls /etc/sysconfig : /etc/sysconfig 디렉토리의 목록
# ls -a : 현재 디렉토리의 목록(숨김 파일 포함)
# ls -l : 현재 디렉토리의 목록을 자세히 보여줌(권한)
ls -a 와 ls -l의 차이점. ls -l 했을 시 -rw---r....이런 게 보이는데, 권한이다.
# ls *.cfg : 확장자가 cfg인 목록을 보여줌
# ls -l /etc/sysconfig/a* : /etc/sysconfig 디렉토리에 있는 목록 중 앞 글자가 'a'인 것의 목록을 자세히 보여줌
# Note
리눅스는 숨김 파일(hidden file) 이라는 속성이 별도로 존재하지 않아서 파일 이름이나 디렉토리의 제일 앞 글자를 '.'으로 하면 자동으로
숨김 파일이 된다. 그래서 익숙하지 않은 사람에게 권장하는 명령어가 'pwd'
cd와 pwd 명령어를 자주 사용하면 현재 디렉토리의 위치를 명확히 파악할 수 있어서 리눅스 디렉토리 구조에 빨리 익숙해진다.
cd
change Directory의 약자로 디렉토리를 이동하는 명령이다.
[ 사용 예 ]
# cd : 현재 상요자의 홈 디렉토리로 이동. 만약 현재 사용자가 root면 '/root' 디렉토리로 이동
# cd ~centos : centos 사용자의 홈 디렉토리로 이동(사용자 이름은 사람마다 다름)
# cd .. : 바로 상위의 디렉토리로 이동. '..'은 현 디렉토리의 부모 디렉토리를 의미
ex) 현재 디렉토리가 /etc/sysconfig면, 바로 상위인 /etc로 이동
# cd /etc/sysconfig : /etc/sysconfig 디렉토리로 이동(절대 경로)
# cd ../etc/sysconfig : 상대 경로로 이동. 현재 디렉토리의 상위(',,')로 이동한 후, 다시 /etc/sysconfig로 이동
pwd
Print Working Directory의 약자로 현재 디렉토리의 전체 경로를 보여준다.
[ 사용 예 ]
# pwd : 현재 작업 중인 디렉토리의 경로 출력
rm
ReMove의 약자로 파일이제 디렉토리를 삭제한다. 당연히 파일이나 디렉토리를 삭제할 권한이 있어야 한다.
(root 사용자는 모든 권한이 있으니 상관없음)
[ 사용 예 ]
# rm abc.txt : 해당 파일 삭제(내부적으로 'rm -i'로 연결됨/ abc.txt라는 파일을 삭제해라)
# 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 cba : 디렉토리 복사
touch
크기가 0인 새 파일을 생성하거나, 이미 파일이 존재한다면 파일의 최종 수정 시간을 변경
[ 사용 예 ]
# touch abc.txt : 파일이 없을 경우엔 abc.txt라는 빈 파일을 생성하고, abc.txt가 있을 경우 파일의 최종 수정 시간을 현재 시간으로 변경
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 : Parent)
rmdir
ReMove DIRectory 의 약자로 디렉토리를 삭제한다. 해당 디렉토리의 삭제 권한이 있어야 하며, 디렉토리는 비어 있어야 한다.
파일이 들어 있는 디렉토리를 삭제하려면 'rm -r'을 실행해야 한다.
[ 사용 예 ]
# rmdir abc : /abc 디렉토리 삭제
cat
conCATenate의 약자로 파일의 내용을 화면에 보여준다. 여러 개의 파일을 나열하면 파일을 연결해서 보여준다.
[ 사용 예 ]
# cat a.txt b.txt : a.txt와 b.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 +100 anaconda-ks.cfg : 100행부터 출력
less
'more' 명령어와 용도가 비슷하지만 기능이 더 확장되어 있다. 'more'에서 사용하는 키도 사용할 수 있고,
화살표나 Page Up, Page Down도 사용할 수 있다.
[ 사용 예 ]
# less anaconda-ks.cfg
# less +100 anaconda-ks.cfg : 100행부터 출력
file
해당 파일이 어떤 종류의 파일인지를 표시한다.
[ 사용 예 ]
# file anaconda-ks.cfg : anaconda-ks.cfg는 텍스트 파일이므로 아스키 파일(ASCII)로 표시됨
# file /usr/bin/gzip : gzip은 실행 파일이므로 Executable 파일로 표시됨
clear
현자 사용 중인 화면을 깨끗하게 지워줌
# clear