yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
ROSMASTER X3📖
1.About ROSMASTER X3
  • 1.1 Wiring Introduction
  • 1.2 Precautions for battery
  • 1.3 First Trial
2.Assembly steps
  • Installation Video(1-10)
  • Installation Video(11-18)
  • Installation Video(20-28)
  • Installation Video(29-30)
3.ROS1-Remote control course
  • 3.1 APP remote control
  • 3.2 Model aircraft remote control
  • 3.3 Handle remote control
4.ROS1-Hardware course
  • 4.1 About expansion board_V3.0
  • 4.1 About expansion board_V1.0
  • 4.2 STM32 Development environment
  • 4.3 Button to control the buzzer to whistle
  • 4.4 FreeRTOS application
  • 4.5 Serial communication
  • 4.6 SBUS model aircraft remote control
  • 4.7 CAN bus communication
  • 4.8 RGB colorful light bar
  • 4.9 Timer interrupt to control PWM servo
  • 4.10 Control serial port servos
  • 4.11 Nine-axis attitude sensor to obtain data
  • 4.12 Control motor
  • 4.13 Timer captures the encoder data
  • 4.14.1 Kinematic Analysis of Mecanum Wheel
  • 4.14.2 Kinematics Analysis of Ackermann Car
  • 4.15 PID control robot movement
5.ROS1-Basic course
  • 5.1 Update the firmware
  • 5.2 Turn off the self-starting process at startup
  • 5.3 Install the Rosmaster driver library
  • 5.4 Buzzer whistle
  • 5.5 Control PWM servo
  • 5.6 RGB colorful light bar special effects display
  • 5.7 Control motor
  • 5.8 Control robot movement
  • 5.9 Control Serial Servo
6.ROS1-Linux operating system
  • 6.1 Virtual machine installation and use
  • 6.2 Linux basics
  • 6.3 Remote control
  • 6.4 Multi-machine communication configuration
  • 6.5 Static IP and hotspot mode
  • 6.6 Bind the device ID
  • 6.7 Web page real-time monitoring
  • 6.8 Expansion tutorial
  • 6.9.1 Jetson Nano write sytem
  • 6.9.2 Jetson Xavier NX write system
  • 6.9.3 Jetson TX2 NX write system
  • 6.9.4 Raspberry Pi write system
7.ROS1-Docker-pi5
  • 1、Docker overview and docker installation
  • 2、Common commands for docker image containers
  • 3、Docker images deeply understand and publish images
  • 4、Docker hardware interaction and data processing
  • 5、Enter the bot's docker container
  • 6、Robot development environment construction in Docker
  • 7、How customers can update docker images in the future
8.ROS1-ROS basic course
  • 1.ROS introduction
  • 2.ROS installation
  • 3.ROS common command tools
  • 4.ROS workspace
  • 5.ROS function package
  • 6.ROS node
  • 7.ROS topic publisher
  • 8.ROS topic subscribers
  • 9.ROS service client
  • 10.ROS service server
  • 11.ROS action client
  • 12.ROS action server
  • 13.ROS custom message reception
  • 14.ROS-launch file
  • 15.ROS-TF transformation
  • 16.ROS parameter service
  • 17.ROS-rviz use
  • 18.ROS-rqt tool usage
  • 19.Topic message recording and playback
  • 20.urdf model introduction
  • 21.gazebo introduction
  • 22.ROS distributed communication
9.ROS1-OpenCV courses
  • 9.1 Getting started with Open Source CV
  • 9.2 Geometric transformation
  • 9.3 Image processing and drawing text line segments
  • 9.4 Image beautification
  • 9.5 Opencv application
  • 9.6 AR vision
  • 9.7 AR QR code
  • 9.8 ROS+Opencv foundation
  • 9.9 ROS+Opencv application
  • 9.10 Data transformation and point cloud
  • 9.11 MediaPipe development
10.ROS1-Robot control course
  • 10.1 PID algorithm theory
  • 10.2 Robot PID debugging
  • 10.3 Robot information release
  • 10.4 Robot keyboard control
  • 10.5 Robot handle control
  • 10.6 Robot state estimation
  • 10.7 Robot calibration
  • 10.8 Robot URDF model
11.ROS1-Depth camera course
  • 11.1 How to use the Astra camera
  • 11.2 Astra camera calibration
  • 11.3 Astra Color Tracking
  • 11.4 Astra Object Tracking
  • 11.5 Visual tracking autopilot
  • 11.6 Pure visual 2D mapping and navigation
  • 11.7 RTAB-Map 3D mapping navigation
  • 11.8 ORB_SLAM2 basics
  • 11.9 ORB_SLAM2_Octomap
12.ROS1-Lidar course
  • 12.1 Lidar basic-SLAM
  • 12.1 Lidar basic-4ROS
  • 12.2 Lidar avoiding
  • 12.3 Lidar guard
  • 12.4 Lidar follow
  • 12.5 Patrol game
  • 12.6 gmapping mapping algorithm
  • 12.7 hector mapping algorithm
  • 12.8 karto mapping algorithm
  • 12.9 cartographer mapping algorithm
  • 12.10 rrt_exploration mapping algorithm
  • 12.11 AMCL
  • 12.12 Navigation and avoiding
  • 12.13 APP mapping and navigation
13.ROS1-Multi-robot control course
  • 13.1 Multi-machine handle control
  • 13.2 Multi-machine navigation
  • 13.3 Multi-machine formation
  • 13.4 Multi-machine surround
14.ROS1-Deep learning courses
  • 14.1 KNN recognizes handwritten digits
  • 14.2 Basic use of TensorFlow
  • 14.3 Basic use of PyTorch(jetson)
  • 14.4 yolov5 model training(jetson)
  • 14.5 yolov5+tensorrt acceleration(jetson)
  • 14.6 yolov4-tiny
15.ROS1-Voice control courses
  • 15.0 How to use old voice module in new image
  • 15.1 Introduction of voice control module-NEW
  • 15.2 Voice control module port binding-NEW
  • 15.1 Introduction of voice control module-Old
  • 15.2 Voice control module port binding-Old
  • 15.3 Voice control car movement
  • 15.4 Voice control Autopilot
  • 14.5 Voice control color recognition
  • 15.6 Voice control color tracking
  • 15.7 Voice control multi-point navigation
16.ROS1-Model training Autopilot
  • 16.0 ReadMe
  • 16.1 yolov5 to train traffic signs
  • 16.2 TensorRt acceleration identification mark
  • 16.3 Road sign indication function description
  • 16.4 Collect data
  • 16.5 Training model
  • 16.6 Model transformation and application
  • 16.7 AI Autopilot
17.ROS2- Remote control course
  • 1. APP control
  • 2. Model aircraft control
  • 3. Wireless Handle Control Tutorial
18.ROS2- Hardware course
  • 1. About expansion board_V1.0
  • 1. About expansion board_V3.0
  • 2. STM32 Development environment
  • 3. Button control
  • 4. FreeRTOS application
  • 5. Serial communication
  • 6. SBUS model aircraft remote control
  • 7. CAN bus communication
  • 8. RGB colorful light bar
  • 9. Timer interrupt to control PWM servo
  • 10. Control serial port servos
  • 11. Nine-axis attitude sensor to obtain data
  • 12. Control motor
  • 13. Timer captures the encoder data
  • 14. Robot kinematics analysis theory
  • 15. PID control robot movement
19.ROS2- ROSMASTER basic course
  • 1. Update the firmware
  • 2. Turn off the self-starting process at startup
  • 3. Install the Rosmaster driver library
  • 4. Buzzer whistle
  • 5. Control PWM servo
  • 6. RGB colorful light bar special effects display
  • 7. Control motor
  • 8. Control robot movement
  • 9. Control Serial Servo
20.ROS2- Linux operating systemnew
  • 1. Virtual machine installation and use
  • 2. Linux basics
  • 3. Remote control
  • 4. Multi-machine communication configuration
  • 5. Static IP and hotspot mode
  • 6. Bind the device ID
  • 7. Web page real-time monitoring
  • 8. Expansion tutorial
  • 9.1 Jetson Nano write sytem
  • 9.2 Raspberry Pi write system
  • 9.3 Orin series write system
  • 10.Jetpack old system upgraded to SUPER systemnew
21.ROS2- Docker(Nano Pi)
  • 1. Docker Overview and Docker Installation
  • 2.Common commands for docker image containers
  • 3.Docker images deeply understand and publish images
  • 4. Docker hardware interaction and data processing
  • 5. Entering the Docker Container of the Robot
  • 6. Building a Robot Development Environment in Docker
  • 7. Method for customers to update Docker images in the future
22.ROS2- ROS2 Basic Tutorial
  • 1.Introduction to ROS2
  • 2.ROS2 install Humble
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 Rqt Toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
23.ROS2- Robot control course
  • 1. PID Algorithm Theory
  • 2. Robot information release
  • 3. Robot control
  • 4. Robot state estimation
  • 5. Robot calibration
  • 6. URDF model
24.ROS2- Depth camera course
  • 1.Depth camera usage
  • 2. Camera internal reference calibration
  • 3. color tracking
  • 4. KCF object tracking
  • 5. ORB_SLAM2 basics
  • 6. ORB_ SLAM2 PCL mapping
  • 7. ORB_ SLAM2 Octomap mapping
  • 8. RTAB-Map 3D mapping navigation
25.ROS2- Lidar course
  • 1. Introduction and Use of Lidar
  • 2. Lidar avoiding
  • 3. Lidar follow
  • 4. Lidar guard
  • 5. Patrol game
  • 6. Gmapping mapping algorithm
  • 7. Cartographer mapping algorithm
  • 8. Navigation and obstacle avoidance
  • 9. Rosmaster_ X3 conducts mapping through the APP
  • 10. Rosmaster_ X3 Navigation through APP
26.ROS2- OpenCV courses
  • 1. OpenCV Basic Course
  • 2. ROS+opencv application
  • 3. QR code creation and recognition
  • 4. AR Vision
  • 5. Mediapipe fun gameplay
  • 6、line patrol automatic driving
27.ROS2- Voice control courses
  • 0.How to use old voice module in new image
  • 1. Introduction of voice module-new
  • 2. Voice control module port binding-new
  • 1. Introduction of voice module and port binding-old
  • 3. Voice control car movement
  • 4. Voice control Autopilot
  • 5. Voice control color recognition
  • 6. Voice control color tracking
  • 7. Voice control multi-point navigation
28.Deep learning courses(SUPER)
  • 1.KNN recognizes handwritten digitsnew
  • 2.Basic use of TensorFlownew
  • 3.Basic use of PyTorch(jetson)new
  • 4.YOLOv11Model conversion(SUPER)new
  • 5.YOLOv11Dataset annotation(SUPER)new
  • 6.YOLOv11Model conversion + tensorrt acceleration(SUPER)new
  • 7.YOLOv11Object recognition(SUPER)new
29.ROS2-Multi-robot control
  • 1. Multi-robot control
  • 2. Multi-robot navigation
LLM tutorial
1.Development environment
  • 0. Model usage instructions
  • 1.Environments deployment
  • 2.Dialogue platform installation
2.Jetson Nano B01
  • 1.Qwen2 model
  • 2.TinyLlama model
  • 3.Phi-3 model
  • 4.Gemma model
  • 5.Orca Mini model
  • 6.StarCoder2 model
  • 7.DeepSeek-R1 model
  • 8.Expand LLaVA-Phi3
3.Jetson Orin NXNANO
  • 1.Llama3 model
  • 2.Qwen2 model
  • 3.Phi-3 model
  • 4.Gemma model
  • 5.WizardLM2 model
  • 6.Codellama model
  • 7.DeepSeek-R1 model
  • 8.Orca Mini model
  • 9.StarCoder2 model
  • 10.TinyLlama model
  • 11.Expand LLaVA
  • 12.Expand LLaVA-Phi3
4.Raspberry Pi 5B
  • 1.Meta AI Llama3 model
  • 2.Qwen2 model
  • 3.Phi-3 model
  • 4.Gemma model
  • 5.WizardLM2 model
  • 6.Meta AI Codellama model
  • 7.DeepSeek-R1 model
  • 8.Expand LLaVA
FAQ
  • 1.Using your own Jetson board, ROSMASTER X3 cannot start normally
Download
  • RemoteCtrl_APP(Android/iOS)
  • Mapping_APP(iOS_Android)
  • Instruction Manual
  • SystemFile_ROS2
  • SystemFile_ROS1
  • SystemFile_ROS2_OrinNANOSUPER
  • SystemFile_ROS2_OrinNXSUPER
  • Code
  • Jetson_Boot_USB.tar.gz
  • VM software
  • Autopilot Annex
  • Other_Annex_File
  • LLM_SystemFile
  • ROS2_Basic_VM
Download ZIP
FAQ
  • 1、How to connect OLED?

Welcome to ROSMASTER X3 repository

2. Linux basics

2. Linux basics

2. Linux basics 2.1. Introduction to Linux system 2.2. Ubuntu overview 2.3. Ubuntu file system 2.4. Common commands 2.4.1. increase 2.4.2. delete 2.4.3. change 2.4.4. Check 2.4.5. Others 2.5. Editor 2.5.1. vim 2.5.2. nano 2.5.3. gedit 2.6. Ubuntu software operation command

2.1. Introduction to Linux system

Linux is an open source operating system whose kernel was first released on October 5, 1991 by Linus Benadict Torvalds. It inherits the network-centric design idea of Unix and is a performance Stable multi-user network operating system.

In March 1994, Linux 1.0 was released with a code volume of 170,000 lines. At that time, it was released under a completely free and free agreement, and then the GPL agreement was officially adopted.

In January 1995, Bob Young founded RedHat (Little Red Hat), with GNU and Linux as the core, integrating more than 400 open source program modules, and came up with a brand of Linux, namely RedHat Linux, called RedHat Linux. Linux distribution, sold in the market.

In June 1996, the Linux 2.0 kernel was released, which can support multiple processors.

  • Main features of Linux

Free and open source; fully compatible with POSIX 1.0 standard; multi-user, multi-task; has a good interface; supports multiple platforms.

  • Linux major version

There are currently about 300 Linux distributions, almost all of which can be run as server systems. Linux distributions rarely copy each other, and the popular Linux server distributions are mainly the following:

Red Hat Enterprise Linux: This is the first Linux distribution for the commercial market. It is available in server versions and supports numerous processor architectures.

Debian: Debian is extremely stable, which makes it ideal for servers.

CentOS: CentOS is an enterprise Linux distribution rebuilt from free source code from Red Hat Enterprise Linux. This refactored version completely removes the registered trademark and a very subtle change in the Binary package.

Ubuntu: Ubuntu is a derivative of Debian that focuses on its use in this market, common on servers, cloud computing, and even some mobile devices running Ubuntu Linux.

2.2. Ubuntu overview

Ubuntu is a Linux operating system based on desktop applications. Ubuntu is based on the Debian distribution and the Gnome desktop environment, and since version 11.04, the Ubuntu distribution has abandoned the Gnome desktop environment in favor of Unity. Since Ubuntu 18.04 LTS, Ubuntu distributions are back to using the GNOME3 desktop environment. Debian-based Ubuntu has a place on almost every Linux-related list. Canonical's Ubuntu trumps all other Linux server distributions - From simple installation, excellent hardware discovery, to world-class commercial support, Ubuntu sets standards that are hard to match

2.3. Ubuntu file system

Ubuntu is different from Windows, there is no concept of drive letter, there is only one root directory [/], all files are under it

├──  bin           # bin is the abbreviation of Binary. Stores the most commonly used executable files (binaries) in the system. 
├──  boot          # The Linux kernel and system boot files are stored here, including Grub and lilo launcher programs. 
├──  dev           # dev is the abbreviation of Device. This directory stores the external devices of Linux, such as hard disk, partition, keyboard, mouse, usb, etc. 
├──  etc           # This directory is used to store all configuration files and subdirectories required for system management, such as passwd, hostname, etc. 
├──  home          # The home directory of the user. In Linux, each user has a directory of his own. Generally, the directory name is named after the user's account. 
│    └──  yahboom         # user 
│        ├──  Desktop     # Desktop 
│        ├──  Documents   # Documents 
│        ├──  Downloads   # Download 
│        ├──  Music       # Music 
│        ├──  Pictures    # Pictures 
│        ├──  Public      # Share 
│        ├──  Templates   # Templates 
│        ├──  Videos      # Video 
│ ... 
│    ...  
├──  lost + found    # This directory is usually empty. When the system is shut down illegally, some scattered files are stored here. 
├──  lib           # Stores shared library files, including many library files used by programs in /bin and /sbin. 
├──  media         # The CD-ROM and USB devices automatically mounted by the ubuntu system, which store the temporarily read files. 
├──  mnt           # As the mount point of the mounted file system. 
├──  opt           # As a storage directory for optional files and programs, it is mainly used by third-party developers to easily install and uninstall their software. 
├──  proc          # This directory is a virtual directory, which is the mapping of the system memory, where all processes marked as files are stored, and cpuinfo stores the data of the current working state of the cpu. 
├──  root          # This directory is the home directory of the system administrator, also known as the super-authorized user. 
├──  sbin          # s means Super User, which stores system management programs used by system administrators, such as system management, directory query and other key command files. 
├──  srv           # Store the service data provided by the system. 
├──  sys           # System device and file hierarchy, and provide detailed kernel data information to user programs. 
├──  usr           # Store files and directories related to system users. 
│    ├──  bin       # Standard commands for users and administrators 
│    ├──  games     # Stores the small games that come with XteamLinux 
│    ├──  include   # Used to store the header files needed to develop and compile applications under Linux, c or c++ 
│    ├──  lib       # Link library for applications and packages 
│    ├──  local     # System administrator installed application directory 
│    ├──  sbin      # Stores the management program used by the root superuser 
│    └──  src       # Linux open source code 
│    └──  share     # Store shared data 
│    ... 
├──  var           # Variable-length files, especially log data such as log files and printer files. 
│    ├──  backups 
│    ├──  cache     # Application cache directory 
│    ├──  crash     # System error message 
│    ├──  log       # log file 
│    ├──  mail      # email 
│    └──  tmp       # Temporary file directory 
│    ... 
├──  tmp           # This directory is used to store some temporary files, and all users have read and write permissions to this directory. 
... 

2.4. Common commands

2.4.1. increase

create a new file

xxxxxxxxxx
touch test.txt 

new folder

xxxxxxxxxx
mkdir test          # create a file 
mkdir -p test/src   # create the test folder and create the src folder in the test folder 

copy

xxxxxxxxxx
sudo cp test.txt test_copy.txt # copy a file 

2.4.2. delete

-ito execute interactively
-fForce delete, ignore non-existing files without prompting
-rRecursively delete the contents of a directory
xxxxxxxxxx
sudo rm test.txt      # delete file
sudo rm -r test      # delete the folder and its contents 

2.4.3. change

  • mv move, rename

xxxxxxxxxx
sudo mv test test_new           # Change the test folder to test_new 
sudo mv test.txt test_new.txt   # Modify the test.txt file to test_new.txt 
  • chmod changes file permissions

Permission setting

symbolmeaning
+Increase permissions
-Revoke permission
=set permissions

rwx

Letter permissionsmeaning
rread means read permission. For a directory, if there is no r permission, it means that the contents of this directory cannot be viewed through ls.
inwrite means writable permission. For a directory, if there is no w permission, it means that new files cannot be created in the directory.
xexecute means executable permission. For a directory, if there is no x permission, it means that the directory cannot be entered through cd.
xxxxxxxxxx
sudo chmod +rwx test.txt   

Shortcut to add all permissions

xxxxxxxxxx
sudo chmod 777 test.txt   
  • change Password

set root password

xxxxxxxxxx
sudo passwd root 

Set username and password

xxxxxxxxxx
sudo passwd username 

2.4.4. Check

  • View system version

xxxxxxxxxx
lsb_release -a      # release version number 
uname -a            # Kernel version and system bitness 
cat /proc/version   # kernel version and gcc version 
  • View hardware information

​x
curl  cip.cc or ifconfig     # View IP address 
cat /proc/cpuinfo or lscpu   # cpu info 
sudo dmidecode -t memory     # memory information 
df -h                        # View the space of all mounted file systems 
which python3                # View command location 
v4l2-ctl --list-formats-ext  # View camera device parameters 
nproc                        # View the number of cores 

  • View file information

xxxxxxxxxx
la              # Display all subdirectories and files in the specified directory, including hidden files 
ll              # display the details of the file in a list 
ls -h           # cooperate to display the file size in a user-friendly way 
cat test.txt    # View file content 
tree            # View the file directory (requires tree installation) 

tree installation command

xxxxxxxxxx
sudo apt install tree 
  • find files

xxxxxxxxxx
find ./ -name  test.sh    # Find all files or directories named test.sh in the current directory 
find ./ -name  '*.sh'     # Find all files or directories with the suffix .sh in the current directory 
find ./ -name  "[A-Z]*"   # Find all files or directories starting with an uppercase letter in the current directory 

2.4.5. Others

  • tar command

tar uses the format: tar [parameter] package file name file

xxxxxxxxxx
-c # Generate archive file, create package file 
-v # List the detailed process of archive unarchiving, showing progress 
-f # Specify the name of the archive file, f must be followed by a .tar file, so you must put the option at the end 
-t # list the files contained in the 
-x # unpack   the archive 

Pack

xxxxxxxxxx
tar -cvf xxx.tar *                 # all files in the current directory 
tar -cvf xxx.tar *.txt             # files ending in .txt 
tar -cvf xxx.tar my-file my-dir    # Package the specified directory or file 

unpack

xxxxxxxxxx
tar -xvf xxx.tar              # unpack to current directory 
tar -xvf xxx.tar -C my-dir    # Unpack to the specified directory (need to create the my-dir directory first) 
  • zip, unzip commands

Compressed file: zip [-r] destination file (without extension) source file

xxxxxxxxxx
zip bak *        # All files in the current directory, you can also specify a file 
zip -r bak *     # all files & directories in current directory recursively 

Unzip the file: unzip -d unzip the directory file compressed file

xxxxxxxxxx
unzip -d ./target_dir bak.zip  # Unzip to the   specified directory 
unzip bak.zip                  # unzip to current directory 
  • ln command

Soft link: Soft link does not occupy disk space, and the soft link is invalid if the source file is deleted. Commonly used, you can create files or folders

xxxxxxxxxx
ln  -s source-file  link-file 

Hard links: Hard links can only link ordinary files, not directories. Linked file exists even though source file is deleted

xxxxxxxxxx
ln source-file link-file 
  • scp remote copy

xxxxxxxxxx
scp jetson@192.168.16.66:/home/jetson/xxx/yahboom/xxx.tar.gz  /home/yahboom/ # Copy  from remote to local 
scp /home/yahboom/xxx.png jetson@192.168.16.66:/home/jetson/ # local to  remote 
scp -r jetson@192.168.16.66:/home/jetson/test /home/yahboom/    # from remote to local -r 
scp -r /home/yahboom/test jetson@192.168.16.66:/home/jetson/    # from local to remote -r 
  • wget file download

Just search for an image address on Baidu as an example.

xxxxxxxxxx
wget "https://img0.baidu.com/it/u=3911542037,2006161295&fm=224&fmt=auto&gp=0.jpg"                  # Download ordinary files (Baidu links should be double-quoted) 
wget -O yahboom.jpg "https://img0.baidu.com/it/u=3911542037,2006161295&fm=224&fmt=auto&gp=0.jpg"   # Save the file with the specified file name 
  • other

xxxxxxxxxx
nautilus . # open the current file 
cd ~                 # Switch to the current user's home directory (/home/user directory) 
cd .                 # Change to current directory 
cd -                 # can enter the last directory 
cd /                 # Change to the system root directory/ 
pwd                  # show the current path 
echo "HelloWorld"    # Output HelloWorld information to the console 
which                # View command location 

2.5. Editor

2.5.1. vim

vim is an upgraded version of vi. The most common difference is that it can display some special information of system files in multiple colors.

  • install command

xxxxxxxxxx
sudo apt install vim 
  • Three main modes

Command mode (edit mode): default mode, move the cursor, cut/paste text (interface performance: the file name is displayed in the lower left corner or empty) Insert mode (input mode): modify text (interface performance: the lower left corner displays —INSERT– ) In the insert mode, press the ESC key to return to the last line mode of the command mode (extended mode): save, exit, etc. (interface performance: the lower left corner displays -VISUAL-) In the last line mode, press the ESC key twice continuously to return to the last line mode

  • Mode switch

Switch from command mode to edit mode

xxxxxxxxxx
i     # Insert mode to enter edit mode 
a     # Append mode to enter edit mode 
o     # Start editing at the beginning of the next line of the current line 
O     # Start editing at the beginning of the previous line of the current line 

Switch from command mode to last line mode

xxxxxxxxxx
: # Enter a colon [:] 

Switch from last line mode to command mode: press【esc】

Switch from editing mode to command mode: press [esc]

Esc built: exit to the current mode

Esc build Esc build: always return to command mode

vim

  • last line mode

xxxxxxxxxx
w            # save 
q            # exit 
q!           # force quit 
x            # save and exit 
set nu       # display line number 
set          # nonu hide line numbers 
0,$d         # vim delete the entire contents of the file: 
/string      # Start looking for the string string backwards from the cursor; press n to locate the next one, and shfit+n to locate the previous one. 
g/string     # Retrieve string. Stops the cursor at the beginning of the first retrieved string of strings. 
  • command mode

xxxxxxxxxx
yy         # copy 
p          # paste 
3yy        # Copy 3 lines 
2p         # paste 2 times 
dd         # cut 
3dd        # cut 3 lines 
u          # undo 
Ctrl + r   # Undo 
dd         # delete the current line 
dG         # delete the current line to the end of the file 
dH         # delete the current line to the beginning of the file 
gg         # jump to the first line of the current document 
G          # jump to the end line of the current document 
^          # Jump to the beginning of the current line 
$          # jump to the end of the current line 
h          # move left one character 
j          # move down one line 
k          # move up one line 
l          # move one character to the right 
PageDown(or Ctrl + F) # scroll down a screen 
PageUp(or Ctrl + B)   # page up one screen 

2.5.2. nano

nano is a text editor for Unix and Unix-like systems, a clone of Pico.

  • Install

xxxxxxxxxx
sudo apt install nano 

new/open file

xxxxxxxxxx
nano path + file name 
For example: nano test_nano.txt 

control commands

xxxxxxxxxx
Ctrl + v      # Next page 
Ctrl + y      # Previous page 
Ctrl + w      # Search for a word or phrase 
Ctrl + x      # close the current text, exit nano, return to shell 
Ctrl + \      # Search and replace 
Ctrl + k      # cut line of text 
Ctrl + u      # Paste line of text 
Ctrl + c      # Display cursor position in text 

2.5.3. gedit

gedit is no different from using Notepad under Windows.

In the editor, we can click the "Open" button to browse the list of recently opened files and open the file; click the "Save" button to save the file currently being edited; click the menu bar on the right to perform more operations and so on. The shortcut keys are the same as under Windows:

xxxxxxxxxx
Ctrl + s             save the file 
Ctrl + Shift + s     save as 
Ctrl + f             to search text content 

The gedit editor must be started without a remote interface such as ssh, jupyter, and putty when the interface can be displayed.

2.6. Ubuntu software operation command

xxxxxxxxxx
sudo  apt-get update                             # update source 
sudo  apt-get install package                    # install package 
sudo  apt-get remove package                     # remove the package 
sudo  apt-cache search package                   # search for packages 
sudo  apt-cache show package                     # Get information about the package, such as description, size, version, etc. 
sudo  apt-get install package --reinstall        # reinstall the package 
sudo  apt-get -f install                         # repair installation 
sudo  apt-get remove package --purge             # Remove packages, including configuration files, etc. 
sudo  apt-get build-dep package                  # Install the relevant compilation environment 
sudo  apt-get upgrade                            # update installed packages 
sudo  apt-get dist-upgrade                       # upgrade the system 
sudo  apt-cache depends package                  # Know which packages to use this package depend on 
sudo  apt-cache rdepends package                 # See which packages the package depends on 
sudo  apt-get source package                     # Download the source code of the package 
sudo  apt-get clean && sudo apt-get autoclean    # clean useless packages 
sudo  apt-get check                              # Check for broken dependencies 

Virtual machine installation and use
Remote control

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文