一、Linux 终端命令格式

1.终端命令格式

command [-options] [parameter]

说明:

  • command : 命令名,相应功能的英文单词或单词的缩写
  • [-options] : 选项,可用来对命令进行控制,也可以省略
  • parameter : 传给命令的参数,可以是 零个、一个 或者 多个

1.1 常用 Linux 命令的基本使用

序号命令对应英文作用
01lslist查看当前目录下的内容
02pwdprint working derectory查看当前所在文件夹
03cd [目录名]change directory切换文件夹
04touch [文件名]touch如果文件不存在,新建文件
05mkdir [目录名]make directory创建目录
06rm [文件名]remove删除指定的文件名
07clearclear清屏

2.查阅命令帮助信息

因为一个命令有很多可选项,死记硬背肯定不行,所以需要借助手册查阅.

2.1 --help 帮助信息

command --help

说明:

  • 显示 command 命令的帮助信息

缺点: 虽然可以查询命令的帮助信息,但是没有提供 翻页、搜索功能.

2.2 man 手册

man command

说明:

  • 查询command命令的使用手册

    manmanual 的缩写,是 Linux 提供的一个手册, 包含了绝大部分的命令、函数的详细使用说明.

使用 man 时的操作键:

操作键功能
空格键显示手册的下一屏
Enter 键一次滚动首页也得一行
b回滚一屏 向上翻屏
f前滚一屏 forward 向下翻屏
q (quit)退出
/word搜索 word 字符串
n(next)搜索下一个
N搜索上一个

二、文件和目录常用命令

1. 查看目录内容

1.1 终端使用技巧

1) 自动补全

  • 在敲出 文件/ 目录 / 命令 的前几个字母之后,按下 tab
  • 如果还存在其他 文件 / 目录 / 命令,再按一下 tab 键,系统会提示可能存在的命令

2) 曾经使用过的命令

  • 使用 / 光标键可以在曾经使用过的命令之间来回切换
  • 如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c

1.2 ls 命令说明

  • ls 是英文单词 list 的简写,其功能为列出目录的内容,是用户最常用的命令之一
  • 因为需要编辑服务器上的文件,所以需要先确认指定目录下 是否存在

linux 下文件和目录的特点

  • linux 文件 或者 目录 名称最长可以 256 个字符
  • . 开头的文件为隐藏文件,需要用 -a 参数才能显示
  • . 代表当前目录
  • .. 代表上一级目录

演练目标:

创建文件夹: mkdir  -p    /export/servers
进入/export/servers文件夹
1 创建文件 01.txt    touch 01.txt
2 创建隐藏文件 02.txt   touch .02.txt
3 罗列非隐藏文件 ls
4 罗列非隐藏文件和隐藏文件 ls  -a

1.3 ls 常用选项

如果 只使用 ls 命令 就只能看到当前目录下 非隐藏 文件。

如果想增强功能,就需要学习更多的选项

选项英文含义
-aall显示指定目录下所有子目录与文件,包含隐藏文件
-l以列表方式显示文件的详细信息
-hhuman-readable配合 -l 以人性化的方式显示文件大小

演练目标:

1 切换到 /usr/tmp 清空内容   cd /usr/tmp      rm -rf aaa/
2 创建隐藏文件 非隐藏文件 目录   mkdir  aaa
3 查看当前目录内容 (缺点: 隐藏文件看不到)   ls
4 查看当前目录所有内容 (既包含隐藏,也包含非隐藏)    -a
5 查看目录内容的详细信息(查看文件类型、权限、大小等 缺点:文件大小没有单位)  -l
6 简化合并 查看目录内容的详细信息  ls -alh

计算机中文件大小的表示方式(科普)

单温英文含义
字节B(byte)在计算机中作为一个数字单元,一般为 8 位二进制数
K(Kibibyte)1KB = 1024 B,千字节( 1024 = 2 的 10 次方)
M(Mebibyte)1MB = 1024 KB,百万字节
千兆G(Gigabytee)1GB = 1024 MB,十亿字节,千兆字节
T(Terabyte)1 TB = 1024 GB,万亿字节,太字节
P(Petabyte)1 PB = 1024 PB,百万亿字节,拍字节

1.4 ls 和通配符的使用

准备工作

# 切换到临时目录(先使用,稍候讲解)
cd /usr/tmp

# 清空目录内容(先使用,稍候讲解)
rm -rf *

# 创建文件
touch a23.txt 11.txt 111.txt 112.txt 123.txt 223.txt 323.txt 423.txt 523.txt

# 查看目录内容
ls
通配符含义
*代表 任意个数 的字符
?代表任意一个字符,且只能是一个

需求 1:

1 查看以 1 开头的文件或目录   ls 1*
2 查看以 3.txt 结尾的 文件或目录  ls *3.txt
3 查看含有3的文件列表  ls *3*
4 查看第二个字符是2的文件	 ls ?2*
通配符含义
[abc]匹配 a、b、c 中任意一个
[a-f]匹配从 a 到 f 范围内的任意一个字符

需求 2:

1 查看 第一个字符是 1到5,以23.txt结尾 的 目录或文件名    ls [1-5]*23.txt

常用: ls -alh

ls -alh / 列出来/目录下面详细的文件及目录

2.切换目录

2.1 cd

  • cd 是英文单词 change directory 的缩写,其功能为 更改当前的工作目录,也是用户最常用的命令之一

    注意: linux 的所有 目录文件名 都是大小写敏感的

命令含义
cd 目录切换到指定目录下
cd ..切换到上级目录
cd -可以在最近的两次目录之间切换

需求:

1 查看当前所在目录    pwd
2 切换到 /usr/local   cd /usr/local/
3 切换到 上一级目录 /usr    cd  ..   (..代表上一级目录)
4 后退到上一次访问的目录中	 cd -

2.2 相对路径和绝对路径

2.2.1 目标 : 通过 路径 找到 目标

2.2.2 如何分步骤实现:

​ 第一步: 使用相对路径定位目标

​ 第二步: 使用绝对路径定位目标

2.2.3 第一步: 使用相对路径定位目标

  1. 特征: 相对路径 输入路径时,最前面不是以 "/" 开始的,表示相对 当前目录 所在的位置
  2. 缺点: 参照工作目录 发生变化 相对路径也要发生变化
需求1: 当前工作目录是 /usr,使用相对路径 切换到 /usr/tmp 目录下

需求2: 当前工作目录是 /root,使用相对路径 切换到 /usr/tmp 目录下 cd ../usr/tmp/

2.2.4 第二步: 使用绝对路径定位目标

  1. 特征: 绝对路径 在输入路径时,最前面是以 / 开始的,表示 从 根目录 开始的具体目录位置
  2. 优点: 定位准确,不会因为 工作目录变化 而变化
需求1: 当前工作目录是 /usr,使用相对路径 切换到 /usr/tmp 目录下

需求2: 当前工作目录是 /root,使用相对路径 切换到 /usr/tmp 目录下

2.2.5 小总结

  • 相对路径 在输入路径时,最前面不是以 / 开始的 ,表示相对 当前目录 所在的目录位置
  • 绝对路径 在输入路径时,最前面是以 / 开始的,表示 从 根目录 开始的具体目录位置

3.创建和删除操作

3.1 touch

3.1.1 目标

  • 通过 touch 命令 创建文件

3.1.2 路径

  • 第一步: 创建一个空白文件
  • 第二步: 修改文件的末次修改日期

3.1.3 实现

第一步: 创建一个空白文件

touch 不存在的文件

第二步: 修改文件的末次访问时间

touch 存在的文件

3.1.4 小结

通过 touch 文件名 创建文件 和 修改文件的末次访问时间

3.2 mkdir

3.2.1 目标:

  • 通过 mkdir 命令 创建目录

3.2.2 路径:

  • 第一步: 创建 没有层级关系的目录
  • 第二步: 创建 有层级关系的目录

3.2.3 实现

yum -y install tree

第一步: 创建 没有层级关系的目录

mkdir 目录名

第二步: 创建 有层级关系 的目录

mkdir -p 目录1/目录2/目录3
  • 创建一个新的目录
选项英文含义
-pparent可以递归创建目录

3.2.4 小结

通过 mkdir -p 目录名 命令 创建目录

注意: 新建目录的名称 不能与当前目录中 已有的目录或文件 同名

3.3 rm

3.3.1 目标

通过 rm -rf 文件/目录 命令实现删除 文件和目录的功能,rm 对应的英文是 remove 含义: 删除

3.3.2 路径

  • 第一步: 删除文件 (有提示) rm 111.txt
  • 第二步: 删除文件 (取消提示) rm -f 11.txt
  • 第三步: 删除目录 rm
  • 第四步: rm 结合 通配符

3.3.3 实现

第一步: 删除文件 (有提示)

rm 文件

第二步: 删除文件 (取消提示)

rm -f 文件
参数英文含义
-fforce (强制)强制删除,忽略不存在的文件,无需提示

第三步: 删除有内容的目录

rm -rf 目录
参数英文含义
-rrecursive (递归)递归地删除目录下的内容,删除文件夹 时必须加此参数

第四步: rm 结合 通配符 * ? \[abc][a-z]

rm -rf *.txt

3.3.4 小结

  • 通过 rm -rf 文件/目录 完成删除 文件或目录的功能.

  • 注意: 使用 rm 命令要小心,因为文件删除后不能恢复

    rmdir 删除空文件夹

04.拷贝和移动文件

序号命令对应英文作用
01tree [目录名]tree以树状图 列出目录中的内容
02cp 源文件 目标文件copy复制文件或者目录
03mv 源文件 目标文件move 移动文件或目录 或者 重命名

4.1 tree (扩展)

4.2.1 目标

  • 通过 tree 命令可以以树状图列出文件目录结构.
  • 安装: yum -y install tree

4.2.2 路径

  • 第一步: 以树形结构显示目录中的文件和目录
  • 第二步: 只显示 当前目录中的目录
  • 第三步: 显示指定的两层

4.2.3 实现

准备工作

# 创建目录
mkdir -p /export/aaa/bbb/ccc

# 创建文件
touch /export/aaa/01.txt /export/aaa/02.txt
touch /export/aaa/bbb/03.txt /export/aaa/bbb/04.txt
touch /export/aaa/bbb/ccc/05.txt /export/aaa/bbb/ccc/06.txt

默认没有安装 tree 组件,需要联网时安装:

# 安装 tree组件
yum -y install tree

# 卸载 tree组件
yum -y remove tree

第一步: 以树形结构显示目录中的文件和目录

tree [目录]
  • 如果指定目录,就显示指定目录的内容
  • 如果不指定目录,就显示当前目录的内容

第二步: 只显示 当前目录中的目录

tree -d [目录]
选项英文含义
-dderictory (目录)只显示目录,不显示文件

第三步: 显示指定的两层

tree -L n [目录]
选项英文含义
-Llevel (层级)显示几层目录

4.2.4 小结

  • 通过 tree 目录 命令可以以树状图列出文件目录结构.

4.2 cp

4.2.1 目标

  • 通过 cp 实现复制将指定的 文件 或 目录 复制到 两一个 文件 或 目录中

4.2.2 路径

  • 第一步: 备份指定文件
  • 第二步: 将文件复制到目录中
  • 第三步: 将文件复制到另一个文件中,实现覆盖效果
  • 第四步: 复制目录 到指定 目录中

4.2.3 实现

第一步: 备份指定文件

cp  文件1  备份文件名

第二步: 将文件复制到目录中

cp 文件1 目录/

第三步: 将文件复制到另一个文件中,实现覆盖效果

cp 文件1 文件2(存在的)

第四步: 复制目录 到指定 目录中

cp -r 目录1/ 目录2/
命令英文作用
-rrecursive (递归)递归复制目标目录的内容

4.2.4 小结

  • cp 命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录

4.3 mv (move)

4.3.1 目标

  • 通过mv 命令可以用来 移动 文件 或 目录,也可以给 文件或目录重命名

4.3.2 路径

  • 第一步: 将文件 移动 另一个目录中
  • 第二步: 重命名
  • 第三步: 将目录移动到 另一个目录中

4.3.3 实现

第一步: 将文件 移动 另一个目录中

mv 文件 目录/

第二步: 重命名

mv 旧文件名 新文件名

第三步: 将目录移动 到 另一个目录中

mv 被移动目录 目标目录

4.3.4 小结

  • mv 可以用来 移动 文件 或 目录,也可以给 文件或目录重命名

参考链接

完整版参考链接:Linux常用命令完整版

作者:|编程攻略|,原文链接: https://www.cnblogs.com/code-for/p/16302692.html

文章推荐

Atcoder-AGC033C

Java的Atomic原子类

基于CentOS 7.6安装及配置APISIX 3.0环境

Python3.10动态修改Windows系统(win10/win11)本地IP地址(静...

排序算法之详解冒泡排序

mongoDB操作指南

【过滤器设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

一文搞懂原型和原型链

Bread 面包屑

SqlServer 高并发的情况下,如何利用锁保证数据的稳定性

工程化—关于npm(如何发布自己的npm包)

Docker 与 K8S学习笔记(二十三)—— Kubernetes集群搭建