search

Linux--Bash and Shell explained

Jul 18, 2017 am 09:31 AM
bashlinuxshell

1. What is Shell?

The shell in the narrow sense refers to command line software, including the basic Linux operating window Bash, etc. The shell in the broad sense includes graphical interface software, because the graphical interface can actually operate various drivers. The program calls the core to do the work.

The legal shells of the system are written in the /etc/shells file.

2. Basic operating skills of Bash Shell

1. View the commands executed during the previous login: vim ~/.bash_history
2. Command and file completion function (Tab key)
tab is followed by the first word of a string of instructions, then it is command completion
tab is followed by the second word of a string of instructions After the word, it is file completion
3. Command alias setting function: alias
alias lm='ls -al'
4. Programmed script (shell scripts)
5. Wildcard
6. Newline input \ +[enter]
7. Move forward or backward from the cursor Delete string [crtl]+u / [crtl] +k
8. Move the cursor to the front/end of the entire command string [crtl] +a / [crtl]+e
9. Use env and export to observe environment variables; set can observe all variables in the current bash environment
10. In continuous commands; two commands can be executed continuously:
  • && The previous instruction must have no error message

  • || If correct, the second instruction will not be executed. If the error occurs, execute the second item

11. Encoding problem: LANG or LC_ALL setting; locale lists the current language.
12. View the original code of the alias: type -a alias command
13. List all keys and key contents: stty -a
14. Set key functions :stty erase ^h : Set crtl + h to delete characters backward
15. Get the core version: echo $(uname -r)
Three , Shell Script
        Concept:Shell script is a program written using the function of the shell. This program uses plain text files. Write some shell syntax and instructions in it, and use functions such as regular expressions, pipeline commands, and data flow redirection to achieve our processing commands.
Personal understanding: In fact, Shell script is a batch command in window. It is a program written by shell instructions and a little script syntax. Shell script is a good tool for system management, but it is not good enough for processing a large number of numerical operations, because shell scripts are slower and use more CPU resources, resulting in the allocation of host resources. bad.
Variable:
Variable type: The bash variable type defaults to string, which can be an integer or array type. There is no floating point type. So there is no decimal, and the result of 1/3 is 0.
Variable declaration: The default is a string, which can be directly declared as variable name = variable content (x=123 )In this way, if you want to declare it as an array or integer type:
  • Variables and variable contents are connected with an equal sign =, a=123

  • The two sides of the equal sign cannot be connected directly The space character

  • consists of English letters and numbers, but the beginning cannot be a number

  • If there are special characters in the variable content, you can use "" Or '' combine the contents of variables

  • " "The $ variable can retain the original characteristics

  • ' 'The $ variable can be used as To process ordinary characters

  • , you can use the escape character \ to treat unknown special characters as ordinary characters

  • `` or () Meaning: `` or the instructions in () are executed first, as external input information

  • Change - into + to perform the [cancel] action: declare +x sum :

  • List the types of variables separately: declare -p sum

  • ##Upgrade to environment variables: export PATH

  • Unset variable: unset a

  • Array definition: var[1]="123" var[2]="456" var[3]=" 789"

  • The meaning of `` or (): The instructions in `` or () are executed first as external input information
  • Variable $$: The number that appears is your PID number
  • Variable?: The error code of the previous error instruction, if there is no error, it will be 0

Variable interaction: read -p "Please enter your name:" -t 30 name (-p means Prompt the world, -t means 30 seconds of input time)
Expansion of variable content: PATH="$PATH":/home/bin
Deletion of variable content: echo ${path#/*:} This sentence means to delete the shortest characters from / to:

Replacement of variable content:

Execution: 1. Direct absolute path and relative path execution, the executor must have script execution permission.
2. Global variables can be executed through bash shell.sh or sh shell.sh
Differences in the execution methods of source and sh script ?
sh script or bash script will use a new bash environment to execute the commands in the script. When the subprogram is completed, each variable or action in the subprogram will be End without being transferred back to the parent program
The source script will be executed in the parent program, so all actions will take effect in the original bash
Process control (sequence): Shell scripts are executed in order from top to bottom and from left to right.
Process control (condition):
  • test -e file file name exists

  • test -f file Whether the file name exists and is a file

  • test -d directory Whether the file name exists and is a directory

  • test -r -w -x filename Whether it has read, write, and executable permissions

  • test n1 -eq n2 The two values ​​​​are equal

  • test n1 -ne n2 The two values ​​​​are not equal

  • -Ge greater than equal to

  • --Le small than or equal to

  • ##

    Script variable interaction can also use ${0}, ${1}, ${2}, ${3} To proceed, ${0} represents the executed script name, ${1} represents the first variable entered, ${2} represents the second variable entered, ${3} represents the third variable entered

    if conditional judgment

    # case conditional judgment

    ##Flow control (loop):

    while loop

    for loop

    ## for loop

    Function:

    Note: Unlike traditional languages, functions must be defined at the front of the script so that the function can be recognized when the program is executed. Function parameters are also passed using ${1}, ${2}, and ${3}. That is to say, ${1}/${2}/${3} within the function are passed in when calling the function. actual parameters. Instead of the parameters passed when executing the script

               

The above is the detailed content of Linux--Bash and Shell explained. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Maintenance Mode in Linux: A System Administrator's GuideMaintenance Mode in Linux: A System Administrator's GuideApr 26, 2025 am 12:20 AM

Maintenance mode plays a key role in Linux system management, helping to repair, upgrade and configuration changes. 1. Enter maintenance mode. You can select it through the GRUB menu or use the command "sudosystemctlisolaterscue.target". 2. In maintenance mode, you can perform file system repair and system update operations. 3. Advanced usage includes tasks such as resetting the root password. 4. Common errors such as not being able to enter maintenance mode or mount the file system, can be fixed by checking the GRUB configuration and using the fsck command.

Maintenance Mode in Linux: When and Why to Use ItMaintenance Mode in Linux: When and Why to Use ItApr 25, 2025 am 12:15 AM

The timing and reasons for using Linux maintenance mode: 1) When the system starts up, 2) When performing major system updates or upgrades, 3) When performing file system maintenance. Maintenance mode provides a safe and controlled environment, ensuring operational safety and efficiency, reducing impact on users, and enhancing system security.

Linux: Essential Commands and OperationsLinux: Essential Commands and OperationsApr 24, 2025 am 12:20 AM

Indispensable commands in Linux include: 1.ls: list directory contents; 2.cd: change working directory; 3.mkdir: create a new directory; 4.rm: delete file or directory; 5.cp: copy file or directory; 6.mv: move or rename file or directory. These commands help users manage files and systems efficiently by interacting with the kernel.

Linux Operations: Managing Files, Directories, and PermissionsLinux Operations: Managing Files, Directories, and PermissionsApr 23, 2025 am 12:19 AM

In Linux, file and directory management uses ls, cd, mkdir, rm, cp, mv commands, and permission management uses chmod, chown, and chgrp commands. 1. File and directory management commands such as ls-l list detailed information, mkdir-p recursively create directories. 2. Permission management commands such as chmod755file set file permissions, chownuserfile changes file owner, and chgrpgroupfile changes file group. These commands are based on file system structure and user and group systems, and operate and control through system calls and metadata.

What is Maintenance Mode in Linux? ExplainedWhat is Maintenance Mode in Linux? ExplainedApr 22, 2025 am 12:06 AM

MaintenanceModeinLinuxisaspecialbootenvironmentforcriticalsystemmaintenancetasks.Itallowsadministratorstoperformtaskslikeresettingpasswords,repairingfilesystems,andrecoveringfrombootfailuresinaminimalenvironment.ToenterMaintenanceMode,interrupttheboo

Linux: A Deep Dive into Its Fundamental PartsLinux: A Deep Dive into Its Fundamental PartsApr 21, 2025 am 12:03 AM

The core components of Linux include kernel, file system, shell, user and kernel space, device drivers, and performance optimization and best practices. 1) The kernel is the core of the system, managing hardware, memory and processes. 2) The file system organizes data and supports multiple types such as ext4, Btrfs and XFS. 3) Shell is the command center for users to interact with the system and supports scripting. 4) Separate user space from kernel space to ensure system stability. 5) The device driver connects the hardware to the operating system. 6) Performance optimization includes tuning system configuration and following best practices.

Linux Architecture: Unveiling the 5 Basic ComponentsLinux Architecture: Unveiling the 5 Basic ComponentsApr 20, 2025 am 12:04 AM

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

Linux Operations: Utilizing the Maintenance ModeLinux Operations: Utilizing the Maintenance ModeApr 19, 2025 am 12:08 AM

Linux maintenance mode can be entered through the GRUB menu. The specific steps are: 1) Select the kernel in the GRUB menu and press 'e' to edit, 2) Add 'single' or '1' at the end of the 'linux' line, 3) Press Ctrl X to start. Maintenance mode provides a secure environment for tasks such as system repair, password reset and system upgrade.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.