栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

mit 6.NULL简单记录

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mit 6.NULL简单记录

mit 6.NULL

1 课程概览与 shell
cd - 返回进入此目录之前所在目录

find用法:Linux find 命令

将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:

# find . -name "*.c"
将当前目录及其子目录中的所有文件列出:

# find . -type f
将当前目录及其子目录下所有最近 20 天内更新过的文件列出:

# find . -ctime  20

grep用法:Linux grep 命令
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。

1、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:

grep test *file 

2 Shell 工具和脚本
视频英语口音听不懂,直接看note

shebang:

在计算领域中,Shebang(也称为 Hashbang )是一个由井号和叹号构成的字符序列 #! ,其出现在文本文件的第一行的前两个字符。 在文件中存在 Shebang 的情况下,类 Unix 操作系统的程序加载器会分析 Shebang 后的内容,将这些内容作为解释器指令,并调用该指令,并将载有 Shebang 的文件路径作为该解释器的参数。
例如,以指令#!/bin/sh开头的文件在执行时会实际调用/bin/sh程序(通常是 Bourne shell 或兼容的 shell,例如 bash、dash 等)来执行。这行内容也是 shell 脚本的标准起始行。
由于 # 符号在许多脚本语言中都是注释标识符,Shebang 的内容会被这些脚本解释器自动忽略。 在 # 字符不是注释标识符的语言中,例如 Scheme,解释器也可能忽略以 #! 开头的首行内容,以提供与 Shebang 的兼容性。

#!/usr/bin/env python 有什么用?

当你执行 env python 时,它其实会去 env | grep PATH 里(也就是 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin )这几个路径里去依次查找名为python的可执行文件。

那么对于这两者,我们应该使用哪个呢?

个人感觉应该优先使用 #!/usr/bin/env python,因为不是所有的机器的 python 解释器都是 /usr/bin/python 。

查看命令如何使用
最常用的方法是为对应的命令行添加-h 或 --help 标记。另外一个更详细的方法则是使用man 命令。man 命令是手册(manual)的缩写,它提供了命令的用户手册。
有时候手册内容太过详实,让我们难以在其中查找哪些最常用的标记和语法。 TLDR pages 是一个很不错的替代品,它提供了一些案例,可以帮助您快速找到正确的选项。

查找 shell 命令
history 命令允许您以程序员的方式来访问shell中输入的历史命令。这个命令会在标准输出中打印shell中的里面命令。如果我们要搜索历史记录,则可以利用管道将输出结果传递给 grep 进行模式搜索。 history | grep find 会打印包含find子串的命令。

函数 marco 和 polo
我喜欢用fish而不是bash,故我使用fish的格式编写函数
Fish Shell 精简手册
Fish for bash users

source命令是一个内置的shell命令,用于从当前shell会话中的文件读取和执行命令。source命令通常用于保留、更改当前shell中的环境变量。简而言之,source一个脚本,将会在当前shell中运行execute命令。

#!/usr/bin/env fish
function marco
    set -gx MARCO (pwd)
end

function polo
    cd $MARCO
end
# Define $PAGER global and exported,
# so this is like ``export PAGER=less``
set -gx PAGER less

# Define $alocalvariable only locally,
# like ``local alocalvariable=foo``
set -l alocalvariable foo
find /  -name "*.html" | xargs  -d 'n'  zip test.zip
find . -type f  -print0 | xargs -0 ls -lt | head -30  #抄的

xargs
-0:items are separated by a null, not whitespace;

ls
-t sort by modification time, newest first
-l use a long listing format

编辑器 (Vim)
了解基本用法即可,我用vscode
:q 退出(关闭窗口)
:w 保存(写)
:wq 保存然后退出

数据整理
太复杂了,应该用不到,看点简单的就成
sed命令进行正则匹配替换

 seq 10 | sort -r --numeric-sort # 倒序输出10个数

awk用于处理文本

awk '{print $1}' test.sh  
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/842629.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号