linux:一些工具
查看存储空间
先看看根目录下面
du -sh /*
下面这条命令就是显示所有隐藏文件和非隐藏文件的大小并根据占用空间排序的语句
du -sh .[!.]* * | sort -hr
看磁盘使用情况
df -h
Linux中zip压缩和unzip解压缩命令详解
把/home目录下面的mydata目录压缩为mydata.zip
zip -r mydata.zip mydata #压缩mydata目录
2、把/home目录下面的mydata.zip解压到mydatabak目录里面
unzip mydata.zip -d mydatabak
Linux根据进程名称Kill多个进程
经常需要Kill多个进程,这些进程包含共同的关键字,可以用一条命令Kill掉它们。
ps aux | grep "common" |grep -v grep| cut -c 9-15 | xargs kill -9
管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的几个命令:
"ps aux" 查看所有进程的命令。这时检索出的进程将作为下一条命令grep "common"的输入。
"grep "common" 选出所有含有关键字"common"的进程。
"cut -c 9-15" 截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
grep -v grep除去“grep”
wc -l 统计行号
"xargs kill –9" 中的xargs命令是用来把前面命令的输出结果(PID)作为"kill –9"命令的参数,并执行该命令。"kill –9" 会强行杀掉指定进程
ps -ef | grep skynet
查看LINUX进程内存占用情况
以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
(1)top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
$ top -u oracle
内容解释:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
在linux下找文件
在linux下,主要用到的文件查找有find,whereis,locate。
通常 find 不是很常用的。因为速度慢之外, 也很操硬盘!通常我们都是先使用 whereis 或者是 locate来检查,如果真的找不到了,才以 fin来搜寻。 为什么呢?因为 whereis 不 locate 是利用数据库来搜寻数据,所以相当的快速,而且并没有实际的搜寻硬盘, 比较省时间!
whereis命令会在指定的目录中查找符合条件的文件,文件应的属性应属于原始代码,二进制文件,或是帮助文件.
locate命令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找符合条件的文件或目录。
locate的使用更简单,直接在后面输入『档案的部分名称』后,就能够得到结果。(locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新)
最后是find。
Find是一个非常有效的工具,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录。
查找文件名包含I的文件
find -name "I*.cpp"
在Linux下查找包含某个单词的所有文件
grep hello /files -r -n 这样 grep 会输出类似于 filenames:hello 类似的信息,不光能知道文件名还能知道什么内容。 -r 是包含子目录,-n 是显示文件名 你可以 grep --help 看看帮助。还有很多参数可用。
将make的输出重定向到文件
只需要把make输出中的错误(及警告)信息输出到文件中ing,可以用:
make xxx 2> build_output.txt
只需要把make输出中的正常(非错误,非警告)的信息输出到文件中,可以用:
make xxx 1> build_output.txt
所有的信息都输出到同一个文件中:
make xxx > build_output_all.txt 2>&1
其中的2>&1表示错误信息输出到&1中,而&1,指的是前面的那个文件:build_output_all.txt 。
注意:上面所有的1,2等数字,后面紧跟着大于号'>' ,中间不能有空格
linux 批量修改文件名后缀名命令rename
现在我当前目录R1下有60个后缀是txt的文件,我想把所有的txt文件都修改为后缀为csv,如果一个一个的修改,很耗费时间,效率低,只要执行这个命令,一下就搞定。
rename 's/\.csv/\.txt/' *