linux-any-commands

本篇文章记录了linux各种各样的非常常用而且重要的命令用法

文件查找

我们比较常用的两种查找方式,一种是查找文件中的字符,一种是查找文件

grep查找文件中的字符

对文件中的字符进行查找使用grep,grep命令参数如下:

maxliu@maxliu-tp:~/eclipse_201908-workspace/pycvt/src/build$ grep --help
用法: grep [选项]... PATTERN [FILE]...
在每个 FILE 或是标准输入中查找 PATTERN。
默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。
例如: grep -i 'hello world' menu.h main.c

正则表达式选择与解释:
-E, --extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE)
-F, --fixed-strings PATTERN 是一组由断行符分隔的字符串。
-G, --basic-regexp PATTERN 是一个基本正则表达式(缩写为 BRE)
-P, --perl-regexp PATTERN 是一个 Perl 正则表达式
-e, --regexp=PATTERN 用 PATTERN 来进行匹配操作
-f, --file=FILE 从 FILE 中取得 PATTERN
-i, --ignore-case 忽略大小写
-w, --word-regexp 强制 PATTERN 仅完全匹配字词
-x, --line-regexp 强制 PATTERN 仅完全匹配一行
-z, --null-data 一个 0 字节的数据行,但不是空行
杂项:
-s, --no-messages 不显示错误信息
-v, --invert-match 选中不匹配的行
-V, --version 显示版本信息并退出
--help 显示此帮助并退出

输出控制:
-m, --max-count=NUM NUM 次匹配后停止
-b, --byte-offset 输出的同时打印字节偏移
-n, --line-number 输出的同时打印行号
--line-buffered 每行输出清空
-H, --with-filename 为每一匹配项打印文件名
-h, --no-filename 输出时不显示文件名前缀
--label=LABEL 将LABEL 作为标准输入文件名前缀
-o, --only-matching 只显示匹配PATTERN 部分的行
-q, --quiet, --silent 不显示所有常规输出
--binary-files=TYPE 设定二进制文件的TYPE 类型;
TYPE 可以是`binary', `text', 或`without-match'
-a, --text 等同于 --binary-files=text
-I 等同于 --binary-files=without-match
-d, --directories=ACTION 读取目录的方式;
ACTION 可以是`read', `recurse',或`skip'
-D, --devices=ACTION 读取设备、先入先出队列、套接字的方式;
ACTION 可以是`read'或`skip'
-r, --recursive 等同于--directories=recurse
-R, --dereference-recursive 同上,但遍历所有符号链接
--include=FILE_PATTERN 只查找匹配FILE_PATTERN 的文件
--exclude=FILE_PATTERN 跳过匹配FILE_PATTERN 的文件和目录
--exclude-from=FILE 跳过所有除FILE 以外的文件
--exclude-dir=PATTERN 跳过所有匹配PATTERN 的目录。
-L, --files-without-match 只打印不匹配FILEs 的文件名
-l, --files-with-matches 只打印匹配FILES 的文件名
-c, --count 只打印每个FILE 中的匹配行数目
-T, --initial-tab 行首tabs 分隔(如有必要)
-Z, --null 在FILE 文件最后打印空字符

文件控制:
-B, --before-context=NUM 打印文本及其前面NUM 行
-A, --after-context=NUM 打印文本及其后面NUM 行
-C, --context=NUM 打印NUM 行输出文本
-NUM 等同于 --context=NUM
--color[=WHEN],
--colour[=WHEN] 使用标记高亮匹配字串;
WHEN 可以是`always', `never'或`auto'
-U, --binary 不要清除行尾的CR 字符(MSDOS/Windows)
-u, --unix-byte-offsets 忽略CR 字符,报告字节偏移
(MSDOS/Windows)

对单个文件查找,如果文件较少,我们可以利用cat将文件内容输出到标准控制台,然后使用grep进行字符匹配:

cat filepath | grep 'string'

或者按照grep前面所示的基本用法grep [选项]... PATTERN [FILE]来查找文件:

grep -s string filepath

对目录下的所有文件进行查找(不查找子目录):

grep -s string dir

递归对目录下的所有文件进行查找:

grep -s -R string dir

find查找文件

简单命令

  • 重新安装软件包
sudo apt-get install --reinstall 软件包

命令

命令帮助文档链接

man command

command –help

常用命令

# 查看动态库依赖

ldd

# 查看命令执行路径

which

# 显示关于ELF 格式文件内容信息

readelf

# 解析符号

c++filt

# 查询库文件中的字符串

nm

# 输出所有环境变量

export -p

# 输出某个环境变量值

echo $LD_LIBRARY_PATH

# 导入环境变量

export LD_LIBRARY_PATH=/path-to-lib:$LD_LIBRARY_PATH

# 递归查看所有目录文件中的字符

grep -s -R string dir

# 文件及目录个数统计,参考博客

  • 查看当前目录下的文件数量(不包含子目录中的文件)

    ls -l | grep "^-" | wc -l

  • 查看当前目录下的文件数量(包含子目录中的文件)注意:R代表子目录

    ls -lR | grep "^-" | wc -l

  • 查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R

    ls -l|grep "^d"| wc -l

  • 查询当前路径下的指定前缀名的目录下的所有文件数量,例如:统计所有以“20161124”开头的目录下的全部文件数量
    ls -lR 20161124*/|grep "^-"| wc -l

linux-install-index libtorch和gflags的编译安装问题

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×