병갈이 블록

명령어에 대해서.. 본문

IT(Old)/Linux 서버관련

명령어에 대해서..

woojang 2017. 6. 19. 02:10

echo "문자열" : 문자열 출력 ( $0 입력시 사용중인 Shell의 종류를 출력함)

명령어 --help : 도움말

ls : 파일 리스트 출력

pwd : 현재 위치 경로를 출력


touch [파일이름.확장자] : 빈 파일 생성. 

cat [파일이름.확장자] : 뒤에 파일이 있을 시 인자로 받아 내부 문자열을 출력한다. 파일없이 cat만 사용하면 키보드 입력을 받게됨.

date : 현재시간 출력.


head [-n] {명령 or 파일} : -n 미설정시 첫 10줄을 출력.(엔터 1번이 한줄 기준.) -n+'숫자' 를 사용하면 숫자줄만큼만 출력.

tail [-n] {명령 or 파일} -n 미설정시 끝 10줄을 출력.(엔터 1번이 한줄 기준.) -n+'숫자' 를 사용하면 숫자줄만큼만 출력.


mkdir {name} : name이란 이름의 디렉터를 생성.

rm {파일이름.확장자} : 삭제 (-f를 붙이면 무조건 삭제)

cp {원본이름} {옮길위치/[새로운이름.확장자]} : copy하기.


mv {원본이름} {옮길위치/[새로운이름.확장자]} : 이동하기. 

mv {원본이름} {새로운이름} : 파일이름 변경 (


wget {경로} : 경로에 있는 파일을 다운로드함. 

wget {-O} {이름.확장자} {경로} : 결로에 있는 파일을 {이름.확장자}라는 이름으로 다운로드함.


apt- 관련

apt-get install name : name이란 프로그램을 다운로드 및 설치함.

apt-cache research name : name이란 문자열이 포함된 프로그램의 목록을 출력함.(즉, 검색기능)


파일검색

locate {파일이름.확장자} : 빠름. 설치되어 있지 않을수도 있다. sudo updatedb 명령어로 수시로 db를 갱신시켜야된다.

find [옵션1] [옵션2] {파일이름.확장자} : locate에 비해 느림. 

옵션1. '.'을 입력하면 현재폴더부터, '/' 루트폴더부터 검색. 즉, 시작 경로를 설정해줌.

옵션2. '-name' 파일 이름으로 검색. sudo명령어를 이용하면 모든 경로에서 파일을 찾아줌.

등등...find는 기능이 너무 많다. 찾아보길...


명령어 별명 만들기 - alias

alias {별명이름} = '명령문'

ex> alias c = 'clear'  : c를 누르면 'clear'어 동작.


cd 관련

cd {Tap + Tap}(= ls -a) : 폴더 내 모든 리스트(숨김파일 포함) 출력

cd .. : 상위폴더로 이동

cd ~ : 유저폴더로 이동

cd / : 최상위 폴더(root)로 이동.

cd /경로~/ : 경로로 이동.


ps [aux] : 실행중인 프로세스 출력. aux가 없으면 심플하고 간략하게, aux가 있으면 자세하고 더 많은 목록을 출력.

grep {name} : name이 들어가는 내용을 출력함. 목록을 출력하는 명령어와 함께 특정 문구가 들어가는 것들만 골라내기위해 사용됨. 

ex> ps aux | grep apache2 => 실행중인 프로세스 중에 'apache2'가 들어있는 리스트만 출력.



백그라운드 실행

ctrl + z : 특정 프로그램(nano 같은...)실행 및 편집 중 잠시 나가기.

fg : 이전 프로그램 혹은 jobs에서 +가 가리키고 있는 프로그램 활성화.

jobs : 백그라운드에서 실행중이 파일의 갯수와 fg입력시 실행시킬 파일의 순서등이 기록되어 출력.


항상 실행하는 프로그램. 데몬

 - sudo service {프로그램이름} {프로그램명령어}

(ex. apache의 경우 -> sudo service apache2 start // sudo service apache2 stop )




정기적으로 실행하는 프로그램. CRON

crontab -e : 내용 수정하기. (다른 옵션도 있음.)

=> m h  dom mon dow  command

m : 분(0~59)

h : 시(0~23)

dom : 월단위 일(1~31)

mon : 월(1~12)

dow : 주단위 (0~6)

command : 명령

그냥 숫자만 쓸때 : 시간을 나타냄.

그냥 * : 무시.

*/숫자 = 숫자 단위마다 한번씩 실행. (m이 */1이면 1분에 한번. */10이면 10분에 한번.)




슈퍼유저되기

1. 처음일때 : sudo passwd root 를 입력하면 계정 비번을 설정하게 된다. root계정을 위한 새로운 비번을 똑같이 두번 입력한다.

2. root계정이 있을때 : su - root

3. 빠져나오기 - exit


사용자 추가하기.

1. 추가하기(home 디렉토리에 새로운 유저폴더 생성) : sudo useradd -m {이름}

2. 비번 설정 : sudo passwd {이름}을 입력하면 계정 비번을 설정하게 된다. {이름}계정을 위한 새로운 비번을 똑같이 두번 입력한다.

3. 사용자 변경 : su - {이름} => 비번 입력 후 접속.

4. sudo 사용가능 계정으로 만들기 : sudo 명령이 가능한 계정으로 접속한 상태에서 sudo usermod -a -G sudo {이름} 입력

{이름} 계정으로 접속 후 sudo 명령을 실행하면 최초 실행시 계정 비번 입력.



Redirection

1.output Redirection

Output은 크게 Standard Output, Standard Error 두가지가 있음.


- Standard Output을 다른 경로로 바꾸기.

 ">" 기호 사용. ">" : 덮어쓰기, ">>" : 이어서 쓰기. (앞에 1이 생략되어 있음. 즉, "1>" 이어야 된다.)

echo "my name" 을 모니터 창이 아닌 name.txt(또는 다른 이름, 확장자의 파일..)으로 저장하기. 

==> echo "my name" > name.txt

(그외 다양하게 쓰임. ls -al > list.text 등등...)

- Standard Error를 다른 경로로 바꾸기.

"2>" 기호 사용. "2>" : 덮어쓰기, "2>>" : 이어서 쓰기.

존재하지 않는 test.txt를 cat으로 실행. 에러내용을 error.log에 저장

==> cat test.txt 2> error.log

※두개를 더해서 사용.

A 실행. 정상 수행되어 출력이 있으면 그 내용이 B에 저장, 에러발생시 에러문구 C에 저장.

==> A > B 2> C (or A 1> B 2> C)

※ 별도로 ( > /dev/null )을 입력하면 출력도 저장도 되지 않음.


2. Input Redirection

Input은 크게 Standard Input, Command-line Arguments, Environment Variables 세가지가 있음. 앞에 두가지만 보자..

Standard Input : 일반적인 키보드 입력. 

cat < test.txt =>test.txt에 있는 문자열을 cat명령어의 인자가 아닌 키보드입력과 같이 받음.

Command-line Arguments : 명령어의 인자로 입력. 

cat test.txt => cat의 인자로 test.txt파일을 받아 안에있는 문자열을 출력.

"<<" 사용시.

"<<'문자열'"을 사용하게 되면 '문자열'이 등장하기 전까지 키보드 입력을 받는다.



3. Input + Output

cat < filelist.log > test.txt  => filelist.log를 cat으로 출력하는데 모니터가 아닌 test.txt파일로 저장.


2>&1 : 에러스트림을 표준 출력 스트림으로 보냄. 즉, 에러시 화면에 에러문구 표시하기.




'IT(Old) > Linux 서버관련' 카테고리의 다른 글

Internet  (0) 2017.06.20
Group 관련.  (0) 2017.06.20
권한에 대해서..(Permission) - 업데이트 중  (0) 2017.06.20
Shell Script 만들기  (0) 2017.06.19
우분투에 apache, php, mysql설치하기  (0) 2017.06.17
Comments