• Linux学习笔记


    Linux的命令

    一. 用户管理

    1.创建用户

    sudo adduser lilei

    使用命令 ll /etc 可以知道如下

    /etc/sudoers.d 目录下有文件shiyanlou,说明shiyanlou是在sudo用户组内的,说明sudo有root的权限

    /etc/sudoers 文件 不要乱动

    /etc/group 文件 有用户组的信息

     

    2.查看用户属于哪个用户组

    groups shiyanlou

    显示 shiyanlou : shiyanlou

    刚创建的用户,默认所属的用户组名和用户名一样

     

    3.查看用户组信息

    cat /etc/group | sort

    按照字典排序

    cat /etc/group | grep -E "shiyanlou"

    按照用户组名查看

    grep 命令用于查找文件里符合条件的字符串

    grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来

    每个用户组一条记录,格式如下

    group_name:password:GID:user_list

    比如查到shiyanlou

    shiyanlou : x : 5000;

    x表示密码不可见,当用户的GID等于用户组的GID,那么最后一个字段user_list就是空的,不会显示

    4.切换用户

    su - shiyanlou

    5.改用户密码

    sudo passwd shiyanlou

    6.将其他用户加入到sudo组

    sudo usermod -G sudo lilei

    7.删除用户

    sudo deluser lilei --remove-home

    使用--remove-home参数在删除用户时会将该用户的工作目录一并删除

    如果不使用,则会自动再/home目录下保留该用户的工作目录

    删除用户组里所有的用户后,才可以删除该用户组

    使用 sudo groupdel 用户组名

    二、文件管理

    文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作

    img

     

    img

     

     

    1.Linux里面一切皆文件

    • 文件类型

    正因为这一点,才有设备文件(/dev目录下有各种设备文件,大都跟具体的硬件设备相关)

    socket:网络套接字,具体后面讲

    pipe:管道,这个东西很重要,后面讲

    l:link 软链接文件:等同于Windows上的快捷方式,记住这点就够了

    • 文件权限

      读权限,表示你可以实用cat < file name> 之类的命令来读取某个文件的内容

      写权限,表示你可以编辑和修改某个文件的内容;

      执行权限,通常指可以运行的二进制程序文件或者脚本文件,如同 Windows 上的 exe 后缀的文件,不过 Linux 上不是通过文件后缀名来区分文件的类型

     

    你需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。

    所有者权限,这一点相信你应该明白了,至于所属用户组权限,是指你所在的用户组中的所有其它用户对于该文件的权限,比如,你有一个 iPad,那么这个用户组权限就决定了你的兄弟姐妹有没有权限使用它破坏它和占有它

     

    2.变更文件所有者

    sudo chown shiyanlou fileName

    然后查看目录所有者

    ll fileName

     

     

     

    3.vi vim常用操作

    vi vim

    yy 复制当前光标所在行

    5yy 复制当前光标所在行往下的5行

    p 将复制内容粘贴到光标所在行的下面

    dd 删除光标所在行

    3dd 删除光标所在行往下的3行

    wq 保存修改后退出

    q 未修改直接退出

    q! 不保存修改,强制退出

    /关键字 查出关键字,n切换这些关键字

    : set nu 显示文件的行号

    : set nonu 取消显示的行号

    gg 到达第一行

    G 到达最后一行

    普通模式下,数字+ shift+g 光标跳转到数字行处

    shutdown -h now 立即关机 = halt

    shutdown -h 1 1分钟后关机

    shutdown -r now 立即重启 = shutdown

    logout 注销,断开XShell这边与远程Linux的连接

     

     

    4.远程登录Linux和上传下载

    如果希望安装好XShell6可以远程访问Linux服务器的话,前提是Linux启用了SSHD服务,该服务会监听22号端口

    命令 setup

    root密码登录--系统服务--sshd.service前面必须有*号

     

    XShell实现远程访问Linux,Xftp实现上传下载

    注意: 网络一定要连接上

     

    5.Linux目录结构及文件基本操作

    img

     

    img

     

    1.文件常用的基本操作,包括:新建、复制、删除、移动文件与文件重命名、查看文件、查看文件类型、以及编辑文件

    创建空白文件

    touch 文件名

    新建目录 mkdir = make directories

    mkdir 目录名

    使用 -p 参数,同时创建父目录(如果不存在该父目录),这在安装软件,配置安装路径时非常有用

    mkdir -p father/son/grandson

    注意: 若当前目录存在一个test文件,再使用mkdir test 新建同名的目录,系统会报错文件已存在。这符合Linux一切皆文件的理念

    若当前目录存在一个mydir的目录,则touch mydir命令,会更改该目录的时间戳,而不是新建文件

    复制文件

    使用 cp 命令(copy)复制一个文件到指定目录

    将之前创建的 test 文件复制到 /home/shiyanlou/father/son/grandson 目录中

    cp test father/son/grandson

    复制目录

    mkdir family

    将之前的father目录复制到新建的family目录里

    cp -r father family

    删除文件

    使用rm (remove files or directories)命令删除一个文件

    rm test

    有时候会遇到想要删除一些为只读权限的文件,直接使用rm删除会显示一个提示,你如果想忽略这个提示,直接删除文件,可以使用

    -f 参数强制删除:

    rm -f test

    删除目录

    跟复制目录一样,要删除一个目录,也需要加上 -r 参数

    rm -r family

    遇到权限不足删除不了的目录也可以和删除文件一样加上 -f 参数

    rm -rf family

     

    移动文件

    使用mv(move or rename files)命令移动文件(剪切)。

    命令格式是 mv 源目录文件 目的目录

    例如将文件 file1 移到到 documents目录

    mkdir documents

    touch file1

    mv file1 documents

    重命名文件

    命名格式为 mv 旧的文件名 新的文件名

    例如将documents的 file1 重命名为 myfile

    cd documents

    ll

    mv file1 myfile

    ll

    批量重命名

    使用通配符创建5个文件

    touch file{1..5}.txt

    批量将这5个后缀为 .txt的文本文件 重命名为 以 .c为后缀的文件

    rename 's/ .txt / .c/' *.txt

    批量将这5个文件,文件名和后缀改为大写

    rename ‘y/ a-z / A-Z /’ *.c

    简单解释一下上面的命令,rename 是先使用第二个参数的通配符匹配所有后缀为 .txt 的文件,然后使用第一个参数提供的正则表达式将匹配的这些文件的 .txt 后缀替换为 .c,这一点在我们后面学习了 sed 命令后,相信你会更好地理解

     

    查看文件

    使用cat tac nl 命令查看文件

    前两个命令都是用来打印文件内容到标准输出(终端),其中cat 为正序显示, tac 为倒序显示

    标准输入输出:当我们执行一个 shell 命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘、标准输出文件(stdout)和标准错误输出文件(stderr),后两个文件都对应被重定向到终端的屏幕,以便我们能直接看到输出内容。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中

     

    比如拷贝/etc目录下的passwd文件到当前目录,并命名mypasswd

    cp /etc/passwd mypasswd

    cat mypasswd

    可以加上 -n 参数显示行号

     

     

  • 相关阅读:
    git命令参考
    Raft 简介
    关于 K8S 的几个问题
    Ubuntu中用普通方法无法添加自启动
    so编译 链接和加载
    GDB调试命令详解
    MinGW中的头文件路径
    GDB使用详解
    dlopen、dlsym和dlclose的使用
    Windows下配置VSCode使用mingww64的gcc、g++编译器和GDB调试器
  • 原文地址:https://www.cnblogs.com/zui-ai-java/p/13301813.html
Copyright © 2020-2023  润新知