Last active
October 20, 2020 03:34
-
-
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/.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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