(다시 한번 말하지만, 아래 명령어들의 옵션은 보통 더 많이 있다. 여긴 필자가 주로 쓰는것만 표시해 놓은것이다.)
ps : 현재 실행되는 프로세스들을 볼수 있는 명령어
ps -aux
-a : 모든 사용자의 프로세스 출력
-u : 자세한 정보 출력
-x : 제어 터미널이 없는 프로세스도 출력
ps -ef(==aux) | grep 찾을프로세스명 : 보통의 grep 사용법
kill : 현재 실행되는 프로세스를 종료하거나 하는 명령어
kill -9 해당프로세스의PID : 해당 프로세스가 강제 종료 된다.
여기서 -9는.. 필자도 여태껏 그냥 써왔는데 아래와 같은 뜻이 있다고 한다..
시그널번호 |
시그널이름 |
동작 |
1 |
SIGHUP |
재시작 |
2 |
SIGINIT |
인터럽트 |
9 |
SIGKILL |
강제종료 |
15 |
SIGTERM |
종료 |
해당 번호는 64까지 있으며, kill -l 이라고 치면 모두 나오지만, 몇개만 적어 놓은 것이다.
ntsysv : 부팅시 자동실행되는 데몬들 목록
rpm : 패키지 설치및 관리를 위한 명령어
rpm -Uvh 설치파일명 : 설치파일이 있을경우 업데이트를 검사하고, 없을경우에는 설치한다.
-U : 업그레이드 모드
-v : 상세한 출력 제공
-h : 패키지 설치를 해시마크(#)를 통해 표시
-i : 설치모드
-e : 삭제모드 -e --nodeps (의존성문제 무시 삭제)
-q : 질의모드 (설치목록을 조회함)
-qa |grep 설치파일명 : 해당 설치파일의 패키지를 다 보여줌
-qi 설치파일명 : 해당 패키지에 대한 정보
-ql 설치파일명 : 해당 패키지에 포함된 모든 파일명 출력
cat : 해당 파일의 내용 표시
cat /etc/passwd : 전체 계정 확인
cat /proc/version : 리눅스 버전확인
cat /etc/issue : centos 버전확인
cat file1 file2 : file1과 file2를 이어서 보여줌
cat file1 file2 > file3 : file1과 file2의 내용을 이은 새로운 파일 file3을 만듬
startx : x윈도우 사용하기
useradd : 사용자 계정 추가
useradd 계정이름 -d 계정폴더 : 계정추가와, 계정 폴더를 생성해줌.
userdel : 사용자 계정 삭제
userdel -r : 해당 유저의 모든 파일과 디렉토리 폴더를 삭제한다.
su : 사용자 전환
su 계정 아이디 : 해당 계정으로 전환
chown : 디렉토리 소유자 변경
chown 소유자:그룹 디렉토리이름 : 해당 디렉토리의 소유자와 그룹을 변경
chown -R 소유자:그룹 디렉토리이름 : 해당 디렉토리의 하위 디렉토리들까지 모두 한번에 바꿔준다.
chmod : 디렉토리나 파일의 권한 변경
chmod 707 파일이름 : 해당 디렉토리나 파일의 권한 변경
chmod -R 707 디렉토리이름 : 해당 디렉토리의 하위 디렉토리들까지 모두 한번에 바꿔준다.
vim : 문서 편집기
vim 문서이름 : 해당 문서를 열어서 편집할수 있게 해준다.
esc키 : 현재 모드를 종료시켜준다.
:w : 파일 저장
:w 새로운파일이름 : 해당 파일이름으로 저장
:wq! : 강제 저장후 종료
:set number : 줄번호 보이기 set nu 으로도 사용가능, 감출때는 :set number! 또는 :set nonu 또는 :set nu!
:f : 현재 파일 이름과 커서의 줄 위치
:split : 화면 수평 분할
:vs : 화면 수직 분할
:res 13 : 13만큼 분할된 화면 표시
:only : 다시 원래대로 한화면
ctrl + w : 분할된 화면 이동
ctrl+b : 한화면 위로 스크롤
ctrl+f : 한화면 아래로 스크롤
i : 입력모드로 전환(해당 커서위치에 입력)
p : 커서가 있는 위치에 붙여 넣기 - [n]p 로 여러번 붙여넣기 사용가능
v : 블록 지정
y : 복사하기 ( v로 블럭지정후에 쓰면 됨.)
d : 잘라내기 ( v로 블럭지정후에 쓰면 됨.)
/검색할문자 : 해당 문자를 검색한다. 다음으로 이동 n, 이전으로 이동 N
:s/old/new : 현재 행의 처음 old 라는 문자를 new로 치환
:s/old/new/g : 현재 행의 모든 old 라는 문자를 new로 치환
:%s/old/new/g : 문서 전체의 old 라는 문자를 new로 치환
u : 실행취소
ctrl+R : 다시 실행
[리눅스] 리눅스의 기본 명령어들
레고 블럭들
이명헌 [ 2002-3-25 ]
문서출처: 이명헌 경영스쿨
http://www.emh.co.kr/content.pl?linux_basic_commands 이 문서를 게시하거나 프린트하려면 위 문서출처와 링크를 반드시 포함해야 합니다. 리눅스 명령어(command)는 하나하나가 독립적인 프로그램으로 최근의 리눅스 배포본은 GUI(Graphical User Interface)가 대폭적으로 도입되어 사실상 매킨토시나 윈도우즈처럼 마우스 포인터와 클릭으로 많은 작업을 수행할 수 있게 되었지만, 역시 리눅스의 참맛은 터미널창에서 명령어를 타이핑하는 데서 느낄 수 있습니다. 도스(DOS)의 조잡함과 달리 유닉스 명령어는 단순한 명령어가 파이프문자를 통해 아름답게 조화되면서 "Simple and elegant"란 무엇인가를 확실하게 보여줍니다. 유닉스의 명령어 즉, 커맨드는 무척 많고, 이들 하나하나가 많은 옵션이 달려있어서 명령어 하나를 철저하게 아는 것도 간단한 일이 아닙니다. 하지만 자주 쓰이는 명령어는 소수에 불과하기 때문에 몇몇 커맨드만 알아도 일상적인 작업을 하는 데 그다지 큰 불편은 없습니다. 이 글은 오라일리 씨리즈 중 "Running Linux"의 4장, "Basic Unix Commands and Concepts"를 중심으로 리눅스 명령어 중 가장 기본적이고 많이 쓰이는 것들을 정리한 것입니다. 파일, 디렉토리 관련cdchange directory의 약자입니다. 다른 디렉토리로 이동할 때 사용합니다. 만약 cd /usr/local/apache
입니다. 디렉토리 이름 없이 그냥 ls디렉토리의 내용물을 보여주는 커맨드입니다. 자주 쓰는 옵션으로는
# ls -l
앞의 퍼미션 다음의 1,2라는 숫자는 하드링크(hard link)의 갯수를 나타내고, 그 다음은 파일의 소유자(owner;user), 그 다음은 그룹(group), 그 다음은 파일의 크기, 그 다음은 파일의 생성시간, 그리고 마지막으로 파일이나 디렉토리의 이름이 나옵니다. 이렇게 길게 리스팅하는 명령어가 참고로, 점 하나는 현재 디렉토리를 가리키고 두 개는 mkdir이름처럼 "make directory"입니다. 디렉토리를 만듭니다. mkdir newDirectory
처럼 사용합니다. 이것과 반대되는 것은, rm
rm useless
rm -r oldDirectory
cp
cp somefile somewhere
형태로 사용합니다. 그냥 cp -r . /home/linuxer
라고 하면, 현재 디렉토리에 있는 모든 파일과 서브 디렉토리를 눈치채셨는지 모르겠지만, mv이름처럼 "move", 파일을 이동하는 명령어입니다. mv filename destination
처럼 사용합니다.
mv old.txt new.txt
old.txt라는 파일이름을 new.txt라는 파일이름으로 바꿉니다. 리눅스에서는 "rename"이라는 명령어가 따로 없습니다. ln -s심볼릭 링크(Symbolic link)를 만드는 명령어입니다. 심볼릭 링크는 윈도우즈의 "바로가기", 맥의 "가상본"과 유사한 것으로 이해하세요. ln -s filename linkname 퍼미션 (Permission)퍼미션은 이름처럼 '허가'를 뜻합니다. 파일이나 디렉토리를 누가 볼 수 있으며 누가 새로운 내용을 기록할 수 있으며 또 실행할 수 있는지 설정하는 것입니다. 유닉스(리눅스)에서는 개별 파일 별로 퍼미션을 설정할 수 있습니다. 바꿔 말하면 "파일 수준의 보안"이 가능합니다. 유닉스의 큰 강점 중 하나입니다. 퍼미션이 없는 사용자가 특정 파일이나 디렉토리에 접근하면 "Permission denied"라는 메씨지가 뜨면서 사용자의 행동을 차단합니다. 개별 파일 별로 확실한 보안이 이뤄지는 것입니다. 위의 퍼미션에는 크게 세 종류가 있습니다. 퍼미션을 나타내는 9개의 알파벳은 3개씩 끊어서 각각 "user", "group", "others"의 퍼미션을 나타냅니다. 예를 들어, 어떤 파일의 퍼미션이 다음과 같다면, -rwxrw-r--
이것은 세 개씩 끊어서, 디렉토리의 경우, 파일(디렉토리)의 owner는 대개 그 파일(디렉토리)를 만든 사람으로 처음에 설정됩니다. 특별히 퍼미션을 지정하지 않는 경우 기본적으로 설정되는 퍼미션은 퍼미션을 바꾸고 싶다면 어떻게 할까요? 그럴 때 사용하는 코맨드가, chmod입니다. chmod +w myprogram
라고 하면 됩니다. 이렇게 하면 user(owner), group, others 모두에 쓰기 퍼미션이 첨가됩니다. user에만 쓰기 퍼미션을 첨가하고 싶다면 어떻게 할까요? chmod u+w myprogram
라고 하면 됩니다. user는 퍼미션을 없애는 것도 같은 식입니다. 만약, others의 쓰기,실행 퍼미션을 없애고 싶다면, chmod o-wx myprogram
라고 하면 됩니다. 다음 코맨드는 어떤 의미일까요? chmod ug+wx myprogram
myprogram의 user와 group에 실행,쓰기 퍼미션을 주는 것임을 쉽게 알 수 있습니다.
chmod 500 myprogram
첫 번째 것은 myprogram 파일을 4-2-1입니다. 외워 두세요. chown, chgrp퍼미션 관련 명령어의 마지막으로, user와 group을 바꿔주는 커맨드를 살펴봅시다. 이름 그대로입니다. chown myprogram linuxer
물론 바꿀 수 있는 퍼미션이 있을 때에만 가능합니다. 예를 들어 root로 로그인한 상태거나 그 파일의 원 소유자인 경우입니다. rpm 관련rpm -Uvh레드햇(RedHat) 리눅스를 사용하는 경우 소프트웨어들이 rpm 패키지 형태로 배포되는 것을 볼 수 있습니다. rpm 패키지를 다루는 명령어 중 자주 쓰이는 것은 사실 몇 개 없습니다. 먼저, rpm -Uvh package-1.0.0.rpm
와 같은 형태로 사용합니다. 의존성(dependency) 때문에 인스톨이 안 되는 경우에는 rpm -qa현재 머쉰에 어떤 rpm 패키쥐가 인스톨되어 있는지를 질의(query)하는 커맨드입니다. 설치된 모든 rpm 패키쥐가 버전과 함께 뜹니다. rpm -e지우는 명령입니다. 먼저 질의를 한 다음 거기 나온 이름을 압축, 해제 관련tar xvzf타르(tar)로 묶은 다음 gzip으로 압축된 파일들을 한 번에 압축 해제부터 보따리 풀기까지 시행해 주는 명령어입니다. 가운데의 "z"를 빠뜨리면 안됩니다.
tar xvzf downloaded.tar.gz
tar cvzf위와 반대로 여러 개의 파일을 tar cvzf tarfile.tar.gz .
와 같은 형태로 씁니다. 현재 디렉토리 tar cvf"z"가 빠진 것이므로 압축은 하지 않고 묶어 주기만 합니다. tar cvf tarfile.tar .
처럼 씁니다. 현재 디렉토리 gzipgzip 압축 방식으로 압축하는 명령어입니다. gzip documnet.txt
라고 하면 document.txt의 gzip 압축 파일인 gunzip.gz 파일을 푸는 명령어입니다. "unzip"이니까 당연하죠? 이렇게 씁니다. gunzip document.txt.gz
압축된 파일은 없어지고 압축이 풀린 "document.txt"라는 파일이 새로 생깁니다. bunzip2리눅스 커널의 경우, bunzip2 linux-version.bz2
플로피 디스크 관련플로피 디스크를 저장매체로 사용하는 경우가 거의 없어져 가고 있지만 가끔 필요한 경우가 있습니다. mkfs -t ext2 /dev/fd0 1440플로피 디스크를 리눅스 용으로 포맷하는 명령어입니다. fdformat /dev/fd0이름처럼 floppy disk(fd)를 "format"하는 명령어입니다. 위 명령어와의 차이점은 로 레벨 포맷(low level format)을 한다는 점입니다. dd if=/boot/vmlinuz of=/dev/fd0 bs=8192리눅스 부트 플로피를 만드는 명령어 입니다. /boot/vmlinuz가 바로 리눅스 커널입니다. 이것을 플로피 디스크로 복사하는 것입니다. 기타whoami내가 누구인지를 묻는 명령어입니다. 현재 로그인한 id를 출력합니다. su수퍼유저, 즉 반대로, 현재 root로 있는 상태인데 다른 유져로 내려가고 싶다면 whereis어떤 프로그램이 인스톨되어 있는지를 쉽게 알아보는 명령어입니다. 예를 들어 펄이 설치되어 있는지 알고 싶다면, man명령어 등의 메뉴얼 페이지(man page)를 보여 줍니다. 생소한 명령어에 대해서 자세히 공부하고 싶다면 tab 키, CTRL-u, CTRL - w굳이 명령어를 모두 타이핑하지 않아도 명령어를 자동완성(auto completion)하는 방법이 있습니다. 명령어의 처음 몇 자를 친 다음 명령어를 타이핑하다가 다 지우고 다시 시작하려면 백 스페이스 키를 여러 번 누를 필요 없이 이 정도만 알면 기본적인 작업은 할 수 있습니다. 하지만, 대부분의 명령어에 아주 많은 옵션이 있기 때문에 공부하려고 든다면 명령어 하나를 마스터하는 데에도 며칠씩 걸릴 수 있습니다. 굳이 그렇게 다양한 옵션을 다 외울 필요는 없습니다. 자주 쓰는 명령어의 가장 핵심적인 옵션 한두 개 정도만 알고, 중요한 커맨드(예컨데, |
'연구하는 인생 > ♣COMPUTER' 카테고리의 다른 글
How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 14.04 (0) | 2015.04.13 |
---|---|
lamp 설치 (0) | 2015.04.13 |
LENOVO THINKPAD E320 (0) | 2015.03.15 |
WIFI 연결에 인증서를 요구할 경우 (0) | 2015.03.14 |
JavaScript’s “this” (0) | 2015.02.23 |