Linux
Development interface Standard:
Abi:application Binary Interface
The ABI describes the underlying interface between the application and the OS, allowing the compiled target code to run without changes in the ABI-compatible system
Api:application Programming Interface
The API defines the interface between the source code and the library, so the same source codes can be compiled in any system that supports this API
Posix:potable Operating system Interface (API defined on the operating system)
A series of API standards defined by the IEEE on the operating system
POSIX-compatible programs can be compiled and executed on other POSIX operating systems
"Hardware plateform: (Hardware platform)
CPU Platform: X86,arm,powerpc,power (IBM), Ultraspace,alpha,... "
Server three major operating systems:
Windows,linux,unix
Linux is a Unix-like operating system (Unix-like): Complete linux=linux kernel (kernel) + GNU tool (application)
Gnu/linux:
Kernel: Kernel;
GNU (GPL,LGPL Open Source protocol): Applications
Other open source agreements: Apache (ASF), Bsd,mit, ...
Release version: Redhat,debian,suse
CentOS, RedHat
Debian->ubuntu
SUSE->opensuse
ArchLinux
Mac OS X:
Linux Philosophy thought:
All documents (including hardware), 99.9%
Small, single-use programs
Link programs to accomplish complex tasks together
Avoid confusing user interfaces
Configuration data is stored in text
Linux use:
Create process: User-based shell (shell) request to kernel, boot program from kernel
Shell: A program in which a user interacts with a computer
Kernel: Kernel:https://www.kernel.org/
Version 4.17.9:
4:major, major version number
17:minor, minor version number
Development version: The second digit is the cardinality
Stable version: The second digit is an even number
9:release, Release number
The release version number is not synchronized with the kernel version number:
Open Sourse software and code for Everyone
Free distribution of software and source code
Ability to modify and create derivative products
Open Source protocol: Be sure to check out the open source protocol before using open source code
Interactive Interface :
After starting the terminal, attach an interactive application to the end device
Gui:graphical User Interface (GUI interface): GNOME,KDE,XFCE
Cli:command lines Interface (command line interface): Sh->bsh->csh->bash->zsh
What is shell:sh->bsh->csh->bash->zsh
The shell is the user interface of the Linux system and provides an interface for users to interact with the kernel. It receives the command entered by the user and feeds it into the kernel to execute
The shell is also known as the Linux command interpreter (interpreter)
What is a program:
Program: is an executable static file
Process: A program that is running
program = instruction + data
program = algorithm + data structure
Algorithm-centric, data structures serve algorithms: procedural programming (EX;C)
Data-centric, algorithmic services to data structures: Object-oriented Programming (Ex:java)
Terminal Terminal
1. Device Terminal: Keyboard mouse Monitor
2. Physical Terminal: Console Console (/dev/console)
3. Virtual Terminal: (tty:teletypewriters,/dev/tty# #为 "1-6" TTY can have N, ctrl+alt+f "1-6"
4. Graphic Terminal: (/dev/tty7) startx,xwindows;
Centos6:ctrl+alt+f7
CentOS 7: At which terminal to boot, which virtual terminal is located
5. Serial Terminal: (/dev/ttys#) TTYs
6. Pseudo Terminal: (pty:pseudo-tty,/dev/pts/#) pty,ssh remote connection
View current terminal devices: # TTY
Linux under two big tree-shaped structure: adding and deleting changes
1. File System tree
/(root directory)
All documents
Program Files:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
Landing into the shell, every moment in a path (directory)
2. Process Tree
Init
Bash shell
The GNU Bourne-again Shell (bash) is one of the most important tool software in the GNU program and is currently the Linux standard Shell, compatible with SH
CentOS Default Usage
Displays the currently used Shell:echo ${shell}
Displays all shell:cat/etc/shells used by the current system
bash tips for using :
Command line expansion: {},~
> Command Replacement: $ (commands), ' command '
> Command Completion: $PATH
> Path Completion: Path search from the specified starting position
> Command history:. bash_history
Histcontrol
-ignoredups
-ignorespace
-ignoreboth
Command Help :
Internal command: 1.help command
2.man Bash
External command: 1.command--help
2.commadn-h
2. User manual (Manual): Man command
3. Information page: info command (query related documents)
4. Help documentation for the program itself: Readme,install,changelog
5. Official Document: Documentation
6.Google:
http://tldp.org
Http://www.slideshare.net
http://www.google.com
Linux-Related Fundamentals knowledge 1