<span class="latin" style="width:19px;height:19px;">I</span><span class="latin" style="width:19px;height:19px;">t</span><span class="latin" style="width:19px;height:19px;">t</span><span class="latin" style="width:19px;height:19px;">c</span><span class="latin" style="width:19px;height:19px;">l</span><span class="latin" style="display:block;width:19px;height:19px;"> </span><span class="latin" style="width:19px;height:19px;">-</span><span class="latin" style="display:block;width:19px;height:19px;"> </span><span class="latin" style="width:19px;height:19px;">L</span><span class="latin" style="width:19px;height:19px;">i</span><span class="latin" style="width:19px;height:19px;">b</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">P</span><span class="latin" style="width:19px;height:19px;">l</span><span class="latin" style="width:19px;height:19px;">a</span><span class="latin" style="width:19px;height:19px;">n</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">t</span>  

Navigation menu




LibrePlanet


About 
About LibrePlanet
Mission Statement
Founding documents
Support this Community
Code of Conduct
Anti-harassment policy
Teams 
Activists
Wiki Helpers
LibrePlanet Artists
FSF Community Team
Local & Student Teams
Conferences 
LibrePlanet Conference
Non-official
Get involved 
Participate
Discussion channels
Events
 


Login
 










Ittcl

 

From LibrePlanet


Jump to: navigation, search  


Introduction to the Command Line (2nd ed.)

Introduction to the Command Line is a popular free book (released under the GPL version 2) that introduces the use of standard Unix and GNU command-line tools to people who are new to the command line. The Bash shell, editors, simple text manipulation, and basic programming are discussed. The book was written in the mid-2000s and needs an update for the way people are working today.

The Free Software Foundation (FSF), in conjunction with FLOSS Manuals, wrote this book originally and is now coordinating the update. This wiki discusses how volunteers can help, and lists proposed changes we are considering in the second edition.

Contents

Writers

Please add yourself here if you want to write new material. Include:

We need only one person per topic because collaborations rarely work well. We will vote on writers on our mailing list.

Writer Topics of Interest Git Python
Astika Nehra Python for numpy, matplotlid, panda; Sentiment Analysis using "tweepy"; Unix Commands for Security Audits, Network Status (ifconfig, ping, tracert, whois, nslookup, dig)
Patrick Geahan Any of the Basics, Commands, Advancd-ish or Advanced sections; Nano editor; Bash scripting
John B. Wyatt IV Bash, Bash scripting, Git, Automation https://libreplanet.org/wiki/Ittcl
Severino Tessarin Python, Vim, regex


Vicente Eduardo Ribeiro Marçal Python
Akul Vohra Python, Jupyter
Muhammad Raza Python, Git, Jupyter, Unix Commandline
Sarah Masud Python and/or Juypter
Barett McGavock Git
Paula de la Hoz Garrido Security
troy Any topic or issue that needs attention.
Alexander Tolios Any. flexible (preferences: git, vim, ssh, system administration, general cli usage), basically anything from the chapters 'basic', 'commands', 'advanced-ish', 'advanced' (except the 'interpreters'-subchapter) and 'editors' would be fine by me.
Dave Rowson General command-line usage, Vim, ssh and rsync
Pablo Correa Gomez General command-line usage, Emacs, Git, scripting
Nikhil Reddy Python, coreutils, network tools, text processing, Vim/Emacs.

 Astika Nehra
 Python and Jupyter for 
        - numpy, matplotlib, panda
        - Twitter Sentiment Analysis using "tweepy"  
 Unix Commands for Security Audits, Network Status (ifconfig, ping, tracert, whois, nslookup, dig).
 I am 2nd year B.Tech(Computer Science) student at Indira Gandhi Delhi Technical University for Women, New Delhi, India
 This assignment will be my first work in technical writing. 
 I have studied python for last 3 years during college as well as school. 
 I am also studying C/C++, Machine Learning using Python, App Development using Android Studio, Networking. (2018-19)
 https://github.com/AstikaNehra/
 https://www.hackerrank.com/astika_nehra
 School Projects:
 - Project work using C programming in Ardiuno Uno, Servo Motor, Ultrasonic Sensors for creating SONAR. (2017-18)
 - Shop Inventory management system in Python with SQLite database (2017-18)


    Patrick Geahan(pmgeahan)
   Any of the Basics, Commands, Advancd-ish or Advanced sections; Nano editor; Bash scripting
   Professional educator, including instructional design for beginning and advanced computing courses
   Designer of two courses drawing on and expanding this manual
   BS/Computer Science, 2000; MS, Computer Security, 2016.  CISSP, GCIH, GSEC
   Due to the classification of much of my work, it is not publicly available.

Username: jbwyatt4 for Wiki, LibreBook, & GitLab.com

John B. Wyatt IV

Bash, Bash scripting, Git, automation

Owner/Operator of WyattTechCourses.com (written in Rails).

Published author.

Bachelor's in Computer Science & Engineering, UC Merced.

Published two books and a course on server automation (Chef).

Have taught/tutored with GNU/Linux, C/C++, Ruby, and JavaScript.

https://wyatttechcourses.com/

http://jbwyatt4.com

https://stackoverflow.com/users/story/1613327

My Dotfile Manager Tutorial, written in Chef. Listed on GitHub's list of dotfile managers & tutorials.

https://gitlab.com/jbwyatt4/chef_dotfile_manager_tutorial


Severino Tessarin

Python,Vim,regex

I am a creative programmer with years of experience in several programming languages for applications related to information technology, science, and engineering. Currently developing a personalized application server entirely based on a python micro-framework (http://tessarinseve.pythonanywhere.com/).

Live coding talks and tutorials for beginners and professional data scientists.


- Web Site :https://tessarinseve.pythonanywhere.com/]

- Blog:https://tessarinseve.pythonanywhere.com/shared/index.html

- Linkedin: https://www.linkedin.com/in/tessarinseve/


Vicente Eduardo Ribeiro Marçal
 Python
 I'm a philosopher and logician. I work with Python to solve my daily problems. I teach Python in my free time!
 I work with development and teach. I have 10 years how a professor and 3 years how a developer.
 https://github.com/Riverfount
 https://vicentemarcal.com

Akul Vohra

Python, Jupyter

I work on personal projects and development usually in the field of data science.

Taught Python + Jupyter at a low level.

https://akul.org https://github.com/akulvohra


Muhammad Raza

Python,Git,Jupyter,Unix Commandline

I have 2 years of experience working in Python

I have taught JavaScript,Python,ExpressJS,Flask at a club in my college.

I write about technology on my website https://muhammadraza.me/ https://github.com/mraza007/Python-for-beginners https://github.com/mraza007


Sarah Masud

Python and or Juypter

Working in Python and ML for 2.5 years now.

Teaching experience: Conducted sessions(online and offline) on Python, ML in Python.

- Github- https://github.com/sara-02

- Website- https://themessier.wordpress.com

- CV- https://themessier.wordpress.com/about/#CV

- Talk Demo- https://www.youtube.com/watch?v=XZW3mMkQzSg


Barett McGavock

git

I have over 20 years of professional software engineering experience. This includes extensive use of both distributed and non-distributed source control systems (cvs, svn, p4, mercurial, git, Team Foundation, and several proprietary SCS systems). My broad background allows me to write more easily about the general things someone would want to accomplish with git. I have over 6 years of experience with git itself and have helped move multiple companies and departments from svn to git.

I write technical documentation including the developers' guide and environment setup guides at work. I have good writing skills, and am a native English speaker.

I write code for REI.com, an outdoor retailer. I also volunteer to do IT administration work for a local softball organization. https://www.rei.com/ https://www.emeraldcitysoftball.org/

Paula de la Hoz Garrido
 Security
 I'm a 23 years old cybersecurity analyst based in Spain. I've worked as pentester, analyst and auditor in different cybersecurity areas. I've founded a digital rights awareness association in Spain called Interferencias.
 I gave several speeches in Spain, Belgium and Vienna, I as well have taught git/programming/security/robotics to different kind of students: kids, teens, post-graduate, highschool teachers and fine art students at the University of Granada, University of Valencia and private academies. I write articles in Spanish, English and Japanese in dev.to/terceranexus6. I've also collaborated with other Spanish websites (Polikracia) and got interviewed in national papers (El pais, 20 minutos). I run a section in a local radio of Madrid (Radio Vallekas) about technology.
 https://github.com/Terceranexus6
 https://dev.to/terceranexus6
 https://terceranexus6.github.io


troy

will work on any topic or issue that needs attention

long time user of the command line on several different systems

lots of technical and related writing as part different technical contract jobs i've held over the past 10 years. i've worked and written for really big tech companies writing to some very niche-y topics, but i've also done writing for tiny little start-ups, even one where i was their first employee and they had almost no documentation. just imagine how many acronyms i had to create by myself! i've written install docs, and configuration docs, and usage type docs for systems dudes and development gals and even for technical management folks, too. of some relevance may be the writing i've done on-boarding new customers to systems or for big, hairy (rawr!) multi-tier apps they've never used before. i also write a lot of email. and short notes to myself about things i need to do.

no public pointers, sorry.


Alexander Tolios

Dave Rowson (username: row44k)

Pablo Correa Gomez (username: pabloyoyoista)

 Nikhil Reddy
- Python for: Scripting and automation. 

Also consuming APIs and building your own commandline tools.

- Unix Coreutils. 
- Grep/Sed/Awk. 
 I am Junior Undergrad studying Chemical Engineering at IIT Hyderabad, India. I do web development (including maintaining college websites) and simulations in Python. I also have an interest in Text Processing in Python. I've worked on backend using Go and used Rust for embedded systems. I do some sysadmining for college websites and hence have some familiarity with nagios, nmap,rsync. 
 I've written some guides for the students of my college on MicroPython and Arduino.
I'm currently teaching at a Python bootcamp for college students; I've had audiences completely new to programming and those already with a CS background. 

 https://github.com/thenarcissist

You won't really find much there. Sorry about that.

What to do

The current draft is on the FLOSS Manuals site. Contact Andy Oram (andyo at praxagora.com) to offer your help as a writer or reviewer.

Volunteers are coordinating their work on this wiki page. You can sign up for an account at the LibrePlanet wiki page and join the discussion.

The FSF recommends these guidelines for discussion.

Things to do to help include:

And tell your friends about this project!

Current Chapter and Section Listing of v.1

See Current Chapter and Section Listing of v.1 (first edition section and chapter listing with page numbers and page counts) or Content Inventory for an alternative view of first edition contents.

Version 1 versus Version 2, Tables

Version 1 Proposed Changes Version 2
INTRODUCTION
starts on p.1 (7 pages total for this chapter)
Introduction p.1 - 5
About this Manual p.5 - 7
PROPOSED CHANGES ...
Motivate the reader with common tasks; how command line can solve these tasks
discuss making mention of Other Vendors' broadening support of Command line/Bash/other Unix tools
. Microsoft, with Windows 10 command line and Debian in its App Store for example
. Google, now supports Gnu/Linux tools natively in their 2019 Chromebooks
INTRODUCTION
BASICS

starts on p.8 (13 pages total for this chapter)
Getting Started p.8 - 12
Beginning Syntax p.12 - 15
Moving Around p.16 - 20

PROPOSED CHANGES ...
introduce Grep earlier, as a simple way to search
BASICS
COMMANDS

starts on p.21 (13 pages total for this chapter)
Basic Commands p.21 - 27
Standard Files p.27 - 29
Cut Down on Typing p.30 - 31
SuperUsers p.31 - 32
Redirection p.32 - 33

PROPOSED CHANGES ...
discuss adding Visual Bash
remove file descriptors beyond 0, 1, 2 (too advanced for this book)
consider moving "Cut Down on Typing" into Basics section.
consider changing the name of this chapter to Beginning (as part of the series Beginning, Intermediate, Advanced)
COMMANDS
ADVANCED-ISH

starts on p.34 (32 pages total for this chapter)
Multiple Files p.34 - 45
Searching for Files p.46 - 48
Piping p.49 - 54
Processes p.55 - 57
File Structure p.58 - 59
Command History p.60 - 65

PROPOSED CHANGES ...
Add the <(command) feature as an alternative to piping
something on Performance measurement
something on Security
considering changing the name of this chapter to Intermediate (as part of the series Beginning, Intermediate, Advanced)
ADVANCED-ISH
ADVANCED

starts on p.66 (55 pages total for this chapter)
Permissions p.66 - 71
Interactive Editing p.72 - 77
Checking Exit p.78 - 82
Sub-Commands p.83 - 85
Moving Again p.85 - 87
Customisation p.87 - 99
Parameter Substitution p.100 - 101
GNUScreen p. 101 - 105
SSH p.106 - 109
Git (listed in contents, but no written pages)
Installing Software p.109 - 115
Making Your Own Interpreter p.115 - 120

PROPOSED CHANGES ...
discuss making mention of FTP and Rsync, relatives of Telnet
discuss making mention of Tmux and Byobu, near Screen
Add a one-page quick-ref sheet to chapters on key tools
Add explanation on difference between $(command) and (command)
Remove section on 'Making Your Own Interpreter' (Seve: I am in favor of keeping this subsection, if possible)
ADVANCED
TEXT EDITORS

starts on p.121 (22 pages in this chapter)
Text Editors p.121 - 123
Nano p.124 - 126
Vim p.126 - 131
Emacs p.132 - 135
KEdit p.136 - 139
GEdit p.140 - 142

PROPOSED CHANGES ...
choose one or two:
Nano
Vim
Emacs
GEdit
discuss where to add Markdown
Add a one-page quick-ref sheet to chapters on key tools
TEXT EDITORS
SCRIPTING

starts on p.142 (39 pages in this chapter)
Scripting p.142 - 149
Maintaining Scripts p.149 -160
Other Languages p.161 - 161
Sed p.162 - 168
Awk p.169 - 172
Regular Expressions p.172 - 180

PROPOSED CHANGES ...
Add a one-page quick-ref sheet to chapters on key tools
SCRIPTING
SCRIPTING LANGUAGES

starts on p.180 (12 pages in this chapter)
Perl p.181 - 183
Python p.183 - 186
Ruby p.186 - 188
GNU Octave p.188 - 192

PROPOSED CHANGES ...
Perl (Remove)
Ruby (Remove)
GNUOctave (Remove)
Python (Add Chapter)
Git (Add Chapter)
discuss Making mention of IDEs
discuss Data Science Project/ Data Manipulation project
Add a one-page quick-ref sheet to chapters on key tools
SECURITY With minimal references to system-specific tools
  • Managing file permissions
  • Managing groups and users
  • Background on the root user and sudo
  • Visudo
  • Passwordless ssh using private/public key pairs
  • Encryption with gpg
  • Removing sensitive files with shred
  • Managing passwords: e.g. `pass` - https://www.passwordstore.org)...
APPENDICES

starts on p.192 (70 pages in this chapter)
Glossary p.192 - 206
Command Quickie p.207 - 229
Outline p.229 - 236
Credits p.236 - 261

PROPOSED CHANGES ...
discuss the merits of keeping the Command Quickie section here if we are adding Quick Ref sheets to each chapter
APPENDICES

OS-specific commands

The following apply to the Unix/Linux family of systems, or subsets within that family. The trend in our discussions has been to avoid system-specific tools. But they are collected here so the ideas aren't forgotten.

Content Inventory Based on First Edition

Content inventory based on the first edition of Introduction to the Command Line provides an alternate view of the book's structure and content. Inventory assumes that some previously discussed changes (e.g., eliminating various chapters) will occur, so it is not an exact representation of the first edition. (Also includes the chapter on Git which was added after the first edition.)

Markdown version with images

A markdown version of the "Introduction to the Command Line" is available on this wiki. It was created from the epub version available at https://archive.flossmanuals.net/_booki/command-line/command-line.epub.

Source files

Source files, albeit imperfect, are available here https://static.fsf.org/nosvn/gnu-press/source-files/books/Intro-to-Command-Line.zip

Retrieved from "https://libreplanet.org/wiki?title=Ittcl&oldid=69191" 

Category: 
Action



















FSF
The Free Software Foundation (FSF) is a nonprofit with a worldwide mission to promote computer user freedom.

We defend the rights of all software users. (Read more)
 



Campaigns


High Priority Free Software Projects

Free JavaScript

Secure Boot vs Restricted Boot

GNU Operating System

Defective by Design

See all campaigns
 



Get Involved



Contact
 




Send your feedback on our translations and new translations of pages to campaigns@fsf.org.

Copyright © 20132023 Free Software Foundation, Inc.  Privacy Policy, JavaScript license information