God-Linux


bash

# 判断当前是否是登陆式或非登陆式 shell
echo $0# 上一个命令的最后一个参数.例如:上一条命令(vim test.txt),cat !$ = cat test.txt
!$# 以 root 身份运行最后一个命令
sudo !!# 一个命令创建项目的目录结构
mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}# 筛选出命令中错误的输出,方便找到问题
yum list 1 > /dev/null# 优雅的使用 linux
alias please="sudo"# 没用但有趣的东西.
P=(' ' █ ░ ▒ ▓)
while :;do printf "\e[$[RANDOM%LINES+1];$[RANDOM%COLUMNS+1]f${P[$RANDOM%5]}";done# 让 freebad 机器叫出声
echo “T250L8CE-GE-C” > /dev/speaker
echo “O1L15aO2L15bO3L15cO4L15d” > /dev/speaker# 在不使用 chmod 的情况下运行脚本
. ./test.sh
{.,./test.sh}
bash < test.sh
cat test.sh|sh
curl -s file://`pwd`/test.sh | sh# 直接覆盖预原文件
sudo tee xxx.txt <<-'EOF'
aaa
bbb
test
EOF# hex 转 ASCII
echo -e "\x68\x65\x6c\x6c\x6f"

cd

切换到上一个目录

cd -

创建时进入文件夹

mkdir /tmp/test && cd $_

使用 CDPATH 定义 cd 命令的基本目录

cd mail
-bash: cd: mail: No such file or directoryexport CDPATH=/etc
cd mail
/etc/mail

有效率的向上移动

# cd ../../../../alias ..4="cd ../../../.."
alias .....="cd ../../../.."
alias cd.....="cd ../../../.."
alias cd4="cd ../../../.."..4
.....
cd.....
cd4

使用 dirs, pushd 和 popd 操作目录堆栈

# 如何使用 pushd 和 popd? 让我们首先创建一些临时目录,并将它们推入目录堆栈,如下所示。
mkdir /tmp/dir1
mkdir /tmp/dir2
mkdir /tmp/dir3
mkdir /tmp/dir4cd /tmp/dir1
pushd .cd /tmp/dir2
pushd .cd /tmp/dir3
pushd .cd /tmp/dir4
pushd .dirs
# 在这个阶段,目录堆栈包含以下目录
# /tmp/dir4
# /tmp/dir3
# /tmp/dir2
# /tmp/dir1# 最后一个被推送到堆栈中的目录将在顶部。当执行 popd 时,它会 cd 到堆栈中最上面的目录项,并将其从堆栈中删除。最后推送到栈中的目录是 /tmp/dir4,所以,当我们执行 popd 时,会 cd 到 /tmp/dir4,并从目录栈中删除,如下所示。popd
pwd
# 在这个阶段,目录堆栈包含以下目录
# /tmp/dir3
# /tmp/dir2
# /tmp/dir1popd
pwd
# 在这个阶段,目录堆栈包含以下目录
# /tmp/dir2
# /tmp/dir1popd
pwd
# 在这个阶段,目录堆栈包含以下目录
# /tmp/dir1popd
pwd
# 在 popd 后,目录 Stack 为空!popd
-bash: popd: directory stack empty

使 cd 不区分大小写

bind "set completion-ignore-case on"

net

# 在当前目录起个 8000 端口的 HTTP 服务
python -m SimpleHTTPServer 8000# 查看自己的外网地址
curl ifconfig.me

无依赖下载(仅支持http)

  • linux在没有curl和wget的情况下如何用shell实现下载功能
#!/bin/bash
# 无依赖的http下载
# https://zgao.top/linux%e5%9c%a8%e6%b2%a1%e6%9c%89curl%e5%92%8cwget%e7%9a%84%e6%83%85%e5%86%b5%e4%b8%8b%e5%a6%82%e4%bd%95%e7%94%a8shell%e5%ae%9e%e7%8e%b0%e4%b8%8b%e8%bd%bd%e5%8a%9f%e8%83%bd/
# https://github.com/c4pr1c3/cuc-ns/blob/master/chap0x07/exp/webgoat/wget.shfunction DOWNLOAD() {local URL=$1if [ -z "${URL}" ]; thenprintf "Usage: %s \"URL\" [e.g.: %s http://www.xxx.com/test.json]" \"${FUNCNAME[0]}" "${FUNCNAME[0]}"return 1;firead proto server path <<< "${URL//"/"/ }"DOC=/${path// //}HOST=${server//:*}PORT=${server//*:}[[ x"${HOST}" == x"${PORT}" ]] && PORT=80exec 3<>/dev/tcp/${HOST}/$PORTecho -en "GET ${DOC} HTTP/1.0\r\nHost: ${HOST}\r\n\r\n" >&3while IFS= read -r line ; do[[ "$line" == $'\r' ]] && breakdone <&3nul='\0'while IFS= read -d '' -r x || { nul=""; [ -n "$x" ]; }; doprintf "%s$nul" "$x"done <&3exec 3>&-
}DOWNLOAD "$1"

shell

fork 炸弹

:(){:|:&};:

Thanos

This command could delete half your files randomly

#!/bin/sh
let i=`find . -type f | wc -l`/2 ; find . -type f -print0 | shuf -z -n $i | xargs -0 -- cat# Explaination
## Step 1: Get the count of files in current path divided by two.
## Step 2: Get all the files in current path and print in one line.
## Step 3: Turn half of the second step output into standard input randomly.
## Step 4: Show half of the files in terminal.# Key Point
## If you want to make delete, what you need to do is turn 'cat' into 'rm'.

VIM

无 root 权限,保存编辑的文件
:w !sudo tee %

性能

sync    # sync 命令做同步,以确保文件系统的完整性,将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延的块 I/O 和读写映射文件.否则在释放缓存的过程中,可能会丢失未保存的文件.
echo 1 > /proc/sys/vm/drop_caches   # 清理 pagecache(页面缓存)
echo 2 > /proc/sys/vm/drop_caches   # 清理 dentries(目录缓存)和inodes
echo 3 > /proc/sys/vm/drop_caches   # 清理 pagecache、dentries 和 inodes
sync# 取消开启文件数限制
ulimit -n 65535# 优化内存
echo 128 > /proc/sys/vm/nr_hugepages        # 默认为0
sysctl -w vm.nr_hugepages=128

文本

计算文本文件中的单词出现次数

grep -o -i test example.txt | wc -l         # 计算"test"出现在文件中的次数

点击关注,共同学习!安全狗的自我修养

github haidragon

https://github.com/haidragon

学习笔记-God-Linux相关推荐

  1. linux系统管理学习笔记之一-------linux解压缩命令

    linux系统管理学习笔记之一-------linux解压缩命令 2009-12-29 11:52:55 标签:linux tar [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接 ...

  2. linux系统管理学习笔记之八---linux文件与目录的管理及权限

    linux系统管理学习笔记之八---linux文件与目录的管理及权限 2010-01-05 09:00:49 标签:权限 管理 文件目录 linx [推送到技术圈] 版权声明:原创作品,允许转载,转载 ...

  3. Linux中常用的文件目录,Linux学习笔记2——Linux中常用文件目录操作命令

    ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 touch 生成一个空文件 e ...

  4. Linux+javaEE学习笔记之Linux网络环境配置

    Linux+javaEE学习笔记之Linux网络环境配置 网络知识简单介绍: Ip地址是:IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物 ...

  5. Linux学习笔记之——Linux系统内部相关介绍

    Linux学习笔记之--Linux系统内部相关介绍 摘要:主要记录一些比较有用的能够帮助理解和使用Linux的知识.比如一些相关概念.没兴趣的看看就好.知道有这么个东西.注意事项.和一些常用目录的作用 ...

  6. 【Linux学习笔记】Linux服务器:配置与管理samba服务器

    Linux系列文章目录 一.[linux学习笔记]红帽Linux 7.8系统在虚拟机上的安装 二.[Linux学习笔记]Linux系统的基本操作 三.[Linux学习笔记]管理Linux操作系统:用户 ...

  7. 【黑马程序员新版Linux学习笔记】Linux系统实用操作命令——操作演示

    [黑马程序员新版Linux学习笔记]Linux 零基础快速入门: (一)Linux基本命令--操作演示 (二)Linux用户和权限 -- 操作演示 (三)Linux 小技巧快捷键 (四)Linux系统 ...

  8. Linux学习笔记:Linux常用命令总结

    文章目录 前言 Linux学习笔记:Linux常用命令总结 1. 目录命令 1.1 Linux目录结构 1.2 cd命令 切换工作目录 1.3 ls命令 显示目录下文件 1.4 mkdir命令 创建目 ...

  9. 学习笔记:Linux入门到进阶

    文章目录 前言 入门篇 一.常见的指令以及权限的理解 1. 初始Linux: 2.Linux下的基本指令 2.1 用户的创建和删除: 2.2 ls指令 2.3 pwd指令 2.4 cd指令 2.5 t ...

  10. linux 备份文件时,目录下的个别文件不备份,【学习笔记】Linux TAR备份文件时排除指定文件...

    天萃荷净 Oracle研究中心学习笔记:分享一篇关于Oracle数据库备份的笔记,该笔记记录使用linux tar备份数据库目录时指定排除不备份指定文件. 在升级或者打PSU的时候都需要对ORACLE ...

最新文章

  1. Python 计算机视觉(九)—— OpenCV进行图像平滑
  2. vue 数字变星号 过滤器_Vue自定义过滤器格式化数字三位加一逗号
  3. windows2003下防火墙ISA大型实验
  4. java监听网络连接_Android RxJava 之网络链接监听示范
  5. ASPNET5的依赖注入
  6. html5 webrtc fir 请求关键帧_中信建投官网强调认可我们的投资理念的股民朋友请求 CTRL D 收藏、锁定本直播地址...
  7. bresenham算法_二维光栅图形的扫描:直线的DDA、Bresenham算法与圆的生成
  8. SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论...
  9. QTP自动化测试-点滴-步骤
  10. wxpython安装_Mac RobotFramework 安装
  11. k8s nginx-ingress 上传大小限制问题配置
  12. jsweet下载编译
  13. 计算机无法播放flash,电脑中已安装Flash网页视频还是提示未安装Flash播放器怎么办...
  14. 我在GitHub上找到了这些游戏项目,刺激!
  15. 蒙特卡罗方法与马尔科夫链
  16. scrapy 中 COOKIES_ENABLED 设置
  17. 微信小程序 view自适应宽度
  18. ArcGIS面转中心线
  19. 登录界面---油管大佬
  20. Flex弹性盒子(一篇带你掌握潮流 Flex 布局)

热门文章

  1. python读书笔记2000_python高级编程读书笔记(一)
  2. 打造圣诞节H5游戏最强音
  3. OPPO R7Plusm(全网通)root、刷入twrp recovery、卡刷刷入CM系统教程合集_ recovery.img文件下载 联想A7600-m线刷刷机教程 手机卡在双4G双百兆无法开
  4. ImmunoChemistry艾美捷总细胞毒性试验试剂盒方案
  5. 互联网高端社畜行话大全(表情包)
  6. 【One Page】概率论复习|Probability Theory Review
  7. Oracle11.2.0.3 ORA-3136 连接超时错误解决
  8. 给老笔记本换固态硬盘,能提升系统速度吗?
  9. pycharm出现 Pycharm this applicatation failed to start because it could not find or laod the qt 的解决办法
  10. dof景深matlab,景深(DOF)