Advance Innovation Centre
  • AIC Knowledge @ EEC for All
  • 😎Logical Thinking
    • Karel Robot
    • Code to Flowchart
    • Play with Docker
    • CNX Software
  • MCU & Interfacing with Infineon PSOCâ„Ē
    • Basic MCU Interfacing
      • Introduction to CY8CKIT-062S2-43012 Pioneer Kit
      • Development Environment Preparation
      • PSoCâ„Ē 6S2 Peripherals Interfacing (GPIO)
        • Hello World and LED Blinking
        • GPIO Principles
        • PSoCâ„Ē 6S2 GPIO-HAL LED Blink Lab
        • PSoCâ„Ē 6S2 GPIO-PDL LED Blink Lab
        • Button "Bounce" Principles
          • Push/Pull Button to Turn ON/OFF LED via HAL
          • Push/Pull Button to Turn ON/OFF LED via PDL
          • GPIO Button Interrupt via HAL
          • GPIO Button Interrupt via PDL
        • GPIO variables & functions
      • PSoCâ„Ē 6S2 Peripherals Interfacing (ADC, PWM)
        • PSoCâ„Ē 6S2 SAR ADC
          • ADC Principles
          • PSoCâ„Ē 6S2 with ADC Labs
            • Reading potentiometer sensor value via an ADC HAL
            • Reading potentiometer sensor value via an ADC PDL
        • PSoCâ„Ē 6S2 PWM & TCPWM
          • PWM Principles
          • PSoCâ„Ē 6S2 for PMW Function Labs
            • LED Brightness using PWM via HAL
            • LED Brightness using PWM via PDL
    • Sensor Interfacing and HMI
      • OLED Display
        • OLED Display Principles
        • Calling BDH’s OLED functions
        • Display ADC via Potentiometer on OLED
      • BDH Shell
        • Shell Principles
        • LED Blinking and CAPSENSE via BDH Shell
        • Adding "History" command
        • Adding "Reboot" command
        • CAPSENSE Button and Slider
          • CAPSENSE Button and Slider with Capsense Tuner
          • CAPSENSE Button and Slider using FreeRTOS
    • Serial Communication & Visualization
      • UART, I2C, SPI Communication via Infineon PSoCâ„Ē6
      • BMX160 Sensor Communication via Infineon PSoCâ„Ē6
        • Reading ADC via HAL with Potentiometer and Displaying GUI on Serial Studio
        • Reading XENSIV-DPS-3XX Pressure Sensor and Displaying GUI on Serial Studio
        • Motion Sensors GUI Integration via Serial Studio
    • IoT Connectivity & Data Analytics via Node-Red
      • Node-Red Installation
      • Setting MQTTS to MQTT Broker
      • Sending PSoC6’s sensor to MQTT (node-red)
    • Edge AI on PSoCâ„Ē
      • Machine Learning on PSoCâ„Ē6 via Edge-Impulse
    • Infineon PSoCâ„Ē Troubleshooting
  • IoT Development with Infineon PSOCâ„Ē & BDH Platform
    • PSoCâ„Ē IoT Development Kit
      • Introduction to CY8CKIT-062S2-43012 Pioneer Kit
      • Development Environment Preparation
        • Hello World and LED Blinking
    • IoT Connectivity
      • Node-Red Installation
      • Controlling PSoCâ„Ē LED using MQTT
      • Setting MQTTS to MQTT Broker
      • Sending PSoC6’s sensor to MQTT (node-red)
    • BDH IoT Connectivity
    • WireLinXâ„Ē IoT PLC
    • BDH X-Brain Data Analytics
      • PSoC6 Data Collection to CSV log file
    • Data Visualization
      • āļŠāļĢāđ‰āļēāļ‡ Dashboard āļ”āđ‰āļ§āļĒ Looker Studio
  • ðŸ–ĨïļOperation Systems
    • Prerequisites
      • Guideline from Ubuntu
        • Ubuntu and VSCode on WSL2
      • āļ•āļīāļ”āļ•āļąāđ‰āļ‡ WSL 2
      • Run Ubuntu on VirtualBox7
    • Zero to Linux Hero
      • Computer OS Architecture
      • Anatomy of Linux System
        • UNIX/Linux History
        • UNIX/Linux Evolution
        • GNU Project
        • Linux OS Architecture
        • Command Line Interface (CLI)
          • Basic Commands
          • 😎Level up your Linux Shell
          • File & Dir. Commands
          • Searching Commands
          • 😎ChatGPT-based Terminal
          • SysAdmin Commands
          • Network Commands
          • Hacker Commands
        • Busybox
        • Shell Script
          • Awk Script
          • Bash Shell Script
            • Bash Snippets
            • Bash Useful Examples
      • Anatomy of Linux Kernel
        • Linux Kernel Principles
        • Linux Environment for Developer
      • Anatomy of Embedded Linux
        • Embedded Linux
        • Host & Target
        • Cross Toolchains
        • Bootloader
        • Building Embedded Linux
    • Linux OS Dev. Engineer
      • Process Management
        • Process Basic
        • Process State
        • Basic Process Mgmt. Commands
        • Advance Process Mgmt. Commands
        • Process API Programming
      • IPC
        • IPC Anatomy
        • Signal Programming
        • Pipe Programming
        • FIFO Programming
        • Msg. Queue Programming
          • System V
        • Share Memory Programming
          • System V
        • Socket Programming
      • POSIX Threads
        • Multi-tasking Basic
        • POSIX Thread Anatomy
        • Threading Programming
      • Applied IPC
        • Remote Commander
        • Multi-Remote Commanders
      • Process Synchronization
        • Mutex Programming
        • Semaphore Programming
      • Applied IPC with Semaphore
  • ⌚Embedded Systems Development
    • Introduction to ESD
      • Why's ESD?
      • What it use for?
      • How it works?
    • Enbedded System Development via PSoC6
      • Basic MCU Interfacing
        • Introduction to CY8CKIT-062S2-43012 Pioneer Kit
        • Development Environment Preparation
        • PSoCâ„Ē 6S2 Peripherals Interfacing (GPIO)
          • Hello World and LED Blinking
          • GPIO Principles
          • PSoCâ„Ē 6S2 GPIO-HAL LED Blink Lab
          • PSoCâ„Ē 6S2 GPIO-PDL LED Blink Lab
          • Button "Bounce" Principles
            • Push/Pull Button to Turn ON/OFF LED via HAL
            • Push/Pull Button to Turn ON/OFF LED via PDL
            • GPIO Button Interrupt via HAL
            • GPIO Button Interrupt via PDL
          • GPIO variables & functions
        • PSoCâ„Ē 6S2 Peripherals Interfacing (ADC, PWM)
          • PSoCâ„Ē 6S2 SAR ADC
            • ADC Principles
            • PSoCâ„Ē 6S2 with ADC Labs
              • Reading potentiometer sensor value via an ADC HAL
              • Reading potentiometer sensor value via an ADC PDL
          • PSoCâ„Ē 6S2 PWM & TCPWM
            • PWM Principles
            • PSoCâ„Ē 6S2 for PMW Function Labs
              • LED Brightness using PWM via HAL
              • LED Brightness using PWM via PDL
      • Sensor Interfacing and HMI
        • OLED Display
          • OLED Display Principles
          • Calling BDH’s OLED functions
          • Display ADC via Potentiometer on OLED
        • BDH Shell
          • Shell Principles
          • LED Blinking and CAPSENSE via BDH Shell
          • Adding "History" command
          • Adding "Reboot" command
          • CAPSENSE Button and Slider
            • CAPSENSE Button and Slider with Capsense Tuner
            • CAPSENSE Button and Slider using FreeRTOS
      • Serial Communication & Visualization
        • UART, I2C, SPI Communication via Infineon PSoCâ„Ē6
        • BMX160 Sensor Communication via Infineon PSoCâ„Ē6
          • Reading ADC via HAL with Potentiometer and Displaying GUI on Serial Studio
          • Reading XENSIV-DPS-3XX Pressure Sensor and Displaying GUI on Serial Studio
          • Motion Sensors GUI Integration via Serial Studio
    • Edge Computing and IoT Connectivity
    • Cloud-Based Data Analytics and Digital Twin
    • Edge Vision AI
    • Resources
      • Basic Hardware and Firmware
        • Environment Preparation
          • āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄ Arduino IDE
            • āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđƒāļŠāđ‰āļ‡āļēāļ™ Arduino IDE
          • āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄāļŠāļģāļŦāļĢāļąāļšāđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ§āļąāļ” NI MyDAQ
            • āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāđƒāļŠāđ‰ Digital Multimeter -NI ELVISmx
            • āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāđƒāļŠāđ‰ Oscilloscope-NI ELVISmx
          • āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄ KingstVIS
        • Basic measurement
          • Basic Digital and Analog I/O
            • LAB: Basic Digital Input/Output
            • LAB: Basic Analog Input/Output
          • Waveform
            • LAB: Oscilloscope
            • LAB: Oscilloscope and Function Generator
            • LAB: Pulse Width Modulation (PWM)
              • Homework
        • Interfacing and Communication
          • LAB: UART, RS485, RS232 Protocol
          • LAB: I2C Protocol
            • HOMEWORK
          • LAB: SPI Protocol
      • IoT Connectivity
        • Example: IoT with MQTT on Node-red
        • Data logger
        • LAB: Data Visualization
  • 🛠ïļC/C++ for Embedded Programming
    • Development Environment Preparation
      • āļ•āļīāļ”āļ•āļąāđ‰āļ‡ WSL 2
      • āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Ubuntu environment
      • āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄ Visual Studio Code
      • āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ Virtual studio code āđ€āļ‚āđ‰āļēāļāļąāļš WSL
      • āļ•āļīāļ”āļ•āļąāđ‰āļ‡ docker on WSL
    • Principle C/C++ Programming
      • Get started with C++
      • Makefile
        • Makefile Examples
      • Compiling and running
        • How to create a program that you can enter inputs.
          • Lab 1 Exercise
      • Arguments
        • Command line arguments in C and C++
      • signed and unsigned data types
      • Variable and Operator
      • If and If else
      • Loop, Infinite loop, and flag
        • Loop and Flag exercise
      • Array
        • Get to know with arrays
        • Implement example
      • Vector
    • Object Oriented Programming (OOP) in C++
      • Class and Object
      • Encapsulation and Abstraction
      • Polymorphism and Inheritance
    • C/C++ Preprocessing
      • Macro
        • Quiz Macro
      • File Inclusion
      • Conditional Compilation
      • Pragma directive
        • Quiz Pragma
    • String in C++
      • Concatenation
      • Split
    • Type conversions for C/C++
      • Conversion using Cast operator
    • Error handling
    • Data logger
      • āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒāđāļĨāļ°āđ€āļ‚āļĩāļĒāļ™āđ„āļŸāļĨāđŒ
      • āļāļēāļĢāļ­āđˆāļēāļ™āđ„āļŸāļĨāđŒ
      • āļāļēāļĢāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļąāļšTime stamp
    • High performance programing
      • Multi-task and Multi-thread
        • Multi-threading example
      • Mutex
      • Queue
      • OpenCV
    • C/C++ Techniques
      • Makefile in action
      • Object Oriented Programming (OOP) in C++
        • Class and Object
        • Encapsulation and Abstraction
        • Polymorphism and Inheritance
      • C/C++ Preprocessing
        • Macro
          • Quiz Macro
        • File Inclusion
        • Conditional Compilation
        • Pragma directive
          • Quiz Pragma
      • Binary, Octal and Hexadecimal Numbers
      • Array and properties of an array
        • Get to know with arrays
        • Implement example
      • What's next?
  • ðŸĪ–Artificial Intelligence (AI)
    • VAMStack Design House, BUU
    • Data Analytics
      • Data cleansing
      • Data analytics
      • Data analytic exercise
    • Machine Learning
      • Neural Network Layers
      • Machine learning type
      • Dataset
      • Using Edge Impulse for AI Model
    • Basic Image Processing
      • Computer Vision using Python Language
        • Installation
        • Computer Vision Basics
          • Pixel and Color
          • Draw image
          • Basic Image processing
          • Morphology Transformations
          • Gaussian blur
          • Simple Thresholding
          • Contour
          • Canny edge detection
        • Case Study
          • Coin counting
          • Color detection & tracking
        • VAM_CV SDK
  • ⚙ïļFPGA Design and Development
    • Verilog HDL via Vivado IDE
      • LAB1: Setting Environment and Create Project
        • Create Vivado Project
      • LAB2: Hardware Description Language Work Flow
        • Simulation code
      • LAB3: Design HDL Project
        • Top Level Design
        • Top-level Simulation
      • LAB4: Asynchronous VS Synchronous Circuit
        • Simulation Synchronous counter
    • C/C++ Programming on Ultra96v2 FPGA Board
      • Application C/C++ on Ultra96v2 Part 1
        • Design Overview
        • Step 1 - Burn the image to SD card
        • Step 2 - Bring up Ultra96v2
        • Step 3 - Installing the Vitis-AI runtime packages
      • Application C/C++ on Ultra96v2 Part 2
        • STEP 1 : Setting auto boot Wifi
        • STEP 2 : How to working on Embedded
        • STEP 3 : How to run the test code
  • ðŸĪ–Robotics
    • Dobot Magician
      • Instruction of Dobot
      • Software Download
      • Basically of Program
        • Teaching and Playback
        • Write and Draw
        • LaserEngraving
        • 3D Printer
    • Robotino
      • Software Download
        • Robotino View
        • Robotino SIM
      • Charging
      • Connecting
      • Follow Line example
        • Basic block in Follow Line
    • RaspBlock
      • Get Started with Raspblock
  • ðŸšĐSpecial Topics
    • Node-Red
      • Set up Raspberry Pi
      • Install node red in Raspberry Pi
      • Get started with Node Red
        • Open node-red
        • Turn off node red
        • Install Dashboard on Node-red
        • Use node red to show message
        • Using Ultrasonic sensor with node-red
    • IoT Cloud
      • Overview
        • How do they work?
          • Basic Knowlege
      • Installations
        • Install Docker
        • Install Mosquitto Broker
        • Install InfluxDB
        • Install Telegraf
        • Install Grafana
      • Get Sensor Value and Send to MQTT
        • Connect ESP3266 to sensor
        • Connect ESP3266 to MQTT
      • Integration
    • Senses IoT
      • SENSES IoT Platform
      • LAB8: MCU send data to IoT platform
    • CrowPi Dev Kit
      • Raspberry Pi with CrowPi
      • Remote to Raspberry Pi
      • Cross-Compile
        • Lab 1: Programming and cross complier
      • Hardware and Interfaces Usage CLI
        • LAB: Usage GPIO via CLI
        • LAB: Scan I2C bus via CLI
      • Python library for Crow Pi
      • wiringPi library (C) for CrowPi
        • Lab2: Crowpi and sensors
    • LVGL Development
      • LVGL - Light and Versatile Embedded Graphics Library
        • Setting program for LVGL Simulator
        • Get started with LVGL simulator
        • Example Library of LVGL
        • Create your own screen
          • Exercise
        • Style
          • Exercise
        • Event
    • Docker OS
      • Docker OS Part 1
        • Part 1 : Installation
        • Part 2 : Basic Docker OS and Linux CLI
      • Docker OS Part 2
        • Part 1 : Docker communication
        • Part 2 : Docker compose
      • Application Gstreamer on devcontainer
        • STEP 1 : Setting gstreamer environment
        • STEP 2 : Create the Gstreamer element on template
        • STEP 3 : Testing and application on your gst element
  • ðŸĪŸRecommended by AIC
    • Skill Roadmap
      • Embedded Engineer
      • Developer
    • Hardware Programming
    • Embedded Programming
    • General-propose Programming
    • Algorithmica
    • Thai Expert Knowledge
    • RT-Thread University Program
      • Infineon PSoC6
      • Kernel
        • Kernel Basics
        • Thread Management
        • Clock Management
        • Inter-thread synchronization
        • Inter-thread communication
        • Memory Management
        • Interrupt Management
        • Kernel porting
        • Atomic Operations
        • RT-Thread SMP
        • Kernel API Changelog
      • Tools
      • Devices & Drivers
        • SENSOR Devices
        • Touch Equipment
        • CRYPTO Devices
        • AUDIO Devices
        • Pulse Encoder Devices
      • Components
        • C Library (libc)
        • ISO/ANSI C Standard
        • POSIX Standard
          • FILE (File IO)
          • Pthread
          • Timer
          • IPC Semaphore
          • IPC Message Queues
          • Dynamic Modules
        • Network Components
          • FinSH Console
          • FAL: Flash Abstraction Layer
          • Virtual File System
          • tmpfs: temporary file system
          • ulog log
          • utest testing framework
          • Power Management
          • RT-Link
        • Software Packages
          • Internet of Things
            • MQTT-umqtt
            • Telnet
          • Tools
            • SystemView
            • SEGGER_RTT
          • LVGL Manual
            • Touch Screen Driver
      • Demo
        • Infineon Gateway
        • Handwriting Recognition (MNIST)
        • Object Detection (Darknet)
        • ROS using RT-Thread
        • Control the car using RT-Thread
        • LiDAR via RT-Thread
        • Detection via RT-Thread and ROS
        • Sensor Driver Development Guide
Powered by GitBook

Assoc. Prof. Wiroon Sriborrirux, Founder of Advance Innovation Center (AIC) and Bangsaen Design House (BDH), Electrical Engineering Department, Faculty of Engineering, Burapha University

On this page
  • āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđ€āļŠāļĨāļĨāđŒ āđāļĨāļ°āļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡ (Command Sequences)
  • āđ€āļŠāļĨāļĨāđŒ (Shell)
  • āļ•āļąāļ§āđāļ›āļĢāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ‚āļ­āļ‡āļĢāļ°āļšāļš (Environment Variable)
  • āļ„āļģāļŠāļąāđˆāļ‡ Echo
  • env āđāļĨāļ° export
  • āļĢāļēāļĒāļāļēāļĢāļ›āļĢāļ°āļ§āļąāļ•āļīāļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ (Command History)
  • āļ„āļģāļŠāļąāđˆāļ‡ History
  • āļāļēāļĢāđƒāļŠāđ‰āļ„āļđāđˆāļĄāļ·āļ­āļ„āļģāļŠāļąāđˆāļ‡ (Man Page)

Was this helpful?

  1. Operation Systems
  2. Zero to Linux Hero
  3. Anatomy of Linux System

Command Line Interface (CLI)

PreviousLinux OS ArchitectureNextBasic Commands

Last updated 1 year ago

Was this helpful?

āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđ€āļŠāļĨāļĨāđŒ āđāļĨāļ°āļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡ (Command Sequences)

āđ€āļŠāļĨāļĨāđŒ (Shell)

shell āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļāļĨāļēāļ‡āđƒāļ™āļāļēāļĢāļĢāļąāļšāļ„āļģāļŠāļąāđˆāļ‡ (Command Line) āļˆāļēāļāļœāļđāđ‰āđƒāļŠāđ‰āđāļĨāđ‰āļ§āļˆāļ°āļ—āļģāļāļēāļĢāđāļ›āļĨāļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡ (Command Line Interpreter - CLI) āļ—āļĩāđˆāļœāļđāđ‰āđƒāļŠāđ‰āļ›āđ‰āļ­āļ™āđ€āļ‚āđ‰āļēāļĄāļē āđ‚āļ”āļĒāļ‚āļšāļ§āļ™āļāļēāļĢāļ āļēāļĒāđƒāļ™āļ•āļąāļ§ shell āļˆāļ°āļ‹āđˆāļ­āļ™āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ­āļąāļ™āļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāđ€āļ­āļēāđ„āļ§āđ‰ āđ‚āļ”āļĒāļ—āļĩāđˆāļœāļđāđ‰āđƒāļŠāđ‰āļˆāļ°āđ„āļĄāđˆāļĢāļđāđ‰āļ§āđˆāļēāļŦāļĨāļąāļ‡āļˆāļēāļāļ—āļĩāđˆāļ›āđ‰āļ­āļ™āļ„āļģāļŠāļąāđˆāļ‡āđ„āļ›āđāļĨāđ‰āļ§āļ āļēāļĒāđƒāļ™āļˆāļ°āļ•āđ‰āļ­āļ‡āļĄāļĩāļ‚āļšāļ§āļ™āļāļēāļĢāđ€āļŠāđˆāļ™āđ„āļĢāļšāđ‰āļēāļ‡ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļ–āđ‰āļēāļœāļđāđ‰āđƒāļŠāđ‰āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ—āļĢāļēāļšāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­āļŦāļĢāļ·āļ­āļžāļ·āđ‰āļ™āļ—āļĩāđˆāļ‚āļ­āļ‡āļŪāļēāļĢāđŒāļ”āļ”āļīāļŠāļāđŒāļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­āļ­āļĒāļđāđˆ āļœāļđāđ‰āđƒāļŠāđ‰āđ€āļžāļĩāļĒāļ‡āļžāļīāļĄāļžāđŒāļ„āļģāļŠāļąāđˆāļ‡ free/df āļ•āļąāļ§ shell āļāđ‡āļˆāļ°āļ—āļģāļŦāļ™āđ‰āļēāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđāļĨāļ°āđ€āļ‚āđ‰āļēāđ„āļ›āļˆāļąāļ”āļāļēāļĢāđƒāļ™āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļŦāļĢāļ·āļ­āļŪāļēāļĢāđŒāļ”āļ”āļīāļŠāļāđŒāđƒāļŦāđ‰āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ•āļąāļ§āđ€āļ­āļ‡āļ§āđˆāļēāļ‚āļ“āļ°āļ™āļĩāđ‰āļĄāļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ›āđ€āļ—āđˆāļēāđ„āļŦāļĢāđˆāđāļĨāđ‰āļ§āđāļĨāļ°āđ€āļŦāļĨāļ·āļ­āļžāļ·āđ‰āļ™āļ—āļĩāđˆāđƒāļŦāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĩāļāđ€āļ—āđˆāļēāđ„āļŦāļĢāđˆ āļ‹āļķāđˆāļ‡āļ‚āļšāļ§āļ™āļāļēāļĢāļ”āļąāļ‡āļ—āļĩāđˆāđ„āļ”āđ‰āļāļĨāđˆāļēāļ§āļ‚āđ‰āļēāļ‡āļ•āđ‰āļ™āđ€āļ›āđ‡āļ™āļāļēāļĢāļ•āļīāļ”āļ•āđˆāļ­āļŠāļ·āđˆāļ­āļŠāļēāļĢāđƒāļ™āļĢāļ°āļ”āļąāļšāļĨāđˆāļēāļ‡āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāļ§āđˆāļēāļĢāļ°āļ”āļąāļšāđ€āļ„āļ­āļĢāđŒāđ€āļ™āļĨ āļ‹āļķāđˆāļ‡āļ–āļ·āļ­āđ„āļ”āđ‰āļ§āđˆāļēāđ€āļ›āđ‡āļ™āđāļāļ™āļāļĨāļēāļ‡āļŠāļģāļ„āļąāļāđƒāļ™āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļĢāļ°āļšāļšāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ āļēāļĒāđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒ āđ‚āļ”āļĒāļˆāļ°āļāļĨāđˆāļēāļ§āļ–āļķāļ‡āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ‚āļ­āļ‡āđ€āļ„āļ­āļĢāđŒāđ€āļ™āļĨāđƒāļ™āļšāļ—āļ–āļąāļ”āđ†āđ„āļ›

āļ™āļ­āļāļˆāļēāļāļ™āļąāđ‰āļ™ shell āļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡āļĄāļēāļāļāļ§āđˆāļēāļŦāļ™āļķāđˆāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļžāļĢāđ‰āļ­āļĄāļāļąāļ™ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļšāļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāđƒāļŦāđ‰āļ—āļģāļ‡āļēāļ™āļ•āļēāļĄāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ•āđˆāļēāļ‡āđ†āļ—āļĩāđˆāđ„āļ”āđ‰āļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āđƒāļ™āļĨāļąāļāļĐāļ“āļ°āļŠāļ„āļĢāļīāļ›āļ—āđŒ (Script) āļ—āļĩāđˆāļ–āļđāļāđ€āļāđ‡āļšāļĨāļ‡āđƒāļ™āđ„āļŸāļĨāđŒāđ„āļ”āđ‰ āļ—āļģāđƒāļŦāđ‰āđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāļŠāļ°āļ”āļ§āļāđāļĨāļ°āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļĨāļĩāļ™āļļāļāļ‹āđŒ āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļœāļđāđ‰āđƒāļŠāđ‰āļ—āļĩāđˆāļĄāļĩāļ—āļąāļāļĐāļ°āļ­āļĒāļđāđˆāļĢāļ°āļ”āļąāļšāļŦāļ™āļķāđˆāļ‡āđƒāļ™āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļŠāļ„āļĢāļīāļ›āļ—āđŒāļŦāļĢāļ·āļ­āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāļāļąāļ™āļ§āđˆāļēāđ€āļŠāļĨāļĨāđŒāļŠāļ„āļĢāļīāļ›āļ—āđŒ (Shell script) āļ™āļąāđ‰āļ™ āđāļĨāļ°āļ™āļ­āļāļˆāļēāļāļ™āļąāđ‰āļ™āļĨāļđāļāđ€āļĨāđˆāļ™āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļˆāļ°āļĄāļēāļāļ™āđ‰āļ­āļĒāđ€āļžāļĩāļĒāļ‡āđƒāļ”āļāđ‡āļĒāļąāļ‡āļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāļĒāļĩāđˆāļŦāđ‰āļ­āļŦāļĢāļ·āļ­āļĢāļļāđˆāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ shell āļ™āļąāđ‰āļ™āļ”āđ‰āļ§āļĒ āđƒāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™ shell āļ—āļĩāđˆāļĄāļĩāļ­āļīāļ—āļ˜āļīāļžāļĨāđāļĨāļ°āđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļ™āļīāļĒāļĄāļĄāļēāļāļ—āļĩāđˆāļŠāļļāļ”āļ•āļąāļ§āļŦāļ™āļķāđˆāļ‡āļ„āļ·āļ­ (āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļāļĨāļēāļĒāđ€āļ›āđ‡āļ™ Bourne Again shell) āđāļĨāļ°

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđāļŠāļ”āļ‡ prompt āđƒāļ™āļĢāļđāļ›āđāļšāļšāļ•āđˆāļēāļ‡āđ† āđ€āļĄāļ·āđˆāļ­āđ€āļ‚āđ‰āļēāļŠāļđāđˆāļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāđƒāļ™āļāļēāļ™āļ°āļœāļđāđ‰āđƒāļŠāđ‰āļ—āļąāđˆāļ§āđ„āļ›

[ee-server@wiroon]$ āļŦāļĢāļ·āļ­
wiroon@ee-server:~$ āļŦāļĢāļ·āļ­
$

āļ™āļ­āļāļˆāļēāļāļ™āļąāđ‰āļ™āđ€āļĄāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰āļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļ‚āđ‰āļēāđƒāļ™āļāļēāļ™āļ°āļœāļđāđ‰āļ”āļđāđāļĨāļĢāļ°āļšāļšāļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāļ§āđˆāļē Superuser āļŦāļĢāļ·āļ­ root āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ sudo su āđ€āļžāļ·āđˆāļ­āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļĄāļēāđ€āļ›āđ‡āļ™ root āļ”āļąāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ‚āđ‰āļēāļ‡āļĨāđˆāļēāļ‡āļ™āļĩāđ‰

$ sudo su
[sudo] password for wiroon: 
root@EE-Server:/home/wiroon# 

āļˆāļēāļāļ„āļģāļŠāļąāđˆāļ‡āļ‚āđ‰āļēāļ‡āļ•āđ‰āļ™āđ€āļĄāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰āļĢāļ°āļšāļļāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļ‚āļ­āļ‡ Superuser āđāļĨāđ‰āļ§ āļāđ‡āđāļŠāļ”āļ‡āļœāļĨāļ‚āļ­āļ‡ prompt āļ™āļąāđ‰āļ™āļˆāļēāļāđ€āļ”āļīāļĄāđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ “$” āļāđ‡āļˆāļ°āļ–āļđāļāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ€āļ›āđ‡āļ™āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ “#” āđ€āļžāļ·āđˆāļ­āļšāļ­āļāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ–āļķāļ‡āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļĄāļēāļ­āļĒāļđāđˆāđƒāļ™āļāļēāļ™āļ° root āđ€āļĢāļĩāļĒāļšāļĢāđ‰āļ­āļĒāđāļĨāđ‰āļ§

āļ•āļąāļ§āđāļ›āļĢāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ‚āļ­āļ‡āļĢāļ°āļšāļš (Environment Variable)

āļ•āļąāļ§āđāļ›āļĢāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ (Environment variables) āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļĄāļēāļāđƒāļ™āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļĨāļĩāļ™āļļāļāļ‹āđŒ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ€āļ›āđ‡āļ™āļ•āļąāļ§āđāļ›āļĢāļāļĨāļēāļ‡āļ—āļĩāđˆ shell āļŦāļĢāļ·āļ­ āđ‚āļ›āļĢāđāļāļĢāļĄāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāļ•āđˆāļēāļ‡āđ†āļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰ āļ­āļēāļ—āļīāđ€āļŠāđˆāļ™ āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āļ­āļ‡ shell āļŦāļĢāļ·āļ­āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āļ­āļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰ (Home Directory) āđāļĨāļ°āļĒāļąāļ‡āļĄāļĩāļ•āļąāļ§āđāļ›āļĢāļ•āđˆāļēāļ‡āđ† āļ­āļĩāļāļĄāļēāļāļĄāļēāļĒāļ—āļĩāđˆ shell āđ„āļ”āđ‰āļĄāļĩāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāđ„āļ§āđ‰āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆ shell āđ€āļĢāļīāđˆāļĄāļ—āļģāļ‡āļēāļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ bash shell āļˆāļ°āļĄāļĩāļāļēāļĢāđ€āļĢāļĩāļĒāļāđ„āļŸāļĨāđŒāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ­āļĒāļđāđˆ 2 āđ„āļŸāļĨāđŒāđ„āļ”āđ‰āđāļāđˆ āđ„āļŸāļĨāđŒ ~/.profile āđāļĨāļ°āđ„āļŸāļĨāđŒ ~/.bashrc

$ cat .profile  
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
export USE_CCACHE=0
export CCACHE_DIR=~/ccache
export JAVA_HOME=/usr/lib/jvm/jdk
export ANT_HOME=~/android/ant
export ANDROID_SDK_HOME=~/android/sdk
export ANDROID_NDK_HOME=~/android/ndk
export AOSP_HOME=~/aosp
export PATH=$HOME/bin:$JAVA_HOME/bin:$ANT_HOME/bin:$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME/platform-tools:$ANDROID_NDK_HOME:$PATH

$ cat .bashrc
# .bashrc
# User specific aliases and functions
HISTSIZE=1000
HISTFILESIZE=2000
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'


# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

āđƒāļ™āļāļĢāļ“āļĩāļ—āļĩāđˆāđ€āļ›āđ‡āļ™ zsh shell āļ‹āļķāđˆāļ‡āđƒāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļāļģāļĨāļąāļ‡āđ„āļ”āđ‰āļĢāļąāļšāļ„āļ§āļēāļĄāļ™āļīāļĒāļĄ āļˆāļ°āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļŸāļĨāđŒ ~/.zshrc

$ cat ~/.zshrc                                                                                                   ─â•Ŋ
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"

# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
#ZSH_THEME="robbyrussell"
ZSH_THEME="powerlevel10k/powerlevel10k"

# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled  # disable automatic updates
# zstyle ':omz:update' mode auto      # update automatically without asking
# zstyle ':omz:update' mode reminder  # just remind me to update when it's time

# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13

# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(common-aliases history git zsh-autosuggestions zsh-syntax-highlighting kubectl emoji encode64 dirhistory web-search macos sudo web-search copyfile copybuffer colored-man-pages command-not-found pip python rust brew docker golang history-substring-search iterm2)

eval $(/usr/bin/thefuck --alias fix)
eval $(/usr/bin/thefuck --alias wtf)

source $ZSH/oh-my-zsh.sh

# User configuration

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
alias ..="cd .."
alias ..2="cd ../.."
alias ..3="cd ../../.."
alias ..4="cd ../../../.."
alias ..5="cd ../../../../.."

# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

export FREERTOS_PATH=/opt/FreeRTOS_202212.00/
export PICO_SDK_PATH=/home/wiroon/bdh/freertos/rpi_pico/pico-sdk
export PATH="$PATH:/home/wiroon/bdh/freertos/rpi_pico/pico-toolbox/makepico"

āđ€āļĄāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰āđ€āļ‚āđ‰āļēāļŠāļđāđˆāļĢāļ°āļšāļš Login āđ‚āļ”āļĒāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļœāđˆāļēāļ™āļŦāļ™āđ‰āļēāļˆāļ­āđ€āļ—āļ­āļĢāđŒāļĄāļīāļ™āļąāļĨāļ‹āļķāđˆāļ‡āļ™āļīāļĒāļĄāđ€āļĢāļĩāļĒāļāļŠāļąāđ‰āļ™āđ†āļ§āđˆāļē tty (Teletypewriter) āđ€āļĄāļ·āđˆāļ­āļŦāļ™āđ‰āļēāļˆāļ­āđ€āļ—āļ­āļĢāđŒāļĄāļīāļ™āļąāļĨāļ–āļđāļāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™ āļ•āļąāļ§āđ‚āļ›āļĢāđāļāļĢāļĄāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļ‚āđ‰āļēāļŠāļđāđˆāļĢāļ°āļšāļšāļāđ‡āļˆāļ°āļ–āļđāļāđ€āļĢāļĩāļĒāļāļ‚āļķāđ‰āļ™āļĄāļēāđ€āļžāļ·āđˆāļ­āđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āļāļĢāļ­āļāļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰ (username) āđāļĨāļ°āļĢāļŦāļąāļŠāļœāđˆāļēāļ™ (password) āđ€āļĄāļ·āđˆāļ­āđ€āļ‚āđ‰āļēāļŠāļđāđˆāļĢāļ°āļšāļšāđ„āļ”āđ‰āļŠāļģāđ€āļĢāđ‡āļˆāļāđ‡āļˆāļ°āļ—āļģāļāļēāļĢāđ€āļĢāļĩāļĒāļāđ‚āļ›āļĢāđāļāļĢāļĄ shell āđ€āļžāļ·āđˆāļ­āļ­āđˆāļēāļ™āļ„āđˆāļēāļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡āđ„āļ§āđ‰āļŠāļģāļŦāļĢāļąāļšāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ‚āļ­āļ‡āļĢāļ°āļšāļš (system environments) āļ”āļąāļ‡āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđƒāļ™āļĢāļđāļ›āļ‚āđ‰āļēāļ‡āļĨāđˆāļēāļ‡

āđāļŠāļ”āļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­ Shells āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™āļĢāļ°āļšāļš Linux āđ‚āļ”āļĒāļ”āļđāļˆāļēāļāđ„āļŸāļĨāđŒ /etc/shells

$ cat /etc/shells                                                                                                            ─â•Ŋ
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/sh
/bin/dash
/usr/bin/dash
/bin/zsh
/usr/bin/zsh
/usr/bin/screen

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ™āļīāļ”āļ‚āļ­āļ‡ shell āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āđƒāļŠāđ‰āļ‡āļēāļ™āļ­āļĒāļđāđˆāđƒāļ™āļĢāļ°āļšāļšāļ”āđ‰āļ§āļĒāļ„āļģāļŠāļąāđˆāļ‡ echo āđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļĢāļļāđˆāļ™āļ‚āļ­āļ‡ shell āļ”āđ‰āļ§āļĒ --version

$ echo $SHELL
/bin/bash  
$ bash --version
GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

āļ™āļ­āļāļˆāļēāļāļ™āļąāđ‰āļ™āļĢāļ°āļšāļšāļˆāļ°āļĄāļĩāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļĢāļ°āļšāļšāļžāļ·āđ‰āļ™āļāļēāļ™ āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđāļ›āļĢāļŠāļģāļ„āļąāļāļ—āļĩāđˆāļˆāļ°āļžāļšāđ€āļˆāļ­āļšāđˆāļ­āļĒāđ„āļ”āđ‰āđāļāđˆ

āļ•āļēāļĢāļēāļ‡āđāļŠāļ”āļ‡āļ•āļąāļ§āđāļ›āļĢāļĢāļ°āļšāļš

āļŠāļ·āđˆāļ­
āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ

USER

āđ€āļĢāļĩāļĒāļāļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāđ€āļ‚āđ‰āļēāļŠāļđāđˆāļĢāļ°āļšāļš

UID

āđ€āļĢāļĩāļĒāļāļĢāļŦāļąāļŠāļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāđ€āļ‚āđ‰āļēāļŠāļđāđˆāļĢāļ°āļšāļš

HOME

āđ€āļĢāļĩāļĒāļ Home Directory

PWD

āđ€āļĢāļĩāļĒāļ Directory āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āđƒāļŠāđ‰āļ‡āļēāļ™

SHELL

āđ€āļĢāļĩāļĒāļāļŠāļ·āđˆāļ­ shell āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āđƒāļŠāđ‰āļ‡āļēāļ™

$

āđ€āļĢāļĩāļĒāļ process id āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āđƒāļŠāđ‰āļ‡āļēāļ™

PPID

āđ€āļĢāļĩāļĒāļ process id āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļŠāļ·āļšāļ—āļ­āļ”āļĄāļē

?

The exit code of the last command

āļ„āļģāļŠāļąāđˆāļ‡ Echo

āđ€āļ›āđ‡āļ™āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđƒāļ”āđ†āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŦāđ‰āļ–āļđāļāļ›āļĢāļēāļāļāļšāļ™āļŦāļ™āđ‰āļēāļ•āđˆāļēāļ‡āđ€āļ—āļ­āļĢāđŒāļĄāļīāļ™āļąāļĨ āļ”āļąāļ‡āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āļ”āļąāļ‡āļ™āļĩāđ‰

$ echo Welcome to Embedded System
Welcome to Embedded System!
$ echo Welcome      to       Embedded      System
Welcome to Embedded System!
$ echo 'Welcome      to       Embedded      System'
Welcome      to       Embedded      System!

āļˆāļēāļāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļˆāļ°āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļ„āļģāļŠāļąāđˆāļ‡ echo āļˆāļ°āđ„āļĄāđˆāļŠāļ™āđƒāļˆāļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡āļ§āđˆāļēāļˆāļ°āļĄāļĩāļāļĩāđˆāļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡ āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨāļˆāļ°āļ–āļđāļāļ•āļąāļ”āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡āđ€āļŦāļĨāļ·āļ­āđ€āļžāļĩāļĒāļ‡ 1 āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡āđ€āļŠāļĄāļ­ āđāļ•āđˆāļ–āđ‰āļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŦāđ‰āđāļŠāļ”āļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒāļ•āļēāļĄāļĢāļ°āļĒāļ°āļŦāđˆāļēāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļˆāļ°āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒ āļ­āļąāļāļ›āļĢāļ°āļāļēāļĻ (‘ -Apostrophe) āļŦāļĢāļ·āļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ„āļģāļžāļđāļ” (“ - Quotation Mark) āļ„āļĢāļ­āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ™āļąāđ‰āļ™ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđƒāļ™ Bash shell āļ™āļąāđ‰āļ™āļˆāļ°āđƒāļŠāđ‰ white space (āđ‚āļ”āļĒāļāļēāļĢāļāļ”āļ›āļļāđˆāļĄ space bar) āđƒāļ™āļāļēāļĢāđāļĒāļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ­āļ­āļāđ€āļ›āđ‡āļ™ token āļŦāļĢāļ·āļ­āđ€āļĢāļĩāļĒāļāļ§āđˆāļē āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨ āđāļ•āđˆāļ–āđ‰āļēāļĄāļĩāļāļēāļĢāđƒāļŠāđˆāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ„āļĢāļ­āļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļŠāđˆāļ™ â€˜Burapha University’ āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ™āļąāđ‰āļ™āļˆāļ°āļ–āļđāļāđ€āļāđ‡āļšāđ„āļ§āđ‰āđƒāļ™ token āđ€āļžāļĩāļĒāļ‡āļ•āļąāļ§āđ€āļ”āļĩāļĒāļ§

āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ„āļģāļŠāļąāđˆāļ‡ echo āļˆāļ°āļĄāļĩāļ•āļąāļ§āđ€āļĨāļ·āļ­āļ (Option) āļŦāļĨāļēāļĒāđāļšāļš (āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ”āļđāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ„āļģāļŠāļąāđˆāļ‡āđ„āļ”āđ‰āđ‚āļ”āļĒāļžāļīāļĄāļžāđŒ man echo) āļĒāļāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļāļēāļĢāđƒāļŠāđ‰āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ -n āļ•āđˆāļ­āļ—āđ‰āļēāļĒāļ„āļģāļŠāļąāđˆāļ‡ echo āļˆāļ°āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāđ„āļĄāđˆāļ‚āļķāđ‰āļ™āļšāļĢāļĢāļ—āļąāļ”āđƒāļŦāļĄāđˆ (New Line)

$ echo -n "My name is Android"
My name is Android$

āđāļ•āđˆāļ–āđ‰āļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ‚āļķāđ‰āļ™āļšāļĢāļĢāļ—āļąāļ”āđƒāļŦāļĄāđˆāļ•āļēāļĄāļ­āļąāļāļ‚āļĢāļ°āļžāļīāđ€āļĻāļĐ \n (new line) āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ•āļąāļ§āđ€āļĨāļ·āļ­āļ -e āļŦāļĨāļąāļ‡āļ„āļģāļŠāļąāđˆāļ‡ echo

$ echo -e "My name is \nAndroid"
My name is 
Android

āļ™āļ­āļāļˆāļēāļāļ­āļąāļāļ‚āļĢāļ° \n āđāļĨāđ‰āļ§āļĒāļąāļ‡āļĄāļĩāļ­āļąāļāļ‚āļĢāļ°āđƒāļ™āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ”āļąāļ‡āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđƒāļ™āļ•āļēāļĢāļēāļ‡āļ‚āđ‰āļēāļ‡āļĨāđˆāļēāļ‡āļ™āļĩāđ‰

āļ•āļēāļĢāļēāļ‡āđāļŠāļ”āļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ­āļąāļāļ‚āļĢāļ°āļžāļīāđ€āļĻāļĐ

Escape sequence
āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”

\a

Alert (bell)

\b

Backspace

\c

āļŦāļĒāļļāļ”āļāļēāļĢāļ‚āļķāđ‰āļ™āļšāļĢāļĢāļ—āļąāļ”āđƒāļŦāļĄāđˆ (āļĨāļąāļāļĐāļ“āļ°āđ€āļ”āļĩāļĒāļ§āļāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ -n)

\f

Form feed

\n

New line

\r

Carriage return

\t

Horizontal tab

āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Bash shell āļ™āļąāđ‰āļ™āļĒāļąāļ‡āļĄāļĩāļ­āļąāļāļ‚āļĢāļ°āđ€āļ‰āļžāļēāļ°āļĄāļēāļāļĄāļēāļĒāļ—āļĩāđˆāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ™āļģāļĄāļēāđƒāļŠāđ‰āđāļŠāļ”āļ‡āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ„āļ”āđ‰ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļ–āļđāļāđƒāļŠāđ‰āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ­āļīāļ™āļžāļļāļ—āļ‚āļ­āļ‡āļ„āļģāļŠāļąāđˆāļ‡ āđ€āļŠāđˆāļ™ '|', '&', ';', '(', ')', '<', '>' āđāļ•āđˆāļ–āđ‰āļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāđāļŠāļ”āļ‡āļ­āļąāļāļ‚āļĢāļ°āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđƒāļŦāđ‰āļ›āļĢāļēāļāļāļ­āļĒāļđāđˆāđƒāļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļˆāļ°āļ•āđ‰āļ­āļ‡āđ€āļ•āļīāļĄāļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ \ āļ™āļģāļŦāļ™āđ‰āļēāļ­āļąāļāļ‚āļĢāļ°āđ€āļŠāļĄāļ­ āļŦāļĢāļ·āļ­āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻāļ„āļĢāļ­āļšāļ—āļąāđ‰āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĄāļĩāļ­āļąāļāļ‚āļĢāļ°āļœāļŠāļĄāļ­āļĒāļđāđˆāļāđ‡āđ„āļ”āđ‰

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļŠāļąāļāļĨāļąāļāļĐāļ“āđŒ \ āļ™āļģāļŦāļ™āđ‰āļēāļ­āļąāļāļ‚āļĢāļ°āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđāļŠāļ”āļ‡āđ€āļ›āđ‡āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ

$ echo I love Linux & Android
[1] 30136
I love Linux
Android: command not found
[1]+  Done                    echo I love Linux
[1]+  Done                    echo I love Linux
$ echo I love Linux \& Android
I love Linux & Android
$ echo 'I love Linux & Android'
I love Linux & Android

env āđāļĨāļ° export

āļ„āļģāļŠāļąāđˆāļ‡ export āđ€āļ›āđ‡āļ™āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡āļ•āļąāļ§āđāļ›āļĢāļ°āļšāļšāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāđ„āļ”āđ‰āđ€āļ­āļ‡ āđ‚āļ”āļĒāļāļēāļĢāļĢāļ°āļšāļļāđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™āđ„āļŸāļĨāđŒ .bashrc āļŦāļĢāļ·āļ­āļžāļīāļĄāļžāđŒāļ„āļģāļŠāļąāđˆāļ‡āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāđ„āļ”āđ‰āđ‚āļ”āļĒāļ•āļĢāļ‡āđƒāļ™ terminal āļ”āļąāļ‡āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āđ‰āļēāļ‡āļĨāđˆāļēāļ‡

$ export my_project_codes=/home/student/embedded/sourcecode/

āļŦāļēāļāļœāļđāđ‰āđƒāļŠāđ‰āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ”āļđāļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļ°āļšāļšāļ—āļĩāđˆāļĄāļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ­āļĒāļđāđˆ āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ env āļŦāļĢāļ·āļ­ export -p āļ”āļąāļ‡āļ™āļĩāđ‰

$ env
ORBIT_SOCKETDIR=/tmp/orbit-student
SSH_AGENT_PID=1383
TERM=xterm
SHELL=/bin/bash
...
USER=student
PATH=/home/student/bin:/usr/lib/jvm/jdk/bin:/home/student/android/ant/bin:/home/student/android/sdk/tools:/home/student/android/sdk/platform-tools:/home/student/android/ndk:/home/student/bin:/home/student/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
my_project_codes=/home/student/embedded/sourcecode/  
ANDROID_SDK_HOME=/home/student/android/sdk
PWD=/home/student
JAVA_HOME=/usr/lib/jvm/jdk
GDM_KEYBOARD_LAYOUT=us
LANG=en_US.utf8
GDM_LANG=en_US.utf8
MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path
GDMSESSION=gnome
SHLVL=1
HOME=/home/student
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=student
DISPLAY=:0.0
AOSP_HOME=/home/student/aosp
LESSCLOSE=/usr/bin/lesspipe %s %s
COLORTERM=gnome-terminal
XAUTHORITY=/var/run/gdm/auth-for-student-9wtySF/database
_=/usr/bin/env


$ export -p
declare -x ANDROID_NDK_HOME="/home/student/android/ndk"
declare -x ANDROID_SDK_HOME="/home/student/android/sdk"
declare -x ANT_HOME="/home/student/android/ant"
...
declare -x USER="student"
declare -x USERNAME="student"
declare -x USE_CCACHE="0"
declare -x WINDOWID="14722574"
declare -x XAUTHORITY="/var/run/gdm/auth-for-student-9wtySF/database"
declare -x XDG_CONFIG_DIRS="/etc/xdg/xdg-gnome:/etc/xdg"
declare -x XDG_DATA_DIRS="/usr/share/gnome:/usr/local/share/:/usr/share/"

āļĒāļāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ echo āđ€āļžāļ·āđˆāļ­āđāļŠāļ”āļ‡āļ„āđˆāļēāļ āļēāļĒāđƒāļ™āļ•āļąāļ§āđāļ›āļĢāļ°āļšāļš

$ echo $SHELL
/bin/bash


$ echo -e " My Home directory is $HOME\n My username is $USER\n My current directory is $PWD"
 My Home directory is /home/student
 My username is student
 My current directory is /home/student


$ echo $PPID
1927


$ ps -aux | grep 1927
student   1927  0.0  0.5 192052 11236 ?   Sl  08:15  0:33 gnome-terminal

āļ•āļēāļĢāļēāļ‡āļ›āļĢāļąāļšāđāļ•āđˆāļ‡āļāļēāļĢāđāļŠāļ”āļ‡ shell prompt

āļ„āļģāļŠāļąāđˆāļ‡
āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ

PS1='\w $ '

āđāļŠāļ”āļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāđƒāļ™ shell prompt

PS1='\h $ '

āđāļŠāļ”āļ‡āļŠāļ·āđˆāļ­ hostname āđƒāļ™ shell prompt

PS1='\u $ '

āđāļŠāļ”āļ‡āļŠāļ·āđˆāļ­ user āđƒāļ™ shell prompt

PS1='\t $ '

āđāļŠāļ”āļ‡āđ€āļ§āļĨāļē 24-hr time format āđƒāļ™ shell prompt

PS1='@ $ '

āđāļŠāļ”āļ‡āđ€āļ§āļĨāļē 12-hr time format āđƒāļ™ shell prompt

PS1='! $ '

āđāļŠāļ”āļ‡āļŦāļĄāļēāļĒāđ€āļĨāļ‚ history āđƒāļ™ shell prompt

PS1='EE $ '

āđāļŠāļ”āļ‡āļŠāļ·āđˆāļ­āļ—āļĩāđˆāļāļģāļŦāļ™āļ” "EE" āđƒāļ™ shell prompt

āļĢāļēāļĒāļāļēāļĢāļ›āļĢāļ°āļ§āļąāļ•āļīāļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ (Command History)

āļ„āļģāļŠāļąāđˆāļ‡ History

āđ€āļ›āđ‡āļ™āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļœāļđāđ‰āđƒāļŠāđ‰āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđāļŠāļ”āļ‡āļ„āļģāļŠāļąāđˆāļ‡āļĒāđ‰āļ­āļ™āļŦāļĨāļąāļ‡āļ—āļĩāđˆāđ€āļ„āļĒāđ„āļ”āđ‰āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™ āļˆāļģāļ™āļ§āļ™āļ„āļģāļŠāļąāđˆāļ‡āļĒāđ‰āļ­āļ™āļŦāļĨāļąāļ‡āļˆāļ°āļ–āļđāļāđ€āļāđ‡āļšāļšāļąāļ™āļ—āļķāļāđ„āļ§āđ‰āļĄāļēāļāļ™āđ‰āļ­āļĒāđāļ„āđˆāđ„āļŦāļ™āļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢāļ°āļšāļšāļŠāļ·āđˆāļ­āļ§āđˆāļē HISTSIZE āđ‚āļ”āļĒāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ history āļĄāļĩāļ”āļąāļ‡āļ™āļĩāđ‰

āļ•āļēāļĢāļēāļ‡āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ„āļģāļŠāļąāđˆāļ‡ history

āļ„āļģāļŠāļąāđˆāļ‡
āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ

history

āđāļŠāļ”āļ‡āļĢāļēāļĒāļāļēāļĢāļ„āļģāļŠāļąāđˆāļ‡āļĒāđ‰āļ­āļ™āļŦāļĨāļąāļ‡āļ—āļąāđ‰āļ‡āļŦāļĄāļ”

history N

āđāļŠāļ”āļ‡āļĢāļēāļĒāļāļēāļĢāļ„āļģāļŠāļąāđˆāļ‡āļĒāđ‰āļ­āļ™āļŦāļĨāļąāļ‡āļˆāļģāļ™āļ§āļ™ N āļ„āļģāļŠāļąāđˆāļ‡āļĨāđˆāļēāļŠāļļāļ”

history -d N

āļĨāļšāļĢāļēāļĒāļāļēāļĢāļ„āļģāļŠāļąāđˆāļ‡āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ N

!!

āđ€āļĢāļĩāļĒāļāļ„āļģāļŠāļąāđˆāļ‡āļĒāđ‰āļ­āļ™āļŦāļĨāļąāļ‡āļĨāđˆāļēāļŠāļļāļ”

!N

āđ€āļĢāļĩāļĒāļāļ„āļģāļŠāļąāđˆāļ‡āļĒāđ‰āļ­āļ™āļŦāļĨāļąāļ‡āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ N

!-N

āđ€āļĢāļĩāļĒāļāļ„āļģāļŠāļąāđˆāļ‡āļĒāđ‰āļ­āļ™āļŦāļĨāļąāļ‡āļāļĨāļąāļšāđ„āļ›āļ—āļĩāđˆ N āļ•āļąāļ§ (!-1 āļĄāļĩāļ„āđˆāļēāđ€āļ—āđˆāļēāļāļąāļš !!)

!#

āļ„āļģāļŠāļąāđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āđ€āļĢāļĩāļĒāļāļ­āļĒāļđāđˆ

!string

āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ™āļģāļŦāļ™āđ‰āļēāļ”āđ‰āļ§āļĒāļ„āļģāļ§āđˆāļē string

!?string?

āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļĄāļĩāļ„āļģāļ§āđˆāļē string āļšāļĢāļĢāļˆāļļāļ­āļĒāļđāđˆ

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ„āļģāļŠāļąāđˆāļ‡

$ echo $$
3616
$ env -i bash -c 'echo $$'
3718
$ !!
env -i bash -c 'echo $$'
3719
$ !ec
echo $$
3616
$ !en:s/$$/$PPID/
env -i bash -c 'echo $PPID'
3616
$ history 6
  361  ps -p $$ -o "pid ppid cmd"
  362  echo $$
  363  env -i bash -c 'echo $$'
  364  echo $$
  365  env -i bash -c 'echo $PPID'
  366  history 6
$ history -d20

āļāļēāļĢāđƒāļŠāđ‰āļ„āļđāđˆāļĄāļ·āļ­āļ„āļģāļŠāļąāđˆāļ‡ (Man Page)

āđ€āļ­āļāļŠāļēāļĢāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļēāļ‡āđ†āđ€āļĄāļ·āđˆāļ­āđ„āļ”āđ‰āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄāļĨāļ‡āđƒāļ™āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļĨāļĩāļ™āļļāļāļ‹āđŒ āđ€āļĢāļĩāļĒāļāļ§āđˆāļē “Manual Pages” āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāļ”āļđāļœāđˆāļēāļ™āļ„āļģāļŠāļąāđˆāļ‡ man āļ”āļąāļ‡āđāļŠāļ”āļ‡āđƒāļ™āļĢāļđāļ›āļ‚āđ‰āļēāļ‡āļĨāđˆāļēāļ‡

āļˆāļēāļāļĢāļđāļ›āļ‚āđ‰āļēāļ‡āļšāļ™āļˆāļ°āđāļŠāļ”āļ‡āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ‚āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ man āđ€āļžāļ·āđˆāļ­āļ—āļĩāđˆāļˆāļ°āđ€āļĢāļĩāļĒāļāļ”āļđāđ€āļ­āļāļŠāļēāļĢāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡āļ„āļģāļŠāļąāđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļœāļđāđ‰āđƒāļŠāđ‰āļ—āļąāđˆāļ§āđ„āļ› āļ™āļ­āļāļˆāļēāļāļ™āļąāđ‰āļ™āļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ”āļđāđ€āļ­āļāļŠāļēāļĢāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ­āļ·āđˆāļ™āđ†āđ„āļ”āđ‰āđāļāđˆ

  • User commands (env, ls, echo, mkdir, tty)

  • System calls āļŦāļĢāļ·āļ­ kernel functions (link, sethostname, mkdir)

  • Library routines (acosh, asctime, btree, locale, XML::Parser)

  • Device related information (isdn_audio, mouse, tty, zero)

  • File format descriptions (keymaps, motd, wvdial.conf)

  • Miscellaneous (arp, boot, regex, unix utf8)

  • System administration (debugfs, fdisk, fsck, mount, renice, rpm)

āļĄāļĩāļ­āļĒāļđāđˆ 2 āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļ„āļģāļŠāļąāđˆāļ‡ man āļ„āļ·āļ­āļ„āļģāļŠāļąāđˆāļ‡ whatis āđāļĨāļ° āļ„āļģāļŠāļąāđˆāļ‡ apropos āđ‚āļ”āļĒāļ„āļģāļŠāļąāđˆāļ‡ whatis āļˆāļ°āļ—āļģāļāļēāļĢāļ„āđ‰āļ™āļŦāļē manual pages āļŠāļģāļŦāļĢāļąāļšāļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ—āļĢāļēāļš āļŠāđˆāļ§āļ™āļ„āļģāļŠāļąāđˆāļ‡ aporpos āļˆāļ°āļ„āđ‰āļ™āļŦāļēāļ„āļģāļŠāļģāļ„āļąāļ (Keyword) āđƒāļ™ manual pages āļ”āļąāļ‡āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āđ‰āļēāļ‡āļĨāđˆāļēāļ‡

$ whatis man
man(1)                   - format and display the on-line manual pages
man.conf(5)              - configuration data for man
zshall(1)                - the Z shell meta-man page
xml2man(1)               - MPGL to mdoc (man page) translator
$ whatis mkdir
mkdir(1)                 - make directories
mkdir(2), mkdirat(2)     - make a directory file
$ apropos mkdir
mkdir(1)                 - make directories
mkdir(2), mkdirat(2)     - make a directory file 

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Oh-My-Zsh Shell

ðŸ–Ĩïļ
Bourne shell
C shell
asciicast
āļ‚āļšāļ§āļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Shell
āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāđ€āļ‚āđ‰āļēāļŠāļđāđˆāļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļœāđˆāļēāļ™āđ€āļ—āļ­āļĢāđŒāļĄāļīāļ™āļąāļĨ
āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ man