Skip to content

Instantly share code, notes, and snippets.

@nikAizuddin
Last active October 20, 2020 03:34
Show Gist options
  • Save nikAizuddin/a05c2f472ee495c0a380820178f9369b to your computer and use it in GitHub Desktop.
Save nikAizuddin/a05c2f472ee495c0a380820178f9369b to your computer and use it in GitHub Desktop.
This UNIX Shell script will download most O'Reilly free pdf books about Programming, Security, Business, Data, Design, IoT, WebDev, and WebOps from http://www.oreilly.com/programming/free/.
#!/bin/sh
################################################################################
## This UNIX Shell script will download most O'Reilly free pdf books
## about Programming, Security, Business, Data, Design, IoT, WebDev, and WebOps
## from http://www.oreilly.com/programming/free/.
## There are a few books that are non-free, so I don't list them here.
##
## --- How to RUN? ---
## $ sh -e oreilly-freebooks.sh
##
## -----------------------------------------------------------------------------
## Date Created: Tuesday, 04-October-2016
## Last Modified: Tuesday, 04-October-2016
################################################################################
download_programming_books() {
filetype=${1}
mkdir -p Programming ; cd Programming
mkdir -p SoftwareEngineering ; cd SoftwareEngineering
mkdir -p Java ; cd Java
wget -c http://www.oreilly.com/programming/free/files/modern-java-ee-design-patterns.${filetype}
wget -c http://www.oreilly.com/programming/free/files/object-oriented-vs-functional-programming.${filetype}
wget -c http://www.oreilly.com/programming/free/files/java-the-legend.${filetype}
wget -c http://www.oreilly.com/programming/free/files/introducing-java-8.${filetype}
cd ..
mkdir -p Python ; cd Python
wget -c http://www.oreilly.com/programming/free/files/a-whirlwind-tour-of-python.${filetype}
wget -c http://www.oreilly.com/programming/free/files/20-python-libraries-you-arent-using-but-should.${filetype}
wget -c http://www.oreilly.com/programming/free/files/hadoop-with-python.${filetype}
wget -c http://www.oreilly.com/programming/free/files/how-to-make-mistakes-in-python.${filetype}
wget -c http://www.oreilly.com/programming/free/files/functional-programming-python.${filetype}
wget -c http://www.oreilly.com/programming/free/files/python-in-education.${filetype}
wget -c http://www.oreilly.com/programming/free/files/from-future-import-python.${filetype}
cd ..
mkdir -p Other ; cd Other
wget -c http://www.oreilly.com/programming/free/files/trends-shaping-the-london-tech-scene.${filetype}
wget -c http://www.oreilly.com/programming/free/files/2016-european-software-development-salary-survey.${filetype}
wget -c http://www.oreilly.com/programming/free/files/2016-software-development-salary-survey-report.${filetype}
wget -c http://www.oreilly.com/programming/free/files/why-rust.${filetype}
wget -c http://www.oreilly.com/programming/free/files/c++-today.${filetype}
wget -c http://www.oreilly.com/programming/free/files/analyzing-visualizing-data-f-sharp.${filetype}
wget -c http://www.oreilly.com/programming/free/files/rxjava-for-android-app-development.${filetype}
wget -c http://www.oreilly.com/programming/free/files/swift-pocket-reference.${filetype}
cd ..
cd ..
mkdir -p OpenSource ; cd OpenSource
wget -c http://www.oreilly.com/programming/free/files/ten-steps-to-linux-survival.${filetype}
wget -c http://www.oreilly.com/programming/free/files/open-by-design.${filetype}
wget -c http://www.oreilly.com/programming/free/files/getting-started-with-innersource.${filetype}
cd ..
mkdir -p SoftwareArchitecture ; cd SoftwareArchitecture
wget -c http://www.oreilly.com/programming/free/files/microservices-antipatterns-and-pitfalls.${filetype}
wget -c http://www.oreilly.com/programming/free/files/microservices-vs-service-oriented-architecture.${filetype}
wget -c http://www.oreilly.com/programming/free/files/software-architecture-patterns.${filetype}
wget -c http://www.oreilly.com/programming/free/files/migrating-cloud-native-application-architectures.${filetype}
wget -c http://www.oreilly.com/programming/free/files/reactive-microservices-architecture-orm.${filetype}
wget -c http://www.oreilly.com/programming/free/files/engineering-managers-guide-design-patterns.${filetype}
wget -c http://www.oreilly.com/programming/free/files/azure-for-developers.${filetype}
cd ..
cd ..
}
download_security_books() {
filetype=${1}
mkdir -p Security; cd Security
wget -c http://www.oreilly.com/webops-perf/free/files/cracking-security-misconceptions.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/patrolling-the-dark-net.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/devopssec.${filetype}
wget -c http://www.oreilly.com/security/free/files/not-all-data-is-created-equal.${filetype}
wget -c http://www.oreilly.com/security/free/files/who-are-the-bad-guys-and-what-do-they-want.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/docker-security.${filetype}
wget -c http://www.oreilly.com/data/free/files/security-data-lake.${filetype}
cd ..
}
download_business_books() {
filetype=${1}
mkdir -p Business; cd Business
wget -c http://www.oreilly.com/business/free/files/the-secrets-behind-great-one-on-one-meetings.${filetype}
wget -c http://www.oreilly.com/business/free/files/designing-culture.${filetype}
wget -c http://www.oreilly.com/business/free/files/the-new-manager-mindset.${filetype}
wget -c http://www.oreilly.com/business/free/files/introduction-to-okrs.${filetype}
wget -c http://www.oreilly.com/iot/free/files/serving-workers-gig-economy.${filetype}
wget -c http://www.oreilly.com/business/free/files/build-to-lead.${filetype}
wget -c http://www.oreilly.com/business/free/files/three-critical-shifts-in-thinking-for-the-evolving-leader.${filetype}
wget -c http://www.oreilly.com/design/free/files/startup-essentials.${filetype}
wget -c http://www.oreilly.com/business/free/files/whats-the-future-of-work.${filetype}
cd ..
}
download_data_books() {
filetype=${1}
mkdir -p Data; cd Data
mkdir -p DataScience; cd DataScience
wget -c http://www.oreilly.com/data/free/files/2016-data-science-salary-survey.${filetype}
wget -c http://www.oreilly.com/data/free/files/embedding-analytics-in-modern-applications.${filetype}
wget -c http://www.oreilly.com/data/free/files/data-science-microsoft-azure-ml-python.${filetype}
wget -c http://www.oreilly.com/data/free/files/self-service-analytics.${filetype}
wget -c http://www.oreilly.com/data/free/files/going-pro-in-data-science.${filetype}
wget -c http://www.oreilly.com/data/free/files/evaluating-machine-learning-models.${filetype}
wget -c http://www.oreilly.com/data/free/files/what-is-data-science.${filetype}
cd ..
mkdir -p AI; cd AI
wget -c http://www.oreilly.com/data/free/files/what-are-conversational-bots.${filetype}
wget -c http://www.oreilly.com/data/free/files/the-new-artificial-intelligence-market.${filetype}
wget -c http://www.oreilly.com/data/free/files/ai-and-medicine.${filetype}
wget -c http://www.oreilly.com/data/free/files/what-is-artificial-intelligence.${filetype}
wget -c http://www.oreilly.com/data/free/files/future-of-machine-intelligence.${filetype}
wget -c http://www.oreilly.com/data/free/files/data-technology-and-the-future-of-play.${filetype}
cd ..
mkdir -p BusinessAndIndustry; cd BusinessAndIndustry
wget -c http://www.oreilly.com/data/free/files/data-and-democracy.${filetype}
wget -c http://www.oreilly.com/data/free/files/advancing-procurement-analytics.${filetype}
wget -c http://www.oreilly.com/data/free/files/the-big-data-market.${filetype}
wget -c http://www.oreilly.com/data/free/files/analyzing-data-in-the-internet-of-things.${filetype}
wget -c http://www.oreilly.com/data/free/files/the-business-of-genomic-data.${filetype}
wget -c http://www.oreilly.com/data/free/files/getting-analytics-right.${filetype}
wget -c http://www.oreilly.com/data/free/files/data-science-banking-and-fintech.${filetype}
cd ..
mkdir -p BigDataArchitecture; cd BigDataArchitecture
wget -c http://www.oreilly.com/data/free/files/architecting-for-access.${filetype}
wget -c http://www.oreilly.com/data/free/files/hadoop-and-spark-performance-for-the-enterprise.${filetype}
wget -c http://www.oreilly.com/data/free/files/in-search-of-database-nirvana.${filetype}
wget -c http://www.oreilly.com/data/free/files/stream-processing.${filetype}
wget -c http://www.oreilly.com/data/free/files/architecting-data-lakes.${filetype}
wget -c http://www.oreilly.com/data/free/files/hadoop-what-you-need-to-know.${filetype}
wget -c http://www.oreilly.com/data/free/files/fast-data-smart-and-at-scale.${filetype}
wget -c http://www.oreilly.com/data/free/files/migrating-big-data-analytics.${filetype}
cd ..
cd ..
}
download_design_books() {
filetype=${1}
mkdir -p Design; cd Design
wget -c http://www.oreilly.com/design/free/files/designing-for-mixed-reality.${filetype}
wget -c http://www.oreilly.com/design/free/files/design-in-venture-capital.${filetype}
wget -c http://www.oreilly.com/design/free/files/machine-learning-for-designers.${filetype}
wget -c http://www.oreilly.com/design/free/files/designing-for-product-strategy.${filetype}
wget -c http://www.oreilly.com/design/free/files/design-fundamentals-volume-2.${filetype}
wget -c http://www.oreilly.com/design/free/files/prototyping-for-physical-and-digital-products.${filetype}
wget -c http://www.oreilly.com/design/free/files/designing-for-cities.${filetype}
wget -c http://www.oreilly.com/design/free/files/2016-design-salary-survey-report.${filetype}
wget -c http://www.oreilly.com/design/free/files/designing-for-respect.${filetype}
wget -c http://www.oreilly.com/design/free/files/designing-for-the-future.${filetype}
wget -c http://www.oreilly.com/design/free/files/design-for-voice-interfaces.${filetype}
wget -c http://www.oreilly.com/design/free/files/design-and-business.${filetype}
wget -c http://www.oreilly.com/design/free/files/user-experience-for-iot.${filetype}
wget -c http://www.oreilly.com/design/free/files/designing-for-the-internet-of-things.${filetype}
wget -c http://www.oreilly.com/design/free/files/experience-design.${filetype}
wget -c http://www.oreilly.com/design/free/files/designing-for-social-impact.${filetype}
wget -c http://www.oreilly.com/design/free/files/data-informed-product-design.${filetype}
wget -c http://www.oreilly.com/design/free/files/startup-essentials.${filetype}
wget -c http://www.oreilly.com/design/free/files/new-design-fundamentals.${filetype}
wget -c http://www.oreilly.com/design/free/files/future-of-product-design.${filetype}
cd ..
}
download_iot_books() {
filetype=${1}
mkdir -p IoT; cd IoT
mkdir -p FramingTheIoT; cd FramingTheIoT
wget -c http://www.oreilly.com/iot/free/files/ambient-computing.${filetype}
wget -c http://www.oreilly.com/iot/free/files/governing-the-iot.${filetype}
wget -c http://www.oreilly.com/iot/free/files/iot-opportunities-challenges.${filetype}
wget -c http://www.oreilly.com/iot/free/files/creating-functional-teams-for-iot.${filetype}
wget -c http://www.oreilly.com/iot/free/files/building-a-hardware-business.${filetype}
wget -c http://www.oreilly.com/iot/free/files/when-hardware-meets-software.${filetype}
wget -c http://www.oreilly.com/iot/free/files/what-is-the-internet-of-things.${filetype}
wget -c http://www.oreilly.com/iot/free/files/software-above-device.${filetype}
wget -c http://www.oreilly.com/solid/free/files/software-hardware-collide.${filetype}
wget -c http://www.oreilly.com/iot/free/files/hardware-by-the-numbers.${filetype}
cd ..
mkdir -p DesignAndUX; cd DesignAndUX
wget -c http://www.oreilly.com/iot/free/files/innovation.${filetype}
wget -c http://www.oreilly.com/iot/free/files/pitching-your-iot-project.${filetype}
wget -c http://www.oreilly.com/design/free/files/user-experience-for-iot.${filetype}
wget -c http://www.oreilly.com/iot/free/files/internet-as-material.${filetype}
wget -c http://www.oreilly.com/design/free/files/designing-for-the-internet-of-things.${filetype}
cd ..
mkdir -p IndustrialIoT; cd IndustrialIoT
wget -c http://www.oreilly.com/iot/free/files/ambient-computing.${filetype}
wget -c http://www.oreilly.com/iot/free/files/smart-energy.${filetype}
wget -c http://www.oreilly.com/iot/free/files/smart-cities-smarter-citizens.${filetype}
wget -c http://www.oreilly.com/iot/free/files/evaluating-and-choosing-an-iot-platform.${filetype}
wget -c http://www.oreilly.com/iot/free/files/evolving-infrastructures-of-industrial-iot.${filetype}
wget -c http://www.oreilly.com/iot/free/files/bottom-up-manufacturing.${filetype}
wget -c http://www.oreilly.com/iot/free/files/3d-printing-primer.${filetype}
wget -c http://www.oreilly.com/iot/free/files/predictive-maintenance.${filetype}
wget -c http://www.oreilly.com/data/free/files/industrial-internet.${filetype}
cd ..
cd ..
}
download_webdev_books() {
filetype=${1}
mkdir -p WebDev; cd WebDev
wget -c http://www.oreilly.com/web-platform/free/files/python-web-frameworks.${filetype}
wget -c http://www.oreilly.com/web-platform/free/files/modern-svg.${filetype}
wget -c http://www.oreilly.com/web-platform/free/files/little-book-html-css-coding-guidelines.${filetype}
wget -c http://www.oreilly.com/web-platform/free/files/upgrading-to-php-seven.${filetype}
wget -c http://www.oreilly.com/web-platform/free/files/static-site-generators.${filetype}
wget -c http://cdn.oreillystatic.com/oreilly/pdfs/Transforms_in_CSS.pdf
wget -c http://www.oreilly.com/web-platform/free/files/getting-started-with-the-web.${filetype}
wget -c http://www.oreilly.com/web-platform/free/files/modern-javascript.${filetype}
wget -c http://www.oreilly.com/web-platform/free/files/designing-great-web-apis.${filetype}
wget -c http://www.oreilly.com/web-platform/free/files/book-of-html-css-frameworks.${filetype}
wget -c http://www.oreilly.com/web-platform/free/files/js-next-a-managers-guide.${filetype}
cd ..
}
download_webops_books() {
filetype=${1}
mkdir -p WebOps; cd WebOps
mkdir -p Performance; cd Performance
wget -c http://www.oreilly.com/webops-perf/free/files/effective-performance-engineering.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/optimizing-cloud-migration.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/web-performance-warrior.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/webpage-size-speed-perf.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/HTTP2-high-perf-browser-networking.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/compliance-at-speed.${filetype}
cd ..
mkdir -p Operations; cd Operations
wget -c http://www.oreilly.com/webops-perf/free/files/mobile-app-analytics.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/monitoring-distributed-systems.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/release-engineering.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/beyond-the-twelve-factor-app.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/docker-in-the-cloud.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/network-automation-with-ansible.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/are-your-networks-ready-for-the-iot.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/docker-networking-and-service-delivery.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/immutable-infrastructure.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/continuous-delivery-with-windows-and-net.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/docker-security.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/kubernetes.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/modern-web-operations.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/distributed-development-stack.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/unsung-tools-of-devops.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/lightweight-systems.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/anomaly-detection-monitoring.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/are-your-networks-ready-for-the-iot.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/network-automation-with-ansible.${filetype}
cd ..
mkdir -p CultureAndDevOps; cd CultureAndDevOps
wget -c http://www.oreilly.com/webops-perf/free/files/devopssec.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/devops-for-finance.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/building-an-optimized-business.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/everything-is-distributed.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/devops-in-practice.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/the-human-side-of-postmortems.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/devops-hiring.${filetype}
wget -c http://www.oreilly.com/webops-perf/free/files/antifragile-systems-and-teams.${filetype}
cd ..
cd ..
}
mkdir -p OReilly_Freebooks
cd OReilly_Freebooks
download_programming_books pdf
download_security_books pdf
download_business_books pdf
download_data_books pdf
download_design_books pdf
download_iot_books pdf
download_webdev_books pdf
download_webops_books pdf
cd ..
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment