linux shell学习

来源:互联网 发布:redis mysql 性能对比 编辑:程序博客网 时间:2024/06/05 05:59

1、vi编辑器中替换

:g/aaaa/s//bbbb/g   把aaaa替换为bbbb  例如: :g/\"/s/\\\"/g  test.txt    把test.txt中的"全部替换为\"

2、替换当前目录中所有文件中的指定字符串

 sed -i "s/jack/tom/g" `grep "jack" -rl ./`

3、替换指定文件中的指定字符串

sed -i "s/jack/tom/g" test.txt

4、在文本中的每一行开头插入指定字符串

awk '{print "aaaa"$0}' filename

5、在文本中的每一行结尾插入指定字符串

awk '{print $0 "aaaa"}' filename

6、在文本中每一行的指定列插入字符串

awk '$O=$O" X"' urfile

7、df 查看文件系统位置及所占用的磁盘空间大小

8、du 查看当前文件夹的大小

du -h --max-depth=1   查看当前目录深度为1的文件夹占用空间大小

 [root@cps local]# du -h --max-depth=1
8.0K   ./etc
4.0K   ./lib64
3.9M   ./include
4.0K   ./sbin
96K    ./share
4.0K   ./games
2.1M   ./apr-util
3.5M   ./apache-maven-3.0.3
390M   ./jdk1.6
166G   ./tomcat2
137M   ./activeMQ
98M    ./redis
4.0K   ./libexec
357M   ./tomcat3
4.9M   ./lib
636K   ./libmcrypt
2.9M   ./apr
4.0K   ./cpsTemp
2.3G   ./tomcat-6.0
60M    ./bin
33M    ./apache2
4.0K   ./src
98M    ./jmeter
386M   ./loadrunner-11-load-generator
170G   .
9、mkdir

mkdir -p 递归创建目录

10、AWK正则表达式

‘+’:匹配一个或多个前面的字符,如awk '/cbd+abc/' filename  匹配以cbd开头,中间有一个或多个d,以abc结尾

‘?’:匹配零个或一个前面的字符,如awk '/abc?/' filename  匹配以abc开头,有一个或零个c

‘|’:表示或的意思,如awk '/abc | efg/' filename 匹配abc或efg的任意一个

‘()’:把字符组合到一起,如awk '/ab(ff)?(ee)+cd/' filename 匹配ab开头包含一个或零个ff并且包含一个或多个ee,以cd结尾

‘{m}’:匹配正好有m个前面的字符,如awk '/a{3}/' filename 匹配三个a

‘{m,}’:匹配至少有m个前面的字符,如awk '/a{2,}/' filename 匹配至少有两个a

‘{m,n}’:匹配至少m个、至多n个前面的字符,如awk '/a{3,5}/' filename 匹配至少3个a,最大5个a

[string]:匹配[]内的任意字符,如awk '/123[a-z]/' filename 匹配123后接任意字母

[^string]:^表示非的意思,匹配任意非[]内的字符,如awk '/123[^a-z]/' filename 匹配123非字母

‘~’和‘!~’:表示包含和包含,如awk '$1 ~ /n/' filename 匹配第一个字段包含n

‘^’:表示开头标识,如awk '$2 ~ /^n/' filename 匹配第二个字段以n开头

‘$’:表示结尾标识,如awk '$2 ~ /y$/' filename 匹配第二个字段以y结尾

‘.’ :匹配任一字符,如awk ‘/ab.d/’ filename 匹配ab中间为任一字符,d为结束

‘*’:匹配任意字符,如awk ‘/ab*d/’ filename 匹配ab中间位任意字符,d为结束

‘\’:转义字符,如awk ‘/a\/\//’ filename 匹配a//类型

11、grep

查找指定文件夹中的指定字符串:grep string -R filename

过滤结果中不显示指定行:grep -v ‘aaa\|bbb’      如ps aux|awk '{print $4"\t"$11}'|grep -v '0.0\|0.1'|sort -r

12、chkconfig

开机启动:chkconfig service-name on

开机关闭:chkconfig service-name off

13、查看端口对应的进程

方法一:netstat -lnp 

如:

[root@Oracle2 test]# netstat -lnp | grep 80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      13789/nginx         
tcp        0      0 0.0.0.0:28017               0.0.0.0:*                   LISTEN      4549/mongod         
tcp        0      0 :::8080                     :::*                        LISTEN      6095/java           
tcp        0      0 ::ffff:127.0.0.1:8020       :::*                        LISTEN      24041/java          
tcp        0      0 ::ffff:127.0.0.1:8059       :::*                        LISTEN      1111/java           
tcp        0      0 :::8060                     :::*                        LISTEN      1111/java           
tcp        0      0 :::8095                     :::*                        LISTEN      24041/java          
tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      6095/java           
tcp        0      0 :::8009                     :::*                        LISTEN      6095/java   

方法二:lsof -lnP 

[root@Oracle2 test]# lsof -lnP +M -i4 | grep 80
mongod     4549        0   10u  IPv4  4869056      0t0  TCP *:28017 (LISTEN)
sshd       5743        0    3u  IPv4 17680461      0t0  TCP 192.168.7.52:22->192.168.5.64:4663 (ESTABLISHED)
nginx     13789        0    6u  IPv4 14292522      0t0  TCP *:80 (LISTEN)
nginx     13790       99    6u  IPv4 14292522      0t0  TCP *:80 (LISTEN)

14、scp 

        * 命令格式: 
                scp local_file remote_username@remote_ip:remote_folder 
                或者 
                scp local_file remote_username@remote_ip:remote_file 
                或者 
                scp local_file remote_ip:remote_folder 
                或者 
                scp local_file remote_ip:remote_file 

                第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名; 
                第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名; 
        * 例子: 
                scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music 
                scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3 
                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music 
                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3 

* 复制目录: 
        * 命令格式: 
                scp -r local_folder remote_username@remote_ip:remote_folder 
                或者 
                scp -r local_folder remote_ip:remote_folder 

                第1个指定了用户名,命令执行后需要再输入密码; 
                第2个没有指定用户名,命令执行后需要输入用户名和密码; 
        * 例子: 
                scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/ 
                scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/ 

                上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录 

0 0
原创粉丝点击