Appearance
Shell 基础知识
基础命令
- 基础
-选项、空格输入- 命令不指定参数时,回车后可进行连续输入,Ctrl+d 表示结束输入并执行
date机器时间echo aaa bbb打印- 一行中多条命令 使用
;分隔 - 在命令尾部加
&表示将命令放入后台执行,终端无需等待。 ps输出用户拥有的进程状态PID父进程 IDSTIME进程开始时间
- 文件
ls -1列举文件 -1 列展示cat file.md显示文件内容(文本)cat a b > c将 a b 连接输出到 cwc file.md统计文件内容 => 行数 单词书 字符数cp file.md file_1.md复制文件mv file.md file_1.md移动文件、更改文件名rm删除文件-r选项表示文件夹,用空格指定多个目标参数
- 目录
/根目录./或 直接名字开头 -> 当前目录../上级目录?单个字符占位符*[abc][a-b][!a-b]与正则匹配类似- 用
\转义特殊字符,或者把整个放到引号里(最好) pwd输出当前目录 print woking dircd更改当前目录 不指定参数时 -> 带回主目录mkdir创建目录ln aaa bbbaaa 文件链接到 bbb,相当于快捷方式rmdir删除空目录>输出重定向 前一个命令的输出写入到文件2>将错误信息写入文件>>同上 表示追加内容<输入重定向 接着作为前一个命令的输入- 例子:
who > userswc -l < users输出数字就是当前登陆的用户 - 使用
|管道实现上面效果who | wc -lls | wc -l这里wc相当于过滤器
基础概念
- UNIX 系统内核
- 实用工具程序 shell,终端登录,shell 启动时出现命令提示符
$ - 调用程序时,查找 PATH 中指定的所有目录,将程序复制到内存中执行(
进程) - shell 在执行程序前,会先解析命令行,比如上述规则。
- 实用工具程序 shell,终端登录,shell 启动时出现命令提示符
常备工具
- 正则
cut从文件或命令输出中(每行)剪切字符ls | cut -c1-3,5从 ls 输出中切取位于 1-3 及 第 5 个字符cut -d: -f1,6 file.md以:作为分隔,切取第 1、6 段。-d默认是\t制表符
paste将多个文件的对应行合并输出paste -d: aaa bbb ccc指定输出的分隔符(默认\t)指定了多个字符时依次交替进行分隔-s选项将一个文件的所有行合并
sed command file将 command 命令作用于 file 中的每一行tr from-chars to-chars