二饭 发表于 2021-1-6 17:33

Linux常用命令及服务搭建-第一版

本帖最后由 二饭 于 2021-1-6 18:45 编辑

# Linux常用命令

[^二饭]: 第1版



| 命令 | 描述                                                         |
| ---- | ------------------------------------------------------------ |
| `w`| 保存不退出                                                   |
| `q`| 不保存退出                                                   |
| `!`| 强制退出                                                   |
| `q!` | 表示不保存退出,保留源文件,而另存为其他的文件,可以用`w 新文件名` |
| `ZZ` | 大写Z,保存退出                                              |



## 命令提示符

`#`

| 符号             | 含义                                                   |
| ---------------- | -------------------------------------------------------- |
| [ ]            | 这是提示符的分隔符号,没有特殊含义                     |
| root             | 显示的时当前的登录用户                                 |
| @                | 分割符号,没有含义                                       |
| localhost      | 当前系统的简写主机名                                     |
| ~                | 代表当前用户所在的目录,注意这里只显示最后一个子目录   |
| #                | 命令提示符。如果是超级用户显示为#,如果是普通用户显示为$ |
| 超级用户的根目录 | /root                                                    |
| 普通用户的根目录 | /home/用户名                                             |



## Linux命令的基本格式

`# 命令 [选项][参数]`

命令中的[]代表可选项,也就是一些命令可以不写选项或参数。



**选项**

加入选项可以实现更多功能,如`ls -l`意思就是显示文件的详细信息。



**参数**

参数是命令的操作对象,一般文件、命令、用户和进程等都可以作为参数被命令操作。



# 目录操作命令



## ls -目录操作命令

**命令名称:**`ls`

**所在路径:**`usr/bin/ls`

**执行权限:**所有用户

**命令格式:**ls [选项] [文件名或目录名]

选项:

| 选项         | 描述                                                         |
| -------------- | ------------------------------------------------------------ |
| -a             | 显示所有文件(包括隐藏文件)                                 |
| `--color=when` | 支持颜色输出,when的值默认是`always`(总显示颜色),也可以是`never`(从不显示颜色)和`auto`(自动) |
| `-ld`          | 显示目录信息,而不是目录下的文件                           |
| `-lh`          | 人性化显示,按照我们习惯的单位显示文件大小                   |
| `-i`         | 显示文件的i节点号                                          |
| `-l`         | 长格式显示(详细信息)。`ls -l`等同于`ll`                  |



**PS:**Linux中`.`开头的文件为隐藏文件。



##### `-l`选项

!(C:\Users\stad\AppData\Roaming\Typora\typora-user-images\image-20200919191051379.png)

依次表示:权限、引用计数、所属用户、所属组、文件大小(字节)、文件修改时间、文件名称

这里的引用计数代表该目录下有多少个一级子目录。



## `cd` -切换所在目录

**所在路径:**Shell内置命令

**执行权限:**所有用户

**功能:**切换所在目录

命令格式:`cd [目录名]`

cd命令只要两个选项:

| -P   | 指如果切换的目录是软链接目录,则进入其原始的物理目录   |
| ------ | ------------------------------------------------------ |
| **-L** | **指如果切换的目录是软链接目录,则直接进入软链接目录** |
| ~      | 代表用户的家目录。cd命令直接回车效果是一样的。         |
| -      | 代表上次所在目录                                       |
| .      | 代表当前目录                                           |
| ..   | 代表上级目录                                           |



## `mkdir` -创建目录命令

所在路径:/usr/bin/mkdir

执行权限:所有用户

功能描述:创建一个空目录

命令格式:`mkdir [选项] 目录名`



**选项**只有一个:`-p`递归建立所需目录。

就是当需要创建多级目录时,需要`-p`选项,不加则无法创建多级目录。

如:`mkdir -p lm1/lm2/lm3`



## `rmdir` -删除目录命令

所在路径:/usr/bin/rmdir

执行权限:所有用户

命令格式:`rmdir [选项] 目录名`

无选项。



rmdir也可以递归删除目录,不过只能删除空目录,一旦目录中有内容就会报错。



## `tree` -显示目录树

所在路径:/usr/bin/tree

执行权限:所有用户

命令格式:`tree 目录名`



# 文件操作命令



## `touch` -修改时间戳

执行权限:所有用户

功能描述:修改时间戳,如没有该文件,则创建一个空文件。

命令格式:`touch [选项] 文件名或目录名`

**选项:**

| 选项 | 描述                           |
| ---- | ------------------------------ |
| -a   | 只修改文件的访问时间         |
| -c   | 如果文件不存在,则不建立新文件 |
| -d   | 把文件的时间改为指定的时间   |
| -m   | 只修改文件的数据修改时间       |

Linux中分为三个时间,分别为访问时间、数据修改时间、状态修改时间。这三个时间可以通过`stat`命令查看。



## `stat` -显示文件详细信息

执行权限:所有用户

功能描述:显示文件或文件系统的详细信息

命令格式:`stat [选项] 文件或目录名`

**选项:**只有一个选项`-f`查看文件所在的文件系统信息,而不是查看文件的信息。



## `cat` -查看文件内容

执行权限:所有用户

功能描述:合并文件并打印输出到标准输出

命令格式:`cat [选项] 文件名`

**选项:**

| 选项 | 描述                                       |
| ---- | -------------------------------------------- |
| -A   | 相当于`-vET`功能的整合,用于列出所有隐藏符号 |
| -E   | 列出每行结尾的回车符$                        |
| -n   | 显示行号                                     |
| -T   | 把Tab键用^I 显示出来                         |
| -v   | 列出特殊字符                                 |



## `more` -分屏显示内容

执行权限:所有用户

功能描述:分屏显示文件内容

命令格式:`more 文件名`



**常用的交互命令:**

| 命令      | 描述             |
| --------- | ---------------- |
| 空格键    | 向下翻页         |
| b         | 向上翻页         |
| 回车键    | 向下滚动一页   |
| `/字符串` | 搜索指定的字符串 |
| q         | 退出             |



## `less` -分行显示文件内容

执行权限:全部用户

功能描述:分行显示文件内容

命令格式:`less 文件名`

进入显示文件后,使用`上`、`下`箭头键,用于分行查看文件内容。(每按一次会向上、下显示一行)。



## `head` -显示文件开头的内容

执行权限:全部用户

命令格式:`head [选项] 文件名`

**选项:**

| 选项 | 描述                                                      |
| ---- | --------------------------------------------------------- |
| -n   | 行数:从文件开头开始,显示指定行数,`-n20`与`-20`效果一样 |
| -v   | 显示文件名                                                |

命令默认显示文件前十行内容。



## `tail` -显示文件结尾内容

执行权限:所有用户

命令格式:`tail [选项] 文件名`

**选项**

| 选项 | 描述                                                      |
| ---- | --------------------------------------------------------- |
| -n   | 行数:从文件结尾开始,显示指定行数,`-n20`与`-20`效果一样 |
| -f   | 监听文件的新增内容                                        |

使用`-f`选项会显示最后10行内容,而且光标不会退出文件,会一直监听文件的新增内容,这个时候使用`echo`命令向该文件追加内容,在原始的正在监听的终端中就会显示追加的内容。



## `ln` -在文件之间建立链接

执行权限:所有用户

命令格式:`ln [选项] 源文件 目标文件`

**选项:**

| 选项 | 描述                                                       |
| ---- | ---------------------------------------------------------- |
| -s   | 建立软链接文件。默认建立硬链接文件                         |
| -f   | 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件 |



建立硬链接:`ln /root/test /tmp/test-hard`

建立软链接:`ln -s /root/test /tmp/test-hard`



# 目录和文件都能操作的命令



## `rm` -删除文件或目录

执行权限:所有用户

命令格式:`rm [选项] 文件或目录`

选项:

| 选项 | 描述                                             |
| ---- | ------------------------------------------------ |
| -f   | 强制删除                                       |
| -i   | 这个选项是默认的,交互删除,在删除之前会询问用户 |
| -r   | 可以递归删除,可以删除目录                     |

如果被删除的路径是一个目录,则必须有`-r`选项,否则会报错。

一般要强制删除一个文件时,用`rm -rf 文件路径`。



## `cp` -复制文件和目录

执行权限:所有用户

命令格式:`cp [选项] 源文件 目标文件`

选项:

| 选项 | 描述                                                         |
| ---- | ------------------------------------------------------------ |
| -a   | 相当于-dpr选项的集合                                       |
| -d   | 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接 |
| -i   | 询问,如果目标文件已经存在,则会询问是否覆盖               |
| -l   | 把目标文件建立为源文件的**硬链接**文件,而不是复制源文件   |
| -s   | 把目标文件建立为源文件的**软链接**文件,而不是复制源文件   |
| -p   | 复制后目标文件保留源文件的属性(包括所有者、所属组、权限、时间) |
| -r   | 递归复制,用于复制目录                                       |

不改名复制:`cp test /tmp/`

改名复制:`cp test /tmp/test`

如需要复制目录,则需要使用`-r`选项。



## `mv` -移动文件或改名

执行权限:所有用户

命令格式:`mv[格式] 源文件 目标文件`

选项:

| 选项 | 描述                                                   |
| ---- | ------------------------------------------------------ |
| -f   | 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖 |
| -i   | 交互移动,默认选项                                     |
| -n   | 如果目标文件已经存在,则不会覆盖移动,而是不询问用户   |
| -v   | 显示详细信息                                           |



# 权限管理命令

## 权限位的含义

**!(C:\Users\stad\AppData\Roaming\Typora\typora-user-images\image-20200920153951711.png)**



以上详细信息中,第一列就是权限位,其中:

**第1位**:表示linux的文件类型,如下

| `-`| 普通文件                                    |
| ---- | --------------------------------------------- |
| `b`| 块设备文件                                    |
| `c`| 字符设备文件                                  |
| `d`| 目录文件,Linux中一切皆文件,目录也是一种文件 |
| `l`| 软链接文件                                    |
| `p`| 管道符文件                                    |
| `s`| 套接字文件                                    |
| `r`| 代表read,读权限                              |
| `w`| 代表write,写权限                           |
| `x`| 代表execute,执行权限                         |



**第1组(第2-4位)**:文件拥有者的权限

**第2组(第5-7位)**:文件所属组的权限

**第3组(第8-10位)**:其他用户



## `chmod` -修改文件的权限

执行权限:所有用户

功能描述:修改文件的权限模式

命令格式:`chmod [选项] 权限模式 文件名`

**选项**只有一个`-R`,递归设置权限,也就是给子目录中的所有文件设定权限。



**权限模式**:chmod命令的权限模式的格式是`[用户身份][[赋予方式][权限]]`。

用户身份:

| 用户身份 | 描述         |
| -------- | ------------ |
| `u`      | 代表所有者   |
| `g`      | 代表所属组   |
| `o`      | 代表其他人   |
| `a`      | 代表全部身份 |



赋予方式:

| 赋予方式 | 描述   |
| -------- | -------- |
| `+`      | 加入权限 |
| `-`      | 减去权限 |
| `=`      | 设置权限 |



权限:

| 权限 | 描述   |
| ---- | -------- |
| `r`| 读取权限 |
| `w`| 写权限   |
| `x`| 执行权限 |



如:

`chmod o=rwx 文件名`给其他人设置读写和执行权限。

`chmod u+x,g+w 文件名`给所有者执行权限,和所属组写权限。



### 数字权限

数字的含义:

| 数字 | 含义      |
| ---- | ----------- |
| 1    | 代表`x`权限 |
| 2    | 代表`w`权限 |
| 4    | 代表`r`权限 |



如:`chmod 755 文件名`

第一个数字代表所有者的权限是 4+2+1

第二个数字代表所属组的权限是 4+1

第三个数字代表其他人的权限是 4+1



### **注意:**

①当需要删除一个文件时,需要获取当前文件目录的写权限,光有文件的写权限是不够的。

②root用户是超级用户,就算没有任何权限,也可以执行所有操作。

③在普通用户中,只有文件的所有者才能修改权限。



## `umask` -默认权限

主要让Linux中的新建文件和目录拥有默认权限。



**查看系统的`umask 默认权限`:**

`umask -S`直接使用字母来表示默认权限。



**修改系统的`umask`默认权限:**

`umask 002` 修改默认权限为002



# 用户命令

## `useradd` -创建用户

执行权限:超级用户

命令格式:`useradd [选项] 用户名`

选项:

| 选项 | 描述                   |
| ---- | ---------------------- |
| `-u` | 手动指定用户的UID      |
| `-d` | 手动指定用户的家目录   |
| `-g` | 手动指定用户的组名   |
| `-e` | 手动指定用户的失效日期 |



第一步:添加用户`useradd user`

第二部:设置用户密码`passwd user`,输入两次密码确认



## `passwd` -修改用户密码

执行权限:超级用户

命令格式:`passwd [选项] 用户名`

选项:

| 选项 | 描述               |
| ---- | ------------------ |
| `-S` | 查询用户密码的状态 |
| `-l` | 暂时锁定用户       |
| `-u` | 解锁用户         |



## `su` -切换用户

命令格式:`su - user`切换到指定用户



## `usermod` -修改用户信息

命令格式:`usermod [选项] 用户名`



## `userdel` -删除用户

命令格式:`userdel [-r] 用户名`



# 所有者和所有组命令



## `chown` -修改所有者和所有组

执行权限:所有用户

功能描述:修改文件和目录的所有者和所属组

命令格式:`chown [选项] 所有者:所属组 文件(目录)`

**选项:**`-R`递归设置权限,给子目录中的所有文件设置权限。



**修改文件的所有者**:`chown user 文件名`

**修改文件的所属组**:`chown user:user 文件名`



# 帮助命令



## `man` 显示联级帮助手册

执行权限:所有用户

命令格式:`man [选项] 命令`

**选项:**

| 选项 | 描述                     |
| ---- | -------------------------- |
| -f   | 查看命令拥有哪个级别的帮助 |
| -k   | 查看和命令相关的所有帮助   |

如:`man ls `          #获取`ls`命令帮助信息



## `info` -显示帮助信息的完整资料

与`man`的使用大同小异。

在这个帮助信息中,如果标题的前面有`*`符号,则表示这是一个可以进入的子页面,按回车进入。



## `help` -获取Shell内置命令帮助

一般使用都是外部命令,所以`help`使用很少。





# 搜索命令



## `whereis` -查找命令、源文件和帮助

执行权限:所有用户

命令格式:`whereis [选项] 命令`

选项:

| 选项 | 描述             |
| ---- | ---------------- |
| -b   | 只查找二进制命令 |
| -m   | 只查找帮助文档   |



## `which` -列出命令的所在路径

执行权限:所有用户

命令格式:`which 命令`



## `locate` -按照文件名搜索

执行权限:所有用户

命令格式:`locate [选项] 文件名`

选项:`-i`      忽略大小写。



注意:新建的文件,`locate`找不到,因为它不会直接去搜索硬盘空间,而是搜索`locate`数据库。

如果需要,可以使用`updatedb`命令来更新数据库。这种情况也是有可能会找不到,因为系统可能把该文件认定为临时文件。



## `find` -在目录中搜索文件

执行权限:所有用户

命令格式:`find 搜索路径 [选项] 搜索内容`

选项:

| 选项               | 描述                                             |
| -------------------- | -------------------------------------------------- |
| `-name`            | 按照文件名搜索                                     |
| `-iname`             | 按照文件名搜索,不区分文件名大小写               |
| `-inum`            | 按照inode号搜索                                    |
| `-size[+/-]`         | 按照指定大小搜索文件,不加正反号为搜索指定大小文件 |
| `-atime[+/-]`      | 按照文件访问时间搜索                               |
| `-mtime[+/-]`      | 按照文件数据修改时间搜索                           |
| `-ctime[+/-]`      | 按照文件状态修改时间搜索                           |
| `-perm[+/-]权限模式` | 按照文件权限搜索                                 |

其他的还可以按照`所有者`,`文件类型`,`逻辑与算符`。



# 关机和重启命令



## `sync`-数据同步

执行权限:所有用户

可直接执行,无参数。



## `shutdown` -关机和重启

执行权限:超级用户

命令格式:`shutdown [选项] 时间 [警告信息]`

选项:

| 选项 | 描述                         |
| ---- | ---------------------------- |
| -c   | 取消已经执行的`shutdown`命令 |
| -h   | 关机                         |
| -r   | 重启                         |



`shutdown -r now`马上重启

`shutdown -r 05:30`指定时间重启,会占用终端前台

`shutdown -r 05:30 &`指定时间重启,会放入后台

`shutdown -c`取消定时重启

`shutdown -r +10`10分钟之后重启

`shutdown -h now`马上关机

`shutdown -h 05:30`指定时间关机



## `reboot` 重启

直接重启。



## `halt`和`poweroff `关机

直接关机。



## `init` 重启和关机

`init 0`关机

`init 6`重启

改变系统运行级别的形式来完成关机重启的操作。





# 网络命令



## `ip` -显示和设置网络路由

执行权限:超级用户

功能描述:显示和设置网络路由、路由策略

查看IP地址信息:`ip address show`

查看本机的路由信息表:`ip route show`



以下命令需要使用`nmmtui`工具

临时设定IP地址和删除IP地址:`ip address add 192.168.44.31/24 dev ens33`

临时设定网关:`ip route del default via 192.168.44.1`



## `ifconfig` -配置网络接口

执行权限:超级用户

查看IP地址信息:`ifconfig`



**临时配置IP地址:**

`ifconfig eth0 192.168.44.3`

不指定子网掩码就会使用标准的子网掩码



`ifconfig eth0 192.168.44.3 netmask 255.255.255.0`

指定子网掩码



## `ifup`启用网卡、`ifdown`关闭网卡

关闭eth0网卡命令:`ifdown eth0`

启用eth0网卡命令:`ifup eth0`



## `ping` -向网络主机发送请求

执行权限:所有用户

功能描述:向网络主机发送ICMP请求

命令格式:`ping [选项] IP`

**选项:**

| 选项 | 描述                                                |
| ---- | ----------------------------------------------------- |
| `-b` | 后面加入广播地址,用于对整个网段进行探测            |
| `-c` | 次数:用于指定ping的次数。`ping -c 3 192.168.103.105` |
| `-s` | 字节:指定探测包的大小。                              |

再如:探测网段中可用主机

`ping -b -c 3 192.168.103.255`



## `ss` -查询网络访问

执行权限:超级用户

命令格式:`ss [选项]`

选项:

| 选项 | 描述                                       |
| ---- | ------------------------------------------ |
| `-a` | 列出所有网络状态,包括Socket程序         |
| `-n` | 使用IP地址和端口号显示,不使用域名和服务名 |
| `-p` | 显示PID和程序名                            |
| `-t` | 显示TCP端口的连接状态                      |
| `-u` | 显示UDP端口的连接状态                      |
| `-l` | 查看监听状态                               |

**TCP和UDP:**

①它们是两个具有代表性的传输层协议;

②TCP面向连接,而UDP是无连接的;

③TCP提供的服务更可靠;

④TCP面向字节流,UDP则是面向报文的;

⑤TCP连接只能是点到点相比,UDP连接方式更加多样化;

⑥UDP的首部开销8个字节比TCP的20字节要小;



在CentOS 7.x中默认没有安装`netstat`命令,而是通过`ss`命令取代了`netstat`命令。

**使用方法:**

查看本机所有网络连接:`ss -an`

查询本机开启的端口:`ss -tuln`

查看本机开启的端口与正在进行的连接:`ss -tuan`



## `netstat` -查看网络连接

执行权限:所有用户

功能描述:输出网络连接、路由表、接口统计、伪装链接和组播成员

命令格式:`netstat [选项]`

用法基本与`ss`一致。



## `write` -向其他用户发送信息

执行权限:所有用户

命令格式:`write 用户名 [终端号]`

如:`write user1 pts/1`



## `wall` -给所有登录用户发送信息

命令格式:`wall "要发送的信息"`



## `mail` -发送和接收电子邮件

执行权限:所有用户

**发送邮件:**

```
mail user1
Subject:hello      <-右键标题
Nice to meet you!      <-邮件内容
.                              <-使用"."来结束邮件输入
```



**发送文件内容:**

```
mail -s "test mail" root</root/anaconda-ks.cfg
```

其中`-s`选项用来指定邮件标题。



**查看已经接收的邮件:**

`mail`





## 打开ssh服务

```
service sshd start
```



## 打开22端口

```
netstat -ntpl | grep 22
```



## 查看防火墙状态

```
systemctl status firewalld
```



## 开启防火墙状态

```
systemctl start firewalld
```



## 关闭防火墙

```
systemctl stop firewalld
```



## 查看当前firewall状态

```
firewall-cmd --state
```



## 重启firewall

```
firewall-cmd --reload
```



## 禁止开启重启

```
systemctl disable firewalld.service
```



## 查看已经开放的端口

```
firewall-cmd --list-ports
```



## 开启端口

```shell
firewall-cmd --zone=public --add-port=80/tcp --permanent
```



## 测试端口

```shell
telnet 服务器ip地址 端口
#ip地址与端口使用空格隔开
```



# 用户和用户组管理



## 用户配置文件和管理相关文件



### 用户信息文件:`/etc/passwd`

保存所有用户的主要信息

### 影子(密码)文件:`/etc/shadow`

保存用户的实际加密密码和密码有效期等参数。这个文件只有超级用户才有权限查看。

### 组信息文件`/etc/group/`

记录组ID(GID)和组名的对应文件

### 组密码文件`/etc/gshadow`





# 服务器搭建



## 压缩包解压缩命令:

```
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName

.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知

.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
```



## 启动tomcat

tomcat的bin目录下执行:

```
./startup.sh
```



## 关闭tomcat

```
./shutdown.sh
```



## 安装ssh服务

```
sudo yum install openssh-server
```



## 监听22端口

```
Port 22
ListenAddress 0.0.0.0
ListenAddress ::
```

!(C:\Users\stad\AppData\Roaming\Typora\typora-user-images\image-20201128154920006.png)



## 使用ssh服务登录

```
ssh root@192.168.0.114
```





## 打开某个端口号

```
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
```



## 重新启动网络服务

```
systemctl restart network
```

由于无法上传md格式的文件,所以md格式的笔记原件我放在附件压缩包中

二饭 发表于 2021-1-6 17:43

互联网事 发表于 2021-1-6 17:39
这种归纳很无厘头,无益于记忆。

很多都是没头没脑的,比如开头是VI编辑器的快捷键,又缺失很 ...

我就没指望能记下来{:1_907:}是平时自己整理下来的笔记,自己查阅的,现在分享一下:lol

二饭 发表于 2021-1-6 21:40

小涩席 发表于 2021-1-6 21:25
请问一下大佬,为什么在Centos 6服务器上运行sh文件没反应,又不报错,也不运行。本地搭建就可以,云服务器 ...

你换到超级用户试一下

lufeize 发表于 2021-1-6 17:36

很多命令平时都用到了,感觉整理的很全!

ivanlmy 发表于 2021-1-6 17:36

学习学习,请问有没有LINUX的虚拟机的镜像?

linuxcool 发表于 2021-1-6 17:38

这些是基本功能,楼主。要搞搞:sed awk grep 三剑客

二饭 发表于 2021-1-6 17:39

ivanlmy 发表于 2021-1-6 17:36
学习学习,请问有没有LINUX的虚拟机的镜像?

CentOS系统下载地址:https://www.centos.org/centos-linux/

互联网事 发表于 2021-1-6 17:39

{:1_907:}这种归纳很无厘头,无益于记忆。

很多都是没头没脑的,比如开头是VI编辑器的快捷键,又缺失很多,后面systemctl 很多环境根本没有

Mr_127 发表于 2021-1-6 17:41

不错,最近才学完,可以复习一下

二饭 发表于 2021-1-6 17:41

linuxcool 发表于 2021-1-6 17:38
这些是基本功能,楼主。要搞搞:sed awk grep 三剑客

基础命令太多也是记不住的啊,都是平时整理的,分享出来{:1_908:}

13729181580 发表于 2021-1-6 17:57

感谢分享。
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: Linux常用命令及服务搭建-第一版