常用指令像ls,cd这些就不记录了,记录一些工作学些过程中遇到的比较好用,或比较少用容易忘的指令。
压缩解压
tar打包:
压缩: tar -zcvf test.tar.gz 被压缩文件名
解压: tar -zxvf test.tar.gz
查看: tar -ztvf test.tar.gz
解压到指定路径: tar -zxvf test.tar.gz -C /tmp
解压指定文件到指定路径: tar -zxvf test.tar.gz -C /tmp test/abc
注意z这个操作是针对后缀是gz这钟类型的,有些压缩类型不需要加z
zip压缩:
压缩文件: zip xxx.zip 压缩文件名
压缩目录: zip -r xxx.zip 压缩目录
解压文件: unzip xxx.zip
解压到指定路径: unzip -d <路径> xxx.zip
调试
tail -f log/app.log -n 100 :动态打印log -f后面是文件,-n好像是行数
cat ./main.c |more:cat指令没啥好记的,|more可以一行一行输出,太长的文件不会把终端刷爆,同理可用到ls等指令上
| 这个符号是管道连接符,把第一条指令的输出做|后面指令的输入,比如ls | grep abc。
grep -v 是反向过滤,就是滤除掉某些关键字的检索结果。
uname -m:获取主机系统架构。
uname -s:获取主机 OS。
sed -e:替换命令,sed -e s/i.86/x86/,将管道输入的字符串中的“i.86”替换为“x86”。
tr '[:upper:]' '[:lower:]':将所有的大写字母替换为小写字母。
脚本函数
ifeq:来判断是否相等。例如:ifeq ($(KBUILD_VERBOSE),1)、ifeq ("$(origin V)", "command line")。
origin:判断变量的来源,语法$(origin <variable>),variable 是变量名。"command line"就是来自输入。
filter:过滤函数,语法$(filter <pattern...>,<text>),以 pattern 模式过滤 text 字符串中的单词,仅保留符合模式 pattern 的单词,可以有多个模式。例如:$(filter 4.%,$(MAKE_VERSION))的含义就是在字符串“ MAKE_VERSION”中找出符合“ 4.%”的字符(%为通配符)。
firstword:获取首单词,语法$(firstword <text>),取出 text 字符串中的第一个单词,函数的返回值就是获取到的单词。例如$(firstword x$(MAKEFLAGS)),获取MAKEFLAGS的第一个单词(为什么$前面要加x?)