zoukankan      html  css  js  c++  java
  • linux 基础储备

    ls命令是Linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件,下面我们就来一起看看ls的用法
    ls /home 这个命令不但可以添加用户到系统,而且可以默认为新用户创建home目录


    linux 是一个可以实现多用户登录的操作系统,但是由于Linux的用户管理和 权限机制,不同用户不可以轻易地查看、修改彼此的文件。

    在Linux系统中,root拥有至高无上的权利,比如添加/删除用户

    su <user> 可以切换到用户 user,执行时需要输入目标用户的密码,sudo <cmd> 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。su - <user> 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。
    su -l lilei

    在Linux中每个用户都有一个归属(用户组),用户组简单的理解就是一组用户的集合,它们共享一些资源和权限。 但是分别也有自己私有的权限。
    groups user//在Linux中知道自己属于那个用户组的,出来结果冒号之前表示用户,冒号之后表示用户所在的用户组

    cat命令用于读取指定文件的内容并打印到终端输出。 |sort表示可以将读取的文 本做一个字典排序然后输出。

    将其他用户加入sudo用户组,从而获得root权限
    su -l lilei
    sudo ls
    会提示lilei不在sudoers文件中,意思就是lilei不在sudo用户组中,至于
    sudoers文件中,暂时先不要动

    使用 usermod 命令可以为用户添加用户组,同样使用该命令你必需有 root 权限,你可以直接使用 root 用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用 sudo 命令获取权限来执行该命令。

    这里我用 shiyanlou 用户执行 sudo 命令将 lilei 添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限:
    $ su shiyanlou
    $ groups lilei
    $ sudo usermod -G sudo lilei
    $ groups lilei

    假设目前是以lilei的用户登录,新建一个文件叫做iphone6
    touch iphone6
    cd /home/lilei
    ls iphone6
    sudo chown shiyanlou iphone6//强制将下面文件所有者改为shiyanlou
    //chown是将指定文件的拥有者改为指定的用户或组

    如果你有一个自己的文件不想被其他用户读,写,执行,那么需要对文件的权限进行修改。
    chmod修改权限


    adduser 和 useradd 的区别是什么?
    答:useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。

    直接输入pwd,获取当前路径 home/guohaoyu

    获取路径如果cd后面加上 / 目录为起点的完整路径, 以你所要到的路径为 终点, 表现形式为/usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。


    新建空白文件
    创建名为test的空文件,因为在其他目录没有权限,所以需要先cd~,切换回用户的
    /home/shiyanlou目录:
    cd~
    touch test

    新建目录
    使用mkdir命令可以创建一个空目录,也可同时指定创建目录的权限属性;mkdir表示make directions
    mkdir mydir
    mkdir -p father/son/grandson //p表示parents,表示递归创建目录,就是显示多个目录的意思
    cd father/son/grandson
    pwd
    显示home/guohaoyu/father/son/grandson

    复制文件
    使用cp命令复制一个文件到指定目录/home/guohaoyu/father/son/grandson
    cp test father/son/grandson

    复制目录
    要成功复制目录需要加上-r参数,表示递归复制
    makedir family
    cp -r father family

    重命名文件
    mv 旧的文件吗 新的文件吗
    mv file1 file

    Linux中的环境变量与文件查找

    要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变量,所谓变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中。通常变量与值是一对一的关系,可以通过表达式读取它的值并赋值给其它变量,也可以直接指定数值赋值给任意变量。为了便于运算和处理,大部分的编程语言会区分变量的类型,用于分别记录数值、字符或者字符串等等数据类型。Shell 中的变量也基本如此,有不同类型(但不用专门指定类型名),可以参与运算,有作用域限定。

    环境变量的作用域比自定义变量的要大,如shell的环境变量作用于自身和它的子进程。每个进程都有各自的环境变量设置。

    有三个与上述三种环境变量相关的命令:set,env,export

    命 令说 明
    set 显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。
    env 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。
    export 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。

     关于 vim的使用:

    毕竟只是vim的初级用户,只是在很少的情况下才使用

    因为用的是mac,所以基本改的都是.bash_profile

    所以正常用vim打开 vim ~/.bash_profile

    然后要修改的话,就点一下i,代表insert 

    然后就修改呗

    最后esc退出修改

    在最后输入:wq保存并退出

    恩,我就用这些,有的以后再补充。。。

    有的时候open ~/.bash_profile更方便吧。。。

  • 相关阅读:
    FastApi 进阶
    flask为多个接口添加同一个拦截器的方法
    记一次flask上传文件返回200前端却504的问题
    Python在项目外更改项目内引用
    go mod 拉取私有仓库
    go跳出多层循环的几种方式
    Zap简单使用
    记一次Goroutine与wg导致的问题
    go判断字符串是否是IP地址
    SpringBoot的启动流程
  • 原文地址:https://www.cnblogs.com/guohaoyu110/p/7157832.html
Copyright © 2011-2022 走看看