Linux实用命令整理
说明
点击标题可进入详细讲解的章节
0. 基本命令
linux 基本命令整理
1. 压缩 解压
tar -zcvf a.tar.gz a #把a压缩成a.tar.gz
tar -zxvf a.tar.gz #把a.tar.gz解压成a
zip -r a.zip a
unzip a.zip
2. vim小结
2.1 vim替换
:m,ns/word_1/word_2/gc #把word_1用word_2替换,g表示替换所有的, c表示替换每一个时需要确认
2.2 vim统计某一个字符串的个数
:m,ns/word_1/&/gn #统计从m行到n行之间word_1的个数, n表示只是统计个数不替换
:,$s/word_1/&/gn #搜索整个文档中word_1的个数,和下面等价
:%s/word_1/&/gn
2.3 vim中删除某一字符串
:m,ng/word_1/d #从第m行到第n行删除所有的word_1
3. 文件搜索
3.1 locate——通过文件名查找
locate /bin/zip
3.2 find——通过文件的各种属性在既定的目录下查找
find /usr -type f -name "*.png" -size +1M #查找的目录范围是/usr,名字以.png结尾,大小大于1M(+1M,1M,-1M)
find /usr -type f -name "*.png" -size +1M | wc -l #统计符合条件的行数
find /usr -type f -name "*.png" -size +1M -delete #删除符合条件的
3.3 找出目录dirs下含有字符串“hello”的所有文件的名字(个数)
find .|xargs grep "IBM" #xargs是一条Unix和类Unix操作系统的常用命令。它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题。
find .|xargs grep "IBM" -l #只打印出文件名
4. 排序 sort
cat file_name | sort -k2 -r #按第二列(从一开始技术)排序,-r表示reverse,从大到小输出
cat file_name | sort -k1 -n #按第一列排序, -n按数字排序,默认为按字符串排序
cat file_name | sort -k1 -nr | wc -l #统计满足条件的个数
5. 系统开销
5.1 df——磁盘占用情况
df #列出各文件系统的磁盘空间占用情况(已用 未用)共五列:Size Used Avail Use% Mounted on
df -h #以更易读的方式显示 (按K\M\G适当转换)
df -sh dirname #
5.2 du——文件大小
du #列出本目录下,目录的大小(默认的计数单位是k)
du -h filename #以更易读的方式显示所查文件的大小
du -sh dirname #查看目录dirname的总大小
du -h --max-depth=1 #本目录下各文件、目录大小
5.3 w——CPU负载度量(简单的说是进程队列的长度,最近一段时间1min,5min,15min的load度量)
w
6. 进程状态
ps(Process Status)用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,如果想要动态的显示进程信息,就可以使用top命令。
ps -ef
ps -ef 和 ps aux区别:参考:http://doc.okbase.net/%E8%B6%B3%E8%87%B3%E8%BF%B9%E7%95%99/archive/118297.html
7. awk命令
cat file_name | awk '{print $1}' #输出第一列(默认以空格切分)
cat file_name | awk -F ':' '{print $1"\t"$3}' #-F指定切割符号,输出第3列
cat file_name | awk -F ':' 'BEGIN {print "name,id"} {print $1","$3} END {print "end_name,end_id"}' #BEGIN指定开头输出,END指出结尾输出
cat file_name | awk -F ':' '/keyWord/{print $1}' # 输出一行中含有关键字keyWord的制定列
cat file_name | awk -F ':' '{print "filename:" FILENAME ",linenumber:" NR ",columns:" NF}' #内置变量FILENAME文件名,NR已读记录数,NF列数
cat file_name | awk '{count++} END {print "Count:" count}' #编程,最后输出总行数
8. sed命令
sed是stream editor(流式编辑器)的缩写,它可以对文本流、指定文件集或标准输入进行文本编辑。功能非常强大。
sed -n '2p' del2 #查看第2行
sed '1,2s/hello/NO/g' del2 #地1到2行的hello全部替换成NO(参数g表示替换全部)
sed '2,3d' del2 #删除第2到3行
sed '2,3a mmm' del #第2和3行后(a)插入mmm
9. 编码转换
iconv -f gbk -t utf- -c text.txt -o text.out #-f:from -t:to -c从输出中忽略无效的输出 -o输出文件名字
10. 文件属性
chmod 属性 文件名 #更改文件属性r:4 w:2 x:1
chown 用户名 文件名
chgrp 组名 文件名
chown 用户名:组名 文件名 #同时修改文件所属的用户和组
chown -R 用户名 目录名 #递归把目录里面(包括目录自己)中的文件全部修改所属用户名
11. 管道 | 重定向 >
ls -l |grep "^-" | wc -l #grep 正则匹配以'-'开头的, wc -l:统计满足条件的总的行数
ls -l |grep "^-" >file_name1 #把满足结果的定位到file_name1,注:先清空再定位
ls -l |grep "^-" >>file_name2 #把满足结果的输出到file_name2的后面,注:不清空,在原来基础上继续存储
12. curl 文件传输下载、POST请求、GET请求
curl http://www.cnblogs.com/kaituorensheng/ #下载网页,默认只下载HTML文档; -l只显示头部; -i 显示全部
curl http://e.hiphotos.baidu.com/image/pic/item/50da81cb39dbb6fd1e165c260a24ab18972b3764.jpg #下载图片
curl "www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK" #获取表单,参数birthyear=1905,press=OK"
请求
curl -X POST http://ip:port/test -d "id=1234&type=3"
发送带参数的GET请求 (带参数,要把链接引起来)
curl "http://test.abc.com/api/test/create_test?flow_id=1&obj_id=3"
13. 软链接
ln -s src_name ln_name #建立软链接,这里的src_name可以是文件名也可以是目录名
rm ln_name #删除软链接
14. xargs
批量杀死多个进程,例如批量杀死所有的python进程
ps -ef | grep python | awk '{print $2}' | xargs sudo kill -
批量解压,例如批量解压后缀为tar.gz的文件
ls | grep tar.gz | xargs -n1 tar zxvf
注:这里-n1意思是每次只传入一个参数。对比
$echo | xargs -n1 echo $echo | xargs -n2 echo $echo | xargs -n3 echo
15. tail -f
可以得到新追加到文件中的信息,常用来跟踪日志文件
tail -f RnLog
16. lsof
用途:查找出占用了某个端口的程序和其对应的PID
sudo lsof -i:
17. 通过关键字找文件
grep -r "12.34.56.78" /var/log
18. grep 或
cat deldel | grep -E 'LoadRefData|afads'
拓展:http://www.cnblogs.com/perfy/archive/2012/07/24/2606101.html
Linux实用命令整理的更多相关文章
- 【linux】 linux超实用命令整理
linux实用命令整理 由于开发过程中经常接触linux系统进行各种情况下的操作,故开此博客整理生产环境下操作命令集,温故而知新. 系统命令 快捷键操作命令 1.tab //命令或路径等的补全键,li ...
- 14: linux实用命令
1.1 基本实用命令整理 1.查找大文件文件 du -sh ./*|grep G # 查看当前目录下个文件大于1G的文件夹 2.查找日志文件中 5xx数量,并进行排序 ...
- Linux常用命令整理:文件目录管理
据说,你要对Linux文件做的事情,98%都记录在这篇文章里了. 1.ls命令 最常见的命令,相信刚进入linux命令行界面的时候,都要用这个命令看看当前目录下都有哪些文件吧. 名称:List 含义: ...
- Linux常用命令整理 - imsoft.cnblogs
su 用户名 在不退出登陆的情况下,切换到另外一个人的身份如果用户名缺省,则切换到root状态会提示输入密码,密码不回显的. 在用su命令切换root用户时,使用“-”选项,这样可以将root的环境变 ...
- 个人的Linux实用命令
Linux下的命令有那么多,我不可能也不想去把每一个都记住,列举一些自己工作中很实用的命令,这些命令或许不是很常用,但是有时候却离不了. 1.网络方面 service iptables start/s ...
- linux基础命令整理
1 显示当前工作目录 pwd 2 查看目录下的所有内容 ls ls -l 以列方式查看 ls -a 显示所有 ...
- Linux常用命令整理
1.常用命令:cd 进入 ls(list)查看当前目录下的文件 pwd 查看目录的路径 who an i 查看当前用户 clear 清除屏幕 2.绝对路径:从根目录开始\ 相对路径:上一层.下一层 ...
- linux基础命令整理(一)
ls 显示当前目录内容 1)ls / (显示根目录下所有的目录和文件) 2)ls -l / (以列表的形式显示根目录下所有的目录和文件) 绝对路径和相对路径 1)绝对路径,以/开头的都是绝对路径,比如 ...
- subversion实用命令整理
使用命令在仓库中创建目录 使用命令查看仓库中的内容 使用命令删除仓库中的内容 创建目录 svn mkdir --parents -m 'makeSubDirectory' file:///path/t ...
随机推荐
- [转]happybase1.0 报错:ThriftPy does not support generating module with path in protocol 'f'
happybase1.0 报错:ThriftPy does not support generating module with path in protocol 'f' 2016-10-12 14: ...
- mha error
MasterFailover.pm 1473 $ret =1474 $_server_manager->change_master_and_start_slave( $target, $late ...
- java统计文件字母大小写的数量练习
import java.io.*; import java.lang.*; public class WordStatistic { private BufferedReader br; privat ...
- Java第01次实验提纲(基本概念+编程环境入门+PTA)
0. 控制台下编译.运行 在Notepad++编写Java程序 学会使用控制台,javac.java 学会使用Notepad++ 参考资料: 控制台-cmd应用基础 扫盲教程 使用命令行编译并运行ja ...
- 用Matlab进行部分分式展开
[r p k]=residue[num,den] 例如H(s)=(2s3+5s2+3s+6)/(s3+6s2+11s+6) num=[2 5 3 6]; den=[1 6 11 6]; [r p k] ...
- Dubbo(1)简介和Zookeeper安装
一.简介: Dubbo主页地址 http://dubbo.io/ Dubbo百度百科:https://baike.baidu.com/item/Dubbo/18907815?fr=aladdin 二 ...
- Flume 安装和配置
安装步骤 1.安装jdk,1.6版本以上 2.上传flume的安装包 3.解压安装 4.在conf目录下,创建一个配置文件,比如:template.conf(名字可以不固定,后缀也可以不固定) 5.配 ...
- springboot(整合多数据源demo,aop,定时任务,异步方法调用,以及获取properties中自定义的变量值)
有这么一个需求 每个部门,需要操作的数据库不同,A部门要将数据放test数据库,B 部门数据 要放在test1数据库 同一个项目 需要整合 多个数据源 上传个demo 方便自己以后回看!!!!!!!! ...
- HTML背景图片自适应
由于<body>标签的图片不能够拉伸, 解决办法: 1.图片不够大,又background属性不能拉伸图片: 2.只能用个div,把其z-index值设为负,并使这个div大小为整个bod ...
- [转][C#]TopSelf
新建一个批处理,用于启动 TopSelf 服务 @echo off Service.exe install net start Service 或者简化成 @echo off Service.exe ...