目录
echo
输出重定向:(本质都是写入)
输入重定向cat
more 指令 && less指令
head && tail && 管道初步使用
grep:行文本过滤工具(文本按行搜索)
date:获取时间
date 命令用于 显示 或 设置系统的时间或日期。
将时间转化为时间戳
将时间戳转化为时间
cal 指令
find 找到相应文件
which找到该文件
alias 给命令起别名
打包和压缩
打包
压缩:
解压:
解压到指定路径:
tar
打包并压缩:
解压:
解压到指定路径
bc命令
uname -r :Linux下查看体系结构、内核版本
history指令
Linux下一切皆为文件:显示器,键盘等的底层都看作文件 为什么要这样设计呢?
可以统一接口,统一的方式处理所有事物,方便进行操作
如果目标文件不存在,将进行创建,否则直接进行访问
访问 :a.输出重定向(从文件开始,覆盖式的写入) b.追加重定向(文件的结尾,追加式的写入)
a:输出重定向(覆盖式的写入) >
b:追加重定向(追加式的写入) >>
定义:本来应该从键盘读取内容,变成从文件中读取
cat < file.txt
二者的细微差别:
在第一个操作中,使用了重定向符号
>
,它会将命令的输出重定向到一个文件中,并且如果目标文件已经存在,则会被覆盖。因此,cat file.txt > back.txt
的意思是将 “file.txt” 的内容复制到 “back.txt” 文件中,如果 “back.txt” 文件已经存在,则会被覆盖。而在第二个操作中,使用了重定向符号
<
,它会将一个文件的内容作为命令的输入。因此,cat < file.txt > back2.txt
的意思是将 “file.txt” 的内容作为输入,然后将输出写入到 “back2.txt” 文件中。这种方式通常用于将一个文件的内容复制到另一个文件,但是如果目标文件已经存在,则会在写入之前清空目标文件的内容。总结起来,两个操作的主要区别在于重定向符号的使用方式和对目标文件的处理。第一个操作直接将输出重定向到目标文件,可能会覆盖已有内容;而第二个操作先将输入重定向到文件,然后将输出写入到目标文件,如果目标文件已存在,则会清空其内容
当我们用 cat
去生成1000行Hello World
:
count=0; while [ count -le 10000 ]; do echo "Hello World {count}"; let count++; done > file.txt
当我们用 cat file.txt
就会直接进行打印,若我们要查看某个区间时该怎么样查看呢?
此时就要用到more指令
more file.txt
当打印满屏时,就会停止打印,若要继续打印,按回车,将逐行进行打印,按q退出打印
打印制定行数:
more -行数 file.txt
head:从头提取(默认提取10行)
tail: 从末尾提取(默认提取10行)
|:管道提取中间行
提取中间
grep要优于more和less
功能:在文件中搜索字符串,将找到的行打印出来
-i : 忽略大小写,所有大小写视为相同
-n : 顺便输出行号
-v :反向选择,显示出没有要搜索的内容
-i:
-n:输出行号
-v :反向选择
grep -vn '666' file.txt
去除了包含‘666’
格式:date [参数] [+[日期格式]
日期格式 | 解释 |
---|---|
%t | 输出制表符,tab键 |
%H | 小时(00~23) |
%I | 小时(00~12) |
%M | 分钟(00~59) |
%S | 秒(00~59) |
%j | 今年中的第几天 |
%Y | 输出年份 |
%m | 输出月份 |
%d | 输出日期 |
例子: 按格式年-月-日 时:分:秒
输出当前日期:
date "+%Y-%m-%d %H:%M:%S"
date +%s
1707722752
date -d@1707722752
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名"太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
命令格式:cal[参数]月份1年份] 功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。
find ~ -name file.txt
which的作用是找到该文件,而不是执行文件
名称: which - 展示(shell)命令的完整路径。
用法: which [options] [--] programname [...]
描述: which 接受一个或多个参数。对于它的每个参数,它会将在 shell 提示符下输入此参数 时将执行的可执行文件的完整路径打印到标准输出。它通过使用与 bash 相同的算法在环境变量 PATH 中列出的目录中搜索可执行文件或脚本来实现这一点。
which -v 查找which版本
查找命令路径:
将所有文件打包到project中
mv * project/
要加 -r 进行递归压缩
语法格式:unzip -d <目录> <压缩文件>
tar
命令可用于将多个文件和目录一起打包成一个文件,但不压缩。
tat + 选项 + 压缩文件名字 + 要压缩到文件
-c 创建
-z:压缩
-f:创建对应文件
-v 查看压缩过程
-x:解压
tar.gz省略成tgz 要压缩到的是project
history指令查看之前用户之前输入过的指令