linux 常用命令总结(一)
1. 字符串常用命令:
替换:
1). %s/*/*/g 中,替换当前界面的所有符合规则的内容。
2). 替换文件中的字符串内容:
find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'
3). 替换多个文件夹中的字符串:
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
详见:http://www.cnblogs.com/Jtianlin/p/4210680.html
统计:
1). 统计文件中含有某个字符串的行数:grep -c 'str' filename // c 是count 的意思
2). 统计文件中某个字符串出现的次数:grep -o 'str' filename | wc -l // grep -o ‘str’表示打印符合规则的内容,wc -l 统计行数
查找:
1). 在指定目录或文件中查找指定的字符串:
find <directory> -type f -name "*.c" | xargs grep "<strings>"
<directory>是你要找的文件夹;如果是当前文件夹可以省略
-type f 说明,只找文件
-name "*.c" 表示只找以.c结尾的文件。也可以不写,表示找所有文件
<strings>是你要找的某个字符串
2). 文本打开状态下(vi,more),输入命令:/ ,然后输入要查找的内容,按enter键开始查找。再按N键查找下一个。
3). grep "被查找的字符串" 文件名
a. 从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名
b. 查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名
c. 查找匹配的行数:
$ grep -c "被查找的字符串" 文件名
d. 从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名
*可以代表任意字符,任意数量,但不能放最前面。
转义:getPushMessageRecordCount\\[39\\]
find /opt/data/logs/car-league-app -name "info.log" | xargs grep "StoreInfoController.*stStore" > ./cqtest.txt
linux 正则表达式查找可参考:http://www.cnblogs.com/cnsanshao/archive/2013/08/27/3285396.html
编辑:
vi // 编辑文本;按 i 进入编辑模式;按Esc 退出编辑模式;非编辑模式下,按 q 退出,若有修改,按 wq 保存退出,按 q! 退出不保存
2. 文件处理常用命令:
1). linux统计文件行数:wc [选项] 文件 // wc -l filename 统计文件行数
wc (word count)
2). 清空正在运行的文件:
cat /dev/null > filename // 可以简写为:> fileName
cp /dev/null filename // 貌似说效率更高,但没感觉。更喜欢第一个。
3. 解压和压缩:
zip文件:unzip **.zip
jar文件:jar -cvfM0 game.war ./ 0这个是阿拉伯数字,只打包不压缩的意思
jar -xvf game.war 解压到当前目录
tar文件:在linux打tar.gz包的时候,如果有文件在变化,可能会出错。可以考虑先拷贝一份,然后再打tar包。
tar -czvf **.tar.gz 需要压缩的文件(夹)名称 // 压缩文件到当前目录。
tar -czvf /MyTest/**.tar.gz 需要压缩的文件(夹)名称 // 压缩文件到MyTest目录。
tar -xzvf **.tar.gz // 解压文件到当前目录
tar -xzvf **.tar.gz -C 指定目录 // 解压文件到指定目录,change to directory DIR
4. 查看目录及磁盘使用情况:
du -sh dirname/file // 查看指定文件或目录大小,s:sum , h:human
df –h // 查看各主目录容量大小
du -sh * |sort -n // 计算当前目录下文件及文件夹大小,并排序。排序规则是按文件大小数字,不含单位。
du的英文为:disk usage,含义是磁盘空间使用情况,功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况,如果没有指定目录,则对当前的目录进行统计。
5. 修改日期和时间:
# date -s "20131215 09:02:25"
修改日期:
时间设定成2009年5月10日的命令如下:
#date -s 05/10/2009
修改时间:
将系统时间设定成上午10点18分0秒的命令如下。
#date -s 10:18:00
6. 文件夹操作:
复制:cp –ir /home/abc /home/abcd // r 表示递归处理,将指定目录下的文件与子目录一并处理。
移动:mv /home/abc /home/abcd // mv命令可以用于移动和改名目录或文件
删除:rm -rf /home/abc // rm:remove ; r:regular,递归删除;f:force 强制
新建:mkdir -p /home/abc // p:parent,表示如果有父目录使用;如果没有,新建父目录,即创建多层目录。
linux下拷贝(cp)到当前目录,当前目录用 ”.”表示。如:cp /app/test.txt .
7. 查看程序运行情况:
1). 通过top找到哪个程序占用CPU最多
2). 通过ps –ef|grep pid 来找到具体程序
3). kill -9 pid 强制终止。(标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,
子进程仍在运行,因此仍消耗资源。kill -9 pid 强制终止。)
8. 将ISO文件设置成yum源:
1). 新建目录:mkdir –p /media/iso
2). 设置ISO为yum源:
mount your-iso-file.iso /media/iso/ -t iso9660 -o loop
或
mount -t iso9660 -o loop your-iso-file.iso /media/iso
注:iso9660 是一种格式
3). 在/etc/ yum.repos.d 目录下编辑一个库脚本,如:iso.repo;内容如下:
[rhel-source]
name=ISO
baseurl=file:///media/iso
enabled=1
gpgcheck=0
enabled=1:启用当前yum源,如果设为0则表示禁用。默认值为1。
gpgcheck=1:指定在安装yum源中的软件包之前是否检查RPM软件包的数字签名,1表示检查,0表示不检查。
4). 映像卸载:umount /media/iso
9. 多服务器之间操作:
1). 跳转:ssh 远程服务器IP
2). 服务器间复制文件:
scp local_file remote_username@remote_ip:remote_folder
服务器之间复制文件夹:
scp -r local_folder remote_username@remote_ip:remote_folder
从远程服务器复制到本地服务器
从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。
例如:
scp root@www.mydomain.com:/home/linux/soft/scp.zip /home/linux/others/scp.zip
scp www.mydomain.com:/home/linux/soft/ -r /home/linux/others/
10. 防火墙开启和关闭:
开启防火墙:chkconfig iptables on
关闭防火墙:chkconfig iptables off
上述两条命令均要重启系统才能生效。
如果不想通过重启系统而即时生效的话
可以用“service”命令。缺点是重启系统后设置会丢失。
开启防火墙:service iptables start
关闭防火墙:service iptables stop
要在防火墙中设置某些端口的开关,可修改编辑/etc/sysconfig/iptables文件,比如开启SSH 端口22,可以加上如下内容:
-A RH-Firewall-1-INPUT -m state ――state NEW -m tcp -p tcp ――dport 22 -j ACCEPT
11. 配置环境变量可以在/etc/profile.d 中新建一个*.sh文件,里面加入配置的环境变量内容。一般不去修改/etc/profile文件。
如 java.sh:
export JAVA_HOME=/usr/local/java/default
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
12. grep多个关键字“与”和“或”
1). 或操作
grep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行
egrep '123|abc' filename // 用egrep同样可以实现
awk '/123|abc/' filename // awk 的实现方式
2). 与操作
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
3). 其他操作
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行
参见:http://find11.blog.163.com/blog/static/68162432011111233330578/
linux 常用命令总结(一)的更多相关文章
- Linux常用命令(一)
Linux常用命令 1. pwd查看当前路径(Print Working Directory) [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...
- linux常用命令的介绍
本文主要介绍Linux常用命令工具,比如用户创建,删除,文件管理,常见的网络命令等 如何创建账号: 1. 创建用户 useradd -m username -m 表示会在/home 路径下添加创建用户 ...
- linux——常用命令与脚本
linux常用命令 --文件管理pwd --查看当前目录cd --切换当前目录ls --列出当前目录下的所有文件touch --创建文件mkdir --建立目录rmdir --删除空目录rm --删除 ...
- DOS 和 Linux 常用命令的对比
DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...
- 第一章,Linux常用命令
20161124 Linux常用命令1.find find /etc/ -size +50k -lsfind /etc/ -size +50k -ls 2> /dev/null查看目录下大于50 ...
- linux 常用命令大全
linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...
- Linux 常用命令行
Linux常用命令行 第一部分: cd命令 第二部分:文件操作 第三部分:压缩包操作
- [工作需求]linux常用命令以及vim常用命令
一. Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...
- 对于我的linux常用命令的说明
我所列出的linux常用命令中的选项并不是全部的选项,是一些我们经常用到的linux命令及选项
- Linux 常用命令笔记
Linux 常用命令笔记 1. locate locate:用来定位文件的位置,如:locate a.txt 但是这个命令有延迟,也就是新建的文件不一定能搜索到,如果非要找到新建的文件可以使用 upd ...
随机推荐
- 关于android定位的坐标系问题
按照正常的思路,我们通过GPS或者基站定位等方式获取到经纬度信息后,把它放到地图上,就能够完成定位.但实际上,我们很有可能会在实际操作中发现,我们的定位出现了较大的偏移.这是因为我国出于国家安全(或者 ...
- 如何在CLI命令行下运行PHP脚本,同时向PHP脚本传递参数?
<?php/* //命令行输入输出流fwrite(STDOUT,"Enter your name:"); $name = trim(fgets(STDOUT)); fwrit ...
- sql语句如何删除最后一条和第一条信息
这是先前建好的SQL数据库中的test表, sql语句: delete a from test a,(select max(id) id from test) b where a.id = b.id ...
- PyQt4网格布局
最通用的布局类别是网格布局(QGridLayout).该布局方式将窗口空间划分为许多行和列.要创建该布局方式,我们需要使用QGridLayout类. #!/usr/bin/python # -*- c ...
- eclipse的.properties文件中文显示问题
eclipse的.properties文件,默认的编码方式是iso-8859-1. 所以中文显示有问题. 按照下面的方式,把Default Encoding修改成UTF-8就可以了.
- poj_2286 线段树
题目大意 在墙上贴海报,墙壁是由一排连续的瓷砖铺成,海报贴在墙壁上必须占据连续的几块瓷砖,海报可以互相覆盖,问最后可以看见几张海报(未被完全覆盖). 题目分析 墙壁是由连续的一个区间构成,每个海报占据 ...
- redis未授权访问漏洞那拿SHELL
一.什么是redis未授权访问漏洞: 1.redis是一种文档型数据库,快速高效,存储在内存中,定期才会写磁盘.主要用于快速缓存,数据转存处理等.默认redis开在6379端口,可以直接访问.并不需要 ...
- object.prototype.call
object.prototype.call /* * object.prototype.call * @ 当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其它对象的方法 ...
- c# SQL Server数据库操作-管理命令参数的类:SqlParameter
使用SqlCommand类来执行Transact-SQL语句或存储过程时,有时需要用参数传值或作为返回值,SqlParameter类正是为了此需要而设计的类.下面介绍如何使用该类为SqlCommand ...
- MyBatis DAO层传递参数到mapping.xml 几种方式
Dao层传递参数到mapping.xml文件的几种方式:(Mybatis传值总结) 第一种:传递单个参数 Dao层Code片段: /** * 根据articleId查询XXXX详情. * * @par ...