现在的位置: 首页 > 综合 > 正文

问题合集 —- Linux命令(三) find tar ssh top grep

2013年10月15日 ⁄ 综合 ⁄ 共 4899字 ⁄ 字号 评论关闭

转自 http://www.neocanable.com/linux-find/ && http://www.neocanable.com/linux-tar/ &&http://www.neocanable.com/linux-ssh/ &&http://www.neocanable.com/linux-top/&&http://www.neocanable.com/linux-shell-hot-key/

linux find 使用方法


1.找到某个名字的文件

find -name 'demo.rb' #
找到名字是demo.rb的文件(当前目录下递归查找)

find -name '*.svn'   #
后面也能跟正则表达式

2.大小写不敏感

find -iname 'demo.rb' #
不区分大小写的找demo.rb这个文件名字,DEmo.rb也匹配

3.指定最大/小递归的目录层数

# 在当前目录下面递归查找demo.rb,但是最深到第2层目录

find --maxdepth 2 -name 'demo.rb'

# 最大递归目录层数3,最小2

find --mindepth 2 --maxdepth 3 -name 'demo.rb'

4.查找不匹配的,反向查找

find -not -name 'demo.rb' #
找到不是demo.rb的文件

5.用find的执行结果执行下个命令

# cat 所有名字报行demo.rb的文件

find -name 'demo.rb' --exec cat {}
find -name 'demo.rb' | xargs cat

6.查找空文件

find ./ -empty #
找当前目录下的空文件

7.根据文件类型查找

find . -type s #
查找socket文件

find . -type d #
查找目录

find . -type f #
普通文件

find . -type f -name ".*" #
隐藏文件

find -type d -name ".*" #
隐藏目录

8.根据文件大小搜索

find ./ -size +100M #
找出大于100M的文件

find ./ -size -100M #
找出小于100M的文件

find ./ -size 100M
 # 找出等于100M的文件

9.根据修改时间查找

find -mtime 5  #
找出5天之前修改的文件

find -mmin 5   #
找出5分钟之前修改的文件


find -atiem 5  #
5天之内修改过的文件

find -amin  5  #
5分钟内修改过的文件

==========================================================================================

linux tar 打包方法


1.创建tar包

tar cvf demo.tar demo/ #
打包

tar xvf demo.tar       # 解包

c : 创建归档文件

v : 显示被打包的文件

f : 使用文件归档

tar czvf demo.tar.gz demo/ #
打包并且压缩

tar xzvf demo.tar.gz       # 解压缩

z : 压缩,用gzip

note: tgz == tar.gz

tar cjvf demo.tar.bz2 demo/ #
用gzip2压缩

tar xjvf demo.tar.bz2       # 解压

j : bzip2解压

note: tbz和.tb2 等同于tar.bz2

2.查看tar包里面的东西(listing a tar file)

tar tvf demo.tar     # 查看一个tar文件
tar tzvf demo.tar.gz # 查看tar.gz/tgz文件
tar tjvf demo.tar.bz2 # 查看bz2/tb2/tbz等类型的文件

3.解压单独文件或者目录

tar xvf demo.tar ./file  
    # 将file从demo.tar中解压出来
tar xzvf demo.tar.gz ./file   #
将file从demo.tar.gz中解压出来

tar xjvf demo.tar.bz2 ./file  #
将file从demo.tar.bz2中解压出来

5.解压出一种类型的文件

tar xvf demo.tar --wildcards ‘*.rb’ #
解压demo.tar包中所有的rb文件

6.将文件或者目录推到tar里面

tar rvf demo.tar demo/     #
将demo/ 目录打包到demo.tar中

tar rvf demo.tar demo.file # 将demo.file打包到demo.tar中

other tips

tar cjvf back-$(date +%Y%m%d).tar.bz2
to_backup/ # 按照日期备份

=======================================================================================

linux ssh


1.ssh -l username remoteip 或者 ssh username@remoteip

ssh -l meng -p 22 192.168.254.50

ssh默认的端口是22,所以remote address的ssh server 如果没有修改ssh的端口的话会默认为22

neo@ubuntu:~$ ssh -l meng 192.168.254.50

Last login: Fri Mar 11 12:14:48 2011 from 192.168.254.102

[meng@ddkan ~]$

2.ssh server绑定ip地址

ListenAddress 192.168.0.11 # 只允许192.168.0.11这个ip登录上来

3.修改ssh端口

Port 2222 修改ssh服务的端口为2222

4.修改ssh协议的版本

Protocol 2 # 可以为1和2这两个版本

5.不允许root登录

PermitRootLogin no

=====================================================================================

linux top 使用方法


LINUX性能监控工具

1.top各个列的含义

最顶行:三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

a PID 进程id  

b PPID 父进程id  

c RUSER Real user name  

d UID 进程所有者的用户id  

e USER 进程所有者的用户名  

f GROUP 进程所有者的组名  

g TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?  

h PR 优先级  

i NI nice值。负值表示高优先级,正值表示低优先级  

j P 最后使用的CPU,仅在多CPU环境下有意义  

%CPU 上次更新到现在的CPU时间占用百分比  

l TIME 进程使用的CPU时间总计,单位秒  

m TIME+ 进程使用的CPU时间总计,单位1/100
 

%MEM 进程使用的物理内存百分比  

o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES  

p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。  

q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA  

r CODE 可执行代码占用的物理内存大小,单位kb  

s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb  

t SHR 共享内存大小,单位kb  

u nFLT 页面错误次数  

v nDRT 最后一次写入到现在,被修改过的页面数。  
w S 进程状态。 
D=不可中断的睡眠状态 
R=运行 
S=睡眠 
T=跟踪/停止 
Z=僵尸进程  

x COMMAND 命令名/命令行  

y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名

2.交互式

t : cpu和任务数量的总结性信息是否显示

m : 是否显示内存的使用情况

A : 分屏,可以分四个屏,用来监控不同的参数

    -或者"_" : 否显示当前窗口和是否显示所有

    G : 选择操作的窗口

    

    


z : 关闭颜色显示

Z : 设置颜色,0-7

B : 使用加粗显示

b : 配合x,y使用,能公将当前排序列加粗

f : 设置需要选择的那些列

o : 设置列的显示顺序,例如地一列显示内存的使用,第二列显示cpu的使用

     .... shift+字母/字母调整顺序


F/O : 设置排序的列


R : 将结果倒排序(reverse)

c : 显示进程是用什么命令运行的(command line)

i : 空闲的任务

u : 设置显示某个用户的进程,什么都不填是所有用户的

n 或者 # : 设置显示的进程数量,0是不限 

k : 杀死某个进程,需要给出进程的id

r : nice和renice

W : 写到配置文件中 

l : 是否显示load average

s : 改变刷屏的时间间隔
<或者> : 替换排序的列

3 运行参数

   -d 设置刷屏的时间         # top -d 2

   -p 指定需要监控的进程id   #
top -p 1122


   -s 安全模式,这个不太懂

   -i 不显示闲置和僵死的进程

   -c 显示全部命令参数

========================================================================================

linux shell快捷键


Ctrl + a 切换到命令行开始

Ctrl + e 切换到命令行末尾

Ctrl + l 清除屏幕内容

Ctrl + u 清除剪切光标之前的内容

Ctrl + k 剪切清除光标之后的内容

Ctrl + y 复制剪切板里的内容

Ctrl + h 类似于退格键

Ctrl + r 在历史命令中查找 (这个非常好用,输入关键字就调出以前的命令了)

Ctrl + c 终止命令

Ctrl + d 退出shell

Ctrl + z 转入后台运行..

Ctrl + p 上一条命令

alt键比较少用,因为很多地方与远程登陆工具是有冲突的..

Alt + f 切换光标前的字母

Alt + b 切换光标后的字母

========================================================================================

linux grep 使用方法


1.在一个文件内搜索某个字符串

grep 'match_word' file

2.在多个文件内搜索某个字符串

grep 'match_word' file file2
grep 'match_word' *.rb
     # 后面可以跟正则\

3.不区分大小写

grep -i 'match_word' file

4.正则表达式

grep 'regular' file  #
放一个正则表达式也是ok的

5.全字匹配

grep -w 'the' file   #
会匹配the,但是不会匹配there

6.匹配前后几行(match with A/B/C)

grep -A 3 'the' file #
匹配出现the的那行并且也输出后面的三行

grep -B 3 'the' file #
匹配出现the的那行并且也输出前面的三行

grep -C 3 'the' file #
匹配出现the的那行并且也输出前后三行

7.搜索目录下的文件

grep -r 'the' ./  #
搜索目录下面的文件里面报行the的文件

grep -R 'the' ./  #
递归搜索

8.反向匹配

grep -v 'the' file #
找不不含有the的行

9.反向匹配多个字符

grep -v -e 'the' -e 'this' -e 'find' #
匹配不包含the、this、find的行

10.找到匹配的数量

grep -c 'the' file #
找出字符the的行数的数量

11.显示匹配的的行号

grep -n 'the' file #
找出file内匹配the的行,并且显示行号

12.仅仅显示匹配的文件名称

grep -l 'the' *.rb
 # 所有包含字符the的文件名称

13.仅仅显示匹配的字符串

grep -o 'the' file  #
 仅仅显示每行的the

14.多颜色显示

grep -v 'the' file --color

抱歉!评论已关闭.