• Linux 命令学习


    Linux主要目录:

    /:根目录,一般根目录下只存放目录

    /home:系统默认的用户家目录

    /etc:系统配置文件存放的目录

    /bin、/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等

      /bin:二进制执行文件目录,主要用于具体应用

      /sbin:系统管理员专用的二进制代码存放目录,主要用于系统管理

      /usr/bin:后期安装的一些软件

      /usr/sbin:超级用户的一些管理程序

    /lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录。程序在执行过程中,调用一些额外的参数时,就需要函数库的协助

    /boot:存放 Linux 系统启动时用到的一些文件。如 Linux 的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub

    /dev:存放 Linux 系统下的设备文件。访问该目录下某个文件,相当于访问某个设备

    ~/.ssh:存放有关 SSH 配置信息 

    常用的Linux命令的基本使用:

    查看目录内容

      ls:查看当前文件夹下的内容 

        -a :显示指定目录下所有子目录与文件,包括隐藏文件

        -l :以列表方式显示文件的详细信息。(r 读,w 写,x 执行)

          

        -h :配合 -l 以人性化的方式显示文件大小。eg:ls -l -h,可以缩写为:ls -lh

    切换目录

      cd:切换文件夹

        cd、cd ~ :切换到当前用户的家目录

        cd . :保持在当前目录不变

        cd .. :切换到上级目录

        cd - :可以在最近两次工作目录之间来回切换

    创建和删除操作

      touch:如果文件不存在,则新建文件;如果文件存在,则修改文件的日期

      rm:删除指定的文件名

        -f :强制删除,忽略不存在的文件,无需提示

        -r :递归删除目录下的内容,删除文件夹时必须加此参数

      mkdir :创建目录

        -p :可以递归创建目录。eg:mkdir -p a/b/c/d

    拷贝和移动操作
      tree:以树状图列出文件目录结构

        -d :只显示目录

      cp:复制文件或目录。eg:cp 源文件 目标文件

        -i :覆盖文件前提示

        -r :递归复制该目录下所有的子目录和文件

      mv:移动文件或目录/文件 或者 目录重命名。eg:mv 源文件 目标文件

        -i :覆盖文件前提示

    查看文件内容

      cat:查看文件内容、创建文件、文件合并、追加文件内容等功能

        -b :对非空输出行编号。cat -b 等于 nl 命令

        -n :对输出的所有行编号

      more:分屏显示文件内容。适合查看内容较多的文本文件

      grep:搜索文本文件内容

        -n :显示匹配行及行号

        -v :显示不包含匹配文本的所有行(相当于求反)

        -l :忽略大小写

        ^a :搜寻以 a 开头的行

        z$ :搜寻以 z 结尾的行

    其他

      clear:清屏

      echo:在终端显示参数指定的文字,通常和重定向联合使用

      重定向:

        > :输出,会覆盖文件原有内容。eg:echo Hello Python > a

        >> :追加,会将内容追加到已有文件的末尾

      管道:

        | :将一个命令的输出,可以通过管道作为另一个命令的输入。常与 more 和 grep 命令配合使用。eg:ls -lha ~ | grep Do

    远程管理常用命令:

    关机/重启  

      eg:shutdown 选项 时间

      shutdown:不指定选项和参数,默认表示一分钟后关机

      shutdown 20:25:系统在今天的 20:25 会关机

      shutdown +10:十分钟后关机

      shutdown -c:取消关机

      shutdown -r:重启

      shutdown -r now:现在重启

      sudo:超级用户权限。eg:sudo shutdown -r now

    查看或配置网卡信息

      ifconfig:查看/配置网卡信息

      ping ip地址:检测目标ip地址连接是否正常(数值越大,速度越慢)

      ping 127.0.0.1:检查本地网卡工作是否正常

    远程登录

      eg:ssh [-p port] user@remote

      user 是在远程机器上的用户名,不指定默认为当前用户

      remote 是远程机器的地址,可以是 IP / 域名 / 别名

      port 是 SSH Server 监听的端口,不指定默认为 22

      SSH客户端/服务器:Linux 系统默认安装,Windows 系统需单独安装(所以在Windows系统中,不能使用该终端命令,可以安装 XShell 进行远程)。

      SSH协议:对传输的数据进行加密和压缩,防止信息泄露和提高传输速度,也能够防止 DNS 欺骗和 IP 欺骗。专为远程登录会话和其他网络服务提供安全性的协议。

    远程拷贝文件

      eg:scp [-P port] user@remote:Deskop/0.1py 01.py( -P 为大写)

      加上 -r 选项可以拷贝文件夹

        scp -r user@remote:Desktop demo :把远程家目录下的 Desktop 复制到当前目录下的 demo 文件夹

        scp -r demo user@remote:Desktop :把当前目录下的 demo 文件夹复制到远程家目录下的 Desktop

      如果在Windows系统中,不能使用该终端命令。可以安装 PuTTY,使用 pscp 命令行工具或者安装 FileZilla 使用FTP 进行文件传输。FTP服务默认端口为 21 。

    免密码登录

      

      1.配置公钥:执行 ssh-keygen 即可生成 SSH 钥匙,一路回车即可

      2.上传公钥到服务器:执行 ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥

    配置别名

      在客户端 ~/.ssh/config 里面追加以下内容:

        Host mac

        HostName 服务器的ip地址

        User 服务器的用户名

        Port ssh端口

      保存后,即可用 ssh mac 实现远程登录了,scp 同样可以使用

    用户和权限:

    sudo:

      以其他身份来执行命令,预设的身份为 root。使用时必须先输入密码,且有效期为5分钟。

      若未经授权的用户企图使用 sudo,则会发出警告邮件给管理员。

      root 账号用于系统的维护和管理,对操作系统的所有资源具有所有访问权限,不建议直接使用 root 账号登录系统。

    chmod:

      可以修改用户/组对文件/目录的权限。eg:chmod +/-rwx 文件名|目录名

    组管理:

      groupadd 组名:添加组

      groupdel 组名:删除组

      cat /etc/group:确认组信息。组信息保存在 /etc/group 文件中

      chgrp -R 组名 文件/目录名:递归修改文件/目录的所属组。

      创建组/删除组的终端命令都需要通过 sudo 执行,除非 root 登录。eg:sudo groupdel dev

    用户管理:

      useradd -m -g 组 新建用户名:添加新用户

        -m :自动建立起用户家目录

        -g :指定用户所在的组,否则会建立一个同名的组

      passwd 用户名:设置用户密码

        如果是普通用户,直接passwd可以修改自己的账户密码

      userdel -r 用户名:删除用户

        -r :自动删除用户家目录

      cat /etc/passwd | grep 用户名:确认用户信息。用户信息保存在 /etc/passwd 文件中

        

      id 用户名:查看用户 UID(用户代号) 和 GID(组代号) 信息。不要用户名参数就是查看当前登录的用户信息

      who:查看当前所有登录的用户列表

      whoami:查看当前登录用户的账户名

      usermod:设置用户的主组/附加组和登录Shell

        -g :修改用户的主组。通常在新建用户时指定,在 ect/passwd 的第 4 列。eg:usermod -g 组 用户名

        -G :修改用户的附加组。在 etc/group 中最后一列表示该组的用户列表,用于指定用户的附加权限

        -s :修改用户登录 Shell。eg:usermod -s /bin/bash 用户名

        修改后,需要重新登录后生效

      which:查看执行命令所在位置。eg:which passwd

      su -用户名:切换用户,并且切换目录。-可以切换到用户家目录,否则保持位置不变。不要用户名参数则是切换到 root 

      exit:退出当前登录用户

    修改文件权限:

      chown:修改拥有者。eg:sudo chown 用户名 文件名|目录名

      chgrp:修改组。eg:sudo chgrp 用户名 文件名|目录名

      chmod:修改权限。可以使用三个数字分别对应拥有着/组和其他用户的权限。数字对应如下

        

        eg:sudo chmod -R 755 文件名|目录名

    系统信息相关命令: 

      date :查看系统时间

      cal :查看日历,-y 查看一年的日历

      df -h :显示自盘剩余空间。-h 以人性化的方式显示文件大小

      du -h [目录名] :显示目录下的文件大小

      ps aux :查看进程的详细状况

        默认 ps 只会显示当前用户通过终端启动的应用程序

        a :显示终端上的所有进程,包括其他用户的进程

        u :显示进程的详细状态

        x :显示没有控制终端的进程

      top :动态显示运行中的进程并且排序,q 退出

      kill [-9] 进程代号:终止指定代号的进程,-9 表示强制终止。最好不要终止 root 身份开启的进程,可能导致系统崩溃

    其他命令:

    find:查找文件

      find [路径] -name "*.py" :查找指定路径下扩展名是.py的文件,包括子目录

      如果省略路径,表示在当前文件夹下查找

    ln:建立文件的软链接(也就是快捷方式)

      eg:ln -s 被链接的源文件 链接文件

      没有 -s 选项建立的是一个硬链接文件。源文件被删除后,硬链接文件不会受影响

      源文件要使用绝对路径,不能使用相对路径

      

    打包文件和解包文件:

      tar -cvf 打包文件.tar 被打包的文件/路径... :打包文件  eg:

        c :生成档案文件,创建打包文件

        v :列出归档接档的详细过程,显示进度

        f :指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后

      tar -xvf 打包文件.tar :解包文件

        x :解开档案文件

      tar 只负责打包文件,但不压缩。用 gzip 可以压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.gz

      在 tar 命令中有一个选项 -z 可以调用 gzip,从而可以方便的实现压缩和解压缩的功能

        压缩文件:tar -zcvf 打包文件.tar.gz 被压缩的文件/路径…

        解压文件:tar -zxvf 打包文件.tar.gz

      在 tar 命令中有一个选项 -j 可以调用 bzip2,从而可以方便的实现压缩和解压缩的功能

        压缩文件:tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径…

        解压文件:tar -jxvf 打包文件.tar.bz2

      解压到指定路径:tar -zxvf 打包文件.tar.gz -C 目标路径

        -C : 解压缩到指定目录,要解压的目录必须存在

    软件安装:

      sudo apt install 软件包 :安装软件

      sudo apt remove 软件名 :卸载软件

      sudo apt upgrade :更新已安装的包

      根据情况设置镜像源

    常见的服务默认端口号列表:

      SSH 服务器:22

      Web服务器:80

      HTTPS:443

      FTP 服务器:21

    终端命令的格式:

    command [-options] [parameter]

    说明:

      command:命令名

      [-options]:选项,可用来对命令进行控制,可以省略

      parameter:传给命令的参数,可以是零个、一个或者多个

      如:rm -r 123.txt

      []代表可选

    查阅命令帮助信息(两种):

    command --help,如:mkdir --help  

      

    man command,如:man mkdir  

      

     b、f:上下反页、Enter键:滚动一行,q:退出

    通配符:

    * :代表多个字符

    ? :代表一个字符

    [abc] :匹配 a、b、c 中的任意一个

    [a-f] :匹配从 a 到 f 范围内的任意一个

    其他:

    / 为根目录,~ 为家目录,. 为当前目录

      eg:tree ~ :以树状图列出用户的家目录。cd / :切换到根目录

    同一目录下,不允许有同名的文件或目录

    小技巧:

    ctrl + shift + = :放大终端窗口的字体显示

    ctrl + - :缩小终端窗口的字体显示

    tab :自动补全文件/目录/命令

    ctrl + c :重新输入命令

    学习途径:https://www.bilibili.com/video/BV1ex411x7Em?p=1

  • 相关阅读:
    完美解决SpringCloud无法上传大文件方法
    完美解决SpringBoot无法上传大文件方法
    完美解决SpringMVC无法上传大文件方法
    完美解决c#.net无法上传大文件方法
    完美解决csharp无法上传大文件方法
    完美解决c#无法上传大文件方法
    完美解决asp.net无法上传大文件方法
    完美解决java无法上传大文件方法
    P47 会话 tf.Session()
    P46 tensorflow的图
  • 原文地址:https://www.cnblogs.com/Allofus/p/14878252.html
Copyright © 2020-2023  润新知