Unix 操作系统入门
本笔记主要是整理梳理学习Unix基本操作的心得。
基本概念与操作
- mac电脑可以直接在终端上操作
- 基本的概念和其他的语言差不多,都是函数加上参数
- 要注意当前工作的路径
| 命令 | 功能 |
|---|---|
date |
输出目前的时间 |
head |
输出目标文件的前几行,可以通过设定参数改变输出的数量 |
pwd |
输出目前的工作路径 |
ls |
输出目前文件夹下的文件名称 |
cd |
改变工作路径 |
对于文件的基本操作
headtailless三个命令可以快速查看文件复制、创建、移动文件会覆盖掉重名的文件,一定要注意
cp第一个参数是想要复制的文件名,第二个参数是复制后的路径以及新文件名称,默认复制到当前文件夹下如果想要将其他地方的文件复制到本工作路径下,并保留原始的名称,用点代替即可
1
cp experiment/notes.txt .
mv指令也差不多,但也可以用来改名字
nano命令可以创建文件,并打开编辑窗口,需要给出新文件名字mkdirrmdir可以创建或者删除文件夹,如果文件夹不为空会报错
| 命令 | 功能 |
|---|---|
tail |
输出文件最后几行 |
less |
允许我们浏览文件(q键退出) |
wc |
输出文件中的行数、字数、字符数 |
cp |
复制目标文件或文件夹(-r可以复制文件夹) |
mv |
移动目标文件或文件夹 |
rm |
删除目标文件或文件夹 |
mkdir |
创建新的文件夹 |
rmdir |
删除空文件夹 |
nano |
创建或者编辑纯文本文件 |
| 命令 | 代表含义 |
|---|---|
. |
代表目前的工作路径 |
重定向符和通配符
- 重定向符
|是将上一个的结果作为输入输入到下一个命令中 *和?的区别,第一个允许字符出现无数次,而第二个只允许出现一次
| 字符 | 功能 |
|---|---|
| |
连接不同命令 |
> |
将输出结果导出到一个文件(会覆盖) |
>> |
将输出结果导出到一个文件(会增加而不是覆盖) |
* |
可以代表出现任意次数的任意字符 |
? |
代表只出现一次的任意字符 |
六个重要指令
| 命令 | 功能 |
|---|---|
cut |
可以从表格中选取列 |
grep |
寻找符合的文本并返回整行内容 |
paste |
将不同的列或者文档横向连接起来 |
sed |
寻找并替换 |
awk |
用于筛选和计算(例如某列中大于某数) |
tr |
将制定字符替换为其他字符 |
循环
- 可以用
cat提取出文件中的所用元素,而不用一个个赋值 echo指输出所有结果