Linux 命令

文件

          mkdir 建立文件夹

          rmdir 删除文件夹

          rm    删除文件 rm -f 强删 rm -r 删除子目录文件

重命名和文件移动

         mv name newname

   无法修改目录 给目录赋权限的一种方法

     mv file /ogsapp/tmp/lyn_duizhang 把文件或文件夹移动到后面目录中

   批量重命名 rename  0190190 19_0190190 *   0190190为统一的头 所有文件都一样 加上19_

解压

         .tar  tar -xvf 文件名

   压缩 tar -cvf 83_yy_11264.tar *20141104*.z.gz 按时间压缩

         .zip  unzip 文件名     gzip -d 文件名

         .sn  unipack -i 0790000GJYY0079000000201410231525013091.14.n.sn -o a.txt -d

         .gz  gunzip *.gz -f      gzip -d 文件名

#!/bin/bash -f
exec 2>/dev/null
ls -l $1/ |tr -d ''|awk '{print $9}' > c.txt
cat c.txt |while read LINE
do  
        len=`expr length $LINE` 
        len1=`expr $len - 3`;
        if [ ${LINE:$len1:$len} = ".sn" ];then
                cd $1/
                unipack -i $LINE -o ${LINE:0:len1} -d
                rm -f $LINE
                cd ..
        fi
        if [ ${LINE:$len1:$len} = ".gz" ];then
                cd $1/
                gzip -d $LINE
                cd ..
        fi
done
rm c.txt

      这是sn.sh 执行脚本 ./sn.sh 压缩文件的目录     会把压缩文件删了

上传 下载

         rz 上传 会弹出对话框 选择文件 传到当前目录

         sz 文件名 将当前目录下的文件名文件 下到CRT软件指定目录

         

ftp 命令

         put 当前路径下文件名 (put到另一侧的路径下) 

         get 要得到的文件名 (get的文件在另一侧的路径下)

      e.g. 132.35.288.11在/ogsapp/tmp 下 ftp 134.99.17.101 cd 到 /ogsapp/data/ 下 get文件名 就到          了132.35.288.11在/ogsapp/tmp 下,想进入132.35.288.11在/ogsapp/tmp目录下的其他目录 lcd命令 lcd weiguoyuan 就修改成/ogsapp/tmp/weiguoyuan

   批量获取文件    

    1.bin
    2.prompt
    3.mget *.gz

复制

        cp 文件名 到的文件夹的绝对路径

   cp -r * 文件名 到的文件夹的绝对路径    如果要复杂的文件含有文件夹

        cp ./*/文件名* 到的文件夹的绝对路径    要复制的文件在当前路径下的不同目录下

   cp a.c b.c 把 a.c 的内容 cp 到 b.c 中

     scp -r showlog@133.128.63.14:/ogsapp/data/org/19/in_data/201312/* ./    用scp命令取到当前文件夹

   scp ./ SMS1 ogsapp@133.128.63.14:/ogsapp/data/         用scp命令考到指定文件夹

查找

        find -name "文件名"

   find ./|wc  查看当前目录下文件数

   find . -name 'my*' -ls  查询当前目录下my开头的文件并显示

   find . -type f -mmin -10 搜索过去10分钟内更新的文件 (不加 -type f 目录也找)+10 代表11分钟及以外的文件 10代表10-11分钟的文件

   find / -perm +7000 -exec ls -l {} /; -exec 是将find的结果用于其他命令,;为-exec的结束符,由于;在bash中有其他含义 加/来转换意思,{}为find的结果

     locate name 定位含有name字符串的位置

   grep in *.c 查找  ls -l | grep in 

   grep 02443189581 *.txt |  grep 20140910103408|grep 20140910103420     多个条件并列查询

        find ./ -cmin -40 -name "*0190190GJSJ0019048600*"|xargs -i cp {} /ogsapp/tmp/lyn_duizhang/GPRS3112/yilun      查找40分钟以内文件

查看文件大小

       du -sm * | sort -n 查看文件大小并排序

退出 注销 关机

       exit layout shutdown

用户切换

       ctrl+alt+fn   n.....1,2,3 分别代表不同用户

启动图形界面

   startx -- :1~n n同上

查看文件

   more name  ls -la|more 分屏显示文件

      空格 下一页 回车 下一行  /字符串 在余下文档查找该字符串的位置  :f 显示文件名和所在行数 q 退出 b 向上翻页

   cat name 

   cat x1.c x2.c 以显示方式连接

   cat x1.c x2.c > x3.c 将x1 x2 连接存到x3中 >为重导符

   cat x1.c x2.c >> x3.c 追加x3.c 存在的话 将x1 x2 追加到 x3 后

   cat * > hebing.txt 合并文件到hebing.txt

赋权限 

   chmod 777 *   777代表 第一个7为u 用户文件拥有组 第二个7代表g同组用户 第三个代表o其他用户 * 目录下文件

                              ugo

            7 为 rwx 当rwx权限都有时为 111 即为7 只有读权限为100 为1

   chown -R will:will /usr/local/hadoop 修改目录包括目录下得文件目录的访问修改权限  修改/usr/local/hadoop will用户可访问修改

进程管理

   pl 显示进程

   ps name 显示进程

   kill name 杀进程

   pstree 查看进程树

用户管理 

  #下 useradd user1 添加用户

      passwd user1

      userdel user1

      userdel -r 连同用户目录都删

定时任务调度(定时器)

   crontab * * * * * *      * 分别代表分钟,小时,日期,月份,星期,调动的程序或命令

   crontab 0 */2 * * * /shin/service httpd restart     整点没2个小时 启动apache服务

通配符 

   

        

        

         cmd1;cmd2      1执行完 执行2   

         * 

   ? 代表一个字符

   -ls&&rm 第一个为真 验证第二个 都为真执行

   -ls||rm 第一个为真就执行 但只执行第一个

   -ls;rm 不管真假都执行

   ls | */* -1 |wc  查询 一月总文件数

 

   cd - 返回进入当前目录之前的目录 

移动文件

   mv */* ./    将目录下的子目录中所有的文件移动到现在目录下,如将该月下的1~31号的文件移动到该月下

建立软链接

 

         ln -s /ogsapp/tmp/weiguoyuan/114new/files/文件名 将该文件的软链接建立在当前目录下

     ln  建立硬连接

     ls -1|xargs -i ln -s /ogsapp/tmp/weiguoyuan/GGZNW/files/{} /ogsapp/data/rev/201312021528/{} 批量建立软链接 在文件所在目录下执行

查找文件并复制

   find ./|grep jf|grep 0190190GJDX00190477JF|xargs -i cp {} /ogsapp/tmp/weiguoyuan//target

显示当前目录

   pwd

   dd=`pwd`  不是单引号

     $pwd 去当前目录

字符串截取

    grep 

    grep "~1086" source.log 显示含有10086 的行

    grep -c "~1086" source.log 显示含有10086的行数

    cut -d '分隔符' -f 第几个分隔符  以分隔符截取 ps    /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games: 

                                                                           [root@www ~]# echo $PATH | cut -d ':' -f 5

                                                                          # 如同上面癿数字显示,我们是以『 : 』作为分隑,因此会出现 /usr/local/bin

        cut -c 位数数  已位数截取 ps 将 export 输出癿讯息,叏得第 12 字符以后癿所有字符串

                                               [root@www ~]# export
                                               declare -x HISTSIZE="1000"
                                              declare -x INPUTRC="/etc/inputrc"
                                              declare -x KDEDIR="/usr"
                                              declare -x LANG="zh_TW.big5"
                                              .....(其他省略).....
                                             # 注意看,每个数据都是排列整齐癿输出!如果我们丌想要『 declare -x 』时,
                                             # 就得这么做:
                                             [root@www ~]# export | cut -c 12-HISTSIZE="1000"
                                            INPUTRC="/etc/inputrc"
                                            KDEDIR="/usr"
                                            LANG="zh_TW.big5"
                                            .....(其他省略).....
                                           # 知道怎么回事了吧?用 -c 可以处理比较具有格式癿输出数据!
                                          # 我们还可以挃定某个范围癿值,例如第 12-20 癿字符,就是 cut -c 12-20 等

查看磁盘空间

       df

   df -h /目录查询目录空间

   du -h 查询当前目录下的空间

 查看进程

   ps -au

   pps

将进程放到后台执行

   ./run.sh &

     setsid  ./run.sh

   nohup /root/start.sh &

切换用户登录

        su - ogsapp 回车 密码

man 查看命令

   man 命令  q退出

                    

排序

                   sort 

计数

                   wc -l    行数

                   wc -w  字数(英文字母)

                   wc -m 字符数

替换文本中的内容

                 sed  行处理

                 nl source.txt|sed '2,5c NO'    将source.txt中2-5行替换成NO  nl为查看文本命令

                 nl source.txt|sed '2,5d'         删除2-5行

                 

                 

               awk 字段处理

                  [tstogshost07:showlog]/ogsapp/data/rev>last -n 5     取前5行

                  root pts/1 192.168.1.100 Tue Feb 10 11:21

                  root pts/1 192.168.1.100 Tue Feb 10 11:21

                  root pts/1 192.168.1.100 Tue Feb 10 11:21

                  root pts/1 192.168.1.100 Tue Feb 10 11:21

                  root tty1                         Fri  Sep 10 11:21

                  [tstogshost07:showlog]/ogsapp/data/rev>last -n 5|awk '{print $1 "\t" $3}'              

                  root 192.168.1.100 

                  root 192.168.1.100 

                  root 192.168.1.100

                  root 192.168.1.100 

                  root  Fri  

                  [tstogshost07:showlog]/ogsapp>cat /etc/passwd|awk 'BEGIN {FS=":"}$3<10{print $1 "\t" $3}'

                  root 0

                  showlog 1

      

      

      awk -F, '$4=="" {print}' a.txt 分隔符查找文件中分隔符第四列为空的记录

      awk -F, '$4=="" {print $5$6}' a.txt 输出5和6列

      awk -F, 'substr($0,189,3)=="376" {print substr($0,189,3)}' a.txt 截取定长的

         

 快捷键

            ctrl + z 暂停执行的进程 放入后台暂停

            ctrl + l 清屏

            ctrl + r 搜索所输入的命令历史

命令重命名 设置命令

           alias 可以在执行命令前 看看root用户将 命令设置成啥样了

一些常识

          在vi man中 / 可以查找 /+要查找的内容 

                       n 向下查找

                       N 向上查找

查看网络 

    ifconfig

   获得root权限

    sudo -su

    su root 

查找安装得工具

    rpm -qa | grep java

              

posted on 2013-09-11 16:16  weiguoyuan  阅读(359)  评论(0)    收藏  举报

导航