转自 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.找到某个名字的文件
找到名字是demo.rb的文件(当前目录下递归查找)
find -name '*.svn' #
后面也能跟正则表达式
2.大小写不敏感
不区分大小写的找demo.rb这个文件名字,DEmo.rb也匹配
3.指定最大/小递归的目录层数
# 在当前目录下面递归查找demo.rb,但是最深到第2层目录
# 最大递归目录层数3,最小2
4.查找不匹配的,反向查找
找到不是demo.rb的文件
5.用find的执行结果执行下个命令
# cat 所有名字报行demo.rb的文件
find -name 'demo.rb' | xargs cat
6.查找空文件
找当前目录下的空文件
7.根据文件类型查找
查找socket文件
find . -type d #
查找目录
find . -type f #
普通文件
find . -type f -name ".*" #
隐藏文件
find -type d -name ".*" #
隐藏目录
8.根据文件大小搜索
找出大于100M的文件
find ./ -size -100M #
找出小于100M的文件
find ./ -size 100M
# 找出等于100M的文件
9.根据修改时间查找
找出5天之前修改的文件
find -mmin 5 #
找出5分钟之前修改的文件
find -atiem 5 #
5天之内修改过的文件
find -amin 5 #
5分钟内修改过的文件
==========================================================================================
linux tar 打包方法
1.创建tar包
打包
tar xvf demo.tar # 解包
c : 创建归档文件
v : 显示被打包的文件
f : 使用文件归档
打包并且压缩
tar xzvf demo.tar.gz # 解压缩
z : 压缩,用gzip
note: tgz == tar.gz
用gzip2压缩
tar xjvf demo.tar.bz2 # 解压
j : bzip2解压
note: tbz和.tb2 等同于tar.bz2
2.查看tar包里面的东西(listing a tar file)
tar tzvf demo.tar.gz # 查看tar.gz/tgz文件
tar tjvf demo.tar.bz2 # 查看bz2/tb2/tbz等类型的文件
3.解压单独文件或者目录
# 将file从demo.tar中解压出来
tar xzvf demo.tar.gz ./file #
将file从demo.tar.gz中解压出来
tar xjvf demo.tar.bz2 ./file #
将file从demo.tar.bz2中解压出来
5.解压出一种类型的文件
解压demo.tar包中所有的rb文件
6.将文件或者目录推到tar里面
将demo/ 目录打包到demo.tar中
tar rvf demo.tar demo.file # 将demo.file打包到demo.tar中
other tips
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分钟前到现在的平均值。
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环境下有意义
k %CPU 上次更新到现在的CPU时间占用百分比
l TIME 进程使用的CPU时间总计,单位秒
m TIME+ 进程使用的CPU时间总计,单位1/100秒
n %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.交互式
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 运行参数
-p 指定需要监控的进程id #
top -p 1122
-s 安全模式,这个不太懂
-i 不显示闲置和僵死的进程
-c 显示全部命令参数
========================================================================================
linux shell快捷键
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.在一个文件内搜索某个字符串
2.在多个文件内搜索某个字符串
grep 'match_word' *.rb
# 后面可以跟正则\
3.不区分大小写
4.正则表达式
放一个正则表达式也是ok的
5.全字匹配
会匹配the,但是不会匹配there
6.匹配前后几行(match with A/B/C)
匹配出现the的那行并且也输出后面的三行
grep -B 3 'the' file #
匹配出现the的那行并且也输出前面的三行
grep -C 3 'the' file #
匹配出现the的那行并且也输出前后三行
7.搜索目录下的文件
搜索目录下面的文件里面报行the的文件
grep -R 'the' ./ #
递归搜索
8.反向匹配
找不不含有the的行
9.反向匹配多个字符
匹配不包含the、this、find的行
10.找到匹配的数量
找出字符the的行数的数量
11.显示匹配的的行号
找出file内匹配the的行,并且显示行号
12.仅仅显示匹配的文件名称
# 所有包含字符the的文件名称
13.仅仅显示匹配的字符串
仅仅显示每行的the
14.多颜色显示