rm -rf * 删除当前目录下的所有文件及目录,并且是直接删除,无需逐一确认命令行为
touch: 不存在时创建,存在时更新文件时间戳
touch 1 2 3 4 创建多个文件
touch {1..4}{2..4} 花括号展开创建多个文件
-a 仅仅更改文件的atime access time
-c 标记在touch 某个不存在的文件的时候不创建该文件
-d 用指定的时间字符串来替代当前时间
-m 仅仅更改文件的修改时间
-r 用指定文件时间替换当前文件时间
-t 使用给定模板时间戳
access time 文件的被访问时间
modify time 文件的被修改时间
change time 文件的被改变时间 元数据
birth time 文件的被创建时间
stat 用来查看文件的元数据
cat 用来查看文件的数据
echo 用来显示输入的数据
输入数据的设备 键盘 标准输入
输出数据的设备 显示器 标准输出
> 覆盖输出重定向
>> 追加输出重定向
冯诺依曼 现代计算机架构
5个部分
标准输入 键盘
标准输出 显示器
存储器 内存(RAM:随机存储器) DDR5
外存(ROM:只读存储器·) 硬盘、光盘、U盘……
运算器
控制器
cpu = 运算器 + 控制器
mkdir 创建目录
同时创建父目录和子目录
mkdir b
mkdir b/c
-p 在创建层级(多级)目录时,先创建父目录
mkdir -p c/d/e/f
-v 查看创建目录的过程
mkdir -v c/d/e/f
短选项可合并
mkdir -p -v c/d/e/f
mkdir -pv c/d/e/f
tree 以树状结构来查看目录文件
rm 删除文件或者目录(以交互式提问)
-r 以递归方式删除文件或目录
-f 强制删除指定的文件或目录,永远不提示
如果不加该选项,则会以交互式方式提示是否删除
如果要删除,输入 y,如果不删除,则输入 n
rm -rf / 该指令永远不要执行
如果领导让执行,让领导签字画押,做到公正公开公平
如果确实要删除 / ,那么执行:rm -rf --no-preserve-root / 或者 rm -rf /* 指令
通配符 * 代表任意长度的任意字符
1*(以1开头)、*1(以1结尾)
ll -d /b* 列出以b开头的所有目录
ll /* 列出所有的目录
? 代表单个任意字符
注意: 通配符 不是 正则表达式
ls -d 该选项表示在显示指定目录时,只显示目录本身,而不显示目录里面的内容
必须首先给虚拟机创建快照。
rm -rf /*(对根目录) rm -rf *(对当前目录) cd /(切换到根目录)
directory=/test 获取到test目录,赋值给该对象(未获取到该目录时,对象赋值为NULL值)
rm -rf $directory/* 删除该变量之后的所有文件
rm -rf /* 未获取到目录时,脚本导致
rmdir 删除空目录
文件操作类型:复制 剪切 移动 重命名 创建 删除
cp 复制文件(默认)或者目录(需指定)
语法:
cp arg1 arg2 把文件arg1复制成arg2
如果arg1是文件
cp arg1 arg2 如果arg2文件不存在,表示把文件 arg1 复制成 文件 arg2
cp arg1 arg2 如果arg2文件存在,则会提示是否覆盖arg2文件 y:则表示覆盖(覆盖内容) n:则表示不覆盖,取消复制动作
cp arg1 arg2 arg3 对于超过两个参数的情况,则默认把最后一个参数当作目标目录,复制前面所有参数指定的文件或者目录到最后一个参数所指定的目录
如果arg1是目录
cp arg1 arg2 则默认情况下会忽略该操作,如果确实需要复制目录,则需要加上 -r 选项。 cp -r arg1 arg2
如果arg2 不存在,则复制arg1目录为arg2
如果存在该arg2目录,则表示把arg1目录复制到arg2目录。
mv(移动、剪切、重命名) 移动文件或目录到目标(剪切:先复制源文件,将源文件在目标地址重新创建,在删除源地址的源文件) 具体类似cp
参数1为文件,参数2没有,则创建参数1
参数1为文件,参数2为文件,则覆盖参数2,数据变为参数1中的
相当于重命名(节点号不发生改变)
参数1为文件,参数2为目录,则将文件移动目录
参数1为目录,参数2为目录,则将参数1移动到参数2
参数1为目录,参数2为没有,则将目录连同文件移动到参数2
cat 连接文件并输出 concatenate 适合查看比较小的文件 /var/log/messages(拷贝系统日志)
-A 查看文件内容,包括不可打印字符
-n 查看文件并显示行号
cat命令直接执行,不带任何参数,则卡顿,其实是连接标准输入(键盘)和标准输出(显示器),你输入数据会被直接打印到屏幕上;如果需要结束,则使用Ctrl+c,表示输入中断。
Ctrl + c 表示取消执行当前操作。(非常常用)
seq:用于产生整数序列
more(不常用) 查看大一点的文件
打开文件后,左下角出现的百分比
使用 回车键 按行往后切换内容
使用 空格键 往后翻页一次性查看的文件,翻页到内容最后,就会退出该命令
less(常用:灵活) 查看大一点的文件
当文件查看完成时,在左下角会提示 END 标记 表示文件内容显示完毕,然后并没有退出该命令
可以使用方向键和page up 和 page down 按键来前后前后切换内容。
如果想结束查看,使用 q 按键返回终端。
head 查看文件 从文件开头算起
-n num filename 表示查看文件从第一行开始起多少行。
head num filename 也可以省略 -n num
tail 查看文件 从最后一行算起,使用方法同 head
-f 持续跟踪 看日志 ,如果想结束持续跟踪,则使用Ctrl + c
tac 按行倒叙查看
文本处理
[root@localhost test02]# cp /etc/passwd . 将passwd(关系型数据表)拷贝到当前目录(.)
cut 文件切割显示,passwd文件(每一行移除不要的字段,保留想要的字段)
-d(delimiter) 指定分隔符,默认选项是空格
-f(fields) 指定字段
-f 1 显示第一字段
-f 1,3 显示第1,3字段
-f 1-3 显示第1到3字段
cut -d : -f 1 passwd
echo `ls` 执行该命令并输出该命令的结果
| 管道符 左边命令的输出作为右边命令的输入
echo 第一个用户是 `head -1 passwd | cut -d : -f 1`
取出passwd第一行内容 截取以冒号分割的第一个指定字段
显示结果:当前系统最后一个用户的shell是 /bin/bash(passwd最后一个用户的最后一个字段)