PART1 : webterror가 지금까지 활용해 왔던 Bash Tip

By | 2017년 3월 17일

특정 디렉토리에서 불특정 파일의 추가 텍스트의 로그 보기

 

파일 목록 이동시키기

 

DIFF 수정된 파일 목록 찾기

두 디렉토리를 비교해서 파일이 다른 것들을 찾는것

 

bash script tips

ESC = CTRL + {
명령어 전부 지우기 : ESC + { + Backspace, CTRL + U
DEL키 : CTRL + D
^S stops scrolling (Xoff)
^Q resume scrolling (Xon)
EXIT FREEZING SSH : Enter + ~ + .

 

모든 파일에서 문자열 검색

R옵션 : 재귀검색, 아래의 커맨드는 정말 자주 사용된다.

 

grep : Display only words

You can select only those lines containing matches that form whole words using the -w option. In this example, search for word ‘getMyData()’ only in ~/projects/ dirctory:

 

grep : Search for two or more words

Use the egrep command as follows:

 

screen을 이용하여 터미널 화면 공유하기

@@ 먼저 ssh 또는 telnet 을 이용하여 서버에 접속한다음 screen 세션을 생성한다.
$ screen -S [세션명]
@@ 그리고 공동작업할 사람역시 해당 서버에 접속한다음 같은 세션명으로 다음과 같이 참여한다
$ screen -x [세션명]
@@ 이제 두 사람은 같은 화면을 보면서 동시 작업이 가능. 종료 : ctl-A D

 

Connect Apple Bluetooth keyboard

 

umask 활용방법

이후 umask -S로 확인할수 있다.

 

awk와 cut 활용 : 파일 인코딩 알아내기

(완전히 정확하지는 않습니다)

@@ ISO-8859-1 to UTF-8 변환

 

SSHFS 패스워드 없이 자동 마운트

 

.java 소스만 전체 인코딩 바꾸기

 

자막파일 .smi 인코딩 바꾸기

 

Gnome 윈도우 창별 프로세스 알아내기

우분투 쓰는 사람들에게는 정말 유용하게 사용됨

 

네트워크 패킷 검사
——————————————————————————–
Display Captured Packets in ASCII using tcpdump -A
——————————————————————————–
$ tcpdump -A -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:34:50.913995 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 1457239478:1457239594(116) ack 1561461262 win 63652
E…..@.@..]..i…9…*.V…]…P….h….E…>{..U=…g.
……G..7\+KA….A…L.
14:34:51.423640 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 116:232(116) ack 1 win 63652
E…..@.@..\..i…9…*.V..*]…P….h….7……X..!….Im.S.g.u:*..O&….^#Ba…
E..(R.@.|…..9…i.*…]…V..*P..OWp……..

——————————————————————————–
Display Captured Packets in HEX and ASCII using tcpdump -XX
——————————————————————————–
$tcpdump -XX -i eth0
18:52:54.859697 IP zz.domain.innetbcp.net.63897 > valh4.lell.net.ssh: . ack 232 win 16511
0x0000: 0050 569c 35a3 0019 bb1c 0c00 0800 4500 .PV.5………E.
0x0010: 0028 042a 4000 7906 c89c 10b5 aaf6 0f9a .(.*@.y………
0x0020: 69c4 f999 0016 57db 6e08 c712 ea2e 5010 i…..W.n…..P.
0x0030: 407f c976 0000 0000 0000 0000 @..v……..
18:52:54.877713 IP 10.0.0.0 > all-systems.mcast.net: igmp query v3 [max resp time 1s]
0x0000: 0050 569c 35a3 0000 0000 0000 0800 4600 .PV.5………F.
0x0010: 0024 0000 0000 0102 3ad3 0a00 0000 e000 .$……:…….
0x0020: 0001 9404 0000 1101 ebfe 0000 0000 0300 …………….
0x0030: 0000 0000 0000 0000 0000 0000 …………

——————————————————————————–
Capture the packets and write into a file using tcpdump -w
——————————————————————————–
$ tcpdump -w 08232010.pcap -i eth0
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
32 packets captured
32 packets received by filter
0 packets dropped by kernel

——————————————————————————–
Read packets longer than N bytes
——————————————————————————–
tcpdump -w g_1024.pcap greater 1024

——————————————————————————–
Read packets lesser than N bytes
——————————————————————————–
$ tcpdump -w l_1024.pcap less 1024

——————————————————————————–
Receive only the packets of a specific protocol type
——————————————————————————–
$ tcpdump -i eth0 arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
19:41:52.809642 arp who-has valh5.lell.net tell valh9.lell.net
19:41:52.863689 arp who-has 11.154.12.1 tell valh6.lell.net
19:41:53.024769 arp who-has 11.154.12.1 tell valh7.lell.net

——————————————————————————–
Capture packets for particular destination IP and Port
——————————————————————————–
$ tcpdump -w xpackets.pcap -i eth0 dst 10.181.140.216 and port 22

——————————————————————————–
Capture TCP communication packets between two hosts
——————————————————————————–
$tcpdump -w comm.pcap -i eth0 dst 16.181.170.246 and port 22

——————————————————————————–
15. tcpdump Filter Packets – Capture all the packets other than arp and rarp
——————————————————————————–
$ tcpdump -i eth0 not arp and not rarp
20:33:15.479278 IP resolver.lell.net.domain > valh4.lell.net.64639: 26929 1/0/0 (73)
20:33:15.479890 IP valh4.lell.net.16053 > resolver.lell.net.domain: 56556+ PTR? 255.107.154.15.in-addr.arpa. (45)
20:33:15.480197 IP valh4.lell.net.ssh > zz.domain.innetbcp.net.63897: P 540:1504(964) ack 1 win 96
20:33:15.487118 IP zz.domain.innetbcp.net.63897 > valh4.lell.net.ssh: . ack 540 win 16486
20:33:15.668599 IP 10.0.0.0 > all-systems.mcast.net: igmp query v3 [max resp time 1s]

——————————————————————————–
기타예제
——————————————————————————–
// 라우팅되는 패킷도 검사할수 있다.
sudo tcpdump -n -i wlan0 dst 172.20.10.1

 

환경변수 설정하는 내용

~/.profile 파일에 설정하면 리눅스에서 최초 로그인시에 설정된다. 따라서 이 파일을 편집후에 터미널을 켜도 환경변수는 반응하지 않는다. 재 로그인 필요 또는 <ALT>+<CTRL>+F1 등을 누르고 로그인 테스트!
또는 su 명령어로 –login 옵션을 가지고 들어가면 된다.
~/.bashrc 파일은 매 로그인시 적용되는 파일이다.

~/.bash_profile is only sourced by bash when started in interactive login mode. That is typically only when you login at the console (Ctrl+Alt+F1..F6), or connecting via ssh.
When you log in graphically, ~/.profile will be specifically sourced by the script that launches gnome-session (or whichever desktop environment you’re using). So ~/.bash_profile is not sourced at all when you log in graphically.
When you open a terminal, the terminal starts bash in (non-login) interactive mode, which means it will source ~/.bashrc.
The right place for you to put these environment variables is in ~/.profile, and the effect should be apparent next time you log in.
Sourcing ~/.bash_profile from ~/.bashrc is the wrong solution. It’s supposed to be the other way around; ~/.bash_profile should source ~/.bashrc.
See DotFiles for a more thorough explanation, including some history of why it is like it is.
(On a side note, when installing openjdk via apt, symlinks should be set up by the package, so that you don’t really need to set JAVA_HOME or change PATH)

 

tar 파일에 파일 추가 하는 방법

 

프로세스 자원 살펴보기

 

표준입력0, 표준출력1, 표준에러2 활용방법

exec 3>&1 : 기존에는 /proc/nnnn/fd/3 proc가 없다. 이상황에서 3번 파일디스크립터를 연다.
grep Comment examples.dektop 2>/dev/null 이러한 식으로 해당 출력이 “표준출력”인지 “표준에러”인지 알아낸다.
exec 3<> aaa : 3번 FD를 aaa와 연결한다.
$ echo “djfkldsajkf” >&3
$ cat aaa
djfkldsajkf
$ echo “djfkldsajkf” >&3
$ cat aaa
djfkldsajkf
djfkldsajkf
$ echo “djfkldsajkf” >&3
$ cat aaa
djfkldsajkf
djfkldsajkf
djfkldsajkf
exec 3>&- : 3번 파일디스크립터를 닫는다.

 

php 컴파일 옵션 알아보기

 

Window PID 알아내기

 

디렉토리별 용량 확인

 

디렉토리 트리 보기

 

7z 압축리스트 풀기

 

tar 와일드카드 사용

 

IP 충돌 확인

 

sudoer 추가하기

 

링크디렉토리 최종 목적파일 알아내기

 

스레드 카운트 세기

 

UUID 생성하기

 

One thought on “PART1 : webterror가 지금까지 활용해 왔던 Bash Tip

  1. bassist.g

    좋은정보 감사합니다.
    앞으로 잘 활용하게 될 것 같아서 정보좀 가져가겠습니다.
    공유 감사드려요!

    Reply

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다