쉘 또는 셸 셀 에서 주로 사용하는 명령어
리눅스/유닉스에서 주로사용하지만 윈도우에서도 대부분 사용가능(파워쉘)
cmd는 되는것도 있고 안되는것도있는데 어차피 리눅스 서버에 접속한다면 리눅스명령어로 작업을 하게되므로
cmd보다는 파워쉘이 좋은듯(윈도우기준)
용도에 따라서 쉘 스크립트까지 써도되지만 간단한 명령어정도만 써도 충분히 많은 작업을 할 수 있음.
0. 도움말
help
man -k
info
특정키워드에 대한 자세한 내용은 각각 키워드 뒤에 해당 키워드를 입력하면됨
예) help keywords, man keywords, info keywords
help키워드가 가장 간략하게 보여주는거같고 man과 info는 메뉴얼을 보여주는느낌인데, 양이 많아서 읽기 어렵지만 자세한정보가있음. 말그대로 제품 사면 주는 메뉴얼같은 느낌
또 해당 키워드의 옵션에 대해서 보는 방법은
keywords --help 를치면 옵션위주로 간략하게 보여줌
ㅡㅡㅡㅡㅡ
1. 리눅스 서버접속
ssh 자기계정@접속할주소
입력후 비밀번호 입력
ㅡㅡㅡㅡㅡ
2. 디렉토리 표시
. : 현재 디렉토리
.. : 부모 디렉토리
~ : 홈 디렉토리
위의 세가지는 명령어와 함께 사용함
예를들어 cd .. 하면 부모디렉토리로 이동, cd ~하면 홈 디렉토리로 이동
자신의 현재 디렉토리를 보고싶을땐
pwd : 현재디렉토리 표시
ㅡㅡㅡㅡㅡ
3. 디렉토리내의 파일 표시 : List
ls [options] [file or dir] : file or dir안에 있는 파일의 목록을 options에 맞게 보여줌. 그냥 ls만 칠경우 현재 디렉토리의 목록 표시
자주쓰는 옵션
-l (L 소문자) : 좀 더 상세한 정보 출력
-F (대문자) : 파일 유형을 나타내줌. 디렉토리는 / 실행파일은 * 링크파일은 @
-a : 숨긴파일까지 표시
-r : 역순으로 표시
-R : 하위디렉토리의 내용까지 모두표시
위의 옵션말고도 매우 다양한 옵션이있음. 자세한건 메뉴얼이나 검색으로 사용하면되고
애초에 모든기능을 다 쓰지도않고 다 알필요도없음
중요한점으로 위의 옵션을 섞어서 쓸 수 있는데 각각 소문자 알파벳과 대문자 알파벳은 각각독립적인 기능을 수행하기때문에
ls -la 또는 ls -al 을 치면 ls -a를 친것과 ls -l 친것을 합친결과를 보여줌.
결과적으로 a는 숨김파일표시, l은 상세정보 표시기때문에 la와 al 모두 숨김파일의 상세한 정보를 표시해주는 명령어가됨. 두개만되는것도아니고 그 이상도 가능함.
ㅡㅡㅡㅡㅡ
4. 디렉토리 들어가기 : Change directory
cd [dir] : dir로 이동
dir을 지정안하고 cd만 쓸시 홈으로 이동 (cd ~와 같음)
위에서 설명한 . .. ~ 세가지를 잘쓰면 좋음
예를들어 아래와같이
cd ~/dir1/dir2 : 현재 디렉토리가 어디에 있든 홈디렉토리를 기준으로 이동
cd ../dir1/dir2 : 현재 디렉토리의 부모디렉토리에서 이동
ㅡㅡㅡㅡㅡ
5. 파일생성 : touch
touch [name] : name이름의 파일을 만듦
한번에 여러파일 가능 touch [name1] [name2] ...
기존에 존재하는 파일일경우 수정시간만 현재시간으로 변경
cat > [name] 으로도 만들수 있는데 두가지의 차이는 cat는 파일생성과 동시에 내용을 입력할 수 있음.
내용 입력후 ctrl+d로 종료
ㅡㅡㅡㅡㅡ
5-1,2,3 파일 복사 이동 제거 : copy move remove
5-1 파일복사
cp [fileName1] [fileName2] : fileName1파일을 fileName2의 이름으로 복제
복제할 fileName이전에 디렉토리경로를 추가할 수 있음
예)
cp [fileName1] [./dir1/dir2/fileName2] : dir2디렉토리안에 flieName2의 이름으로 fileName1파일을 복제
디렉토리을 통째로 복사할 수 있는데 그럴땐 cp뒤에 -r옵션을 추가해줘야함.
또한 여러파일을 한번에 옮기는것도 가능함. 다만 그럴땐 마지막 인자가 파일이아니라 디렉토리경로여야함.
파일 2개와 1개의 디렉토리를 옮긴다면 아래와같다
cp -r [fileName1] [fileName2] [./dir] [../dir1/dir2]
위의 실행결과는 fileName1과 fileName2 그리고 dir디렉토리를 ../dir1/dir2디렉토리에 그대로 복제한다
주의사항은 같은이름의 파일이나 디렉토리가 존재할경우 overwrite해버는점.
5-2 파일이동
파일 이름변경
mv [name1] [name2] : name1파일의 이름을 name2로 바꿈
파일 이동
mv [name1] [dir] : 현재경로의 name1파일을 dir디렉토리로 옮김
mv [name1] [dir/name2] : 현재경로의 name1파일을 dir디렉토리로 옮기고 이름을 name2로 변경
5-3 파일제거
일반 파일만 삭제할 때
rm [fileName1] [fileName2] ... : 나열한 파일들을 제거함
디렉토리를 삭제할 때
rm -r [fileName1] [dir1] ... : 나열한 파일과 디렉토리를 모두 삭제함
rm * : 현재디렉토리의 모든파일을 삭제함
rm -r * : 현재디렉토리의 모든파일과 디렉토리를 삭제함(경고없음)
rm -i * : 현재디렉토리의 모든파일을 삭제하는데 삭제시마다 yes/no로 답해야함
ㅡㅡㅡㅡㅡ
6. 파일 내용을 보는 옵션 : cat/more/tail/head/less
cat [fileName] : fileName파일을 화면에 출력
cat > name : name의 파일을 생성, 내용입력
여러파일 합치기
cat [file1] [file2] [file3] > fileName4 : file1,2,3을 하나의 fileName4파일로 합쳐줌
more/tail/less는 화면을 좀 더 편하게 보기위한 옵션임
more [fileName] : 한 페이지가 넘는 파일을 한화면단위로 보여줌. 뒤로는 안되고 앞으로만 가능
less [fileName] : 파일을 좀 더 편하게 볼수있음. 앞뒤로 다 가능하며 한페이지가 안되는 문서에도 가능
head [fileName] : 파일의 앞부분에서 10번째행까지만 출력해줌
tail [fileName] : 파일의 뒷부분에서 10번째행까지만 출력해줌
head와 tail모두 얼마나 보여줄지 옵션으로 정할수있음
예)
head -50c [fileName] : 앞에서 50번째단어까지 보여줌
tail - 100 [fileName] : 뒤에서 100번째행까지 보여줌
ㅡㅡㅡㅡㅡ
7. 파일 찾기 : find/grep
find [dir] -name [fileName] : dir경로에서 fileName의 이름의 파일을 찾음. 여기서 -name은 이름을 말하는게아니라 명령어로 써줘야함.
특정 항목이나 키워드, 단어찾기
grep [Keywords] [fileName] : fileName파일에서 Keywords단어를 검색함
grep 또한 파일지정말고 디렉토리도 지정할 수 있음 -r옵션을 추가해주면됨
grep -r [keywords] [dir1] [dir2] : dir1경로와 dir2경로에서 각각 keywords를 검색함
ㅡㅡㅡㅡㅡ
8. 기타 명령어
ps : 현재 실행중인 프로세스상태를 보여줌
date : 현재 날짜와 시간을 보여줌
id : 자신의 아이디를 보여줌
cal : 달력을 보여줌. 뒤에 년도를 치면 1~12월
clear : 화면을 지워줌
who am i : 자신의 정보를 보여줌
passwd : 비밀번호 변경
history : 지금까지 수행한 명령어들을 순서대로 번호로 보여줌
!명령어번호 : 입력하면 해당 명령어를 실행함
!-번호 : 명령어번호 리스트에서 해당 번호만큼 올라가서 해당 명령어를 실행함
chmod : 파일의 접근권한 변경