Linux Shell知识点

一:

gcc -c 编译

grep EXIT_ *.h

ar crv libfoo.a bill.o fred.o 归档

ranlib libfoo.a 某些系统需要为函数库生成一个内容表

nm libfoo.a 查看目标文件/函数库/可执行文件里包含的函数

ldd test 查看程序需要的共享库

二:Shell

进程名

ps -xo comm | sort | uniq | grep -v sh | more

$(...) 获取子进程的输出 类似反引号 `...`

$((...)) 计算表达式 类似expr

2>&1 标准错误输出重定向到与标准输出相同的地方

/dev/null 空设备

shell 程序设计里,0表示成功 {函数返回0 , if 作判断 if ${fun}}

$0 shell脚本的名字

$1 第一个参数

$$ 进程id

$# 参数个数

$*/$@ 所有参数

${var:=value} var为空或不存在,则取value,否则取var , 类似还有 :- :+ :? 等不同的定义

export 把自己的参数创建为一个环境变量,可以被其他脚本程序和当前程序调用的程序看见。

set -a 或 set -allexport命令将导出它之后声明的所有变量

set 命令的作用是为shell设置参数变量,如

取月份: set $(date) echo The month is $2

date +%B 也可以来提取月份

trap 指定在接受到信号后将要采取的行动,如:

trap ‘rm -f /tmp/aa_$$’ INT

find / -mount -name wish -print 其中-mount指定不要搜索挂载的目录 -print 是将结果输出出来

-name pattern 如 “_*” ,为了确保pattern被直接传递给find命令而不是由shell处理,pattern必须总是用引号括起

find . \( -newer return -or -name "a*" \) -type f -print

find . \( -newer return -or -name "a*" \) -type f -exec ls -l {} \;

grep -E [a-z]\{10\} *

find /path -type f -print0 | xargs -0 rm

调试 set -o xtrace 执行跟踪功能让shell在执行每行语句之前先显示已对变量进行扩展后的该行代码。

关闭xtrace用 set +o xtrace

if [ a = b ] 等于 只是一个=号 /bin/sh --- dash 的情况下[dash / bash 不兼容导致的]

原创:https://blog.csdn.net/ndzjx/article/details/88681684

猜你喜欢

转载自blog.csdn.net/ndzjx/article/details/88681684