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 ...
随机推荐
- VS2015编译TIFF3.8.0源码
没有CMakeLists.txt,不能使用CMake GUI了.源文件中有makefile.vc,所以使用nmake 进入VS2015命令行 nmake -f makefile.vc 修改nmake. ...
- MQTT的学习研究(二)moquette-mqtt 的使用之mqtt broker的启动
在MQTT 官网 (http://mqtt.org/software)中有众多MQTT的实现方式.具体参看官网,Moquette是基于Apache Mina 的模型的一个Java MQTT broke ...
- struts2漏洞原理
一.struts2简介: 目前web框架中非常流行的都是mvc设计模式.经典例子例如:python的Django.Flask:java的ssm等.因为使用MVC设计模式,所以在框架内部处理用户数据流参 ...
- Egret置于后台时,暂停游戏逻辑 (Egret 5 )
官网教程-生命周期:http://developer.egret.com/cn/2d/lifecycle 主要是在游戏置于后台时,关闭游戏逻辑.渲染逻辑和背景音乐,保证更好的用户体验. 一 Egret ...
- Egret打包App 修改App名称和图标 (Egret4.1.0)
图标替换位置在项目res下的drawable这些目录下,用新图标覆盖即可. 这里我用白色图片替换了白鹭默认的图片ic_launcher.png 修改App名字,在res->value->s ...
- Cookie的介绍及使用
咱们不搞一开始就一大堆理论知识介绍,怕把人讲懵了...... 咱们换一个思维方式——"从现象看本质",先说说我们看到了什么,再从看到的现象中提出问题,最后深入寻找答案. 我们看到的 ...
- 您需要安装旧 Java SE 6 运行环境才能打开“Eclipse”。
mac删除jdk: sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk 旧版本sdk地址: http://www.oracle. ...
- Mysql limit offset用法举例
转自:http://blog.csdn.net/iastro/article/details/53037600 Mysql limit offset示例 例1,假设数据库表student存在13条数据 ...
- BFS+状态压缩DP+二分枚举+TSP
http://acm.hdu.edu.cn/showproblem.php?pid=3681 Prison Break Time Limit: 5000/2000 MS (Java/Others) ...
- SQL中distinct的用法(转载)
1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 ...