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 ...
随机推荐
- Websphere停止服务不用输入账号密码
启用了安全性的WebSphere Application Server,在日常维护中经常在停止服务的时候需要输入用户名和密码.停止的方式如下:[root@was /]# /opt/IBM/WebSph ...
- Maven 环境变量设置
下载Maven 官方下载地址:http://maven.apache.org/download.html 选择你所希望下载的版本,并保存到常用安装目录.这里以Maven 3.2.2 (Binary z ...
- 优秀的PHP开发者是怎样炼成的?
4.在数据库中避免使用联合操作 比起其它的Web编程语言来说,PHP的数据库功能十分强大.但是在PHP中数据库的运行仍然是一件十分费时费力的事情,所以,作为一个Web程序员,要尽量减少数据库的查询操作 ...
- 测试sql语句性能,提高执行效率
为了让您的程序执行的效率更高,SQL的效率一定不可忽视. 现有以下方法去检测SQL的执行效率. 对于多表查询的效率测试: )直接from ,where方式. SET STATISTICS io ON ...
- poj_3630 trie树
题目大意 给定一系列电话号码,查看他们之间是否有i,j满足,号码i是号码j的前缀子串. 题目分析 典型的trie树结构.直接使用trie树即可.但是需要注意,若使用指针形式的trie树,则在大数据量下 ...
- java基础---->多线程之synchronized(六)
这里学习一下java多线程中的关于synchronized的用法.我来不及认真地年轻,待明白过来时,只能选择认真地老去. synchronized的简单实例 一. synchronized在方法上的使 ...
- VIM 插入
不知道有多少VIM新手和我当年(去年)一样,信誓旦旦的以为只有i可以插入 唉,现在想想都觉得可笑,都是Windows下的编辑器用多了的结果 鼠标一点,妈妈再也不用担心我的文本插入了……悲剧! 好了,让 ...
- spfile与pfile
SYS@ora11g>show parameter spfile NAME TYPE------------------------------------ ------------------ ...
- DFS判断正环
hdu1217 Arbitrage Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- postgresql----Gist索引
GiST的意思是通用的搜索树(Generalized Search Tree). 它是一种平衡树结构的访问方法,在系统中作为一个基本模版,可以使用它实现任意索引模式.B-trees, R-trees和 ...