美文网首页
day33-linux指令2

day33-linux指令2

作者: 七一欧 | 来源:发表于2018-08-29 17:21 被阅读0次

    1、vi

        字符串查找(常用)
            :/要查找的字符串   敲enter开始查找  n代表下一个  N代表上一个
                从上往下找
            ?/要查找的字符串   敲enter开始查找  n代表下一个  N代表上一个
                从下往上找
        字符串替换
            光标所在行
                :s/孤单/幸福   将光标所在行的第一个孤单替换为幸福
                :s/孤单/幸福/g   将光标所在行的所有孤单替换为幸福
            指定行
                :n,ms/孤单/幸福  将n到m行第一个孤单替换为幸福
                :n,ms/孤单/幸福/g  将n到m行所有孤单替换为幸福
            所有行
                :%s/孤单/幸福
                :%s/孤单/幸福/g
        vi打开快捷到某行
            vi lala.txt +n    打开文件默认到第n行行首
            vi lala.txt +     打开文件默认到尾行行首
        vi的配置文件
            .vimrc   如果想用vi来写python代码,搞一个配置文件
            vi ~/.vimrc
        vi的常见错误
            非法编辑退出vi的时候,会产生一个 .2.txt.swp 的一个交换文件,只要有这个文件存在, 那么打开这个文件的时候就会有提示,不想要这个提示,删除这个文件即可   
            rm -f .2.txt.swp
            vi -r 2.txt   恢复到上次编辑的内容
    

    2、文件相关指令

        文件和文件夹的相关指令,创建、删除、拷贝、移动、查看
        创建:
            文件:  vi 文件路径      touch 文件路径
            文件夹: mkdir 目录路径   创建指定的目录
                mkdir -p dudu/haha/xixi   递归创建目录
        删除
            文件: rm 文件路径     rm -f 文件路径   强制删除
            一般都不删除文件,一般都是备份一下,编辑新的文件
            通配符:*
            rm -f *.txt   删除所有txt文件
            rm -f *       删除所有文件
    
            目录:rmdir 目录路径    只能删除空目录
                rm -rf 目录路径    删除目录
        拷贝
            cp 源文件路径 目标文件路径
                拷贝文件的时候可以修改名字
            cp -r 源文件夹 目标文件夹
                拷贝文件夹的时候可以修改
                cp -r lihong jielun/       使用原来的名字
                cp -r lihong jielun/hong   修改名字
        移动
            mv 源文件路径 目标文件路径
                移动的时候可以修改文件名字
                移动文件夹不用加 -r 参数
        查看文件
            vi就能查看
            cat 文件名   
                -n 显示行号
            tac 文件名   倒着查看
            head 文件名   默认查看文件前十行
                -5  查看文件前五行  
            tail 文件名   默认查看文件后十行
                -5 查看文件后五行
            more 文件名
                enter : 往下走一行
                空格 : 往下走一页
                不能向上看,按q退出
            less 文件名
                enter : 往下走一行
                空格 : 往下走一页
                按q退出
                pageup   上翻页
                pagedown 下翻页
                /要查找的字符     也可与查找
    

    3、文件系统

        文件系统就是文件管理系统的简称,不同的文件系统存储和读取数据的方式都不一样,就会导致同样的东西,不同的文件系统来存,存的大小不一样
        apfs:苹果手机的格式
        常见的文件系统格式
        windows:
            fat
                fat16  已经淘汰
                fat32  经常使用,尤其在u盘领域
                fat64  (exfat)  在windows和mac都可以直接读写
            ntfs
                windows的默认系统格式
        linux:
            ext
            ext2
            ext3
            ext4  目前是这个格式  不能读写ntfs,如果要读写,安装其他软件
        mac:
            hfs
            hfs+  不能写入ntfs,如果想要写入,需要安装插件,该插件收费
    

    4、用户和组

        linux是一个多用户多组的操作系统
        一个用户能否属于多个组  yes
        一个组能否拥有多个用户  yes
        一个用户至少必须属于一个组,一个用户必须拥有自己的主组,其他组称之为附加组
        用户创建
            useradd bajie
            创建成功之后会留下记录,  tail /etc/passwd
            创建一个用户的同时,会给当前用户创建一个名字一模一样的组作为该用户的主组
            给用户添加密码
                passwd 用户名
                这个操作只能在root去给某个普通用户设置密码,在普通用户下只能给自己修改密码,不能设置其他普通用户密码
            -d : 创建用户的时候指定家目录,不指定会在home下面创建一个和用户名一模一样的目录,一般不指定
            -g : 指定主组,如果不指定,默认创建一个和用户名一模一样的组作为主组
            -G : 指定附加组
            -u :指定用户id    一般都不用
        用户修改
            usermod
            -g : 修改主组
                usermod -g 501 bajie   修改bajie主组
            -l : 修改用户名
                usermod -l wuneng bajie   将bajie用户名修改为wuneng
            -u : 修改用户id
                usermod -u 505 wuneng   将wuneng用户id修改为505
            -d : 修改家目录
                usermod -d /home/lala wuneng   不用
        用户删除
            userdel
                userdel 用户名     只删除文件中的记录
                userdel -r 用户名  将家目录一并删除
                如果操作不规范,家目录也可手动干掉
        用户切换
            centos里面
            su 用户名
            从root切换到普通不用密码
            从普通切换到root,需要输入root的密码,通过exit返回上一个用户
            这里面不能sudo,因为不支持,如果要支持,需要相关配置
    
            Ubuntu里面
            不允许root直接登录,需要配置才可以。
            用普通用户登录。  sudo 指令,提示输入密码,这个密码是当前用户的密码
        
        组创建
            查看当前组,  tail /etc/group
            groupadd 组名
            -g : 可以指定组id
        删除组
            groupdel 组名
            【注】如果一个组是主组的话,这个组删不掉
            【注】如果一个组是一个用户的主组,并且仅仅是这个用户的主组,而且组名和用户名相同,那么在删除用户的同时,该组也就删除了
        修改组
            groupmod
            -g : 修改组的id号    groupmod -g 513 dudu
            -n : 修改组名        groupmod -n xixi dudu
    

    5、文件权限

        权限什么意思?系统中,文件的权限都有哪些?读、写、执行
        读:read   r   写:write   w    执行:execute  x
        如果写一个-代表没有这个权限
        权限表示
        rwx     111     7   
        rw-     110     6
        r-x     101     5
        r--     100     4
        -wx     011     3
        -w-     010     2
        --x     001     1
        ---     000     0
    
        rwx             r-x             r-x
        所属用户权限     组内用户权限     组外用户权限
        权限表示法:0755   0777   0644
    
        修改权限修改组的指令不是乱用的,需要root用户的权限才能修改,Ubuntu下需要使用sudo,centos需要切换root执行
        修改权限:chmod
            格式  chmod 权限 文件路径
            chmod 755 1.txt
            chmod g+w,g-x 1.txt
                u : 修改所属用户
                g : 修改组内用户
                o : 修改组外用户
            目录权限修改
                chmod 777 目录路径    只修改该目录的权限
                chmod -R 777 目录路径   递归修改目录里面所有文件的权限
        修改用户:chown
            chown 用户名 文件路径         只修改用户名
            chown 用户名:组名 文件路径     用户和组都修改
            chown :组名 文件路径          只修改组名
            chown -R 用户名:组名 目录路径             递归修改目录里面所有文件的用户和组
        修改组:chgrp
            chgrp 组名 文件路径
            chgrp -R 组名 目录路径      递归修改
        umask
            是什么?
            系统创建文件默认权限是  644
            系统创建目录默认权限是  755
            目录默认比文件多了一个可执行权限,对目录来说,可执行就是打开目录
            umask就决定了文件和目录的默认权限
                0777-0022 = 0755  这就是默认权限,文件都少可执行权限
            指定umask进行修改,将umask指定为0011
                0777-0011 = 0766(目录)  0666(文件)
    

    6、文件搜索

        find
        用法如下:
        find   在哪找   怎么找   找什么
        在哪找:就是一个路径,默认是当前路径
        怎么找:按照名字、大小、用户,其实就是参数
            -name : 按照名字找
            -size : 按照大小找
            -user : 按照用户找
            -group : 按照组找
            -maxdepth : 查找最大目录级别
            -mindepth : 查找最小目录级别
        找什么:1.mp3  *.txt
    
        find / -name dudu.py
        find / -size 10k     等于10k的文件 
                    +10k     大于10k的文件
                    -10k     小于10k的文件
        find / *.txt -user liuyan
        find / -maxdepth 3 -mindepth 2 -name *.txt  找指定级别的文件
    

    相关文章

      网友评论

          本文标题:day33-linux指令2

          本文链接:https://www.haomeiwen.com/subject/wfukwftx.html