Linux Comm Install
```html
[ Linux Command Reference](#)
* * *
`install` is a versatile file installation tool in Linux systems that combines file copying, permission setting, and directory creation into one. Compared with the simple `cp` command, `install` provides finer control capabilities, making it especially suitable for program installation and file deployment in scripts.
* * *
## Basic Syntax of install Command
install ... source_file destination_file install ... source_file... destination_directory install -d ... directory...
* * *
## Common Options and Parameters
| Option | Description |
| --- | --- |
| `-b` or `--backup` | Backup existing files before overwriting |
| `-C` or `--compare` | Compare source and destination files, only copy if different |
| `-D` | Create all parent directories of the target directory |
| `-d` or `--directory` | Create directories instead of copying files |
| `-g` or `--group=GROUP` | Set file group ownership |
| `-m` or `--mode=MODE` | Set file permission mode (e.g., 755) |
| `-o` or `--owner=OWNER` | Set file owner |
| `-p` or `--preserve-timestamps` | Preserve source file access/modification times |
| `-S` or `--suffix=SUFFIX` | Override default backup suffix (default is ~) |
| `-t` or `--target-directory=DIRECTORY` | Copy all source files to specified directory |
| `-v` or `--verbose` | Display detailed operation information |
* * *
## Main Functions and Usage Examples
### 1. Basic File Copying
## Examples
# Copy file1 as file2
install file1 file2
# Copy multiple files to target directory
install file1 file2 file3 /target/directory/
* * *
### 2. Creating Directories
## Examples
# Create a single directory
install-d/path/to/newdir
# Create multi-level directories
install-d/path/to/newdir/subdir
* * *
### 3. Setting File Permissions and Attributes
## Examples
# Copy file and set permissions to 755
install-m 755 script.sh /usr/local/bin/
# Copy file and set owner to root
install-o root -g root config.conf /etc/
* * *
### 4. Backup and Comparison Functions
## Examples
# Backup target file before overwriting
install-b original.txt backup/
# Only copy when source file is different
install-C updated.conf /etc/
* * *
### 5. Batch File Installation
## Examples
# Install all .sh files to /usr/local/bin
install-m 755*.sh -t/usr/local/bin/
* * *
## Comparison Between install and cp Commands
| Feature | install | cp |
| --- | --- | --- |
| Primary Use | Program installation and deployment | General file copying |
| Permission Control | Can set permissions during copy | Preserve original permissions or use umask |
| Directory Creation | Automatically creates target directories | Requires mkdir |
| Owner Setting | Supports setting owner and group | Not supported |
| Backup Function | Built-in backup options | Requires additional commands |
| Comparison Function | Supports copy-after-comparison | Not supported |
* * *
## Practical Application Scenarios
### 1. Installing Custom Scripts
## Examples
#!/bin/bash
# Installation script example
install-D-m 755 myscript.sh /usr/local/bin/myscript
install-D-m 644 myscript.man /usr/share/man/man1/myscript.1
* * *
### 2. Deploying Configuration Files
## Examples
# Safely deploy configuration file, keeping original as backup
install-b-m 600-o root -g root new_config.conf /etc/service/config.conf
* * *
### 3. Application in Build Systems
## Examples
# Using install in Makefile
install: myprogram
install -d $(DESTDIR)/usr/bin
install -m 755 myprogram $(DESTDIR)/usr/bin
install
```
YouTip