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

你可能感兴趣的:(Linux)