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

来源:互联网 发布:linux端口号怎么查看 编辑:程序博客网 时间:2024/05/17 15:17

转自 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

或者

export GREP_OPTIONS='--color=auto' GREP_COLOR='100;8' ; 
grep 'the' file

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

sar命令 http://blog.csdn.net/arau_sh/article/details/6574853

find命令 http://blog.csdn.net/arau_sh/article/details/6574867

objdump, nm, ar 命令 http://blog.csdn.net/arau_sh/article/details/8062373




原创粉丝点击