美文网首页
2018-08-29 day13 Linux命令2

2018-08-29 day13 Linux命令2

作者: Kris_Shin | 来源:发表于2018-08-29 19:07 被阅读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  找指定级别的文件
    

    相关文章

      网友评论

          本文标题:2018-08-29 day13 Linux命令2

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