zoukankan      html  css  js  c++  java
  • Linux基本操作

    Linux基本操作

     windows               linux
     c:cd                 $>cd            //进入目录
     c:dir                $>ls            //列出文件和目录 -h:人性化可读
     c:cls                $>clear     //清屏
    
     c:cd /?              $>cmd --help(-h)     //查看帮助
     c:cd /?              $>man cmd            //查看帮助
     c:cd /?              $>info cmd           //查看帮助
    
     c:>                  $>ls -al | more      // | 管道符,前面的输出作为后面的输入
                        //空格键是翻屏,q是退出(-a:列出隐藏的文件及目录,-l以长列表方式显示,-h:人性化可读)
    
                           $>whoami             //查询当前的用户
                           $>which              //查询课执行文件的地址 
                           $>echo  $PATH        //linux区分大小写
                           $>cd ~               //回到主目录
                           $>pwd       //显示当前目录
    
                           $>sudo passwd       //切换用户
                           $>su root       //切换用户
     c:>tree              $>find . | grep a     //
     c:>del  //删文件      $>rm -fR xxx          //递归强制删除目录(文件)
    
                           $>touch hello.txt           //创建空文件
                           $>echo helloworld > hello.txt     //覆盖模式
                           $>echo helloworld >> hello.txt    //追加模式
                           $>cat hello.txt                   //直接查看文件内容
     c:>                  $>cp hello.txt b/c/d            //将hello.txt复制到b/c/d/目录下
     c:>                  $>cp hello.txt b/c/d/wang.txt     //将hello.txt复制到b/c/d/目录下并命名wang.txt
     c:>                  $>cp -R xxx ../                   //拷贝文件夹
    
     c:>                  $>mv a aa                //统一目录下移动就是重命名
     c:>                  $>mv a ../aa                      //不同目录下是移动
     c:>                  $>head -n hello.txt               //显示开头n行
     c:>                  $>tail -n hello.txt               //显示末尾n行
     c:>                  $>hostname               //查看主机名
                           $>unname -a                       //查看系统的内核信息 -a(--all)
                           $>file wang.txt                   //查看文件类型
                           $>tar  -c -f -x -v                //归档和解档(-c:create  -f:文件名称  -v:verbose  -x:extract 从归档文件抽取,解档
                                   -z:通过gzip进行过滤)
                           $>tar  -tf                         //查看归档文件的内容
                           $>tar  -rf  mytat.tar              //追加文件到tar中
                           $>gzig -1 mytar.tar                //原地压缩,时间优先(-9:空间优先)
                           $>gzip -d mytar.tar.gz             //原地解压
                           $>gunzip mytar.tar.gz              //解压缩 == gzip -d mytar.tar.gz 
                           $>xargs                    //将管道的输出内容合并成一行数据,使用空格分隔
                           $>find . | grep txt | cp `xargs` kk             //``是按照命名执行(查找所有的txt文件并复制到kk文件夹中)
                           $>mount                //挂载外设
                           $>mount /dev/cdrom /mnt/cdrom      //挂载光驱到/mnt/cdrom下
                           $>umount  /dev/cdrom               //解除挂载
    
                           $>ps                                //查看进程
                           $>ps -Af                            //-A:所有进程 -f:所有格式
    
               对每行输出进行剪切处理
               $>cut -c 1-                         //显示1以及后面的所有字符
               $>cut -c -5                         //显示开始到5的所有字符
               $>cut -c 3-5                        //显示3-5的字符
    
               查看磁盘、分区信息
               $sudo fdisk -l /dev/sda             //查看sda磁盘
    
               $>df                       //查看磁盘空间使用情况disk free
               $>df    -ah                //人性化可读
    
               查看文件(夹)所在目录
               $>dirname /home/ubuntu              //输出/home
               $>dirname /home/ubuntu/how.txt      //输出/home/ubuntu
               $>dirname how.txt              //输出 .(当前目录)
    
               输出文件的基本名称(去除目录的部分)
               $>basename /home/ubuntu/how.txt     //输出how.txt
               $>basename /home/ubuntu/how.txt .txt        //输出how
    
               $echo $(hostname)          //类似于echo `hostname`,都是进行动态命令执行的
    
               $echo $evn_name            //输出环境变量
               $echo ${evn_name}          //输出环境变量
               $echo "$evn_name"           //输出环境变量
    
               $>export mypath=/home/ubuntu        //导入环境变量,只在当前会话中有效
               $>export mypath=${PATH:-$mypath}    //导入环境变量(三元运算符)
               $>export mypath=            //删除环境变量
               $>export help           //查看linux内置的命令  
    
               $>if commands ; then commands ;[elif commands ; then commands ;]... [else commands ;] fi
    
               $>jobs              //列出当前shell环境中已启动的任务状态,若未指
                                  定jobsid,则显示所有活动的任务状态信息;如果报告了一个任务的
                                  终止(即任务的状态被标记为Terminated)
               $>bg %n             //将进程搬到后台运行(Background)
               $>fg    %n              //将进程搬到前台运行(Foreground) 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93

    ctrl + alt + f6 开启新的会话

    sudo scp -r root@192.168.1.118:/root/server /home/wang/confs/log //从远程linux系统上复制文件到本机上(-r:递归复制) 
    nohup ./bin/elasticsearch & //在后台永久运行

    一、使用nano编辑器

    1.nano hello.txt
    2.ctrl + o     //保存
    3.ctrl + x     //退出
    4.ctrl + k     //剪切一行
    5.ctrl + u     //复制一行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    二、linux链接文件

      1.硬链接(hard link)
        两个完全相同的文件,占用2倍的磁盘空间。两者实时同步,删除一个文件,另一个不删除。
      2.符号链接(symbolic link)
        相当于快捷方式,不会占用过多的磁盘空间。
        如果源文件删掉,链接失效(不意味着删除,红色)
      3.创建链接方式
        $>ln hello.txt hello.txt.ln       //硬链接
        $ln -s hello.txt hello.txt.ln     //符号链接
      4.grep特殊字符需要转移
        $>ls -al | grep "->"             //过滤特殊字符
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    三、重启

    1.sudo reboot                   //重启
    2.sudo shutdown -P now      //关机,-P:关电源 -r:重启
    3.sudo halt -p                  //关机关电源
    
    • 1
    • 2
    • 3
    • 4

    四、linux内置变量的访问方式

    1.$?               //返回刚刚执行命令的结果,0表示成功执行,非零表示失败
    2.$#                            //获取参数的个数:rm -t bin   => $#=2
    3.$n				//获取第几个参数,$0表示命令本身
    4.$@               //获取所有采参数
    
    • 1
    • 2
    • 3
    • 4
    • 5

    五、命令组合

    1.a && b            //a执行成功后,再执行b命令
    2.a || b            //a执行失败后,执行b命令
    3.a ; b             //a执行后再执行b,无先后条件,可以切换目录
    4.(a ; b)           //同上,但不切换目录
    
    • 1
    • 2
    • 3
    • 4
    • 5

    六、NewCat

    TCP/IP:transfer control protocal,internet protoacl
    1.发送消息
      服务端:
      $>nc -l 8888 &       //在本机启动ServerSocket进程,&表示在后台运行,监听8888端口
      客户端:
      $>nc 192.168.1.123 8888  //启动客户端,链接到服务器端口8888
    2.传送文件(把hello.txt里的数据写到readme.txt中)
      服务端:
      nc -l 8888 > readme.txt       //重定向接受数据到文件
      客户端:
      nc 192.168.1.123 8888 < hello.txt //定向输入
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    七、命令前后台执行切换

    1.启动命令时直接放到后台
      $>nc -l 8888 &
    2.将当前进程暂停并放入后台,变成作业(job)了
      ctrl + z
      $>jobs               //查看后台运行的所有作业
    3.将后台job激活,并放在后台运行
      $>bg %jobid              //
    4.将后台作业切换到前台运行
      $>fg %jobid
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    八、文件和权限

    1.文件类型
      d:目录
      -:文件
      b:block
      l:link
    2.权限
      user(owner)       //主人
      group         //组,linux用户隶属于组,可以隶属于多个组,但是只能够隶属于一个primary group,
                  可以隶属于多个secondary group    
      other         //其他人
      all           //user+group+other  => ugo
    3.控制权限
      r:read
      w:write
      x:execute
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    九、修改文件权限

    1.$chmod ugo+-=rwx hello.txt       //一般用=
    2.$chmod a+-=rwx hello.txt
    3.$chmod 777/755(等) hello.txt      //777  => rwxrwxrwx,755 => rwxr-xr-x
    
    • 1
    • 2
    • 3
    • 4

    十、增减新用户

    1.useradd
      是底层添加用户的命令,推荐用adduser添加用户
    2.adduser
      $>adduser --home /home/ubuntu2 --gid 1000 ubuntu2    //将ubuntu2添加到ubuntu用户组(用户组id是1000)下
    3.deluser
      $deluser --remove-home ubuntu2       //删除用户和其主目录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    十一、apt

    advanced package toolkit   高级包管理工具
    1.apt-get 
      update        //更新软件包列表
      upgrade       //升级
      install       //安装
      remove        //删除
      purge         //删除软件和配置文件
    2.apt-cache
      $apt-cache search jdk
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    ssh安装: sudo apt-get install openssh-server

  • 相关阅读:
    06springmvc文件上传
    07springmvc文件下载
    05springmvc-json-ajax使用
    04springmvc请路径参数
    03springmvc项目使用静态资源
    02springmvc注解入门
    springmvc入门
    20mybatis集成jndi
    19mybatis集成dbcp
    怎样用hibernate验证登陆界面的用户名和密码
  • 原文地址:https://www.cnblogs.com/cxsabc/p/10627611.html
Copyright © 2011-2022 走看看