리눅스 알아가기(1)

Matthew Woo·2022년 1월 28일
0

My Review

목록 보기
7/11

Linux Shell - manipulate Linux Kernel

Linux Shell Types

Linux Shell Types

  • sh (Bourne shell) : By Unix Shell, Super shell
  • bash (Bourne-agin shell) : Super shell in Linux
  • csh (C shell) : C like syntax
  • tcsh (Enhanced-C shell): c
  • ksh (korn shell) : by David Korn, Powerful Script Language
  • zch (Z shell) : Unix/GNU shell script, Powerful Script Language

-sh : 최상위 shell
-bash: Super shell in Linux

두 shell은 어디서나 상용.

Linux File System Directories

/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 ,


Linux Ports

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 <명령> - 해당 명령어에 대한 메뉴얼임


root 명령어

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/binecho $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.1localhost 로 매핑되어 있는걸 확인할 수 있음. 이걸 바꾸면 다른 곳으로 연결되거나
다른 주소도 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

본 게시글은 위 강의를 보고 작성하였습니다.

profile
Code Everyday

0개의 댓글