bash 笔记

这一篇的内容,太乱了。以后再整理:

  1. 把熟悉的内容删掉。
  2. 不熟悉的内容放到前面。
# bash:  
export HOME=$PWD
export PS1="$"  更简短

把 home 把当前目录设置为 home, 
目的是缩短命令提示符前面的内容。 看起来更简短。


zcat labevents.csv.gz | awk -F',' '($5 == 50912 || $5 == 50971 || $5 == 50983 || $5 == 50902 || $5 == 50882 || $5 == 51221 || $5 == 51301 || $5 == 50931) { print $2","$5","$7","$10 }' | gzip > labevents_filtered.csv.gz

读取一个大文件, 并按照第5列的值来进行过滤。
把最终结果输出到一个新的压缩文件。


1. sort a1, a2, a11, a22, 正确的做法是 sort -k1,1V
2. uniq -c 唯一的行,进行计数

# curl 
1. 带代理 curl --proxy "http://127.0.0.1:10809" 
2. -O 使用url的后缀作为保存文件名


1. 文件名操作: https://blog.csdn.net/zhml8951/article/details/51906836
2. 判断文件存在: https://blog.csdn.net/lukabruce/article/details/98845437
 
 
# 找出最大的10个文件 
find -type f -exec du -Sh {} + | sort -rh | head -n 10


#### Linux 命令

1. 列出全部的 py 文件,并格式化为 File: xx.py
` ls *.py | cut -d " " -f 1 | while read n; do echo "File: $n"; done `


1. Linux下直接使用unzip *.zip解压多个文件会报错。
可以使用unzip '*.zip', 或者unzip \*.zip命令
2. head -n1 file.txt 查看文件的第一行
2. wc -w 计算有多少个词
3. seq, sequence 序列 表示产生从一个数到另一个数的序列。
seq 1, 5 --> 1, 2, 3 ,4 ,5 
4. cut -d ' ' -f1 file.txt
-d  指定文件的分隔符是空格,必须是空格 
-f1 显示第一列的内容 


1. 把Mannaged mode 切换成 Monitor mode, 然后方便wireshark来抓包
	# sudo airmon-ng start wlx488ad2683511
2. 使用 espeak:
	# sudo apt install espeak # echo "hello" | espeak
4. 添加 subl 到终端, 设置别名:
	sudo gedit ~/.bashrc
	alias subl='/home/fc/Downloads/sublime_text_3/sublime_text'
	source ~/.bashrc
8. 查看 CPU 总的线程数:
# grep 'processor' /proc/cpuinfo | sort -u | wc -l
11. ctrl-u 可以删除行内光标所在位置之前的内容
12.  # 把标准错误导入另一个文件,剩下的都是标准输出
find / -size 33c -user fc -group team2 2>/dev/null
13. cat data.txt | sort | uniq -c |grep -v "10"
15. 使用 ssh key 登录(切换用户身份登录同一台主机):
ssh -i sskey.private userX@localhost
16. stat filename, 显示文件的详细信息
17. 在命令结尾加上&,表示后台运行, fg 可以跳出来.
18. nc打开连接的同时传给一定的参数, 使用 cat 不加参数,等待输入
 for i in {1..50}; do ltrace ./app 'python2 -c "print 'a'*$i"'; done
19. nmap localhost -p31000-32000
8.常用命令:
	查看已经设置过的命令别名: alias
	rev, 逆转一个字符串
	tac, 逆转一个文件的每行的顺序
	tr -d 删除字符
	cut -d 剪切字符
3. oepnssl 语法:
# $ openssl s_client -connect www.feistyduck.com:443 other_paras
# 这里的这个 s_client 是固定写法,不是变量名称
9. crontab的用法.
10. 命令行处理 凯撒加密:
# for i in {1..26}; do echo "ciphertext" |caesar $i; done


5. ltrace -s 1000 ./app , 把执行的结果 stringSize 扩大到1000 以免错过某些信息
6. apktool 解压apk文件
7. sudo apt install dosbox, 执行MS-DOS文件
8. stegcracker  [] 恢复隐藏的文件
9. zbarimg some.png 解析二维码
10. pycharm 重新格式化代码 全选然后: Ctrl+Alt+L
15. 在/home目录下查找以.txt结尾的文件名
find /home -name "*.txt"
7.tail -n 1, 输出最后一行
12. 除了使用strings  也使用 tail 试试看
3. 输入sudo lshw -C network显示Ubuntu正在使用的网卡信息


***************** 各种解压 ******************
1. 解压 7z 文件 	# 7z e [file]
2. cpio - copy files to and from archives
	#  cpio -i -F initramfs.cpio # How to extract a ASCII cpio archive
3. 解压 some.bz2 文件
	# bzip2 -dk some.bz2 # -k, 保存原文件
4. fcrackzip, 破解一些加密的 zip 文件
# fcrackzip -v -D -u -p rockyou.txt secret.zip



***************** mount ******************
1. 挂在一个文件系统,比如 ext4,
# sudo mount some.ext4 /media/fc
# ls -a /media/fc
2. 挂载一个文件系统, mount 命令:
mkdir /mnt/you
sudo mount -o loop -t ntfs dd.img /mnt/you


***************** others ******************
2. liunx 查看所有的系统变量: printenv | less
	# 或者 直接 env
3. quipqiup ,  solve simple substitution ciphers(替代解密?)
4. hexedit, 来查看图片的hex, 或者 xdd 也行的, 或者试一下 strings
5. 尝试在客户端添加一个 cookie, admin, 1, 然后刷新查看服务器的响应.
12. Local File Inclusion:
# http://vulnerable_host/preview.php?file=../../../../etc/passwd
14. XOR cipher,
# plaintext ^ key = ciphertext
# plaintext ^ ciphertext = key

16. 给一个php 文件添加头部信息,欺骗服务器:GIF89a
GIF89a

17. BLIND SQL Injection
# 'AND password LIKE "<iter>%"'
18. 截屏或图片上的文字识别: GOCR  # gocr -h
11. testdisk 修复,恢复删除的文件
12. zip archive headers是 50 4B 03 04


你可能感兴趣的:(bash,笔记)