리눅스 기본명령어 2
목차
1. mv : 파일이나 디렉터리 이동, 이름 변경 용도로 사용 가능.
(옵션이 필요 없음)
-실습 예제
/mvfile 디렉터리 생성 후 안에 디렉터리 a, b, c 파일 1,2,3을 생성하자.
/ mvtest 디렉터리 생성 후 이쪽에 이동시켜주자.
현재 위치 /mvtest
1.mv /mvfile/1 /mvtest/1 (그냥 옮기기)
2.mv /mvfile/2 /mvtest/heath (이름 바꾸기)
3.mv /mvfile/a . (현재 위치로 옮기기)
4.mv /mvfile/3 /mvfile/b /mvfile/c /mvtest (한꺼번에 옮기기)
5.mv heath 2 (이름 바꾸기)
-실습 문제
1. /mvfinal이라는 디렉터리 생성 후 안으로 이동, /mvfinish 생성
2. ab bc cd 라는 디렉터리 생성, 111 222 333 이라는 파일 생성 후 /mvfinish로 이동
3. 111, 222 파일을 mvfinish로 이름 그대로 이동
4. /mvfinish에 /mvfinal의 ab 디렉터리를 abc라는 디렉
토리로 이동시켜라
5. bc 파일을 현재 위치 있는 그대로 bc1이라는 이름으로 변경 (단, cd 명령어 쓰지 말 것)
6. 333이라는 파일 33으로, cd라는 파일 이름 그대로 들고 오기
2. rm(remove) : 파일 삭제
-사용법
rm [target]
-옵션
-r : 디렉터리 삭제.
-f : 강제 삭제
-i : 질의(y.n)
-실습 예제
/rmtest 디렉터리 생성 후
/rmtest/a b c 디렉터리 생성
/rmtest/ 1 2 3 4 5 파일 생성 후 /rmtest에 이동
-rm 1
-rm a (안됨)
-rm -r a (디렉터리 삭제)
-rm -f 2 (bash로 쉘을 다르게 하여 질의할 때 질의 무시하며 삭제 다른 쉘 :ksh)
-rm -rf b (파일 디렉터리 구분 없이 강제 삭제) ★★★
-rm -i 4 (질의하는 옵션)
-rm -if 4 (삭제됨: 모순된 옵션이 합쳐지면 마지막의 옵션이 적용이 된다.)
-rm -fi 5 (삭제 안됨)
-rm -rf 5 c (동시 삭제)
-실습 문제
1./mvfinish 안에 33파일 삭제 (/로 이동후 삭제)
2./mvfinish 안에 111,222, 파일 옵션 없이 삭제
3./mvfinish 안에 이동후 안에 있는 디렉터리 전부 삭제.
4. 위의 rmtest 삭제
3. alias : 매크로 지정, 별칭 지정, unalias :매크로 삭제
-실습 예제
-alias al='mkdir /aliastest'
-alias a2='rm -rf /aliastest'
-alias a3='mkdir /alisastest
cd /aliastest' (명령어 두 개를 동시에 넣은 것.)
-alias a4='touch 1 2 3' (파일 생성 매크로)
-alias a5='a3
a4' (a5에 a3 a4 매크로 넣음)
-alias (매크로 목록보기)
-unalias [alias 명] :alias 해제
-unalias a5 (a5 지우기)
reboot (재부팅 후에 매크로 설정해놓은 게 적용되는가를 보기)
<<재부팅하면 사라짐>>
→vi /root/.kshrc 에 작성해야 사라지지 않는다.
-실습 문제
a1 = /alias 디렉터리 생성
a2 = /alias 디렉터리 내부에 test1파일 test2 디렉터리 생성
(Enter키로 여러 명령어 연동)
a3 = /alias 디렉터리 강제 삭제
a4 = /alias 디렉터리를 생성하면서 내부에
test1 파일 test2 디렉터리 생성
(alias끼리 조합)
4. 시간 관련 명령어
-date : 현재 시각 확인.
-rdate -p time.bora.net (타임 서버에서 시간 확인하는 명령)
-rdate -s time.bora.net (타임 서버와 시간을 동기화시킨다.)
-cal : 달력 보기
-cal [날짜] [월] [연도]
5. 필터링
'*' : 모든 문자 (문자 개수 상관 x)
1.ls -l * (모든 문자 출력)
2.ls -l 1* (앞자리 숫자 1인 것 필터링)
3.ls -l *2 (뒷자리 숫자 2인 것 필터링)
'?' : 모든 문자 (문자 개수 일치)
1.ls -l ? (한 글자인 것들 출력)
2.ls -l ??? (세 글자인 것들 출력)
3.ls -l *2? (뒤에서 두 번째 무조건 2 , 마지막 글자 존재, 2 앞에 오는 것은 상관 x)
-실습 문제-
먼저 생성.
/test
1 11 12 111 112 122 1111 1112 1122 1222
2 22 21 222 221 211 2222 2221 2211 2111 파일 생성.
/test 안에 전부 삭제 후
a a1 a2 ab ab1 ab2 abc abc1 abc2 abcd abcd1 abcd2 ac ac1 ac2 생성 후 문제 푸세요.
1. 두 글자인 목록을 출력하라.
2. 맨앞이 a 이며 그 뒤는 상관없는 파일명들을 출력하라.
3. 세글자 이며 맨뒤가 2인 것을 출력하라.
4. 4글자 이상 인 것을 출력하라. ????*
5. 두번째 글자가 b, 세번쨰 글자가 c 인것을 출력하라. ?bc*
6. 맨 뒤가 1 인것을 삭제해라.
7. 두번째 글자가 b 인것을 삭제하여라. ?b*
8. 두 글자 인것을 삭제해라.
9. 나머지 전부 삭제해라.
cat : 문서 내부 전체 출력
cat /etc/passwd
cat -n /etc/passwd (행과 같이 출력) ★★
head : 문서의 최초 10줄 출력
head -5 /etc/passwd (지정 행만큼 출력(5줄))
tail : 문서의 마지막 열 줄을 출력
tail -5 /etc/passwd (밑에서 지정 행만큼 출력(5줄))
more : 창 크기 만큼 끊어 보기.
enter : 한줄 씩 이동
space : 다음 페이지 이동
q : 탈출
more -4 /etc/passwd (4줄씩 끊어 보기)
redirection : 입출력 기호.
'<' : 출력(읽기) ----> (잘쓰이지않는다)
= cat
'>' : 입력(쓰기) ----> 입력 1. 파일생성 2. 덮어쓰기 3. 파일병합
'>>' : 추가(쓰기) ----> 추가 1. 파일생성 2. 내용추가 3. 파일병합추가
11. find : 검색명령어
(자주 쓰이는 형식 들)
ex) find [범위] -name [명]
find [범위] -name [명] -o -name [명]
# find / -name heath -o -name grub
find [범위] -name [명] -type f (파일)
-type d (디렉터리)
# find / -name heath -type d
# find / -name heath -type f
-시간관련 (time = 일 , min = 분 )
-atime +n 파일에 접근한지 +n일 이상(-n 일경우는 n일 이내)
-ctime +n 파일에 생성한지 +n일 이상(-n 일경우는 n일 이내)
-mtime +n 파일에 변경한지 +n일 이상(-n 일경우는 n일 이내)
-amin +n 파일에 접근한지 +n분 이상(-n 일경우는 n분 이내)
-cmin +n 파일에 생성한지 +n분 이상(-n 일경우는 n분 이내)
-mmin +n 파일에 변경한지 +n분 이상(-n 일경우는 n분 이내)
# find /mvtest -cmin +10 (만든지 10분이상 된것)
# find /mvtest -cmin -10 (만든지 10분 이하 된것 찾기)
-실습문제-
1. /etc/passwd 의 위에서 5번째 줄까지 출력
2. inittab 파일 검색 후 검색한 파일의 아래서부터 12번째 줄까지 출력(find로 찾을것)
find / -name inittab -type f | tail -12
3. /etc/httpd/conf/httpd.conf 문서를 20줄씩 끊어서 출력
more -20 /etc~~
4. /etc/httpd/conf/httpd.conf 를 왼쪽에 번호표가 붙은 상태로 10줄씩 끊어서 출력
cat -n /etc/httpd/conf/httpd.conf | more -10
5. /etc 디렉토리 내 목록을 2줄씩 끊어서 출력하세요
ls -l /etc | more -2
6. /etc 디렉토리 내 목록을 왼쪽에 번호표가 붙은 상태로 출력하세요
ls -l /etc | cat -n
7. /cattest 디렉토리를 생성한 뒤 pwd를 입력했을때 /cattest가 나올 수 있도록 하세요
****** 7번 부터는 /cattest 디렉토리 안에서 작업 ******
8. 가로로 1 2 3 내용을 가지는 파일 a , 세로로 1 2 내용을 가지는 파일 b를 생성하세요
9. 파일 a 와 b 의 내용을 병합한 파일 c 를 생성하세요
10. heath 내용을 가지는 파일 d 를 생성한 뒤 파일 c 의 내용을 d 파일에 추가시키세요
11. /etc 디렉토리 내 목록에 왼쪽에 번호표가 붙은 내용을 가지는 파일 e 를 생성하세요
ls -l /etc | cat -n >> e
12. grub.conf login.defs inittab 파일을 검색하여 /cattest 로 복사하고
grub.conf, login.defs, inittab, b, c, d, e 파일들의 각각 위에서 2줄씩의 내용이 출력되는
파일 f를 /home/test/c/d/cattest/linux 디렉토리에 생성하세요
find / -name login.defs -type f -o -name inittab -type f -o -name grub.conf -type f
head -2 a b c d e login.defs inittab grub.conf >> /home/test/c/d/cattest/linux/f
논리연산자
· && : a and b a&&b a성공시 b 수행
a실패시 b 미수행
· || : a or b a||b a성공시 b 미수행
a실패시 b 수행
· | : pipe a|b a의 수행결과를 b가 받아서 수행한다.
(가급적 하나만 사용한다.)
ex)) tail -20 /etc/passwd | cat -n (tail 명령문부터 수행 후 cat -n 수행)
cat -n /etc/passwd | tail -20 (cat -n 부터 수행 후 tail -20 수행)
'전기기사 > 리눅스' 카테고리의 다른 글
[리눅스1] 리눅스 그룹, 계정 생성 (0) | 2019.01.03 |
---|---|
[리눅스1] 압축 (0) | 2019.01.03 |
[리눅스1] 문서편집기(vi) 주요 명령어 (0) | 2018.12.27 |
[리눅스1]- 리눅스 기본특징 (0) | 2018.12.27 |
[리눅스1]-기본 명령어 (0) | 2018.12.26 |
댓글