Linux Shell - manipulate Linux Kernel
Linux Shell Types
sh
(Bourne shell) : By Unix Shell, Super shellbash
(Bourne-agin shell) : Super shell in Linuxcsh
(C shell) : C like syntaxtcsh
(Enhanced-C shell): cksh
(korn shell) : by David Korn, Powerful Script Languagezch
(Z shell) : Unix/GNU shell script, Powerful Script Language-sh : 최상위 shell
-bash: Super shell in Linux
두 shell은 어디서나 상용.
/bin
: cat
과 같은 기본 명령어가 있는 곳
/boot
: for booting. 리눅스가 부팅될 때 필요한 것들 있음
/dev
: device file, cd-rom. 디바이스 관련
/etc
: config, passwd, rc.d 기타 설정파일 등
/home
: user home dir 유저들이 있는 home. root 는 다른 곳에.
/lib
: shared library 공유되는 라이브러리. 설치파이들같은거
/media
: ssd. 외장하드나 mount해서 쓰는 것들
/opt
: application software package 프로그램들
/proc
: process info
/root
: root home dir
/sbin
: 관리자용, ifconfig bin은 기본 명령들. sbin 관리용 명령들 또 따로 있음
/srv
: system data
/tmp
: temporary dir temporary폴더. 아직 뭐에 쓰는건지 모르겠다.
/usr
: source or programs 특정 유저들이 쓰는 프로그램들
/usr/local
mysql 같은거 설치하면 여기 들어감
/var
: logs, ftp, spool, mail
log파일처럼 큰 파일, 파일 주고받는 프로토콜(ftp),spool은 print 관련. 양이 많아지는 것들이 여기 있음
/lost+found
- 사용 더이상 안되는 휴지통같은 개념
cf. inode (ls -il)
좀 자주 쓰일법 한 것들 : /bin
, /etc
, /lib
, /proc
, /sbin
, /tmp
, /usr
, /var
, inode
,
20 FTP (data)
21 FTP (Control)
22 SSH / rsync / rcp
23 Telnet
25 SMTP (Simple Mail Transfer)
53 DNS
80 HTTP
443 HTTPS
110 POP3
vmstat
- 서버 상태 보는 것
vmstat 1
1초 단위로 계속 보여줌
ctrl a
, ctrl e
- 틀린거 수정할 때 제일 앞이나 뒤로 감. 화살표 키 연타 안해도 된다..!!
history
- 명령어 쓴거 보여줌
!(string)
- history 중에 썻던 거중에 일치하는 최근거 찾아서 실행
man <명령>
- 해당 명령어에 대한 메뉴얼임
adduser
, useradd
: adduser는 폴더같은거 다 만들어지고 useradd는 계정만 만들어지고 사용자폴더같은건 안만들어짐
ps -ef
: 작업관리자 같은것
passwd <user>
: <user>
의 password 변경해줌
deluser <user>
: <user>
삭제
vi /etc/passwd
: 어떤 유저들이 있는지 확인해볼 수 있음
su - <username>
: 해당 유저로 변환됨
exit
: 다시 root로 돌아감
pwd
: 현재 위치 보여줌
ll
: ls -al
모든걸 다 보여달라. 한줄씩. 시스템 파일들도 다 보임
ls
: 숨겨진 폴더는 빼고 볼 파일들 보여줌
touch
: 파일 생성
cat
: 파일 내용보기
head -<num> <filename>
: 해당 파일의 상위 <num>
줄 수만 보여줌
tail -<num> <filename>
: 해당 파일의 하위 <num>
줄 수만 보여줌
which <program-name>
: 해당 프로그램이 어느 폴더에 있는지 보여줌
echo $PATH
: path
에 등록되어 있는 path 안에 있는 프로그램은 어느 path에서도 실행할 수 있음
ex) which vi
하면 /user/bin
이라고 vi
위치가 나온다. /user/bin
은 echo $PATH
하면 나오는 path기에 vi
는 어느 위치에서나 실행가능
cd -
: 이전 directory로 이동
mkdir / rmdir
: dir 생성 / 삭제
cp <file> <location>
: location 위치로 file을 copy함
cp -af
ll <folder>
: 해당 폴더 안에 있는 걸 보여줌. 굳이 안들어가봐도 되네
mv <file> <folder>
: 파일 이동
mv <file> <file>
: 파일 이름 변경
rm
: 파일 삭제
find . -name test.txt
: .
현재폴더 및 아래에 속해있는 폴더 중 text.txt
를 찾음. 특정 파일을 찾는 명령어
passwd
: password 바꾸는 명령어
df
: disk 가 얼마나 mount 되어 있는지 보는 명령어
df -m
: 위 명령어를 mega bite 단위로
du /directory
: 해당 directory에서 얼마나 디스크를 사용하고 있는지 보여줌. directory use. 바이트단위
du -sk /directory
: 위 명령어의 sum을 보는 것
free
, free -m
: 메모리 사용량. swap으로 사용량이 많으면 메모리 부족하다는 소리
top
: 많이 씀. 스페이스바 누르면 최신으로 업데이트. 1
누르면 cpu 보여줌
vmstat
: 현재 상태를 한번에 보여줌. vmstat 1
1초 단위로 갱신.id
을 많이 봄 idle
상태 확인 얼마나 놀고 있는지. 초단위로 찍어보다가 갑자기 훅 줄어드는거나 그런거 확인 가능
ps
, ps -ef
: 프로세스 상태 볼 수 있음
cat /etc/hosts
열어보면
127.0.0.1
이 localhost
로 매핑되어 있는걸 확인할 수 있음. 이걸 바꾸면 다른 곳으로 연결되거나
다른 주소도 localhost로 매핑할 수 있겠다!
chmod
: 권한 변경
chown
: 소유권 변경
ln -s <route> <linkname>
: 경로 링크 생성함. 윈도우의 바로가기
LC_ALL=ko_KR.utf8 bash
가 한번에 안먹어서 LC_ALL=ko_KR.utf8
먼저 실행하고 다시 실행하였음
grep <찾을단어> <file-name> [-io]
grep ^If zen.txt
grep idea.$ zen.txt
echo Two aa tao. | grep -i t[ow]o
echo "aaa 123 hi 459" | grep [0-9]
echo "Two twoo aa too." | grep -io two*
echo "Two __33__ two" | grep -io __.*__
echo "I love $ hh" | grep \$
cf. egrep <찾을단어> *.gz
/usr/bin
에다가 start_telnet.sh
만든 후
/etc/init.d/xinetd restart
작성 뒤
chmod +x start_telnet.sh
이렇게 권한을 주었음
매번 /etc/init.d/xinetd restart
할 필요 없이 start_telnet.sh
이렇게 실행가능.
https://www.youtube.com/watch?v=6Sr3e5MEUvI&list=PLEOnZ6GeucBVj0V5JFQx_6XBbZrrynzMh&index=6
본 게시글은 위 강의를 보고 작성하였습니다.