zoukankan      html  css  js  c++  java
  • 【ZZ】Linux常用指令

    linux常用指令 - 个人文章 - SegmentFault 思否

    https://segmentfault.com/a/1190000011068772


    1. 查看目录下有什么文件信息

      ls //list查看当前目录下有什么文件
      ls -lls ll //list -list 通过详细内容形式查看目录下的文件内容
      ls 目录 //查看指定目录下文件名字信息
      ls -l 目录 //以详细列表形式查看指定目录下文件名字信息
      ls -a //list all 查看全部文件,包括隐藏文件
      ls -al //list list all 以详细列表形式查看全部文件,包括隐藏文件
      ls -i //查看目录下文件名字的索引号码

    2. 目录切换

      cd 目录名字
      cd.. //向上级目录切换
      cd~ //快速切换回自己的家目录

    3. 查看当前操作位置

      pwd

    4. 查看操作者信息(是谁在操作系统)

      whoami

    5. 不同用户间的切换

      su - //切换为root用户
      su - root //效果同上
      su 普通用户名称 //向普通用户切换
      exit //当前用户退回到之前用户

      su多次使用,用户会“累加”,建议“su” 和 “exit”匹配使用

    6. 图形模式与命令模式进行切换

      init 3 //图形 向 命令模式切换
      init 5 //命令 向 图形模式切换

    7. 查看指令对应的可以执行程序文件位置

      which 指令

    8. 目录操作
      1)创建目录 make directory

      mkdir newdir
      mkdir -p newdir/newdir/newdir //递归方式创建多级目录
      newdir新目录多于1个层次(2/3/4等)就设置-p参数,如果就一个新的目录则无需-p参数
      mkdir dir/newdir
      mkdir dir/dir/newdir
      mkdir -p dir/newdir/newdir

      2) 移动(改名字)目录 move
      (目录/文件 都可以操作)

      mv dir1 dir2 //dir1移动到dir2目录下,并给改名字为"原名"
      mv dir1 dir2/newdir //dir1移动到dir2目录下,并给改名字为newdir
      mv dir1/dir2 dir3/dir4 //dir2移动到dir4目录下,并给改名字为"原名"
      mv dir1/dir2 dir3/dir4/newdir //dir2移动到dir4目录下,并给改名字为 newdir
      mv dir1/dir2 ./ //dir2移动到 当前 目录下,并给改名字为"原名"
      mv dir1/dir2 ./newdir //dir2移动到 当前 目录下,并给改名字为newdir

      3) 复制(改名字)目录 copy
      (目录/文件 都可以操作)
      ① 复制普通文件

      cp file1 dir1 //file1被复制到dir1目录下一份,并给改名字为“原名”
      cp file1 dir1/newfile //file1被复制到dir1目录下一份,并给改名字为newfile

      ② 复制目录 -r参数要求
      //recursive递归方式拷贝目录

      cp -r dir1 dir2 //dir1被复制到dir2目录下一份,并给改名字为“原名”
      cp -r dir1 dir2/newdir //dir1被复制到dir2目录下一份,并给改名字为newdir
      cp -r dir1/dir2/dir3 dir4/dir5 //dir3被复制到dir5目录下一份,并给改名字为"原名"

      4) 删除 remove

      rm filename //普通文件删除
      rm -r dir //删除目录[无视层次]需要-r参数
      rm -rf 文件 //recursive force 递归强制删除文件,force 避免删除隐藏文件的提示
      rm -rf / //递归强制方式删除系统里边的全部内容

    9. 文件操作
      1) 查看文件内容

      cat filename //在终端显示文件全部内容
      more filename //通过"敲回车"方式从第一行逐行查看文件内容,不支持回看,q键退出查看
      less filename //"上下左右"键方式查看文件各个部分内容,支持回看,q键退出查看
      head -n filename //查看文件“前n行”内容
      tail -n filename //查看文件“末尾n行”内容
      wc filename //计算文件行数

      2) 创建文件

      touch filename 
      touch dir/filename

      3) 追加内容(文件不存在会“自动”创建)

      echo 内容 > filename //给文件“覆盖写”方式追加内容
      echo 内容 >> filename //给文件纯追加内容

    10. 用户操作
      user,配置文件/etc/passwd
      1) 创建 add

      useradd username //创建用户会同时创建同名组
      useradd -g 组编号 username //创建用户的同时设置组别
      useradd -g 组编号 -u 用户编号 -d 家目录 username //创建用户同时,指定组别、用户编号、家目录
      2) 修改 modify
      usermod -g gid username //修改组别是常见操作
      usermod -g gid -u uid -d 家目录 -l newname username//修改组别、用户编号、家目录、名字

      注意:家目录修改后需要手动创建,不同于创建用户家目录设置

       创建用户时设置家目录,该目录会自动创建
       修改用户家目录时,该目录不会自动创建(需要手动创建)
      

      3) 删除 delete

      userdel username //删除用户(删除passwd文件对应信息),此时其家目录需要手动删除
      userdel -r username //删除用户的同时也删除其“家目录”

    11. 组别操作
      group, 配置文件/etc/group
      1) 创建 add

      groupadd groupname

      2) 修改 modify

      groupmod -g gid -n newname groupname

      3) 删除 delete

      groupdel 组名

      //注意:只有空组(内部没有用户信息)才允许删除

    12. vi编辑器使用
      1) 命令模式-->编辑模式切换(插入/Insert)

      a "光标" 向后移动一位
      i "光标" 和 "内容" 没有变化
      o "新"起一个空白行
      s "删除"光标所在字符

      2) 尾行模式作用

      :q quit退出编辑器
      :wq write quit 保存并退出
      :w write 保存
      :q! 强制退出(不要保存)
      :w! 强制写保存
      :wq! 强制保存退出

      :set number 或 set nu //给编辑器设置行号
      :set nonumber 或 set nonu //取消行号设置

      :数字 光标跳转到数字所在行
      :/内容/ 或 /内容 //内容查找,小写n(next)下一个,大写N(next)上一个

      :s/cont1/cont2/ //把光标所在行的"第一个"cont1替换为cont2
      :s/cont1/cont2/g //把光标"所在行"的全部cont1替换为cont2
      :%s/cont1/cont2/g //把"整个文档"中的全部cont1替换为cont2

    3) 命令模式操作
        ① 光标移动
        a. 字符级
            上(k)  下(j)  左(h)  右(l) 键
        b. 单词级
            `w`  word下个单词首字母
            `e`  end下(本)个单词尾字母
            `b`  before上(本)个单词首字母
        c. 行级
            `$` 行尾
            `0` 行首
        d. 段落级(两部分内容中间有空行,彼此成为段落)
            `{`  上(本)个段落首部
            `}`  下(本)个段落尾部
        e. 屏幕级(不给翻屏)
            `H`  屏幕首部
            `L`  屏幕尾部
        f. 文档级
            `G`   文档尾行
            `1G`  文档第一行
            `nG`  文档第n行
    
        ② 内容删除
            `dd`      删除光标所在行
            `n+dd`    包括当前行在内向下删除n行内容
            `x`       字符级删除,删除光标所在字符
            `cw`      光标所在字符删除至单词结尾(是删除单词的便捷方式)
                    同时会进入编辑模式
        
        ③ 内容复制
            `yy`      复制光标所在行
            `n+yy`    包括当前行在内向下复制n行内容
            `p`       对复制(删除)好的内容进行粘贴操作
        
        ④ 便捷操作
            `u`       undo撤销,从文件打开后的所有操作都可以撤销
            `r`       对单词字符进行替换
            `.`       重复执行"最近"的一条指令
            `J`       合并上下两行
    
    1. 权限设置
      1) "字母相对方式"设置权限
      权限: r读 w写 x执行
      用户: u主人 g同组 o其他组
      chmod u+/-rwx, g+/-rwx, o+/-rwx 文件

      不同用户通过",逗号"分隔
      在同一个用户里边,+/-只能用“一个”
      "rwx"在同一个用户里边可以设置一个或多个
      "ugo" 每次权限操作可以设置一个或多个用户
      

      chmod u+rw filename //主人增加读、写
      chmod g-rx filename //同组删除读、执行
      chmod u-w,g+x filename //主人删除写,同组增加执行
      chmod o+w,o-x filename //其他组用户“增加写、删除执行”

      2) "数字绝对方式" 设置权限
      读:4 写:2 执行:1
      权限类型:
      0: 没有权限
      1: 执行
      2: 写
      3: 写、执行
      4: 读
      5: 读、执行
      6: 读、写
      7: 读、写、执行

      chmod ABC filename //ABC分别代表主人、同组、其他组用户权限
      chmod 764 filename //主人读、写、执行, 同组读、写, 其他读
      chmod 777 filename //满贯权限
      chmod 000 filename //所有用户没有任何权限

      字母和数字方式取舍:
      权限修改的比较"少",就使用字母方式
      权限修改的比较"多",就使用数字方式

    2. 在文件中查找指定内容
      grep 内容 (绝对/相对路径)目标文件

      grep sbin /etc/passwd //在passwd文件中查找sbin字样,会把sbin所在行的内容都输出

    3. 查看文件占据磁盘空间大小
      du -h 文件/目录

      du -h 文件名称 //以k M的形式查看文件占据磁盘空间大小

    4. 文件查找
      find 现值查找目录 选项 选项值 选项 选项值....
      具体选项:
      ① name 根据文件名字查找指定的文件
      find 目录 -name 完整文件名称

      find / -name passwd[完整名称] //"递归遍历"系统全部目录查找名字等于passwd的文件 
      find /etc -name passwd[完整名称] //递归遍历/etc及内部所有目录查找 名字等于passwd的文件

      find 目录 -name "an*"[部分名称] //模糊查找文件名字以an开始的

      ② 对查找的目录层次进行限制
      -maxdepth 限制查找的最"深"层次
      -mindepth 限制查找的最"浅"层次

      find / -name passwd -mindepth 3 -maxdepth 4 //在3到4个层次的目录里边定位passwd文件

      ③ 根据文件大小进行查找
      size 单位

      find ./ -size 50c //在当前目录下查找大小[等于]50个字节的文件

      单位:

      数量         单位      实际大小
      100 -------> 512字节:【100*512字节】
      50c -------> 字节 :   【50字节】
      50k -------> 千字节: 【50*1024字节】
      50M -------> 兆字节    【50*1024*1024字节】

      find ./ -size +50c //在当前目录下查找大小[大于]50个字节的文件
      find ./ -size -50c //在当前目录下查找大小[小于]50个字节的文件

    5. 开关机指令

      reboot //重启
      poweroff //关机

  • 相关阅读:
    codeforces 132C Logo Turtle(dp)
    LCIS 最长公共上升子序列
    欧拉函数与欧拉定理
    HDU 5592 ZYB's Premutation(树状数组+二分)
    HDU 4294 Multiple(搜索+数学)
    1080 Graduate Admission (30分)(排序)
    1078 Hashing (25分)(欧拉筛素数打表 + hash平方探测)
    1074 Reversing Linked List (25分)(链表区间反转)
    1099 Build A Binary Search Tree (30分)(BST的层序或者中序遍历建树,层序便利输出树)
    1068 Find More Coins (30分)(记忆化搜索 || dp)
  • 原文地址:https://www.cnblogs.com/pegasus923/p/8674197.html
Copyright © 2011-2022 走看看