- 자신의 디렉토리를 이동하는 여러가지 방법
# cd
# cd $HOME
# cd ~
# cd /tmp
# pwd
# cd
# pwd
# cd -
# pwd
# cd ~
# cd -
# pwd
# cd $HOME
cd [경로]
$HOME 은 로그인한 계정의 홈 디렉터리를 의미
~ 도 홈 디렉터리
cd - 은 바로 전 디렉터리로 이동
- mkdir 명령어
- 0byte 파일을 만드는 다양한 방법
# touch a.txt
# > b.txt
# dd if=/dev/null of=c.txt count=0
# install -m 644 /dev/null d.txt
# ls -l
total 16
-rw-r--r-- 1 root root 0 Mar 27 11:08 a.txt
-rw-r--r-- 1 root root 0 Mar 27 11:09 b.txt
-rw-r--r-- 1 root root 0 Mar 27 11:09 c.txt
-rw-r--r-- 1 root root 0 Mar 27 11:09 d.txt
# mv a.txt aa.txt <-- a.txt 를 aa.txt 로 변경
# mv a.txt aa.txt
# ls -l
total 16
-rw-r--r-- 1 root root 0 Mar 27 11:08 aa.txt
-rw-r--r-- 1 root root 0 Mar 27 11:09 b.txt
-rw-r--r-- 1 root root 0 Mar 27 11:09 c.txt
-rw-r--r-- 1 root root 0 Mar 27 11:09 d.txt
# install -d dirA <-- dirA 라는 디렉토리를 생성
# ls -l
total 24
-rw-r--r-- 1 root root 0 Mar 27 11:08 aa.txt
-rw-r--r-- 1 root root 0 Mar 27 11:09 b.txt
-rw-r--r-- 1 root root 0 Mar 27 11:09 c.txt
drwxr-xr-x 2 root root 4096 Mar 27 11:14 dirA/
-rw-r--r-- 1 root root 0 Mar 27 11:09 d.txt
- aa.txt 를 dirA 디렉토리에 이동
# mv aa.txt dirA
# ls
b.txt c.txt dirA/ d.txt
# ls dirA
aa.txt
- 여러개 파일을 다른 디렉토리로 이동하기
# mv b.txt c.txt d.txt <-- !!! 중요 : 에러발생은 파일이 3개 이상일때는 반드시 마지막이 디렉토리가 와야 한다.
mv: target `d.txt' is not a directory
# mv b.txt c.txt d.txt dirA
# ls
dirA/
# ls dirA
aa.txt b.txt c.txt d.txt
- 디스크 사용량 보기
[root@localhost ksw]# du -h /bin
7.5M /bin
[root@localhost ksw]# du -sh /etc
68M /etc
[root@localhost ksw]# useradd dutest
[root@localhost ksw]# du -sh ~dutest
56K /home/dutest
[root@localhost ksw]# du -sh ~
220K /root
du -sh [경로] or [파일명]
~사용자명 -> 사용자명의 홈 디렉터리
~ -> 로그인한 사용자의 홈 디렉터리
- 파일의 내용을 출력하는 명령어
cat, tac, head, tail, less, more
~~~
cat 은 다양하게 사용할 수 있다.
# cat /etc/passwd > passwd
# cat << END
> kajfa
> fajkfdjakf
> anfafkakfja
> END
kajfa
fajkfdjakf
anfafkakfja
# cat << END
> END
> END
> kadjf
> END
END
END
kadjf
리다이렉션
> 기호 : 출력 방향 지시자
ex) 명령 > 파일 : 명령어의 실행결과를 파일 안으로 넣는다.
명령 > 장치명 : 명령어의 실행결과가 장치명으로 보내진다.
>> 기호 : 출력 방향 지시자 (추가의 의미)
ex) 명령 >> 파일 : 새로운 명령을 파일 안으로 추가한다.
< 기호 : 입력 방향 지시자
<< 기호 : 입력 방향 지시자
ex) 명령 < 파일 : 파일에 있는 것을 명령으로 보냄
- 출력리다이렉션 예제
xshell 을 이용하여 한 CentOS에 SSH연결을
2개로 만든다.
tty 명령어로 터미널 번호를 확인한다.
/dev/pts/2 와 /dev/pts/3 을 사용 중인 걸 확인 가능
pts/0# tty
/dev/pts/0
pts/0# echo Hello
Hello
pts/0# echo Hello > /dev/pts/4
pts/4# tty
/dev/pts/4
pts/4# Hello <-- pts/0 에서 보내준 내용
pts/4# echo Hi
Hi
pts/4# echo Hi > /dev/pts/0
pts/0# Hi <-- pts/4 에서 보내준 내용
pts/0# cat << END > /dev/pts/4 <-- 결과를 /dev/pts/4 로 출력한다.
> aksjfd
> akfdj
> dkfja
> END
pts/4# aksjfd
akfdj
dkfja
- /dev/null 로 리다이렉션을 보낼때 많이 사용한다.
(출력 메세지를 감추고 싶을때 사용한다.)
> 1> 동일
2>
stdin (0) : 키보드 (입력)
stdout (1) : 모니터 (정상출력)
stderr (2) : 모니터 (에러출력)
# kjfdkdlkckdk
-bash: kjfdkdlkckdk: command not found
# dladskjdkdjd > /dev/null
-bash: dladskjdkdjd: command not found
# dladskjdkdjd 2> /dev/null
# echo $?
# ls 1> /dev/null
# echo $?
echo $? 를 할 때 결과 값으로는
바로 전 명령어가 실패 했을 시 0이 아닌 다른 값이 온다.
- 리눅스에서 사용되는 파일의 종류
# ls -l /bin/ls
-rwxr-xr-x 1 root root 95116 Jul 22 2011 /bin/ls*
# ls -ld /bin
drwxr-xr-x 2 root root 4096 Mar 27 11:47 /bin/
# ls -l /bin/awk
lrwxrwxrwx 1 root root 4 Sep 7 2013 /bin/awk -> gawk*
# ls -l /dev/sda
brw-r----- 1 root disk 8, 0 Mar 27 10:40 /dev/sda
# ls -l /dev/tty1
crw--w---- 1 root tty 4, 1 Mar 27 10:43 /dev/tty1
# ls -l /dev/log
srw-rw-rw- 1 root root 0 Mar 27 10:40 /dev/log=
# ls -l /dev/initctl
prw------- 1 root root 0 Mar 27 11:47 /dev/initctl|
- 다양한 파일 만들기
# dd if=/dev/zero of=file count=0
# install -d directory
# ln -s file symboiclink
# mknod -m 666 zero c 1 5
# mknod -m 666 null c 1 3
# mknod -m 640 sda b 8 0
# mkfifo -m 600 initctl
# mknod -m 600 initctl2 p
# mksock log; chmod 666 log
명령어1 ; 명렁어2
명령어1 실행 후 명령어2 실행
(명령어1이 실패여부 관계없이 끝나면 명령어2 실행됨)
- find를 이용한 파일유형 찾기
# find /bin -type f -name ls
# find /bin -type f -name ls -ls
# find / -maxdepth 1 -type d -name etc -ls
# find /dev -type s -ls
# find /dev -type p -ls
# find /dev -type l -ls
# find /dev -type b -name sda -ls
# find /dev -type c -name tty1 -ls
검색 결과 많아서 생략
- 파이프로 통신하기
1. 네임드 파이프
pts/0# mkfifo ABC
pts/0# ls -l ABC
prw-r--r-- 1 root root 0 Mar 27 1
pts/0# echo 123 > ABC
pts/1# cat ABC
123
2. 언네임드 파이프
# cat /etc/passwd | head -1
| -> 시프트 + 백스페이스 왼쪽 키 이다.