pwd
pwd 显示当前所在位置
注:登录上去之后,刚开始进入的是家目录
ls
1、ls 显示当前目录下的所有文件
2、ls -a 显示当前目录下指定的文件或目录,看得到隐藏文件
3、ls -l、ll 罗列更详细的文件信息[时间、大小等],看不到隐藏文件
① ls -l (目录) 指定目录下的内容
4、ls -al、ls -a -l、ls -la 作用是相同的,都表示罗列出文件的详细信息,包括隐藏文件;指令 / 命令 中的选项可以传递多个,可随意顺序拼接
5、ls -d 打印目录本身
tree
tree ./ or .. or 目录 树形图
对树形结构的理解
- 多叉树的叶子节点,一定是空目录 or 普通文件
- 任何一个父节点,可能存在多个子节点
- 任何一个子节点,一定只有一个父节点
- 从 /(根目录) 开始定位一个文件,
为什么可以定位?
因为路径具有唯一性
cd
- cd (目录) 进入某目录中
- cd - 返回最近的目录
- cd ~ 返回家目录
- cd . 在当前目录
- cd .. 返回上一级目录
①touch 和 mkdir
touch
touch (文件名称) 创建空文件和修改现有文件的时间戳(后面再讲)
说明
- 如果指定的目录不存在,它将新建一个大小为0的空文件
- 通常不用于创建多个目录,它一次只能创建一个文件 或 多个文件
- 创建多个文件 touch 文件名1 文件名2 文件名3...
mkdir
mkdir (文件名称) 创建新目录 or 文件夹
说明
- 如果创建的目录不存在,它将创建一个新的目录
- 创建多个目录 mkdir -p 目录名1 目录名2...
rm
1、rmdir 默认删除空目录
2、rm -r (目录) 递归式删除
3、rm (文件名) 删除文件
4、rm -rf (目录) 强制删除,不问为什么
5、不能用rm -rf /
6、rm -rf * 当前目录下的 文件和目录 全部删除
cp
重命名
cp 文件名 拷贝后文件名
拷贝
1、cp 文件名 目录 把文件拷贝到某目录上
2、cp -r 目录 目录 递归式拷贝到某目录上
3、cp -rf 目录 目录 强制覆盖
注:指定 / 当前 目录下,新建并拷贝原目录 / 文件
man
man (某个指令) 查指令,查它怎么用【相当于查字典】
eg:man man 问man是谁,怎么用
遵循手册,常用有
①手册1:查命令
②手册2:操作系统
③手册3:库函数
cat
- cat -n 对文件内容函数进行编号
- cat -s 不输出多行空行
- cat -b 对空行不排序
- 命令/指令 的选项可以组合,意思合起来
mv
1、mv src 新文件名 文件 重命名
2、mv src 剪切
echo
1、echo '字符串' 在显示屏输入字符串然后并根据你输入的自动输出
2、echo '字符串'>文件名
①文件名不存在自动创建,并保存字符串
②> 是输入重定向
3、echo '字符串'>>文件名
①>> 是追加重定向
创建文件②
>(文件名)
①该文件原已存在, 覆盖该文件(把内容清空)
②该文件原本不存在,创建该文件
more
如以下,我输入了10000行hello
cnt=1; while [ $cnt -le 10000 ]; do echo "hello $cnt"; let cnt++; done > sky.txt
more (文件名) 打满一屏的 内容 + 内容行数
①按回车键下翻,不能往下翻
②按q退出
less(常用)
less
与more
命令相比:
less
允许用户在任何方向上滚动常用选项
-N
或--LINE-NUMBERS
:显示行号。-i
或--ignore-case
:搜索时忽略大小写。常用快捷键
/
:向下搜索文本。n
:重复前一个搜索。N
:反向重复前一个搜索。q
:退出less
。
head && tail
1、head -n 文件 文件内容开头n行
2、tail -n 文件 文件内容最后n行
那我只看 [520 - 1314]文件行数,怎么看?
①开始的1314行复制到临时文件,再查看倒数(1314-520+1 = )795行;但是这样子很麻烦
②head -n 文件名 | tail -n
head -520 文件名 | tail -795
head -520 文件名 | tail -795 | cat | tac | wc -l :流水线进行数据加工处理
date
1、date
2、格式:date +%Y-%m-%d\ %H:%M:%S
注:Linux下 \(空格) 表示空格
时间戳
1、date +%s 表示从 1970年1月1日午夜12点 开始到现在的秒数
2、把时间戳以平常时的时间表示方法:date +%Y-%m-%d\ %H:%M:%S -d @时间戳
Linux系统时间的重要性
日志 --> 用时间 --> 用时间戳(唯一的)
find
1、find + 文件名 表示查找某文件
2、组合法,同时查找
find 路径 -name 文件名 -o -name 另一个文件名 表示在该目录下同时查找这两个文件
which
1、which 指令 表示在Linux用来搜索指定的指令
注意点:
①有些输入which 指令后,显示 /bin/某指令
而有些是输出 alias 开头的,alias是别名的意思,表示可以给该指令别名,效果和原指令一样
②指令/可执行程序/命令 是一回事
grep
1、使用grep来进行未来的进程查找
2、搜关键字
① grep -ivn '字符串' 文件名
-i
:表示 “ignore case”,即忽略大小写的意思。-v
:表示 “invert match”,即反转匹配的意思。与输入的字符串匹配的不输出,输出不匹配的- -n:表示行数
zip && unzip
为什么要打包和压缩?
①减少网络传输的数据量
②由多个文件 --> 一个文件(方便进行网络传输)
zip(创建压缩文件)
作用
- 将一个或多个文件或目录压缩成一个
.zip
格式的压缩文件。常用选项
-r
:递归处理,将指定目录下的所有文件和子目录一并压缩。-m
:压缩完成后删除原始文件
unzip(解压缩由 zip
创建的文件)
作用
- 解压缩由
zip
创建的.zip
格式压缩文件。常用选项
- unzip 某zip压缩文件 -d 某路径 or 目录下:把某zip压缩文件解压到某路径 or 目录下
tar
压缩
tar -cvzf 压缩的文件名 要压缩的 文件 or 目录,
c:创建文件,要排在选项的第一位
z:是否需要压缩
f:压缩包名称,要紧接着文件名,后缀为.taz
v:表示压缩进程
tar -cvzf 10-08lesson.tar.gz 10-08lesson
解压
①tar -xvzf 要解压的文件名称 解压后的文件名称
②解压到指定目录下
tar -xvzf 要解压的文件名称 -C 要解压后的目录下
tar -xvzf 10-08lesson.tar.gz -C ./tmp
bc
简单的计算器
quit:退出
eg: echo "1+2+3" | bc, 会输出结果