A very quick introductory course on the GNU/Linux command line. Part of our standard training courses for offshore software developers at Zeropoint.IT.
This presentation really is only meant to spur some interest around our DataTank idea. It hasn't been released yet, but 2009 is promising to become a great year for us. We can already tell you we are building our app on top of dedomenon, the same database engine MyOwnDB.com is using.
Met het hoofd online, maar met de voeten in de Vlaamse klei?Bart Van Loon
Een voorstelling van offshore development als een strategie in de woedende War for Talent in België. Gepresenteerd op `Feweb on Tour' in Hasselt op 25 oktober 2011.
A very quick introductory course on VIM, a programmers text editor. Part of our standard training courses for offshore software developers at Zeropoint.IT.
Is there a future for IT professionals in Belgium or any mature market?
I predict that in the short term, the future is looking bright, in the mid term, our education system is not prepared for the future and in long term, times may be not so easy for the IT professional...
This presentation really is only meant to spur some interest around our DataTank idea. It hasn't been released yet, but 2009 is promising to become a great year for us. We can already tell you we are building our app on top of dedomenon, the same database engine MyOwnDB.com is using.
Met het hoofd online, maar met de voeten in de Vlaamse klei?Bart Van Loon
Een voorstelling van offshore development als een strategie in de woedende War for Talent in België. Gepresenteerd op `Feweb on Tour' in Hasselt op 25 oktober 2011.
A very quick introductory course on VIM, a programmers text editor. Part of our standard training courses for offshore software developers at Zeropoint.IT.
Is there a future for IT professionals in Belgium or any mature market?
I predict that in the short term, the future is looking bright, in the mid term, our education system is not prepared for the future and in long term, times may be not so easy for the IT professional...
Linux Bash is a command-line shell program that has been an integral part of the Linux operating system for decades. It provides users with a powerful and flexible interface for interacting with their computer, allowing them to execute commands and automate tasks efficiently.
Mission, Vision and Strategy in organisationsBart Van Loon
Slide deck I made for a 1-hour presentation about Mission, Vision and Strategy in organisations. I usually round up with about 10 minutes of own experiences with respect to the subject from my personal entrepreneurial background.
Cultural Learnings of Pakistan for Make Benefit Glorious Nation of BelgiumBart Van Loon
Just some ramblings about my impression of Pakistan after starting up a company or two in Islamabad. Not at all meant to be complete or even taken serious. :-)
A general introduction on Open Source, presented at #foras, april 2009 in Schoten (Antwerp, Belgium). Audience were mainly computer illiterates, but highly educated.
Linux Bash is a command-line shell program that has been an integral part of the Linux operating system for decades. It provides users with a powerful and flexible interface for interacting with their computer, allowing them to execute commands and automate tasks efficiently.
Mission, Vision and Strategy in organisationsBart Van Loon
Slide deck I made for a 1-hour presentation about Mission, Vision and Strategy in organisations. I usually round up with about 10 minutes of own experiences with respect to the subject from my personal entrepreneurial background.
Cultural Learnings of Pakistan for Make Benefit Glorious Nation of BelgiumBart Van Loon
Just some ramblings about my impression of Pakistan after starting up a company or two in Islamabad. Not at all meant to be complete or even taken serious. :-)
A general introduction on Open Source, presented at #foras, april 2009 in Schoten (Antwerp, Belgium). Audience were mainly computer illiterates, but highly educated.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Epistemic Interaction - tuning interfaces to provide information for AI support
Command line essentials
1. Introduction
Working on the command line
Manuals
Essential command line tools
Command line essentials
Bart Van Loon
1st February 2012
1 / 30 Bart Van Loon Command line essentials
2. Introduction
Working on the command line
Manuals
Essential command line tools
1 Introduction
2 Working on the command line
bash
bash prompt
some bash features
3 Manuals
4 Essential command line tools
2 / 30 Bart Van Loon Command line essentials
3. Introduction
Working on the command line
Manuals
Essential command line tools
Some ancient history
When computers were big, incomprehensible beasts, like
you could “talk” to it using punched cards, paper tape or a
terminal.
3 / 30 Bart Van Loon Command line essentials
4. Introduction
Working on the command line
Manuals
Essential command line tools
Some ancient history
This is such a computer terminal:
The famous DEC VT100 (1978).
4 / 30 Bart Van Loon Command line essentials
5. Introduction
Working on the command line
Manuals
Essential command line tools
Some ancient history
These terminals gave you an interface for text entry and display
through various standard “streams”.
5 / 30 Bart Van Loon Command line essentials
6. Introduction
Working on the command line
Manuals
Essential command line tools
A little less ancient now
Today, most UNIX-like operating systems such as Linux and
FreeBSD have virtual terminals to provide several text terminals on
a single computer to let you interface with the computer itself.
If you’re in X now, try to press ctrl-alt-F1, ctrl-alt-F2, . . .
6 / 30 Bart Van Loon Command line essentials
7. Introduction
Working on the command line
Manuals
Essential command line tools
Modern times
In today’s graphical world, we have terminal emulators, like
xterm
gnome-terminal
rxvt
...
7 / 30 Bart Van Loon Command line essentials
8. Introduction
Working on the command line
Manuals
Essential command line tools
Modern times
These terminal emulators run text-based applications. The most
fundamental types of such applications are shells, like
bash
tcsh
zsh
...
A shell gives you a command line interface (CLI).
8 / 30 Bart Van Loon Command line essentials
9. Introduction
bash
Working on the command line
bash prompt
Manuals
some bash features
Essential command line tools
Working on the command line
Let’s assume you are running bash.
bash is program, namely a shell meant for interactive use
bash is also a powerful scripting language
9 / 30 Bart Van Loon Command line essentials
10. Introduction
bash
Working on the command line
bash prompt
Manuals
some bash features
Essential command line tools
bash in interactive mode
When it starts, it runs one or more scripts:
When started as an interactive login shell:
/etc/profile
~/.bash profile, ~/.bash login, or ~/.profile
When exited as a login shell:
~/.bash logout
When started as an interactive shell (but not a login shell):
~/.bashrc
10 / 30 Bart Van Loon Command line essentials
11. Introduction
bash
Working on the command line
bash prompt
Manuals
some bash features
Essential command line tools
Your bash prompt
Let’s start with what you see:
bbbart@tuxitree:~$
bbbart : my username
tuxitree : computer’s hostname
˜ : present working directory (˜ is the home directory)
$ : this means I am not root
11 / 30 Bart Van Loon Command line essentials
12. Introduction
bash
Working on the command line
bash prompt
Manuals
some bash features
Essential command line tools
Your bash prompt
You can change the look of this prompt! Why would you do so?
it looks cool;
it’s useful to keep track of system information;
different machines/users can get different colours;
have information about work environment available at all time;
to quickly spot the prompt when you use scrollback;
...
12 / 30 Bart Van Loon Command line essentials
13. Introduction
bash
Working on the command line
bash prompt
Manuals
some bash features
Essential command line tools
Your bash prompt
Your prompt configuration is stored in the variable PS1.
$ echo $PS1
u@h:w$
u : user’s username
h : computer’s hostname
w : present working directory
$ : $ when user is not root, # when user is root
13 / 30 Bart Van Loon Command line essentials
14. Introduction
bash
Working on the command line
bash prompt
Manuals
some bash features
Essential command line tools
Your bash prompt
Try the following command (put it on one line with spaces in
between):
PS1=’[e[1;32m]u@H:[e[m]
[e[1;37m]w[e[m]n[e[1;33m]hist:!
[e[0;33m] [e[1;31m]jobs:j $[e[m] ’
Now go an find the prompt that suits you best!
14 / 30 Bart Van Loon Command line essentials
15. Introduction
bash
Working on the command line
bash prompt
Manuals
some bash features
Essential command line tools
Keyboard shortcuts
Some useful keyboard shortcuts:
tab : autocomplete from the cursor position
ctrl-a : move cursor to the line start
ctrl-c : send the SIGINT signal to the current task
ctrl-d : send an EOF marker (if the line is empty)
ctrl-e : move cursor to the line end
ctrl-k : clear the line after the cursor
ctrl-l : clear the screen content
ctrl-u : clear the line before the cursor
ctrl-z : send the SIGTSTP signal to the current task
15 / 30 Bart Van Loon Command line essentials
16. Introduction
bash
Working on the command line
bash prompt
Manuals
some bash features
Essential command line tools
Stream redirecting
Remember the streams to interact with a terminal (stdin,
stdout, stderr). You can redirect them!
> : redirect stdout
2> : redirect stderr
< : redirect stdin
Special one:
>> : redirect stdout, but append to the output
16 / 30 Bart Van Loon Command line essentials
17. Introduction
bash
Working on the command line
bash prompt
Manuals
some bash features
Essential command line tools
Piping
You can also “pipe” streams to link commands:
$ program1 | program2
is the same as
$ program1 > tempfile
$ program2 < tempfile
$ rm tempfile
17 / 30 Bart Van Loon Command line essentials
18. Introduction
bash
Working on the command line
bash prompt
Manuals
some bash features
Essential command line tools
Piping
18 / 30 Bart Van Loon Command line essentials
19. Introduction
bash
Working on the command line
bash prompt
Manuals
some bash features
Essential command line tools
Learn from history
DRY is also a principle on the shell:
↑ and ↓ : navigate through your history
ctrl-r : search the command history
history : print your recent history
!<n> : repeat command number <n>
!! : repeat the last command
!$ : special variable that contains the last word of the
previous command
19 / 30 Bart Van Loon Command line essentials
20. Introduction
Working on the command line
Manuals
Essential command line tools
Before we begin. . .
The most important command you’ll ever learn, is man:
man : format and display the manual pages
Most manual pages contain a synopsis of the command in
question:
mysql [options] db name
mysql can take some options but has to have a name of a
database as argument
xpdf [options] [PDF-file [page | +dest]]
xpdf can take some options and a PDF-file as arguments. If
you pass a PDF-file as argument you can also give it a page or
a destination, preceded by a +-symbol.
Now check the synopsis of the ssh command.
20 / 30 Bart Van Loon Command line essentials
21. Introduction
Working on the command line
Manuals
Essential command line tools
Essential command line tools
“The right tool for the right job”
cut : remove sections from each line of files
du : estimate file space usage
grep : print lines matching a pattern
head : output the first part of files
nice : run a program with modified scheduling priority
sort : sort lines of text files
tail : output the last part of files
wc : print newline, word, and byte counts
21 / 30 Bart Van Loon Command line essentials
22. Introduction
Working on the command line
Manuals
Essential command line tools
cut
Name : cut
Description : remove sections from each line of files
Synopsis : cut OPTION... [FILE]...
Useful options:
-d DELIM : use DELIM instead of TAB for field delimiter
-f LIST : select only these fields
A LIST is made up or ranges separated by commas. A range is N,
N-, N-M or -M.
22 / 30 Bart Van Loon Command line essentials
23. Introduction
Working on the command line
Manuals
Essential command line tools
du
Name : du
Description : estimate file space usage
Synopsis : du [OPTION]... [FILE]...
Useful options:
-c : produce a grand total
-s : display only a total for each argument
-h : print sizes in human readable format
23 / 30 Bart Van Loon Command line essentials
24. Introduction
Working on the command line
Manuals
Essential command line tools
grep
Name : grep
Description : print lines matching a pattern
Synopsis : grep [OPTIONS] PATTERN [FILE...]
Useful options:
-i : ignore case distinctions in the PATTERN
-v : invert the sense of matching, to select
non-matching lines
-n : prefix each line of output with the 1-based line
number within its input file
24 / 30 Bart Van Loon Command line essentials
25. Introduction
Working on the command line
Manuals
Essential command line tools
head
Name : head
Description : output the first part of files
Synopsis : head [OPTION]... [FILE]...
Useful options:
-n K : print the first K lines instead of the first 10
25 / 30 Bart Van Loon Command line essentials
26. Introduction
Working on the command line
Manuals
Essential command line tools
nice
Name : nice
Description : run a program with modified scheduling priority
Synopsis : nice [OPTION] [COMMAND [ARG]...]
Useful options:
-n N : add integer N to the niceness (default 10)
26 / 30 Bart Van Loon Command line essentials
27. Introduction
Working on the command line
Manuals
Essential command line tools
sort
Name : sort
Description : sort lines of text files
Synopsis : sort [OPTION]... [FILE]...
Useful options:
-h : compare human readable numbers
-n : compare according to string numerical value
-r : reverse the result of comparisons
-u : output only the first of an equal run
27 / 30 Bart Van Loon Command line essentials
28. Introduction
Working on the command line
Manuals
Essential command line tools
tail
Name : tail
Description : output the last part of files
Synopsis : tail [OPTION]... [FILE]...
Useful options:
-f : output appended data as the file grows
-n K : print the last K lines instead of the last 10
28 / 30 Bart Van Loon Command line essentials
29. Introduction
Working on the command line
Manuals
Essential command line tools
wc
Name : wc
Description : print newline, word, and byte counts for each file
Synopsis : wc [OPTION]... [FILE]...
Useful options:
-l : print the newline counts
29 / 30 Bart Van Loon Command line essentials
30. Introduction
Working on the command line
Manuals
Essential command line tools
References
http://en.wikipedia.org/wiki/Computer_terminal
http://en.wikipedia.org/wiki/Bash_%28Unix_shell%29
http://tldp.org/HOWTO/Bash-Prompt-HOWTO
http://en.wikipedia.org/wiki/Redirection_%28computing%29
30 / 30 Bart Van Loon Command line essentials