Linux Command
File Operation
-
查找文件 find -name “*.txt”
-
查找文件夹下的文件个数
- ls -l |grep “^-”|wc -l
或
find ./company -type f | wc -l
查看某文件夹下文件的个数,包括子文件夹里的。
ls -lR|grep “^-”|wc -l
查看某文件夹下文件夹的个数,包括子文件夹里的。
ls -lR|grep “^d”|wc -l
说明:
ls -l
长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)
grep “^-”
这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d
wc -l
统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于
一行信息对应一个文件,所以也就是文件的个数。
- ls -l |grep “^-”|wc -l
-
查找文件内部的内容
grep -Ril "text-to-find-here" /
i
stands for ignore case (optional in your case).
R
stands for recursive.
l
stands for “show the file name, not the result itself”.
/
stands for starting at the root of your machine.
-
查看文件大小
du -h
du
是查看文件大小,-h
是human-reable
的简写,具体查看示例
-
文件重命名
rename
是对多个文件批量进行重命名 rename使用方法mv
是对单个文件进行重命名
-
大文件分割
split
命令可以对大文件进行分割,分割可以按照行数分割-l linenumber
, 也可以按照文件大小进行分割-b filestorage
。 具体可见实施示例
输出重定向
>
和tee
>
把输出重定向到文件中,比如 ls >a.txt,这时我们就不能看到输出。tee
如果我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令了。- 输出通常有三种,标准的输入,输出和错误输出,分别表示为STDIN,STDOUT,STDERR,也可以用0,1,2来表示。常见的操作有
command 2>&1 | ...:
command的错误重定向到标准输出,错误和标准输出都通过管道传给下个命令。 - 举例:
bash test.sh 2>&1 | tee output.txt
,使用这种方法既可以将shell程序中的echo输出进行重定向,又可以将运行程序产生的stdout和stderr都进行重定向。
##编程操作
- 查看程序的依赖库
- 使用
ldd
可以查看执行文件的依赖库
- 使用
vim使用技巧
- 打开多个文件,并且分窗口显示vim多窗口显示技巧
- 使用
vim
打开文件,在新打开的文件中,输入:sp newfile
,则可以实现水平的窗口切分;输入:vp newfile
,则可以实现垂直的窗口切分。 - 窗口切换:使用ctrl+w实现窗口切换,可以按住ctrl,双击w;或者按住ctrl+w,然后使用上、下箭头进行文件窗口切换。
- 使用
查找软件安装路径
- 查看软件安装路径
whereis software
- 查看运行软件所在路径
which software
程序无法找到lib路径
- 在linux中,程序无法找到lib路径是因为某个依赖库的路径没有被声明
- 比如,在使用mxnet的时候,有时会出现libmxnet.so无法找到的情况
- 这个时候,使用LDD查看程序的依赖库,将系统中的libmxnet.so文件拷贝到制定的目录中,比如./lib文件夹下
- 然后,使用
export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH
将目录添加到lib文件路径的环境变量中
Others
- 使用计算器
- 可以使用gcalccmd [gnome calculator command],具体使用方法参见How to use linux calculator
- 固定时间运行程序
- 需要使用
at
程序,首先进行安装sudo apt-get install at
。 - 运行时,比如在1小时候,创建目录
`at now + 1 hoursmkdir test
ctrl+d` - 具体请参考at命令使用指南
- 需要使用
- 查看显卡是否被检测到
lspci | grep NVIDIA