linux 常用命令总结(一)

1. 字符串常用命令:

    替换:

              1). %s/**/g 中,替换当前界面的所有符合规则的内容。

              2). 替换文件中的字符串内容:

                   find -name ‘要查找的文件名‘ | xargs perl -pi -e ‘s|被替换的字符串|替换后的字符串|g‘

              3). 替换多个文件夹中的字符串:

                   sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`

     统计:

               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键查找下一个。 

2. 文件处理常用命令:

     1). linux统计文件行数:wc [选项] 文件

     2). 清空正在运行的文件:

          cat /dev/null > 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                          // 计算当前目录下文件及文件夹大小,并排序。排序规则是按文件大小数字,不含单位。 

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 [email protected]:/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

 

 

 

 

 

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。