1 系统命令界面介绍
命令行输入命令都是由bash/shell解释器执行的,bash解释器可以理解为是系统中的翻译官。
2 系统命令提示符
作用:看到提示符,才可以输入命令
命令提示符组成:[当前登录系统用户@连接主机名称 显示当前路径]#/$
特殊符号:~ 表示当前用户家目录 # 表示特权用户登录-root(特权权限) $ 表示普通用户登录-xiaoQ(基础权限)
3 系统命令语法格式说明(大部分)
格式要求:命令(空格)[参数/选项](空格)[操作对象(目录/文件)]
命令语法格式说明:
- 中括号[]表示可选,即命令的参数及路径信息或具体文件数据信息。
- 参数选项表示使用一个命令的不同功能。
- 命令、参数选项、文件或路径两两之间至少要有一个空格。
命令语法形象比喻:
命令 | 空格 | [参数选项](条件) | 空格 | [文件或路径]要处理对象 |
---|---|---|---|---|
结婚 | 空格 | -有车有房有存款 | 空格 | 白富美 |
结婚 | 空格 | -没车没房没存款 | 空格 | 女的就行 |
rm | 空格 | -f | 空格 | test.txt |
touch | 空格 | 省略 | 空格 | test.txt |
ls | 空格 | 省略 | 空格 | 省略 |
4 系统命令行常用快捷键
序号 | 快捷键 | 解释说明 |
---|---|---|
最有用快捷键 | ||
01 | tab | 命令或路径,以及文件等信息的补全键,Linux最常用快捷键 |
移动光标快捷键 | ||
01 | Ctrl+A | 光标回到命令行首 |
02 | Ctrl+E | 光标回到命令行尾 |
03 | Ctrl+方向键右 | 光标向右以字符串为单位进行快速移动 |
04 | Ctrl+方向键左 | 光标向左以字符串为单位进行快速移动 |
剪切、粘贴、清除快捷键 | ||
01 | Ctrl+K | 剪切(删除)光标处到行尾的字符 |
02 | Ctrl+U | 剪切(删除)光标处到行首的字符 |
03 | Ctrl+W | 剪切(删除)光标前的一个单词 |
04 | Ctrl+Y | 粘贴ctrl+U,crtl+k,ctrl+w删除的文本 |
系统管理控制快捷键 | ||
01 | Ctrl+C | 中断终端正在执行的任务或者取消整行命令输入 |
02 | Ctrl+L | 清除屏幕上的所有内容,并在屏幕上面开始一个新行,等同clear命令 |
03 | Ctrl+D | 退出当前shell命令行 |
04 | Ctrl+Z | 暂停执行在终端运行的任务(主要后面服务知识章节会使用) |
05 | Ctrl+S | 锁定终端,使之无法输入内容(了解) |
06 | Ctrl+Q | 解锁执行Ctrl+S的锁定状态(了解) |
重复执行命令快捷键 | ||
01 | Ctrl+R | 搜索命令行使用过的历史命令记录 |
02 | Esc+.(点) | 获取上一条命令的最后的部分(空格分隔) |
5 系统基础命令应用
语法格式:
shutdown [OPTION]… TIME [MESSAGE]
shutdown [选项] 时间 消息
常用参数:
序号 | 参数选项 | 功能说明 |
---|---|---|
01 | -r | 重启系统,而不是关机,这个参数在系统重启时常用 |
02 | -h | 关闭系统,这个参数在系统关机时常用 |
03 | -c | 取消正在执行的shutdown指令 |
关机重启命令:
shutdown -h 0/now 立刻关机
shutdown -h 5 关机计划
shutdown -r 0/now 立刻重启
shutdown -r 5 重启计划
shutdown -c
6系统目录操作相关命令:
6.1系统目录层级概念
Linxu目录层级结构和windows是有明显区别的,在Linux系统中没用磁盘分区盘符概念,所有数据都是存储在根目录中。因此/ 根目录就是Linux目录层级的最顶端,从最顶端可以依次向下扩展更多不同层级目录。
-
目录绝对路径
是从 / 根 开始的路径,例如:/data、/mnt/xiaomai
应用:使用绝对路径操作更加精准
-
目录相对路径
不是从 / 根 开始的路径,而是从当前目录或指定的目录开始的,例如,data/,./mnt/xiaomai
应用:使用相对路径操作更加方便目录层级结构查看-tree
以树形结构显示目录下的所有内容,包括所有文件、子目录及子目录里的目录和文件
tree [option] [directory]
tree 选项 目录
常用参数:
序号 | 参数选项 | 解释说明 |
---|---|---|
01 | -a | 显示所有文件,包含隐藏文件 |
02 | -d | 只显示目录结构中的目录信息 |
03 | -L | 遍历目录的最大层数,level为大于0的正整数 |
04 | -F | 在执行文件、目录、socket、符号链接、管道名称等不同类型文件的结尾,各自加上相应符号 常见符号信息“*” “/” “=” “@” “|” |
操作准备、
# 查看确认tree软件程序是否存在
[root@xiaoM ~]# rpm -qa tree
tree-1.6.0-10.el7.x86_64
# 进行tree软件程序安装过程
[root@xiaoM ~]# yum install -y tree
实践操作:
实践操作-01: 不带任何参数获取目录结构数据信息
[root@xiaoM ~]# tree
.
├── anaconda-ks.cfg
└── Image_001.png
0 directories, 2 files
实践操作-02: 以树形结构显示目录下的所有内容(包含隐藏信息)
[root@xiaoM ~]# tree -a
.
├── anaconda-ks.cfg
├── .bash_history
├── .bash_logout
├── .bash_profile
├── .bashrc
├── .cshrc
├── Image_001.png
├── .lesshst
└── .tcshrc
0 directories, 9 files
实践操作-03: 只列出根目录下第一层的目录结构信息
[root@xiaoM /]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
19 directories, 0 files
实践操作-04: 只显示目录结构信息中的所有目录信息
[root@xiaoM /]# tree -d /boot
/boot
├── efi
│ └── EFI
│ └── centos
├── grub
└── grub2
├── fonts
├── i386-pc
└── locale
8 directories
6.2显示当前路径信息
功能说明:
pwd命令是"print working directory"中每个单词的首字母缩写,其功能是显示当前工作目录的绝对路径。
在实际工作中,在命令行操作命令时,经常会在各个目录路径间进行切换,此时可使用pwd命令快速查看当前所在的目录路径。
语法格式:
pwd [option]
pwd 选项
实践操作:
实践操作-01: 查看当前操作状态所在路径
# 登录系统后,默认所在的目录为系统用户家目录
[root@xiaoM ~]# pwd
/root
# 切换目录信息,进行查看目录是否切换成功
[root@xiaoM ~]# cd /etc/init.d
[root@xiaoM init.d]# pwd
/etc/init.d
[root@xiaoM init.d]# cd /etc/sysconfig/network-scripts/
[root@xiaoM network-scripts]# pwd
/etc/sysconfig/network-scripts
6.3切换目录路径信息
功能说明:
cd命令是“change directory”中每个单词的首字母缩写,其功能是从当前工作目录切换到指定的工作目录。
语法格式:
cd [option] [dir]
cd [选项] [目录]
常用参数:
序号 | 参数选项 | 解释说明 |
---|---|---|
01 | - | 若只使用-选项,表示切换目录到当前用户的上一次所在的目录路径 |
02 | ~ | 若只使用~选项,表示切换目录到当前用户的家目录所在的目录路径(直接执行cd效果一致) |
03 | .. | 若值使用..选项,则将会从当前目录切换到目录的上一级目录所在的路径 |
实践操作:
实践操作-01:进入系统/usr/local目录
[root@xiaoM ~]# pwd
/root
[root@xiaoM ~]# cd /usr/local/ -- 利用绝对路径方式进行切换
[root@xiaoM local]# pwd
/usr/local
实践操作-02:切换到当前目录的上一级目录
[root@xiaoM local]# pwd
/usr/local
[root@xiaoM local]# cd ..
[root@xiaoM usr]# pwd
/usr
[root@xiaoM usr]# cd local/ -- 利用相对路径方式进行切换
[root@xiaoM local]# pwd
/usr/local
实践操作-03:进入当前目录的父目录的父目录中
[root@xiaoM local]# cd /etc/sysconfig/network-scripts/
[root@xiaoM network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@xiaoM network-scripts]# cd ../../
[root@xiaoM etc]# pwd
/etc
实践操作-04:返回当前用户上一次所在的目录
[root@xiaoM etc]# cd /usr/local/
[root@xiaoM local]# cd /etc/sysconfig/network-scripts/
[root@xiaoM network-scripts]# cd /usr/local/
[root@xiaoM local]# cd /etc/sysconfig/network-scripts/
[root@xiaoM network-scripts]# cd -
/usr/local
[root@xiaoM local]# cd -
/etc/sysconfig/network-scripts
[root@xiaoM network-scripts]# cd -
/usr/local
实践操作-05:进入当前用户的家目录
[root@xiaoM ~]# cd /usr/local/
[root@xiaoM local]# cd ~
[root@xiaoM ~]# cd /usr/local/
[root@xiaoM local]# cd
6.4进行目录创建操作
mkdir命令是由“make directories”中每个单词的粗体字母组合而成,其功能是创建目录。
默认情况下,如果要创建的目录已经存在,则会提示文件存在,而不会继续创建目录。
语法格式:
mkdir [option] [directory]
mkdir 选项 目录
说明:mkdir命令可以同时创建多个目录,格式为mkdir dir1 dir2...
命令参数:
序号 | 参数选项 | 解释说明 |
---|---|---|
01 | -p | 01. 递归创建目录,递归的意思是父目录及子目录及子目录...一并创建 |
02. 即使要创建的目录事先已存在,也不会报错提示目录存在 | ||
02 | -m | 设置新创建目录的默认目录对应的权限(在权限章节说明) |
03 | -v | 显示创建目录的过程 |
实践操作:
实践操作-01:不使用任何命令参数创建目录的用法示例
[root@xiaoM ~]# cd ~
[root@xiaoM ~]# tree -d
.
0 directories
[root@xiaoM ~]# mkdir data
[root@xiaoM ~]# tree -d
.
└── data
1 directory
[root@xiaoM ~]# mkdir data
mkdir: cannot create directory ‘data’: File exists
--- 创建的目录已经存在,默认会有错误提示信息
[root@xiaoM ~]# mkdir -p data
--- 可以利用-p忽略错误提示信息
实践操作-02:使用-p参数递归创建目录
[root@xiaoM ~]# mkdir xiaoQ/xiaoQ01/xiaoQ02
mkdir: cannot create directory ‘xiaoQ/xiaoQ01/xiaoQ02’: No such file or directory
[root@xiaoM ~]# mkdir -p xiaoQ/xiaoQ01/xiaoQ02
[root@xiaoM ~]# tree -d
.
├── data
└── xiaoQ
└── xiaoQ01
└── xiaoQ02
4 directories
实践操作-03:加-v参数显示创建目录的过程
[root@xiaoM ~]# mkdir xiaoQ02
[root@xiaoM ~]# mkdir -v xiaoQ03
mkdir: created directory ‘xiaoQ03’
[root@xiaoM ~]# tree -d
.
├── data
├── xiaoQ
│ └── xiaoQ01
│ └── xiaoQ02
├── xiaoQ02
└── xiaoQ03
6 directories
实践操作-04:批量创建目录需求
# 创建多个无规则的目录信息
[root@xiaoM ~]# mkdir xiQ aoT iaZ
[root@xiaoM ~]# tree -d
.
├── aoT
├── iaZ
└── xiQ
3 directories
# 创建多个有规则的目录信息
[root@xiaoM ~]# mkdir xiaoQ{01..03}
[root@xiaoM ~]# tree -d
.
├── aoT
├── iaZ
├── xiaoQ01
├── xiaoQ02
├── xiaoQ03
└── xiQ
6 directories
6.5进行目录删除操作
rm命令可以理解为英文单词remove的缩写,其功能是删除一个或多个文件或目录。请慎重使用该命令
语法格式
rm [option] [file]
rm 选项 文件或目录
常用参数:
序号 | 参数选项 | 解释说明 |
---|---|---|
01 | -f | 强制删除,忽略不存在的文件,不提示确认 |
02 | -i | 在删除前需要确认 |
03 | -I | 在删除超过三个文件或者递归删除前要求确认 |
04 | -r | 递归删除目录及其内容(针对目录删除使用参数) |
实践操作:
准备命令操作环境:
准备命令操作环境:
[root@xiaoM ~]# mkdir -p data/{dir01,dir02,dir03}
[root@xiaoM ~]# tree -d
.
└── data
├── dir01
├── dir02
└── dir03
4 directories
实践操作-01:删除指定目录
[root@xiaoM ~]# rm data/dir01/
rm: cannot remove ‘data/dir01/’: Is a directory
[root@xiaoM ~]# rm -r data/dir01/
rm: remove directory ‘data/dir01/’? y
[root@xiaoM ~]# tree -d
.
└── data
├── dir02
└── dir03
3 directories
实践操作-02:强制删除指定目录
[root@xiaoM ~]# rm -rf data/dir02
[root@xiaoM ~]# tree -d
.
└── data
└── dir03
2 directories
6.6进行目录改名操作
mv命令可以理解为英文单词move的缩写,其功能是移动或重命名文件或目录信息。
语法格式:
mv [option] [source] [dest]
mv 选项 源文件 目标文件
mv [option] -t [dest] [source01] [source02] [source03]
mv 选项 目标文件 源文件
常用参数:
序号 | 参数选项 | 解释说明 |
---|---|---|
01 | -f | 若目标文件已经存在,则不会询问而是直接覆盖 |
02 | -i | /若目标文件已经存在,则会询问是否覆盖(默认) |
03 | -n | 不覆盖已经存在的文件(安全功能) |
04 | -t | 指定mv的目标目录,适用于移动多个源文件到一个目录的情况 此时目标目录在前,源文件在后 |
05 | -u | 在源文件比目标文件新,或者目标文件不存在时才进行移动 |
实践操作:
准备命令操作环境:
环境准备
[root@xiaoM ~]# mkdir -p data01/{dir01,dir02,dir03}
[root@xiaoM ~]# mkdir -p data02/{dir01,dir02,dir03}
[root@xiaoM ~]# tree -d
.
├── data01
│ ├── dir01
│ ├── dir02
│ └── dir03
└── data02
├── dir01
├── dir02
└── dir03
8 directories
实践操作-01:对目录名称信息进行改名
[root@xiaoM ~]# mv data01/dir01/ data01/xiaoQ01
[root@xiaoM ~]# tree -d
.
├── data01
│ ├── dir02
│ ├── dir03
│ └── xiaoQ01
└── data02
├── dir01
├── dir02
└── dir03
8 directories
[root@xiaoM ~]# mv data01/dir02 data01/xiaoQ01/
[root@xiaoM ~]# tree -d
.
├── data01
│ ├── dir03
│ └── xiaoQ01
│ └── dir02
└── data02
├── dir01
├── dir02
└── dir03
8 directories
实践操作-02:将单个目录进行剪切移动
# 将目录移动到其它目录中(其它目录中已经存在此名称目录)
[root@xiaoM ~]# mv data01/dir03/ data02/
mv: overwrite ‘data02/dir03’?
[root@xiaoM ~]# mv -f data01/dir03/ data02/
[root@xiaoM ~]# tree -d
.
├── data01
│ └── xiaoQ01
│ └── dir02
└── data02
├── dir01
├── dir02
└── dir03
7 directories
# 将目录移动到其它目录中(其它目录中没有存在此名称目录)
[root@xiaoM ~]# tree -d
.
├── data01
│ └── xiaoQ01
│ └── dir02
└── data02
├── dir01
├── dir02
└── dir03
7 directories
[root@xiaoM ~]# mv data01/xiaoQ01/ data02/
[root@xiaoM ~]# tree -d
.
├── data01
└── data02
├── dir01
├── dir02
├── dir03
└── xiaoQ01
└── dir02
7 directories
实践操作-03:将多个目录进行剪切移动
[root@xiaoM ~]# tree -d
.
├── data01
└── data02
├── dir01
├── dir02
├── dir03
└── xiaoQ01
└── dir02
7 directories
[root@xiaoM ~]# mv data02/{dir01,dir02} data01
[root@xiaoM ~]# tree -d
.
├── data01
│ ├── dir01
│ └── dir02
└── data02
├── dir03
└── xiaoQ01
└── dir02
7 directories
[root@xiaoM ~]# mv -t data01 data02/dir03 data02/xiaoQ01
[root@xiaoM ~]# tree -d
.
├── data01
│ ├── dir01
│ ├── dir02
│ ├── dir03
│ └── xiaoQ01
│ └── dir02
└── data02
7 directories
7系统文件相关命令
7.1创建文件信息命令
touch命令包含两个功能:一个是创建新的空文件;二是改变已有文件的时间戳属性(数据属性知识详细说明)
语法格式:
touch [option] [file]
touch 选项 文件
常用参数:
序号 | 选项参数 | |
---|---|---|
01 | -a | 只更改指定文件的最后访问时间 |
02 | -d STRING | 使用字符串STRING代表时间作为模板设置指定文件的时间属性 |
03 | -m | 只更改指定文件的最后修改时间 |
04 | -r file | 将指定文件的时间属性设置为与模板文件file的时间属性相同 |
05 | -t STAMP | 使用[[CC]YY]MMDDhhmm[.ss]格式的时间设置文件的时间属性。 格式的含义从左到右依次为:世纪、年、月、日、时、分、秒 |
实践操作:
实践操作-01:创建单个文件信息
[root@xiaoM ~]# touch file01.txt
[root@xiaoM ~]# tree
.
└── file01.txt
0 directories, 1 file
[root@xiaoM ~]# ls
file01.txt
实践操作-02:创建多个文件信息
# 批量创建无规则文件信息
[root@xiaoM ~]# touch xiaoQ xiaoZ xiaoC
[root@xiaoM ~]# ls
file01.txt xiaoC xiaoQ xiaoZ
# 批量创建有规则文件信息
[root@xiaoM ~]# touch xiaoQ{01..10}
[root@xiaoM ~]# ls
file01.txt xiaoQ xiaoQ02 xiaoQ04 xiaoQ06 xiaoQ08 xiaoQ10
xiaoC xiaoQ01 xiaoQ03 xiaoQ05 xiaoQ07 xiaoQ09 xiaoZ
7.2检查文件是否存在
ls命令可以理解为英文单词list的缩写,其功能是列出目录的内容及其内容属性信息(list directory contents)。
该命令有点类似于DOS系统下的dir命令,有趣的是Linux下其实也有dir命令,但企业常用数据信息查看命令是ls。
语法格式:
ls [option] [file]
ls 选项 文件或目录
说明:命令后面的目录或文件信息可以省略,表示查看当前路径下的文件或目录名称信息。
常用参数:
序号 | 参数选项 | 解释说明 |
---|---|---|
01 | -l | 使用长格式列出文件及目录信息 ※ |
02 | -a | 显示目录下的所有文件,包含以“.”字符开始的隐藏文件 ※ |
03 | -t | 根据最后的修改时间(mtime)进行排序 默认是以文件名进行排序 |
04 | -r | 依相反顺序排序 |
05 | -F | 在条目后加上文件类型的指示符号(*、/、=、@、|)。 |
06 | -p | 只在目录后面加上 / |
07 | -i | 显示inode节点信息 |
08 | -d | 当遇到目录时,列出目录本身而非目录内的文件 并且不跟随符号链接 ※ |
09 | -h | 以人类可读的信息显示文件或目录的大小,如(1k 234M 2G) |
10 | -A | 列出所有文件,包含隐藏文件,但不包含“.”与“..”这两个目录 |
11 | -S | 根据文件大小进行排序 |
12 | -R | 递归列出所有子目录 |
13 | -x | 逐行列出项目而不是逐栏列出 |
14 | -X | 根据扩展名排序 |
15 | -c | 根据状态改变时间(ctime)排序 |
16 | -u | 根据最后访问时间(atime)排序 |
17 | --color={never,always,auto} | 不同的文件类型显示颜色参数 · never表示不显示 · always表示总是显示 · auto表示自动显示 |
18 | --full-time | 以完整的时间格式输出 |
19 | --time-style={full-iso,long-iso,locale} | 以不同的时间格式输出,long-iso效果最好 |
20 | --time={atime,ctime} | 按不同时间属性输出 · atime表示按访问时间 · ctime表示按改变权限属性时间 如果不加此参数则默认为最后修改的时间。 |
实践操作:
准备命令操作环境:
[root@xiaoM ~]# mkdir test
[root@xiaoM ~]# cd test
[root@xiaoM test]# touch file1.txt file2.txt file3.txt
[root@xiaoM test]# mkdir dir1 dir2 dir3
实践操作-01:直接执行ls命令,不带任何参数信息
[root@xiaoM test]# ls
dir1 dir2 dir3 file1.txt file2.txt file3.txt
实践操作-02:显示所有文件,特别是要显示隐藏文件
[root@xiaoM test]# ls -a
. .. dir1 dir2 dir3 file1.txt file2.txt file3.txt .xiaoQ01 .xiaoQ02
实践操作-03:显示系统数据信息详细属性信息
[root@xiaoM test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
-rw-r--r--. 1 root root 0 Nov 24 23:31 file1.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt
实践操作-04:显示指定目录名称信息和属性信息
[root@xiaoM test]# ls -ld dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1
7.3 查看文件数据信息
cat命令可以理解为英文单词concatenate的缩写,其功能是连接多个文件并且打印到屏幕输出。
此命令常用于显示单个文件内容,或者将几个文件内容连接起来一起显示。
语法格式:
cat [option] [file]
cat 选项 文件
常用参数:
序号 | 参数选项 | 解释说明 |
---|---|---|
01 | -n | 从第一行开始对所有输出的内容按行编号 |
02 | -b | 与-n选项功能类似,但忽略显示空白行行号 |
03 | -s | 当遇到有连续的两行以上的空白行,就替换为一行空白行 |
04 | -E | 在每一行的行尾显示$符号 |
实践操作:
准备命令操作环境:
# 提前在windows主机中准备好一个测试cat命令功能的文件,并将文件上传到系统中
[root@xiaoM ~]# cat test-cat.txt
welcome to my Linux class
if you like my class contents,pls support me
bye! boys and girls
实践操作-01:直接执行cat命令查看文件内容,不带任何选项。
[root@xiaoM ~]# cat test-cat.txt
welcome to my Linux class
if you like my class contents,pls support me
bye! boys and girls
实践操作-02:使用-n、-b、-s选项,并对比三者之间的区别
# 使用-n参数显示文件行号信息
[root@xiaoM ~]# cat -n test-cat.txt
1 welcome to my Linux class
2
3 if you like my class contents,pls support me
4
5
6
7 bye! boys and girls
8
# 使用-b参数显示文件行号信息
[root@xiaoM ~]# cat -b test-cat.txt
1 welcome to my Linux class
2 if you like my class contents,pls support me
3 bye! boys and girls
# 使用-s参数显示文件行号信息
[root@xiaoM ~]# cat -s test-cat.txt
welcome to my Linux class
if you like my class contents,pls support me
bye! boys and girls
实践操作-03:显示文件结尾的$信息
[root@xiaoM ~]# cat -E test-cat.txt
welcome to my Linux class$
$
if you like my class contents,pls support me$
$
$
$
bye! boys and girls$
$
7.4拷贝文件数据信息
cp命令可以理解为英文单词copy的缩写,其功能为复制文件或目录。
语法格式:
cp [option] [source] [dest]
cp 选项 源文件 目标文件
常用参数:
序号 | 参数选项 | 解释说明 |
---|---|---|
01 | -p | 复制文件时保持源文件的所有者、权限信息以及时间属性 |
02 | -r | 递归复制目录,即复制目录下的所有层级的子目录及文件 |
03 | -i | 在覆盖已有文件前提示用户确认(默认参数) |
04 | -t | 默认情况下命令格式是“cp 源文件 目标文件”,使用-t参数可以颠倒顺序 格式为 cp -t 目标信息 源信息 |
实践操作-01:无参数和带参数-p的比较区别
[root@xiaoM test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
-rw-r--r--. 1 root root 0 Nov 24 23:31 file1.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt
[root@xiaoM test]# cp file1.txt file4.txt
[root@xiaoM test]# cp -p file1.txt file5.txt
[root@xiaoM test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
-rw-r--r--. 1 root root 0 Nov 24 23:31 file1.txt --- 原有文件信息
-rw-r--r--. 1 root root 0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt
-rw-r--r--. 1 root root 0 Nov 25 00:48 file4.txt --- 不加-p文件时间属性信息会发生变化
-rw-r--r--. 1 root root 0 Nov 24 23:31 file5.txt --- 加上-p文件时间属性信息未发生变化
实践操作-02:实现将目录信息进行复制
[root@xiaoM test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
-rw-r--r--. 1 root root 0 Nov 24 23:31 file1.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt
-rw-r--r--. 1 root root 0 Nov 25 00:48 file4.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file5.txt
[root@xiaoM test]# cp dir1 dir_bak
cp: omitting directory ‘dir1’
[root@xiaoM test]# cp -rp dir1 dir_bak
[root@xiaoM test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
drwxr-xr-x. 2 root root 6 Nov 25 00:52 dir_bak
-rw-r--r--. 1 root root 0 Nov 24 23:31 file1.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt
-rw-r--r--. 1 root root 0 Nov 25 00:48 file4.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file5.txt
实践操作-03:利用-t参数实现数据备份保存
[root@xiaoM test]# cp -t dir1/ file1.txt
[root@xiaoM test]# tree
.
├── dir1
│ └── file1.txt
├── dir2
├── dir3
├── dir_bak
├── file1.txt
├── file2.txt
├── file3.txt
├── file4.txt
└── file5.txt
4 directories, 6 files
7.5移动剪切数据信息
mv命令可以理解为英文单词move的缩写,其功能是移动或重命名文件或目录信息。
语法格式:
mv [option] [source] [dest]
mv 选项 源文件 目标文件
mv [option] -t [dest] [source01] [source02] [source03]
mv 选项 目标文件 源文件
常用参数:
序号 | 参数选项 | 解释说明 |
---|---|---|
01 | -f | 若目标文件已经存在,则不会询问而是直接覆盖 |
02 | -i | 若目标文件已经存在,则会询问是否覆盖(默认) |
03 | -n | 不覆盖已经存在的文件(安全功能) |
04 | -t | 指定mv的目标目录,适用于移动多个源文件到一个目录的情况 此时目标目录在前,源文件在后 |
05 | -u | 在源文件比目标文件新,或者目标文件不存在时才进行移动 |
实践操作:
实践操作-01:对文件进行改名操作
[root@xiaoM test]# mv file1.txt file6.txt
[root@xiaoM test]# ls -l
total 0
drwxr-xr-x. 2 root root 23 Nov 25 01:09 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir_bak
-rw-r--r--. 1 root root 0 Nov 24 23:31 file2.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt
-rw-r--r--. 1 root root 0 Nov 25 01:04 file4.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file5.txt
-rw-r--r--. 1 root root 0 Nov 24 23:31 file6.txt
[root@xiaoM test]# mv file2.txt file6.txt --- 重命名的文件是否和目录中已存在的文件名称产生冲突
mv: overwrite ‘file6.txt’?
实践操作-02:将文件移动到其它目录
[root@xiaoM test]# mv file6.txt dir1
[root@xiaoM test]# mv -t dir1 file5.txt
[root@xiaoM test]# tree
.
├── dir1
│ ├── file1.txt
│ ├── file5.txt
│ └── file6.txt
├── dir2
├── dir3
├── dir_bak
├── file2.txt
├── file3.txt
└── file4.txt
7.6删除文件数据操作
rm命令可以理解为英文单词remove的缩写,其功能是删除一个或多个文件或目录
语法格式:
rm [option] [file]
rm 选项 文件或目录
常用参数:
序号 | 参数选项 | 解释说明 |
---|---|---|
01 | -f | 强制删除,忽略不存在的文件,不提示确认 |
02 | -i | 在删除前需要确认 |
03 | -I | 在删除超过三个文件或者递归删除前要求确认 |
04 | -r | 递归删除目录及其内容(针对目录删除使用参数) |
实践操作:
实践操作-01:将指定文件信息进行删除
[root@xiaoM test]# rm file2.txt
rm: remove regular empty file ‘file2.txt’?
[root@xiaoM test]# rm -f file2.txt
[root@xiaoM test]# ls -l
total 0
drwxr-xr-x. 2 root root 57 Nov 25 01:19 dir1
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir2
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir3
drwxr-xr-x. 2 root root 6 Nov 24 23:31 dir_bak
-rw-r--r--. 1 root root 0 Nov 24 23:31 file3.txt
-rw-r--r--. 1 root root 0 Nov 25 01:04 file4.txt