RTC Alarm is a hardware-level timing function controlled by the real-time clock (Real-Time Clock) on the motherboard. Even when the operating system is shut down or the hardware is in deep sleep, as long as the motherboard is still powered by battery or external power, it can trigger a signal to wake up the system at a preset time.
The RTC chip contains a timer and an alarm register internally. When the value of the timer matches the target time (seconds, minutes, hours, and days) set in the register, the hardware will send an interrupt signal (Interrupt) to notify the power management unit (PMU) to perform a power-on action.
| platform | Setting method |
|---|---|
| Windows | Check "Wake the computer to perform this job" through the "Job Scheduler", or use PowerShell to manage Wake Timers. |
| Linux | Use instructionsrtcwake -m mem -s 60(Represents waking up from memory sleep after 60 seconds). |
| BIOS/UEFI | Turn on Resume By RTC Alarm in the Power Management option and set a fixed time. |
PowerShell is a cross-platform task automation solution, consisting of a command shell (Shell), a command code language, and a configuration management framework. Unlike traditional CMD, PowerShell is based on.NETConstructed, which handlesObjectsrather than a plain text string.
---PowerShell commands (called Cmdlets) follow a "verb-noun" naming convention, making them very intuitive and easy to learn:
Get-Service: Obtain system services.Stop-Process: Stop the executing program.Set-ExecutionPolicy: Set script execution permission.New-Item: Create a new file or folder.In Linux Bash, pipes pass literals; in PowerShell, pipes pass completeobject. This means that subsequent instructions can directly access the properties produced by the previous instruction.
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 5
---
| Function | PowerShell Cmdlet | Alias |
|---|---|---|
| list files | Get-ChildItem |
ls / dir |
| Move directory | Set-Location |
cd |
| copy file | Copy-Item |
cp / copy |
| Show text | Write-Output |
echo |
| Filter data | Where-Object |
? / where |
If you want to know what information the object returned by a command contains, you can useGet-Member:
Get-Service | Get-Member
This will list all the properties and methods of the object, such as the serviceStatus, DisplayNamewait.
By default, Windows restricts script execution for security reasons. To execute what you wrote.ps1Files usually require adjusting permissions:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Win + R,enterregedit, press Enter to open the registration editor.HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
DWORD (32-bit) value, named:ShowSecondsInSystemClock
1。Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name ShowSecondsInSystemClock -Value 1 Stop-Process -Name explorer -Force
Clock.exeorTClock.exe。hh:nn:ss tt
| Format | Display example |
|---|---|
hh:nn:ss tt |
03:45:12 PM |
HH:nn:ss |
15:45:12 |
dddd, mmmm d, yyyy |
Monday, July 28, 2025 |
Windows + Pause/BreakOpen System Properties, or right-click "This PC" and select "Contents."You can view the memory configuration through the Resource Monitor or command tools provided by Windows.
Ctrl + Shift + EscOpen the job manager.For example:
Win + R,entercmdand press Enter).wmic MEMORYCHIP get BankLabel, Capacity, DeviceLocator, PartNumber
Example output:
BankLabel Capacity DeviceLocator
BANK 0 4294967296 DIMM0
BANK 1 4294967296 DIMM1
This example shows two 4GB memory banks.
Win + R,enterpowershelland press Enter).Get-CimInstance -ClassName Win32_PhysicalMemory | Format-Table BankLabel, Capacity, DeviceLocator
If you need more detailed memory information, you can use the following tools:
If the above method cannot confirm, you can turn off the computer power and open the case to manually check the actual module number and label of the memory slot.
Performance Monitor (PerfMon for short) is a powerful tool built into Windows for real-time monitoring of system resources (such as CPU, memory, hard disk, network) and application performance data. It helps developers and system administrators diagnose performance bottlenecks or resource leaks.
perfmonand press Enter.| Object | Counter | illustrate |
|---|---|---|
| Processor | % Processor Time | Overall CPU usage, if it continues to be higher than 80%, there may be a bottleneck. |
| Memory | Available MBytes | The amount of available physical memory. If the value is too low, the system will frequently swap paging. |
| Paging File | % Usage | Virtual memory usage can be used to determine whether physical memory is insufficient. |
| PhysicalDisk | % Idle Time / Avg. Disk Queue Length | Hard drive idle ratio or queue length, used to diagnose disk I/O latency. |
| Process | Private Bytes / Working Set | The memory usage of a specific program is detectedMemory Leakkey indicators. |
Private BytesWhether it continues to rise over time and never falls back.% Processor TimeandThread Count, to confirm whether any specific threads enter a dead loop or are generated in large numbers.lodctr is a Windows built-in command line tool, mainly used to log in, update or repair the performance counter name and description text of Performance Monitor (PerfMon). It is the core tool for managing the association between system performance objects and application counter definition files (.ini).
| Command example | Function description |
|---|---|
lodctr /s:backup.txt |
Back up the current performance counter settings to the specified text file. |
lodctr /r:backup.txt |
Restore performance counter settings from backup file. |
lodctr /r |
Most commonly used repair instructions. Automatically rebuild login information for all performance counters (requires administrator privileges to execute). |
lodctr <filename.ini> |
Install specific counter definition files. |
unlodctr <AppName> |
Remove performance counter settings for a specific application. |
If you see a "Unable to load performance counter" error message when launching Performance Monitor, or the counter name changes to a string of numbers, you can usually resolve it by following these steps:
cd %systemroot%\system32Enter the system directory.lodctr /r. The system will attempt to repair all counters based on the backup file.HKEY_LOCAL_MACHINEFor sensitive login file keys under , you must have administrator privileges to execute any lodctr command.System32andSysWOW64There are lodctr in all directories. If you are fixing counters for 32-bit applications, you should use the version under the SysWOW64 path.Computing performance testing refers to using standardized algorithms or loads to evaluate the speed, stability and efficiency of computer hardware (CPU, GPU) or software systems when processing complex instructions. This type of testing is an important basis for optimizing code and hardware selection.
| Test type | Test purpose |
|---|---|
| Benchmarking | Use standardized tools such as SPEC or Geekbench to compare results to industry standards. |
| Stress Testing | Push the load to the limit and observe the system's crash point and resilience when resources are exhausted. |
| Load Testing | Run for a long time under expected high load to confirm whether the system can provide stable services. |
| Concurrency Testing | Simulate multiple users or multiple threads executing tasks at the same time, and check whether there are locks or race conditions. |
Restart the computer and enter the BIOS (usually pressF2、F10orDelete). CPU and motherboard temperatures can be viewed in hardware monitoring or system health status.
Currently, Windows' built-in job manager does not provide CPU temperature display, but it can view CPU usage and clock speed.
You can try using the following PowerShell command to obtain temperature information (some systems may not support it):
Get-WmiObject MSAcpi_ThermalZoneTemperature -Namespace "root/wmi"
You can try the following command to check the temperature (some systems may not support it):
wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature
If the returned value is larger, you usually need to divide by 10 and subtract 273.15 to get the Celsius temperature.
cmd, and then press Enter.wmic baseboard get product,manufacturer
Manufacturer Product
ASUS PRIME Z390-A
Get-WmiObject Win32_BaseBoard | Format-Table Manufacturer, Product
If you need more detailed information, you can use the following third-party tools:
Windows 10 / 11 has "Extension Default Program"protection mechanism,
You can’t just change one machine code and it will take effect permanently., otherwise it will be automatically restored by the system.
But there are still "feasible and stable" methods.
Directly changing UserChoice without the correct Hash → will definitely fail
Suppose you want to useNotepad++(Please adjust the path yourself)
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\MyTxtEditor]
@="My TXT Editor"
[HKEY_CLASSES_ROOT\MyTxtEditor\shell\open\command]
@="\"C:\\Program Files\\Notepad++\\notepad++.exe\" \"%1\""
savemytxteditor.regand import
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.txt]
@="MyTxtEditor"
✔ This method is valid for "system level" ✔ Valid for new accounts and new files ⚠ Existing UserChoice may still overwrite
This is the key step
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice
After deletion:
⚠ Windows may be restored in the next update
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice]
"ProgId"="MyTxtEditor"
❌ No Hash, usually ignored or restored
taskkill /f /im explorer.exe
del /q "%LocalAppData%\Microsoft\Windows\Explorer\*.db"
start explorer.exe
Sysinternals is a free library of advanced system tools developed by Mark Russinovich and now maintained by Microsoft. It allows IT staff or advanced users to deeply explore, manage and troubleshoot the underlying operations of the Windows operating system. This set of tools is recognized as the "Swiss Knife" of Windows system diagnostics.
The toolset contains more than 70 tools, mainly divided into the following categories:
du: Query the directory disk usage.Diskmon: Monitor hard drive activity in real time.SDelete: Safely delete files (military-standard compliant, non-recoverable).TCPView: The graphical interface displays all network connections and endpoints in the current system.PsPing: Powerful network delay and bandwidth testing tool.Process Explorer: Advanced version of the job manager, showing DLL, control points and CPU distribution.Process Monitor (ProcMon): Real-time capture of file system, login table and process activity.Autoruns: Lists all programs that will be automatically executed when the system starts (the most comprehensive startup management).Coreinfo: Display processor and cache topology.AccessChk: Quickly check the access rights of a specific user to a file or directory.A great feature of Sysinternals is that most of the tools areGreen installation-free, you can use it in the following three ways:
Download the entire thing from Microsoft’s official websiteSysinternals SuiteZip file, or download the required tools separately.
Microsoft provides a network share path that allows you to execute the tool directly without downloading it. In Windows File Explorer or CMD enter:
\\live.sysinternals.com\tools\du.exe
\\live.sysinternals.com\tools\procexp.exe
winget install Microsoft.SysinternalsSuite
| Tool name | Function description | Applicable situations |
|---|---|---|
| Process Explorer | Replace job manager | Find out which program is hogging files and see what's causing your CPU spikes. |
| Autoruns | General inspection of startup items | Remove rogue software or check the cause of slow startup. |
| ProcMon | behavior monitoring record | The specific locations where the troubleshooter reports "Path Not Found" or "Access Denied" errors. |
| TCPView | Connection monitoring | See which programs are secretly connecting to the network. |
ProcMon, Autoruns) needs to be "executed as a system administrator" to obtain complete information./accepteulaParameters are automatically agreed.This is a disk usage (Disk Usage) tool officially provided by Microsoft and is part of the Sysinternals tool set. Its functionality is similar to that of LinuxduSimilar, but designed for the Windows NTFS file system and can handle it more accuratelySymbolic Links、Hard Linksas well asCompressed archive。
winget install Microsoft.Sysinternals.DiskUsage
| parameter | illustrate |
|---|---|
-c |
Output results in CSV format (suitable for importing into Excel). |
-l <number> |
Specify the recursion depth (e.g.-l 1Only the first level of folders is displayed). |
-n |
Do not recurse into subdirectories (equivalent to only looking at the current level). |
-q |
Quiet mode, does not display banner information (Banner). |
-u |
Count the actual space occupied by "duplicate links". |
-v |
Shows size in KB. |
This is the closest to Linuxdu -h --max-depth=1Usage:
du -l 1
If you need to log the scan results:
du -c C:\Users\YourName\Documents > usage.csv
du -q -s C:\Windows
C:\Windows)。-hSo intuitive, it is usually recommended to cooperate with-vobserve.$Recycle.Binor system folder, it is still recommended to useAdministrator rightsExecute, otherwise Access Denied will appear.In Windows, to give space from slot E to slot C, these two partitions must be on the diskadjacent(Slot E follows slot C). Since Slot C is the system drive, it is recommended to follow the steps below. This does not require reinstalling Windows, but it is recommended to back up important data before proceeding.
This is the safest method, but only if the E slot is empty since it needs to be deleted first.
Win + X,chooseDisk management。If there is a lot of data in your E slot that you do not want to move, or if there is a "Recovery Partition" between the C slot and the E slot, the built-in tool will not be able to extend it. At this time, third-party tools need to be used for "non-destructive adjustment".
If you delete the E slot but the "Extended Volume" of the C slot is still gray, it is usually because there is arepair partition. The processing method is as follows:
| context | solution |
|---|---|
| There are other partitions between C and E | You need to use a third-party tool to "move back" the repaired partition so that the unallocated space is adjacent to the C slot. |
| E slot has not been deleted yet | The E slot must be deleted first and become "unconfigured" before the built-in tools can be extended. |
| The disk format is MBR and reaches the 2TB limit | Needs to be converted to GPT format. |
If the disk management interface cannot delete some stubborn partitions, you can use the command:
diskpart
list disk
select disk 0 (confirm your SSD number)
list partition
select partition X (X is the number of slot E)
delete partition override
This is the most recommended method because Windows built-in tools do not support "moving" partition locations. You can use free software such asAOMEI Partition AssistantorMiniTool Partition Wizard。
[C slot] [Repair partition] [Unallocated space]。[C slot] [Unallocated space] [Repair partition]。If you do not want to install third-party software, you can choose to delete the repair partition.Notice:After deletion, you will lose the built-in WinRE repair environment (if the system fails to repair automatically), it is recommended to create a USB boot repair disk first.
Open CMD as administrator and enter:
reagentc /disable
usediskparttool:
diskpart
list disk
select disk 0 (assuming your SSD is disk 0)
list partition
select partition X (X is the number of the repair partition, usually about 500MB~1GB)
delete partition override
Now that the right side of the C slot is empty, just extend it directly in "Disk Management".
If you want to keep the repair function, after extending the C slot, you can enter:
reagentc /enable
---
| plan | risk | advantage |
|---|---|---|
| Third party tools | Extremely low (error of operation may cause power outage) | Intuitive, no instructions required, retains repair function. |
| Diskpart Delete | Medium (lost built-in repair mode) | No need to install software, completely remove obstacles. |
Cameraapplication.Photo Boothor other image-enabled applications.CheeseOr VLC Media Player.If you can see the "Smart Card Reader" in Device Manager but not the smart card, it may be because the smart card is not recognized correctly or there is a problem with the driver. Here are some common workarounds:
Win + R,enterservices.msc, find the "Smart Card" service (the name may be Smart Card Device Enumeration Service) and set it to "Automatically" start.The above method should help solve the problem where the smart card reader is displayed in the device administrator but the smart card cannot be seen.
Ubuntu is a Debian-based Linux distribution suitable for beginners. It has large community support and friendly user interface. Suitable for personal desktop use, server or development purposes.
CentOS Stream is a rolling update version of Red Hat Enterprise Linux (RHEL) suitable for server and enterprise environments.
Fedora is a Linux distribution sponsored by Red Hat that has the latest features and technologies for developers and technology enthusiasts.
Debian is a veteran Linux distribution known for its stability and open source ethos, suitable for both server and desktop use.
Arch Linux 是一个滚动更新的发行版,面向高阶用户。 Its KISS principle (Keep It Simple, Stupid) gives users complete control over the system.
openSUSE is available in two versions: Leap and Tumbleweed. Leap is a stable version and Tumbleweed is a rolling update version.
Manjaro is a Linux distribution based on Arch, but optimized for beginners, providing a simpler installation and usage experience.
Before installing Linux, you need to complete the following preparations:
Use the following steps to burn the ISO file to a USB flash drive:
Follow these steps to start the Linux installer:
During the installation process you need to complete the following steps:
Once the installation is complete, follow these steps for final setup:
After the new system is installed, you can consider the following operations to optimize the user experience:
cat /etc/os-release
For example:
NAME="Ubuntu"
VERSION="22.04.3 LTS"
ID=ubuntu
PRETTY_NAME="Ubuntu 22.04.3 LTS"
---
lsb_release -a
Output example:
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
---
uname -r
Output:
5.15.0-97-generic
---
uname -a
It will include core version, architecture, compilation time and other information.
---uname -m
For example:
x86_64
---
cat /etc/issue
---
cat /etc/redhat-release
---
lsb_releaseNot found → Install:sudo apt install lsb-release/etc/os-releasealmost universalCan be usedtarThe command packs the entire system into a compressed archive. It is recommended to execute it in single-player mode or enter rescue mode to ensure that the files will not change during the backup process.
sudo tar --exclude=/proc --exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys \
--exclude=/run --exclude=/media --exclude=/lost+found -cvpzf /mnt/backup/system-backup.tar.gz /
illustrate:
--exclude: Exclude directories that do not need to be backed up./mnt/backup/: It is recommended to back up to a mounted external disk or network device.
rsyncCan be used to make system images and keep directories synchronized.
sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/backup
illustrate:
-aAX: Preserve permissions, symbolic links, special files, and mount point structures.
ClonezillaIt is an open source disk image backup tool that can back up the entire disk or specific partitions.
TimeshiftSuitable for desktop users, supports snapshot and restore functions.
sudo apt install timeshift(Debian/Ubuntu)sudo timeshift-gtkorsudo timeshift --createtar -tvforrsync --dry-runVerify content.Install firstcifs-utils, which is the tool needed to mount a Windows shared directory:
sudo apt update
sudo apt install cifs-utils
Select or create a mount point, for example:
sudo mkdir -p /mnt/windows_share
Use the following command to mount:
sudo mount -t cifs //192.168.1.100/share_name /mnt/windows_share \
-o username=your_username,password=your_password,domain=YOUR_DOMAIN,iocharset=utf8,file_mode=0777,dir_mode=0777
illustrate:
//192.168.1.100/share_name: Windows host IP and share name./mnt/windows_share:Mount point.username/password: Windows account password.domain: Can be omitted if there is no domain.file_mode/dir_mode: Set file and folder permissions.It is recommended to write the password into the certificate file to improve security:
sudo nano /etc/samba/creds
The content is as follows:
username=your_username
password=your_password
domain=YOUR_DOMAIN
Modify permissions:
sudo chmod 600 /etc/samba/creds
edit/etc/fstab:
sudo nano /etc/fstab
join in:
//192.168.1.100/share_name /mnt/windows_share cifs credentials=/etc/samba/creds,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
sudo mount -a
If there is no error message, the mount is successful.
APT (Advanced Package Tool) is a commonly used package management tool for Debian and its derivative systems (such as Ubuntu, ChromeOS Linux containers). It is used to automate the installation, upgrade, removal of software, and solve package dependency issues.
sudo apt update
sudo apt upgrade -y
sudo apt install -y package name
sudo apt remove package name
sudo apt purge package name
sudo apt autoremove -y
apt search keyword
apt show package name
.debfiles, dependencies will not be automatically processed.sudo apt update && sudo apt upgradeto keep the system up to date.apt searchorapt showConfirm version and description.sudo apt -f install
iconvIt is a tool used for text file encoding conversion, commonly used to convert Big5, GB2312, UTF-8, UTF-16, etc. to each other.
iconv -f original encoding -t target encoding input.txt -o output.txt
-f: Source encoding (from)-t: Target encoding (to)-o: Output file (can be omitted, output to stdout by default)UTF-8BIG5(Traditional Chinese)GB2312 / GBK(Simplified Chinese)ISO-8859-1UTF-16 / UTF-16LE / UTF-16BEiconv -f BIG5 -t UTF-8 input.txt -o output.txt
iconv -f UTF-8 -t BIG5 input.txt > tmp.txt && mv tmp.txt input.txt
cat input.txt | iconv -f UTF-8 -t BIG5 | less
iconv itself does not have automatic detection function, it can be used withfileoruchardetuse:
file -i input.txt
uchardet input.txt
iconv -f BIG5 -t UTF-8 -c input.txt -o output.txt
-cIndicates that characters that cannot be converted are ignored
Ubuntu uses GNOME as its desktop environment by default. This is an intuitive and modern graphical interface, and the design concept emphasizes simplicity and focus. The interface mainly consists of the top status bar, the left activity bar, and the full-screen application launcher.
The vertical bar on the left side of the screen, called the Dock, holds frequently used application icons. As the application executes, a marker will appear below the icon. Users can adjust the order by dragging, or right-click to pin apps to the Dock. Click the nine-dot icon at the bottom of the Dock to open the list of all programs.
The bar at the top of the screen contains the following functions:
Ubuntu supports multiple workspaces, allowing users to place different types of tasks on different virtual desktops. You can quickly switch windows by pressing the Super key (usually the Windows key on your keyboard). The windows have an automatic snapping function. Drag the window to the edge of the screen to automatically fill half of the screen, making it easier to process tasks side by side.
The default file manager provides a simple navigation experience. The left sidebar displays commonly used folders (such as files, pictures, downloads) and integrates cloud storage spaces such as Google Drive. It supports paginated browsing function, allowing users to manage multiple paths in a single window.
Users can freely switch between light mode and dark mode through the appearance options in system settings. In addition, Ubuntu allows you to adjust the theme accent color (Accent Color), and customize the position of the Dock (bottom, left or right) and whether to automatically hide it, providing a high degree of personalization flexibility.
GNOME is one of the most popular desktop environments among Linux distributions (default choice for Debian, Ubuntu, Fedora). It emphasizes simplicity, focus and modern user experience, and its design logic is significantly different from the traditional Windows window layout.
| Component name | Function description |
|---|---|
| GTK | Graphical toolkit for building GNOME interfaces. |
| Mutter | Window manager and Wayland compositor. |
| GNOME Shell | The core of the graphical interface for direct user interaction (top bar, search function, etc.). |
| Gnome Tweaks | Essential tool for adjusting fonts, themes and advanced settings. |
rGNOME Shell can be restarted, X11 only).If you are accustomed to using Windows, it is recommended to install the following extensions to optimize GNOME:
1. Dash to Dock: Convert the sidebar to a Dock fixed at the bottom.
2. AppIndicator Support: Display the icon of the background program in the top column.
3. Arc Menu: Provides traditional start menu.
To confirm the currently installed GNOME version in the terminal, you can use the following command:
gnome-shell --version
In Debian or other Linux distributions using GNOME/KDE, desktop shortcuts are created via.desktopdefined by the file. This file is usually generated in the system directory after VS Code is installed, you just need to copy it to the desktop.
Open a terminal and execute the following command to copy the system's VS Code shortcut to your desktop folder:
cp /usr/share/applications/code.desktop ~/Desktop/
After copying, you need to give the file execute permissions, otherwise it may be treated as a plain text file:
chmod +x ~/Desktop/code.desktop
If you are using the GNOME desktop environment, the icon may appear as a gear or have a warning sign after copying. Please click on the icon on your desktopRight click, then select"Allow Launching". The icon will then change to the correct VS Code logo.
If the file cannot be found in the above path, you can create one manually. Enter in the terminal:
nano ~/Desktop/vscode.desktop
Then paste the following:
[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Refined.
GenericName=Text Editor
Exec=/usr/bin/code --unity-launch %F
Icon=vscode
Type=Application
StartupNotify=true
StartupWMClass=Code
Categories=Utility;TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;application/x-code-workspace;
Save and exit (Ctrl+O, Enter, Ctrl+X), then do the samechmod +xinstruction.
Another quick method is to create a soft link. Although the icon display effect on some desktops is not as complete as the .desktop file, the operation is the easiest:
ln -s /usr/bin/code ~/Desktop/VSCode
| method | advantage | shortcoming |
|---|---|---|
| Copy .desktop file | Display the complete icon and right-click menu function. | You need to click "Allow startup" additionally. |
| Create files manually | Startup parameters (such as working directory) can be customized. | The content is complicated and prone to typos. |
| Symbolic link (ln -s) | The instructions are the simplest. | The icon may just be a normal executable file icon. |
By default, Ubuntu turns off the screen and enters a locked state after a period of inactivity, which is often mistaken for automatic logout. To adjust or turn off this feature, follow these steps:
You can set the system not to automatically lock even when the screen is off, so you don't need to enter your password when you turn the screen back on:
If your system automatically enters sleep or pause mode, it will also require you to log in again:
If you find that your remote connection via SSH is automatically disconnected, this is usually due to a timeout setting on the server. You can modify your connection settings to keep them working:
sudo nano /etc/ssh/ssh_config。ServerAliveInterval 60, which causes the client to send a signal to the server every 60 seconds to maintain the connection.Ubuntu usually defaults to usingIBusorFcitxAs an input method framework, here we use the commonFcitx5For example:
sudo apt update
sudo apt install fcitx5 fcitx5-config-qt fcitx5-chinese-addons
Open the environment profile (depending on the shell used, it may be~/.xprofile、~/.profileor~/.bashrc):
nano ~/.xprofile
Add the following:
export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS="@im=fcitx5"
For the settings to take effect, it is recommended to restart or log out and then log in again.
Clickapplication menu→ SearchFcitx5 Configuration, after turning it on, press+Added input method.
Search and add one of the following input methods:
The default switching shortcut key isCtrl + Space, can be modified in Fcitx5 settings.
If you prefer other input method frameworks, you may also consider:
sudo apt install ibus-chewingsudo apt install fcitx5-rimeThe row-column input method is a root-based Chinese input method widely used in Taiwan. It supports fast input of Traditional Chinese and is suitable for users who are familiar with keyboard layout.
sudo apt update
sudo apt install fcitx5 fcitx5-config-qt fcitx5-chinese-addons
nano ~/.xprofile
Add the following:
export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS="@im=fcitx5"
+Add input method.Ctrl + SpaceorSuper + Space。If you are using IBus, consider installing Rime to support queues:
sudo apt install ibus-rime
After starting IBus and setting up Rime, you can also enable the "Range" scheme in it.
~/.config/fcitx5/rime/default.custom.yamloribusrime under the path.patch:
schema_list:
- schema: array30
Ctrl + `Call the Rime menu and select Redeploy.Open the terminal and enter the following command:
echo $XMODIFIERS
echo $GTK_IM_MODULE
echo $QT_IM_MODULE
Output result example:
@im=ibusIndicates that IBus is being used@im=fcitxorfcitx5Indicates that Fcitx/Fcitx5 is usedEnter the following command to view the currently executed input method related programs:
ps aux | grep -E 'ibus|fcitx'
Example results:
ibus-daemonIndicates that IBus is being usedfcitxorfcitx5Indicates that Fcitx/Fcitx5 is usedCheck the input method setting method in "Settings":
Install and executeim-configtool:
sudo apt install im-config
im-config -m
The currently used input method framework will be displayed, for example:
default missing
IBus is selected
To switch, execute:
im-config
Select the input method framework to be used in the graphical interface (such as Fcitx, IBus, None, etc.), select and log in again.
To create a shortcut ($\text{Launcher}$) on the Ubuntu desktop that executes a specific $\text{.sh}$ script when clicked, you need to create a $\text{.desktop}$ file. This file is a standard desktop project configuration file specified by $\text{freedesktop.org}$.
The following assumes that your script $\text{b.sh}$ is located in your "home directory" ($\text{Home Directory}$) and you want to execute the script in the terminal.
---First, you must ensure that the $\text{b.sh}$ file itself has execute permissions.
chmod +x ~/b.sh
(Note: $\text{\~}$ represents your home directory, such as $\text{/home/username/}$)
You can use any text editor (such as $\text{gedit}$ or $\text{nano}$) to create a new file on your desktop and name it $\text{b.sh.desktop}$ (the name can be customized, but must end with $\text{.desktop}$).
nano ~/Desktop/b.sh.desktop
Copy and paste the following into the file:
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Name=Execute b.sh script
Comment=Click on the b.sh file in the executor home directory
Exec=/bin/bash -c "cd ~ && ./b.sh"
Icon=utilities-terminal
Categories=Application;Utility;
---
| parameter | illustrate |
|---|---|
| Type=Application | Defines this file as an application launcher. |
| Terminal=true | **Must be set to $\text{true}$**. This will tell the system to open a terminal window to run the script when the command is executed so that you can see the output of the script. |
| Name | The name that appears below the desktop shortcut icon. |
| Exec | **Define the instructions to be executed**. Here, we use $\text{/bin/bash -c "cd \~ \&\& ./b.sh"}$ to ensure that the script is executed correctly in your home directory. |
| Icon | Set an icon for the shortcut. You can specify the name of the system's built-in icon (such as $\text{utilities-terminal}$), or specify the full path to an icon file (such as $\text{/path/to/my/icon.png}$). |
In most modern Ubuntu or $\text{Gnome}$ environments, when you place a $\text{.desktop}$ file on the desktop, the system may initially treat it as just a text file for security reasons.
After completing the above steps, the icon on the desktop should display correctly, and double-clicking it will open a terminal window and execute your $\text{b.sh}$ script.
When you try to run on Ubuntu or other Linux systems using systemd, usesystemctl restart [email protected]When you run the command to restart the Chrome Remote Desktop service, you will be prompted for authentication (that is, asking for a password). This is because the restart operation of the service is considered a system-level operation that requires elevated privileges.
To allow your users to restart this specific service without requiring a password, you can create a local authorization rule through Polkit (PolicyKit). Polkit is responsible for controlling how unprivileged programs communicate with privileged programs, and is the standard way of handling such permission prompts.
exist/etc/polkit-1/localauthority/50-local.d/Create a new rules file in the directory. we use99-chrome-remote-desktop-restart.pklaAs a file name (the file name can be customized, but it is recommended to use.pklaend):
sudo nano /etc/polkit-1/localauthority/50-local.d/99-chrome-remote-desktop-restart.pkla
In this file, paste the following content. This rule allows foradmingroup (orsudogroup (the exact group name depends on your Ubuntu version and configuration) to restart the service without requiring a password:
[Allow user to restart chrome-remote-desktop service]
Identity=unix-group:sudo
Action=org.freedesktop.systemd1.manage-units
ResultAny=yes
ResultInactive=yes
ResultActive=yes
sudooradmingroup. Please select the correct group based on your system conditions.yesIndicates that the operation is allowed without a password.store.pklaarchive and exit the editor.
In order for Polkit to load the new rules immediately, you may need to restart the Polkit service, or more reliably, restart the system:
sudo systemctl restart polkit.service
Or, if a simple service restart doesn't work, restart the entire system.
Now you can try executing the reboot command again and the password should no longer be asked:
systemctl restart [email protected]
Please note that the above settings are user (or group) and service specific. This will not affect other operations that require administrator privileges.
In Ubuntu systems, there are many ways to set a delay of a few seconds to execute scripts after booting. The most modern, reliable, and recommended method is to use systemd's Service Unit because it can precisely control execution timing and latency.
This method involves creating a systemd service file that specifies to wait a specific number of seconds after system startup is complete (or a certain goal is reached) before executing your script.
Assume your scriptb.shstored in/usr/local/bin/, and executable permissions have been set:
sudo chmod +x /usr/local/bin/b.sh
exist/etc/systemd/system/Create a new service file in the directory, for examplerun-bsh.service:
sudo nano /etc/systemd/system/run-bsh.service
Paste the following into your service profile. we useExecStartPreto implement the delay function.
[Unit]
Description=Delayed execution of b.sh script
After=network.target multi-user.target
[Service]
Type=oneshot
# Set the delay seconds, here set the execution delay of 15 seconds after booting
ExecStartPre=/bin/sleep 15
#Specify the script path to be executed
ExecStart=/usr/local/bin/b.sh
[Install]
WantedBy=multi-user.target
After=network.target multi-user.target: Ensure that the service starts after the network service is started and the multi-user environment is ready.ExecStartPre=/bin/sleep 15: This is the key to achieving latency. It will execute the main command (ExecStart), let systemd pause for 15 seconds. You can use15Replace with your desired delay in seconds.Type=oneshot: Indicates that this service is a single-execution script and will end after execution.After saving the file, you need to tell systemd to reload the configuration and enable the new service so that it runs automatically on every boot:
sudo systemctl daemon-reload
sudo systemctl enable run-bsh.service
Now, after restarting the system,b.shIt will be executed with a delay of 15 seconds after power on.
If you prefer to usecronscheduler, which can also be combined with@rebootoptions andsleepCommand to achieve:
crontab -e
@reboot /bin/sleep 20 && /usr/local/bin/b.sh &
This method will be executed when the system starts, and then delays execution for 20 seconds before executing the script. Pay attention to the ending&Symbol, indicating to let the script execute in the background to avoid blocking cron tasks.
If you installed Ubuntu in VirtualBox usingUnattended Installationfunction, VirtualBox will automatically create a file namedvboxuserof users.
In most cases, the default password is:
changeme
This is the default setting of VirtualBox designed to simplify the installation process. When you click "New" virtual machine, if you have not changed the account information in the "Auto-Install" tab, the system will apply the default values:
vboxuser
changeme
ubuntu(or the name you set)If you trychangemeBut unable to log in, please check the following points:
After successfully logging in, for security reasons, it is recommended that you change your password immediately. You can open Terminal and enter:
passwd
You will be asked to enter your old password (changeme) and then set your new password.
If you wish to set your own username and password during the installation process, please check the box when creating the virtual machine.Skip Unattended Installation(Skip automatic installation) option. The system will then guide you to the traditional Ubuntu installation screen, allowing you to manually enter customized account information.
In Ubuntu systems (including versions installed through VirtualBox),The root account has no password by default, and is locked.
This does not mean that the password is "blank", but that the system does not allow direct login as root. Ubuntu is designed throughsudocommand to allow general users with administrator rights (such as yourvboxuser) to perform tasks that require high privileges.
When you need to execute a system management command, please addsudo. What you will be asked to enter isPassword for your current account (vboxuser), that ischangeme。
sudo apt update
If you wish to switch to a terminal environment with root privileges, use the following command:
sudo -i
Likewise, the system will ask forvboxuserpassword (changeme), your prompt character will becomeroot@ubuntu:~#。
Although this is not recommended for security reasons, if you do need to set a unique password for root, you can use the following command:
sudo passwd root
changeme)。
sudoand entervboxuserpasswordchangeme。
In Ubuntu under VirtualBox environment, the terminal cannot be opened (no response after clicking the icon or the window crashes), which is usually related to the following reasons:
Since you cannot open a terminal window now, we need to enter "text-only mode" to execute the repair instructions.
vboxuserand press Enter. Or log in directly as root.changeme(Characters will not be displayed while typing) and press Enter.sudo localectl set-locale LANG=en_US.UTF-8
If the window environment is unstable and the program cannot be started, try turning off hardware acceleration.
If GNOME Terminal is damaged, you can first install a basic terminal tool to troubleshoot the problem.
sudo apt update && sudo apt install xterm
xtermand turn it on. If xterm can be opened, it means that the original gnome-terminal configuration file is damaged.tar is a commonly used tool in Linux and Unix systems for packaging and decompressing archives. The original meaning of tar is "tape archive", which can integrate multiple files and folders into one file (usually a .tar file) for easy transfer or backup.
The basic instruction format of tar is as follows:
tar [options] file name
Common options include:
-c:Create a new tar package.-x: Decompress the tarball.-v: Show detailed process.-f:Specify the file name.-z: Compress or decompress gzip format archives.-j: Compress or decompress bzip2 format files.Suppose there is a file calledmy_folderfolder that you want to package intoarchive.tar:
tar -cvf archive.tar my_folder
After execution, a file namedarchive.tarThe tar package containsmy_foldercontent.
To unziparchive.tar, use the following command:
tar -xvf archive.tar
After decompression,my_folderThe contents will be restored to the current directory.
To simultaneously package and compress an archive into a gzip-formatted archive (.tar.gz), use-zOptions:
tar -czvf archive.tar.gz my_folder
This command will generatearchive.tar.gz, including compressedmy_folder。
To unziparchive.tar.gz, use the following command:
tar -xzvf archive.tar.gz
This command will decompress the file and restoremy_foldercontent.
tar -tvf archive.tar
tar -rvf archive.tar new_file
tar -xvf archive.tar path/to/file
tar is a powerful tool that can package and compress archives, suitable for backup and archive transfer. Familiarity with the basic syntax and common options can help you manage files more efficiently on your Linux system.
Assume our file name is in the following format:
file1,data1.txt
file2,data2.txt
file3,data3.txt
We want to extract the first part of each line as the new file name.
First, make sure you have an archive (e.g.filenames.txt), which contains the name of the file that needs to be renamed:
file1,data1.txt
file2,data2.txt
file3,data3.txt
The following is an example Bash script for batch renaming:
#!/bin/bash
# Read each line in the file
while IFS=, read -r new_name old_name; do
# Check if the old file exists
if [ -f "$old_name" ]; then
# Use the mv command to rename the file
mv "$old_name" "$new_name.txt"
echo "'$old_name' has been renamed to '$new_name.txt'"
else
echo "File '$old_name' does not exist."
fi
done < filenames.txt
rename_files.sh。chmod +x rename_files.sh
./rename_files.sh
while IFS=, read -r new_name old_name; do: This line of code readsfilenames.txtfor each line in , with commas as delimiters, assign the first part tonew_name, the second part is assigned toold_name。[ -f "$old_name" ]: Check if the old archive exists.mv "$old_name" "$new_name.txt": Rename the old file to the new file name, appending.txtextension.$ for i in */*; do j=`echo $i|cut -d '/' -f 1`;k=`echo $i|cut -d ' ' -f 2`;echo mv '"'$i'"' $j'/'$j'_'$k; done > a.sh
mv "16/track 02.mp3" 16/16_02.mp3
mv "16/track 03.mp3" 16/16_03.mp3
mv "16/track 04.mp3" 16/16_04.mp3
...
bc is a "basic calculator" (Basic Calculator), which is the abbreviation of Linux and Unix The system's command line tool for mathematical operations. It supports high-precision arithmetic operations and can handle floating point numbers, variables and conditional operations. It is a powerful tool for performing fast calculations.
To start bc, type directly in the terminal:
bc
After starting, you can enter expressions in the command line, for example:
3 + 5
pressEnterAfter that, you can get the result.
+、-、*、/Perform basic arithmetic operations. For example:10 * 5
%Calculate the remainder. For example:10 % 3
(3 + 5) * 2
bc does not support floating point operations by default and needs to be setscaleSpecify the number of decimal places. For example:
scale=2
5 / 3
The result is1.66。
bc supports variable assignment and operations. For example:
a=10
b=20
a + b
The result is30。
bc does not directly support decimal exponentiation, but can use natural logarithms (l()) and the exponential function (e()) to achieve. For example, calculate2^3.5:
scale=5
e(3.5*l(2))
The steps here are as follows:
l(2)Calculate the natural logarithm of 2.e()Calculate the exponential value of the natural logarithm and get the result.The execution result will be a high-precision decimal.
if (3 > 2) print "Yes"\n
sqrt(16)
-qOption to start bc, you can hide the startup prompt message:bc -q
Single-line operations can be performed directly in the terminal. For example:
echo "scale=5; e(3.5*l(2))" | bc -l
The result is the result of the exponential operation in decimal format.
bc is a powerful and flexible tool that can not only perform basic arithmetic operations, but also handle advanced conditional and function calculations, including complex operations such as decimal exponents. Familiarity with the bc command can help you quickly complete various computing tasks in Linux systems.
Since performance bottlenecks in GNU bc have existed for many years, many modern systems have moved to using GNU bc developed by Gavin Howardgh-bc. If you find that your Chromebook or computer is running too slowly, you can update or replace it as follows.
Chromebooks' Linux container defaults are based on Debian, which typically installs an older version of GNU bc. You can try to obtain a high-performance version through source code compilation:
sudo apt update && sudo apt install build-essentialgavinhoward/bc, or download using git.git clone https://github.com/gavinhoward/bc.git./configure -O3(Turn on advanced optimization options)make && sudo make installbc in the Cygwin package repository is updated slowly. To improve performance, it is recommended to directly switch to the Windows native high-performance version to avoid Cygwin's simulation loss:
.exeThe execution efficiency will be much higher than the Cygwin version.| version name | Common environment | Performance characteristics |
|---|---|---|
| GNU bc | Older versions of Linux, Cygwin, macOS | The most versatile, but extremely slow when performing large number operations (high scale). |
| gh-bc (Gavin Howard) | Android (Termux), FreeBSD | extremely fast. Optimized for algorithms and supports modern hardware acceleration. |
| BusyBox bc | Embedded systems, lightweight Linux | Small size, medium speed, suitable for basic calculations. |
If you can't replacebcversion, but if you want to conduct a fair "computing performance test" across different devices, it is recommended to discard it.bc, switch to one that is available on all platforms and implemented consistentlyPython 3. Python's large integer operations are highly optimized, and its performance across platforms is more valuable for reference:
time python3 -c "import sys; sys.set_int_max_str_digits(0); print(2**500000)" > /dev/null
Execute the following command to check the output information:
bc -v: If you see the words "Gavin Howard", it means you have switched to a high-performance version.which bc: Confirm that the system is currently calling/usr/local/bin/bc(new version) still/usr/bin/bc(old version).date "+%Y-%m-%d %H:%M:%S"
# year-month-day
date "+%Y-%m-%d"
# hours:minutes:seconds
date "+%H:%M:%S"
# Full format
date "+%Y-%m-%d %H:%M:%S"
# Method 1: Define alias in the shell startup file (.bashrc or .zshrc)
echo 'alias date="date \"+%Y-%m-%d %H:%M:%S\""' >> ~/.bashrc
source ~/.bashrc
#Method 2: Create a function (more flexible)
echo 'date() { command date "+%Y-%m-%d %H:%M:%S" "$@"; }' >> ~/.bashrc
source ~/.bashrc
# Enter directly after setting
date
# will output
2025-09-14 12:34:56
Suppose we want to calculate the difference between 2025-01-11 15:30:00 and 2025-01-10 12:00:00:
$ date -d "2025-01-11 15:30:00" +%s
1731466200
$ date -d "2025-01-10 12:00:00" +%s
1731384000
$ echo "1731466200 - 1731384000" | bc
82200
The difference is 82200 seconds.$ echo "82200 / 86400" | bc # days
0
$ echo "82200 % 86400 / 3600" | bc #
22
$ echo "82200 % 3600 / 60" | bc # points
50
$ echo "82200 % 60" | bc # seconds
0The result is 0 days 22 hours 50 minutes 0 seconds.Suppose we want to calculate the difference between the current time and 2025-01-10 12:00:00:
$ date -d "now" +%s
1731462000 # Assume this is the current time when executing
$ date -d "2025-01-10 12:00:00" +%s
1731384000
$ echo "1731462000 - 1731384000" | bc
78000
The difference is 78000 seconds.$ echo "78000 / 86400" | bc # days
0
$ echo "78000 % 86400 / 3600" | bc #
21
$ echo "78000 % 3600 / 60" | bc # points
40
$ echo "78000 % 60" | bc # seconds
0The result is 0 days 21 hours 40 minutes 0 seconds.ipcommand is a powerful and versatile Linux network configuration tool that replaces several tools used in older versions of Linux such asifconfig、route、arpandnetstat)。ipCommand usageiproute2Suite for displaying and manipulating routes, network devices, tunnels, policy routing, etc. Its core advantages are its unified syntax, comprehensive functionality and good support for modern network concepts such as policy routing and multicast.
ipThe basic structure of the command is:
ip [options] [object] [action] [parameters]
link(Web interface),addr(IP address),route(routing table) orneigh(Neighbor/ARP table).showorlist(show),add(newly added),del(delete).| action | illustrate | example |
|---|---|---|
| show / a | Displays IP address information for all network interfaces. | ip addr show |
| add | Adds an IP address to the specified network interface. | ip addr add 192.168.1.10/24 dev eth0 |
| del | Removes an IP address from the specified network interface. | ip addr del 192.168.1.10/24 dev eth0 |
| action | illustrate | example |
|---|---|---|
| show / l | Displays the status of the network interface (including MAC address, MTU, etc.). | ip link show |
| set | Set the status or properties of the network interface. | ip link set eth0 up(enable interface) |
| set | Change the MAC address of the network interface. | ip link set dev eth0 address 00:1A:2B:3C:4D:5E |
| action | illustrate | example |
|---|---|---|
| show / r | Display the core routing table. | ip route show |
| add | Add a new route. | ip route add default via 192.168.1.1(Add default gateway) |
| del | Delete a route. | ip route del 10.0.0.0/8 via 192.168.1.1 |
| action | illustrate | example |
|---|---|---|
| show / n | Display neighbor table (equivalent to ARP cache). | ip neigh show |
| add | Add a new static ARP entry. | ip neigh add 192.168.1.10 lladdr 00:11:22:33:44:55 dev eth0 |
Loopback interface (usually named on Linux systemslo) is a special, virtual network interface. It is not a physical hardware device, but is completely implemented at the software level by the network stack of the operating system. Its main function is to immediately direct network traffic sent to a specific IP address back to the sending host without going through any physical network interface or external network.
The Loopback interface is associated exclusively with a set of reserved IP addresses:
127.0.0.0/8Network segments, the most commonly used of which are **127.0.0.1**, often calledlocalhost。::1**, this is alsolocalhostCorresponding address in IPv6.Any traffic on these addresses is handled at the Transport Layer of the TCP/IP stack and directed back to the application layer, never leaving the host system.
127.0.0.1to test its network capabilities without worrying about physical network connections. If an application cannot connect to127.0.0.1service, it indicates that there is a problem with the service or the local network stack itself.| characteristic | illustrate |
|---|---|
| Link Type | loopback(Noether) |
| MAC address | Disembodied MAC address, usually shown as00:00:00:00:00:00 |
| MTU (Maximum Transmission Unit) | Usually set to the maximum value of 65536, which is much larger than the 1500 of physical Ethernet. |
| state | Typically remains at system startupUPstate. |
In Linux systems, the name of the Network Interface is used to identify and configure network connections. Although $\text{eth0}$, $\text{eth1}$, etc. are traditionally common, in newer releases, due to the adoption of the "Predictable Network Interface Names" mechanism, the names may become $\text{enp0s3}$, $\text{eno1}$ or other hardware or firmware-based names.
To determine the name of the network interface your system is currently using, you can use a few common commands:
---The $\text{ip}$ command is the go-to tool for network configuration and inspection on modern Linux systems. It lists the details of all network interfaces.
ip a
On some older or leaner systems, $\text{ifconfig}$ is still a common tool. In many new distributions it has been replaced by the $\text{ip}$ directive and may need to be installed separately.
ifconfig
The network interface name in Linux systems actually corresponds to a subdirectory under the $\text{/sys/class/net}$ directory. You can list the contents of this directory directly to see the names of all interfaces.
ls /sys/class/net
Once you have determined the correct interface name, for example it is $\text{enp0s3}$, you can replace it in your directive:
sudo ./gev_nettweak enp0s3
In Ubuntu desktop versions, the graphical tool for managing network connections is NetworkManager. It provides a user-friendly interface that allows users to configure and monitor Ethernet connections without entering commands.
Users can access Ethernet network settings in the desktop environment by following these steps:
In the Network panel, the Ethernet interface displays its current status. Click the connection name or the gear icon (⚙️) next to it to open the detailed configuration window of the connection, which contains the following main tabs:
On Ubuntu desktop, NetworkManager is the main management service, which stores configurations in dedicated files (usually/etc/NetworkManager/system-connections/). Although modern Ubuntu systems also use netplan as an abstraction layer for their network configuration (its configuration files are located in/etc/netplan/), but in a desktop environment, the graphical interface operations provided by NetworkManager usually override or take precedence over netplan settings, unless the netplan file is configured to cause NetworkManager to ignore the interface.
In Ubuntu, network settings are stored in/etc/netplan/YAML file in the directory. You need to edit this file to apply permanent settings.
Enter the following command in the terminal to confirm the name of your network card (for exampleeth0orenp0s3):
ip link show
Open the profile using a text editor such as nano. File names may vary from system to system, usually ending with.yamlending:
sudo nano /etc/netplan/01-netcfg.yaml
Modify the content to the following format (note the indentation, YAML is very sensitive to spaces):
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
After saving and exiting the editor, execute the following command to make the settings take effect immediately:
sudo netplan apply
ip addr show
ip route show
If you are using the desktop version of Ubuntu, your network may beNetworkManagermanage. In this case, you can also use the graphical interface ornmclicommand to set. The above Netplan method is mainly suitable for server versions or situations where underlying fixed settings are required.
Cygwin is an emulation layer that provides a Linux/Unix environment for Windows. It contains:
setup-x86_64.exe(64 bit)bash、coreutils:Basic instructionsgcc、make: Development toolsopenssh、wget:Network toolsAfter the installation is complete, open "Cygwin Terminal" to use a Linux-like bash shell.
ls # List directory contents
cd # change directory
pwd # Display the current path
gcc # Compile C program
make # Compile project
/Corresponds to the Windows installation directory (such as C:\cygwin64)/cygdriveBeginning, for example:C:\ → /cygdrive/cD:\ → /cygdrive/dTo add a new package, re-executesetup-x86_64.exeand check the required tools. It can also be used with the installation script through the command line.
Linux is an open source operating system originally created by Linus Torvalds and built on UNIX design principles. It is known for its stability, security and high degree of freedom, and is widely used in servers, desktop environments and embedded devices. Many well-known Linux distributions such as Ubuntu, Fedora, and Debian, offer different desktop and system environments to meet the needs of various users.
Cygwin is a simulation environment that runs on Windows and is designed to provide UNIX-like functionality. It establishes a POSIX-compliant layer that enables users to execute Linux commands and applications in a Windows environment. Cygwin contains a large number of GNU tools and development environment facilitate developers to conduct cross-platform development on Windows.
Linux is a complete operating system, while Cygwin is just a simulation environment on Windows. Linux provides complete kernel and file system support, while Cygwin relies on the Windows kernel for execution. Although Cygwin can simulate most Linux commands, but differ from Linux in performance and system-level operation.
In Cygwin, you can usecygcheckTool queries installed packages. This tool allows you to check package names, dependencies and other detailed information, making it easier for users to manage installed packages.
Command example to query suite:
cygcheck -c <package_name>
If you want to list all installed packages in Cygwin, you can usecygcheck -cOrder. This command will list all installed packages and their status.
Command to list installed packages:
cygcheck -c
To check if a package is installed, you can usecygcheck -cSpecify the package name to check. For example:
cygcheck -c curl
The above command will checkcurlThe installation status of the package.
To install a new package in Cygwin, use the installer setup.exe. Installation can usually be done using setup.exe from the command line. For example, installcurlThe instructions are:
setup-x86_64.exe -q -P curl
This command will install in unattended modecurlkit. If it is a 32-bit system, you need to usesetup-x86.exe。
setup-x86_64.exe -q -P curl,wget。The following tools are available directly through Cygwinsetup-x86_64.exeInstallation does not require manual compilation, and provides performance evaluation capabilities for CPU, I/O and memory respectively.
This is the closest to Sysbench included in Cygwin’s official collectionfileioA model tool specifically designed to test disk read and write speed and file creation performance.
bonnie++bonnie++ -d /tmp -u rootIozone is an extremely professional file system benchmarking tool that supports multi-threaded read and write tests, and its functions are even more detailed than Sysbench's fileio.
iozoneiozone -a -g 1G(Auto mode, tests files up to 1GB)If you just want to simply test the CPU operation speed, you can use Cygwin's built-in instructions to perform logical operation tests.
time echo "scale=5000; 4*a(1)" | bc -lbcCalculate Pi (PI) to 5000 digits and passtimeThe instruction calculates the time consumed by the CPU.AlthoughhdparmThere are more limitations at the bottom of Windows, but in Cygwin it can still be used to view the cache read speed of the disk.
hdparmhdparm -Tt /dev/sda| Sysbench functional block | Cygwin official recommended alternative |
|---|---|
| CPU (Prime operation) | bc(calculate pi) orfactor(Decomposition of large numbers) |
| FileIO (disk read and write) | bonnie++oriozone |
| Memory (memory bandwidth) | Cygwin official library lacks direct tools, it is recommended to useddTest /dev/zero write speed |
| Threads (thread scheduling) | Installableperlorpython3Run a simple concurrent loop script |
Thanks to Cygwin/dev/The device path corresponds to the physical disk of Windows. When performing I/O testing, it is recommended that the path points to/cygdrive/c/temp/to ensure it is running on a physical disk. If you are pursuing 100% the same benchmark data as Linux, it is recommended to useWSL2, where you can directly install the nativesysbench。
WSL 2 is the latest architecture of Windows Subsystem for Linux. Unlike the first generation, which translated Linux system calls into Windows core instructions, WSL 2 includes a real Linux kernel maintained by Microsoft. It operates on lightweight virtualization technology (Hyper-V) and provides complete system call compatibility.
The logic of these two tools for running Linux software on Windows is essentially different:
| characteristic | WSL 2 | Cygwin |
|---|---|---|
| core technology | Lightweight virtualization versus a real Linux kernel. | Recompile Linux tools into native Windows binaries. |
| Binary compatibility | Native ELF binary files (such as Ubuntu compiled files) can be executed directly. | Only software compiled for the Cygwin runtime environment can be executed. |
| File system performance | Extremely fast within Linux; access across Windows boundaries is slow. | It operates directly on the Windows file system and accesses Windows files at an average speed. |
| Hardware acceleration | Supports GPU acceleration (NVIDIA CUDA) and direct access to the network layer. | Direct access to underlying hardware and complex network filtering are not supported. |
| Docker support | Perfect execution of the Docker container engine. | Docker engine is not supported and can only execute client tools. |
Because WSL 2 uses real cores, it is typically 2 to 20 times faster than the first generation of WSL when performing disk-intensive tasks such as decompressing source code, executing a compiler, or git clone. This makes it the preferred environment for Windows developers today.
WSL 2 requires Windows 10 (2004 and above) or Windows 11. In the latest system, you can directly execute the following command to install through PowerShell with administrator rights:
wsl --install
If you need a development environment that is exactly the same as the server environment, or if you want to perform AI training or Docker containers, WSL 2 is the standard choice. If you only occasionally need simple tools such as grep or awk to process text files on Windows, and do not want to turn on the virtualization layer, Cygwin or MSYS2 still has the advantage of being lightweight.
iOS is a proprietary operating system developed by Apple for its mobile devices such as iPhone and iPad. It debuted in 2007 with the release of the first iPhone and has become one of the most popular mobile operating systems in the world.
iOS devices are widely used for a variety of daily and professional needs such as:
Every update to iOS brings new features and improvements. For example:
iOS is a constantly evolving operating system that strives to provide users with the best experience and seamlessly integrates with Apple hardware, making it one of the leaders in mobile devices.
AxxxxFormat.Download asLirum Device Info Liteand other third-party applications that can view detailed information such as the device model, processor, memory, etc.
Chromebooks use Chrome OS and can install apps from multiple sources, including the Google Play Store and the Chrome Web Store. Users can also enable the Linux (Beta) feature to install Linux Applications to meet different work and entertainment needs.
Chromebooks support Linux (Beta) features, allowing you to install and run Linux applications, increasing the functionality of the system.
sudo apt install [application name]to install the software.While the main apps are from the Google Play Store and Chrome Web Store, Chromebooks also support the installation of APK files. Please note that installing applications from third-party sources may present security risks.
Chromebooks offer multiple ways to install apps to meet the needs of different users. Through the Google Play Store, Chrome Online App Store, and Linux (Beta) features, users can easily expand the functionality of their devices to improve productivity and user experience.
In ChromeOS's Linux virtual environment (codenamed Crostini), when you open Terminal, the default location is indeed~(Right now/home/yourusername). However, Crostini is a standalone container with a directory structure separate from the ChromeOS native Downloads or My Files.
You can enter the following command to confirm the current absolute path:
pwd
If it shows/home/yourusername, then you are in the home directory.
The default Linux environment for ChromeOS isMinimalist installation, it does not automatically build like standard desktop LinuxDesktop、DocumentsWait for the folder. Even if you create it manually~/Desktop, the ChromeOS desktop interface will not display the icons inside, because the integration of Linux containers and the ChromeOS desktop environment is limited to the application menu.
Although you cannot place an icon on the ChromeOS desktop, you can make VS Code appear in the ChromeOS Application Launcher (Shelf or Launcher):
After VS Code is installed, the system should have automatically established an entry point:
ls /usr/share/applications/code.desktop
if only.desktopFile exists in/usr/share/applications/or~/.local/share/applications/, ChromeOS will automatically add it to the search list. Just press on your keyboardSearch key(search icon), enter "Code" to find it.
After finding the VS Code icon, right-click and select"Pin to shelf", this is the "shortcut" method on ChromeOS.
If you want to access ChromeOS native files on a Linux terminal, the path is as follows:
| Location | Path in Linux |
|---|---|
| home directory (~) | /home/username |
| My Files | /mnt/chromeos/MyFiles(You need to right-click on the File App and select "Share with Linux") |
| Downloads | /mnt/chromeos/MyFiles/Downloads |
In ChromeOS,No need to manually create ~/Desktop, because this directory is not reflected in the ChromeOS desktop interface. Please focus on ensuring/usr/share/applications/code.desktopIf the content is correct, then pin it to the toolbar below through system search.
chrome://diagnosticsTurn on.chrome://system, search and expandmem_usage。topAn overall memory summary (usually shown in MB) is visible at the top of the screen. The display of different models is slightly different.memory_testObtain memory test information (biased towards health test, not necessarily display the exact total).free -h
grep MemTotal /proc/meminfoNote: What is shown here is the "memory available to the container".Not necessarily equal to the total RAM installed on the actual machine, subject to the "Diagnosis App".MemTotal), conversion formula:GB = KB ÷ 1024 ÷ 1024example:8021236 kB ≈ 8021236 / 1024 / 1024 ≈ 7.65 GB
mem_usage(Program-level usage), not the total hardware usage.Chromebooks have a built-in Task Manager that can be used to view the CPU and memory usage of each application.
You can also install Chrome extensions such asSystem MonitororTask ManagerExpand to get more detailed system information.
If your Chromebook has a Linux environment enabled, you can use Terminal commands to view system resource usage.
topcommand to view the system's CPU and memory usage.htopcommand (if installed) for a more intuitive interface.Chromebooks use the Chrome OS operating system, which focuses on cloud applications but can also manage and access local files. Users can browse, manage and operate files through the built-in "File" application.
The Files app is your Chromebook's built-in file manager, similar to File Explorer or Finder in other operating systems. Users can view and manage files stored locally on the device or in the cloud in this application.
Chromebooks support external storage media such as USB devices and SD cards. After inserting the device, it will be displayed on the left panel of the "File" application, and you can directly access and operate the files inside.
With Google Drive, Chromebook users can easily sync files between the cloud and their computer. This not only provides additional storage space, but also makes it easy to share and access files between different devices.
The Files app for Chromebooks provides a simple and intuitive way to manage local and cloud files. Through it, users can perform basic file operations and access external devices to meet daily file management needs.
Terminalapplication.aptInstallation kit.sudo apt update
sudo apt install python3
cd ~
ls
After sharing, the terminal can be accessed from the following path:
/mnt/chromeos/MyFiles
cd /mnt/chromeos/MyFiles/Downloads
cd /mnt/chromeos/MyFiles
ls
ln -s /mnt/chromeos/MyFiles/Downloads ~/Downloads
It can be used directly afterwards:
cd ~/Downloads
Install on your ChromebookTermuxApp, which can be downloaded and installed from the Google Play Store. Termux provides a fully functional Linux environment for executing commands and managing files.
Chromebook users can use Chrome OS’sLinux (Beta)Function to share folders in the system to the Linux environment. The setting steps are as follows:
In Termux, you can access shared folders by mounting the folder. Execute the following commands to browse and mount the shared folder:
cd /mnt/chromeos/MyFiles/Downloads
The above command will direct the user to the Chrome OSDownloadsfolder, or adjust based on the actual shared folder path.
On Chromebooks, when you use web technologies such as PWA to create a webapp, you can set the application to access files in the same folder through code such as JavaScript.
// JavaScript example: list folder contents
fetch('/mnt/chromeos/MyFiles/Downloads')
.then(response => response.text())
.then(data => console.log(data));
Through the above steps, users can successfully set up a shared folder between Webapp and Termux on Chromebook to achieve file synchronization and access.
In some cases Termux may not be able to find/mnt/chromeospath, meaning users cannot directly access the Chrome OS file system. If this happens, you'll need to consider other ways to share files.
If not available/mnt/chromeos, you can achieve folder sharing with Chrome OS through the following methods:
/storage/emulated/0/(i.e. Android's "internal storage space").If Termux cannot directly access the Chrome OS file system, you can manually move the files from the Chrome OS File Manager to a folder that Termux can read and write, such as:
downloadfolderPlay fileTable of contentsUsers can copy or move files to these locations through a file manager so that Termux can access them.
Another solution is to use a cloud service (e.g. Google Drive, Dropbox) to sync files to Termux. For example:
wgetorcurlDownload the archive.# Use Termux to access internal storage
termux-setup-storage
cd /storage/emulated/0/Downloads
This will allow Termux to gain access to the internal storage, allowing files to be read and written to that path.
If cannot be found/mnt/chromeosPath, users can solve file sharing problems through other accessible paths or using cloud synchronization.
The most orthodox and stable way to use the bc command on a Chromebook is through the built-in Linux development environment. The following are the specific installation and usage steps:
If the Linux function has not been enabled, please follow the following path:
Open Terminal in the application launcher and enter the following commands in sequence:
# Update software package list
sudo apt update
# install bc
sudo apt install bc -y
After the installation is complete, you can enter bc directly in the terminal to enter calculation mode. Commonly used techniques are as follows:
| Function | Command example |
|---|---|
| Start and include the math function library | bc -l |
| Set the number of decimal places | After entering, enter scale=4 |
| Quickly calculate and exit | echo "10/3" | bc -l |
| Exit interactive mode | Type quit or press Ctrl+D |
Through the above steps, you can call this high-precision calculation tool at any time in the Linux terminal of your Chromebook.
Before you can install Emacs on your Chromebook, you first need to enable the Linux (Beta) feature. Linux (Beta) provides an environment for running Linux applications on Chromebooks.
After installing the Linux environment, it is recommended to update the system software package first to ensure that Emacs can be installed smoothly.
sudo apt update && sudo apt upgrade
Enter the above command in the terminal and pressEnterkey.
After completing the system update, you can install Emacs. Please enter the following command and pressEnter:
sudo apt install emacs
Emacs will be downloaded and installed automatically. After the installation is complete, you can enter in the terminalemacsto start Emacs.
If you want to get a newer version of Emacs, you can install it using the Snap package manager. First, you need to install Snap:
sudo apt install snapd
Next, use Snap to install Emacs:
sudo snap install emacs --classic
This will install the latest version of Emacs.
After the installation is complete, you can start Emacs by following these steps:
emacsand pressEnter。If you encounter any errors during the installation process, it is recommended to check whether the network connection is stable and ensure that the Linux (Beta) feature is enabled and the system is updated.
Chromebooks come pre-installed with Google Sheets and support opening .ods files.
Install LibreOffice through the Chromebook's Linux development environment to open .ods files.
sudo apt update
sudo apt install -y libreoffice
There is no need to install software, you can use online tools to open .ods files.
Some Chromebooks support Android applications and can install OpenOffice related apps.
sudo apt update && sudo apt upgrade -y
wget -O vscode.deb https://update.code.visualstudio.com/latest/linux-deb-x64/stable
sudo apt install ./vscode.deb
code
uname -mDescription of results:cd ~
wget https://update.code.visualstudio.com/latest/linux-arm64/stable -O vscode-arm64.tar.gz
tar -xzf vscode-arm64.tar.gz
cd VSCode-linux-arm64
./code
Option 2: VSCodium (open source version)
sudo apt install -y curl gpg
curl -fsSL https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/vscodium-archive-keyring.gpg
echo 'deb [signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg] \
https://download.vscodium.com/debs vscodium main' \
| sudo tee /etc/apt/sources.list.d/vscodium.list
sudo apt update
sudo apt install codium
codium
Option 3: Use VS Code Web Edition| Usage context | Suggestions |
|---|---|
| Hope offline development, complete functions | Download the official ARM64 compressed version |
| Want to use package management and automatic updates | Install VSCodium (codium) |
| Occasional development, quick start | Use vscode.dev |
UltraEdit is a powerful text editor designed for developers and editing professionals. Developed by IDM Computer Solutions, Inc., it supports multiple programming languages and file formats and provides a variety of advanced features to increase productivity.
Here are some basic UltraEdit operations:
File > OpenOr use shortcut keysCtrl + OCtrl + SSave the currently edited file.Ctrl + FOpens the Find dialog box.Ctrl + ROpens the replacement dialog box.UltraEdit is a powerful and flexible text editor suitable for a variety of uses, especially in programming and file management. Its multi-language support and advanced features make it an ideal choice for developers.
Emacs is a highly extensible text editor originally developed by Richard Stallman in the 1970s. It is an open source software and supports a variety of programming languages and markup languages, making it a popular choice among programmers and technical writers.
Here are some basic Emacs operations:
C-x C-f (Ctrl + x, Ctrl + f)C-x C-s (Ctrl + x, Ctrl + s)C-x C-c (Ctrl + x, Ctrl + c)C-/orC-x u(Ctrl + / or Ctrl + x, u)Emacs is a powerful and flexible text editor suitable for a variety of purposes, whether programming or document editing. It may have a somewhat steep learning curve, but once mastered, it will greatly increase your productivity.
The tools provided by Google Workspace include Google Docs (documents), Google Sheets (sheets), Google Slides (presentations), etc., with cloud storage and collaboration functions, allowing multiple users to edit and comment on files at the same time.
LibreOffice is a free and open source office suite that includes Writer (word processing), Calc (spreadsheet), Impress (presentation), etc. It supports a variety of file formats and has a user interface similar to MS Office.
WPS Office is an office suite developed by Kingsoft Software. It includes text, form and presentation functions. The free version provides basic functions and supports interoperability with MS Office file formats.
OnlyOffice is an integrated office suite that supports editing of documents, spreadsheets and presentations, provides collaboration features, and can be integrated with cloud storage services such as Nextcloud.
Zoho Office Suite provides comprehensive applications including Zoho Writer, Zoho Sheet and Zoho Show, and supports seamless integration with other Zoho products, making it suitable for business use.
Etherpad is an open source real-time collaborative text editor, suitable for teams to edit documents at the same time, especially suitable for brainstorming or meeting notes.
Markdown editors such as Typora and Obsidian focus on concise text editing and are especially suitable for users who need to quickly edit and format text.
Prezi is a cloud-based briefing tool that provides dynamic and interactive briefing formats, suitable for users who need innovative presentation methods.
When choosing an alternative to MS Office, you should consider your own needs and usage scenarios. The above tools each have their own characteristics and suit the needs of different users. Whether used by individuals or teams, you can find suitable office tools.
You can also directly click on the toolbarExport to PDFicon (the icon is a small PDF image), quickly generate PDF files, using default settings.
Assume the starting time is in the cellA1, the end time is in the cellB1。
=B1 - A1
If you need to display it in hours, use the formula:
= (B1 - A1) * 24
If more precise or specific formatting is required, useTEXTfunction:
=TEXT(B1 - A1, "[HH]")
This will show the pure hour difference between the two.
A1andB1The value is in a valid datetime format.Suppose you want to get a worksheet in any cellColumn AFor the last non-null value, use the following formula:
=INDEX(A:A;MAX(IF(A:A<>"";ROW(A:A))))
To copy data from another worksheet such asSheet2) to get the last value in column A, available:
=INDEX(Sheet2.A:A;MAX(IF(Sheet2.A:A<>"";ROW(Sheet2.A:A))))
If the version supportsFILTERFunction, also available:
=INDEX(FILTER(A:A;A:A<>"");COUNTA(FILTER(A:A;A:A<>"")))
ROW(A:A): Return all column numbers in column A.IF(A:A<>"";ROW(A:A)): Take only non-blank column numbers.MAX(...): Get the column number of the last column.INDEX(A:A;...): Return the last value in column A based on the column number.you mentionedMAX(IF(A:A<>"";ROW(A:A)))"Incorrect" when there are interspersed spaces in the column. In practice, this type of array formula will have boundary problems for full column references or different data types (text/number mixed). Listed below are several robust practices (including applicable situations and explanations) that you can choose based on the data type and Calc version.
=LOOKUP(2;1/(A1:A10000<>"" ); A1:A10000)
LOOKUPmatch1/(A<>"")Find the last non-null value. Rather than referencing the entire column, it is recommended to limit the range to a reasonable upper limit (for example: A1:A10000) to avoid performance or compatibility issues.=LOOKUP(9.99999999999999E+307; A1:A10000)
=MAX(IF(A1:A10000<>""; ROW(A1:A10000) ))
INDEXGet the value, for example:=INDEX(A1:A10000; MAX(IF(A1:A10000<>"";ROW(A1:A10000)))-ROW(A1)+1 )=INDEX(A1:A10000; MATCH(2; 1/(A1:A10000<>"") ))
MATCH(2;1/(A<>""))will return the last matching relative position, and thenINDEXGets a value; no array input is required either (some versions may still require array mode).=LOOKUP(2;1/(Sheet2.A1:A10000<>"" ); Sheet2.A1:A10000)
BundleSheet2Change the range to your actual worksheet with a reasonable upper limit.
A:Aas a reference for array functions; use a reasonable upper limit instead e.g.A1:A10000, to avoid performance or compatibility issues.LOOKUP(9.99E+307,…), for text or mixed data please useLOOKUP(2;1/(…);…)。✅ References will be updated automatically.
✅ Formula references will automatically remain correct.
$G, replaced by$C。In LibreOffice Calc, if the "AutoFilter" or "Filter" function is enabled, a drop-down arrow will appear next to each field name in the title bar, which can be used to sort or filter.
In LibreOffice Calc, you can use "conditional formatting" to set the color of cells based on formulas.
A1>100(Changes color when A1 is greater than 100)MOD(ROW();2)=0(Colorize even columns)A1>50ISBLANK(A1)A1="Complete"In Calc, likeA$534This way of writing fixes column 534A534Cell.
If you want the column number "534" to be determined by the value of other cells (for example, the cellB1content is 534), you can useINDIRECT (indirect reference)function.
=INDIRECT("A"&B1)
B1 = 534=A534=INDIRECT("'Sheet2'.A"&B1)
If both columns and columns are to be specified by cells, for example:
B1 = "C"B2 = 55Available:
=INDIRECT(B1 & B2)
The result is equivalent to=C55。
If you want to generate the complete address numerically, you can also use:
=INDIRECT(ADDRESS(B2; COLUMN(A1)))
B2: The cell contains the column number (for example, 534)COLUMN(A1): Indicates column 1 (column A)A1Change to other columns to specify the column numberINDIRECTReferences are not automatically updated when columns are inserted or deleted.INDIRECT, which will slightly affect performance.OpenOffice Calc (spreadsheet program) is not primarily an HTML table editor, but it has the ability to export (or save) spreadsheet content to HTML format, which can generate an HTML table.
Calc’s excellent spreadsheet function makes it a convenient tool for creating HTML table data and structures:
Calc also supports importing existing HTML tables into spreadsheets:
OpenOffice Calc is not a WYSIWYG HTML editor. It cannot visually edit HTML code directly like professional web editing software. But it can:
The HTML table editor is a tool that allows users to easily create, modify and manage HTML tables through a graphical interface or concise syntax. Users usually do not need to write complex $\lt$table$\gt$, $\lt$tr$\gt$, $\lt$td$\gt$ or $\lt$th$\gt$ tags directly. Instead, they can complete table design and data filling by clicking, dragging or typing content.
| Function | describe |
|---|---|
| Add/delete rows and columns | Quickly add or remove rows or columns anywhere in the table. |
| Merge cells | Supports the $\text{colspan}$ (spanning columns) and $\text{rowspan}$ (spanning rows) attributes of the $\lt$td$\gt$ or $\lt$th$\gt$ tags. |
| Style adjustment | Set the border, background color, text alignment, etc. of the table, row, or cell with $\text{CSS}$ styles. |
| Content editing | Type or paste text, images, or other HTML content directly into the cell. |
| Code preview/output | Instantly displays the generated HTML source code and provides copy or download capabilities. |
What you see is what you get (WYSIWYG) editor allows users to operate in a visual interface without writing HTML code directly. In terms of "table editing", they usually provide intuitive buttons and menus to insert, modify and merge tables. This type of editor is mainly divided into several forms:
This type of software is a complete desktop application designed to create and manage an entire website. It contains a powerful WYSIWYG editor function, table editing is just one of its many functions.
Many content management systems (such as WordPress, Joomla!, Drupal, etc.) and e-commerce platforms have built-in WYSIWYG editors in the article or page editing interface. Users can insert and modify tables directly in the background editor.
These are tools that run specifically on web pages, and their main purpose is to quickly generate HTML code, including table code. Users set parameters (such as the number of rows, columns, styles) on the web interface, and the tool will instantly generate code for users to copy.
Some desktop applications, such as specific note-taking software or productivity tools, usually have built-in WYSIWYG editing capabilities for processing tables if they support exporting HTML format.
Virtual machine is a software technology that can simulate a complete computer system, allowing users to run multiple virtual operating systems on a physical computer. Through virtual machines, you can run different versions of operating systems, such as Windows, Linux, etc., simultaneously on the same hardware.
Virtual machines are widely used in development, testing, server virtualization, and desktop virtualization. It can help developers conduct software testing in multiple operating system environments, and also provide enterprises with a more flexible server management method.
A bootable disk is a storage device from which a computer can be booted. It is often used to install operating systems or repair system problems. Common media are USB flash drives or external hard drives.
sudo dd if=~/Downloads/os.iso of=/dev/sdX bs=4M status=progress && sync
/dev/sdXas the target USB device (please confirm the correct path)In 2026, choosing the right software sales platform will depend on your software type and target market. The following are the classifications and characteristics of mainstream platforms:
| demand target | Recommended platform | Core advantages |
|---|---|---|
| Automate global tax processing | Paddle / Lemon Squeezy | Save yourself the trouble of tax declaration in various countries |
| Pursue maximum traffic | Steam / App Store | Ready-made massive user base |
| Quickly build a brand official website | Shopify / SHOPLINE | Highly customized shopping experience |
| Early seed user acquisition | AppSumo | Get cash quickly through promotions |