zoukankan      html  css  js  c++  java
  • Linux基础

    常用Linux命令的基本使用
    ls 查看当前文件夹下的内容
    pwd 查看当前文件夹下的目录
    clear 清屏
    cd[目录名] 切换文件夹
    touch[文件名] 如果文件不存在,新建文件
    mkdir[目录名] 创建目录
    rm[文件名] 删除指定文件名
    rmdir[目录名] 删除指定目录(空目录)
    rm -r [目录名] 删除指定目录(可以是非空目录)
     
    快捷键
      放大终端窗口的字体显示 ”CTRL 加 shift 加 =“
      缩小终端窗口的字体显示“CTRL 加  -”
    自动补全
      在敲出文件/目录/命令的前几个字母后,按Tab键
      如果输入没有歧义,系统自动补全
      如果还存在其他文件/目录/命令,在按一下tab键(一共按了两下tab键),系统会提示可能存在的命令
    曾经使用过的命令
      按 上/下 光标键可以在曾经使用过的命令之间来回切换
    如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c
     
    Linux终端命令格式
      command [-options] [parameter]
      command: 命令名,相应功能的英文单词或单词的缩写
      [-options]: 选项,可用来对命令进行控制,也可省略
      parameter:传给命令的参数,可以是零个,一个,或多个
      []代表可选
     
    查阅命令帮助信息
      --help
      command --help 显示command命令的帮助信息
      man
      man command 查阅command命令的使用手册
      man是manual’手册‘缩写,是Linux提供的手册,包含绝大部分的命令,函数的详细使用说明
      man的操作键:
    操作键
    功能
    空格键
    显示手册页的下一屏
    Enter键
    一次滚动手册页的一行
    b
    回滚一屏
    f
    前滚一屏
    q
    退出
     
    文件和目录常用命令
      查看目录内容
        ls:列出目录的内容,类似于DOS下的dir命令 list
        Linux文件或目录名称最长可以有256个字符
        以 . 开头的文件为隐藏文件,需要 ls -a 才能显示
        . 代表当前目录
        ..代表上一目录
        ls常用选项
          -a 显示指定目录下所有子目录与文件,包括隐藏文件(以.开头的文件名)
          -l 以列表方式显示文件的详细信息
          -lh 以人性化的方式显示文件大小
          -alh 以人性化的方式显示所有文件大小(包括隐藏文件)
        ls 通配符的使用(文件或目录名后缀也包括)
          * 代表任意个数个字符串(包括零个)
          ?代表任意一个字符,至少一个
          [] 表示可以匹配字符组中的任意一个
          [abc] 匹配a,b,c中的任意一个
          [a-f] 匹配从a 到f 范围内的任意一个字符
     
    切换目录
      cd 更改当前的工作目录 change directory
      注意:Linux所有的目录和文件名都是大小写敏感的
      cd 切换到当前用户的主目录(/home/用户目录)
      cd ~  切换到当前用户的主目录(/home/用户目录)
      cd .  保持在当前目录不变
      cd ..  切换到上级目录
      cd -  可以在最近两次工作目录之间来回切换
      相对路径与相对路径   (/:根目录)
     
    创建和删除操作
      touch 创建文件或修改文件时间
        如果文件不存在,可以创建一个空白文件
        如果文件存在,可以修改文件的末次修改日期
      mkdir 创建一个新的目录
        -p 可以递归创建目录
        新建目录的名称不能与当前目录中已有的目录或文件同名
      rm 删除文件或目录
        文件删除后不能恢复
        -r  递归地删除目录下的内容,删除文件夹时必须加此参数
        -f  强制删除,忽略不存在的文件,无需提示
        rm + 通配符使用
        rmdir 删除文件夹(空文件夹)
     
    拷贝和移动文件
      tree 命令可以以树状图列出文件目录结构
        -d 只显示目录
      cp 命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令
        cp 源文件 目标文件(目标文件没有则创建)
        -f 已经存在的目标文件直接覆盖
        -i 覆盖文件前提示
        -r 若给出的源文件是目录文件,则cp
           将递归复制该目录下的所有目录和文件,目录文件必须为一个目录名
      mv 命令可以用来移动文件或目录,也可以给文件或目录重命名
        mv 源文件 目标文件(目标文件没有则创建)
        -i 覆盖前提示
    查看文件内容
      cat 文件名   查看文件内容,创建文件,文件合并,追加文件内容等功能 concatenate’链接,合并‘
        一次性显示所有内容,适合较少的内容
        -b 对非空输出行编号
        -n 对输出的所有行编号
        Linux 中还有一个nl命令和 cat -b效果相同
      more 文件名 分屏显示文件内容 适合较多的内容
        空格键 显示下一屏
        enter键 向下一行
        b 回滚一屏
        f 前滚一屏
        q 退出
        /word 搜索 word字符串
      grep 搜索的文本 文件名 搜索文本文件内容
        强大的文本搜索工具
        grep允许对文本文件进行模式查找(正则表达式)
        -n 显示匹配行及行号
        -v 显示不包括匹配行的所有行(相当于取反)
        -i 忽略大小写
        常用的两种模式查找:
          ^a  行首,搜索以a开头的行
          ke$ 行尾,搜索以ke结尾的行
    其它
      echo 文字内容  在终端中显示参数指定的文字,通常会和重定向联合使用,可以创建并写入内容
     
    重定向 > 和 >>
      Linux允许将命令执行结果重定向到一个文件夹
      将将本应在终端上的内容输出/追加到指定文件夹中
      > 表示输出,会覆盖文件原有内容
      >> 表示追加,会将内容追加到已有文件的末尾
      重定向可以把输出内容保存下来
     
     
    管道 |  将一个命令的输出通过管道作为另一个命令的输入
      常用的管道命令:
      more 分屏显示内容
      grep 在命令执行结果的基础上查询指定的文本
     
     

    远程管理常用命令

    关机/重启

      shutdown 选项 时间  关机/重新启动

      shutdown命令可以安全关闭或者重新启动系统

      -r 重新启动

      不指定选项和参数,默认一分钟后关闭电脑

      远程维护服务器时,最好不要关闭系统,应该重新启动系统

      常用命令实例

        $ shutdown -r now 立即重启操作系统

        $ shutdown now 立即关机

        $ shutdown 20:25 在20:50关机

        $ shutdown +10 十分钟后关机

        $ shutdown -c 取消之前指定的关机计划

    查看或配置网卡信息

      网卡是一个专门负责网络通讯的硬件设备

      IP地址是设置在网卡上的地址信息

      ifconfig  查看/配置计算机当前的网卡配置信息 configure a network interface

      Windows ipconfig

      一台计算机中可能会有一个物理网卡和多个虚拟网卡,在Linux中物理网卡的名字通常以ens

    表示

      127.0.0.1 被称为本地回环/环回地址,一般用来测试本机网卡是否正常

      ping ip地址  检测目标ip地址连接是否正常

      ping 127.0.0.1 检测本地网卡工作正常

      ping一般用于检测当前计算机到目标计算机之间的网络是否通畅,数值越大,速度越慢

      原理:网络上的机器都有唯一的ip地址,我们给目标IP地址发送一个数据包,对方就要返回一个数据包,根据返回的数据包以及时间,我们可以确定目标主机是否存在

    CTRL+C 终止终端程序的执行

    远程登陆和复制文件

    ssh 用户名@ip  关机/重新启动

      在Linux中ssh是非常常用的工具,通过ssh客户端我们可以连接到运行了ssh服务器的远程机器上,数据是加密和压缩的。

      SSH客户端是一种使用secure shell(ssh)协议连接到远程计算机的软件程序

      ssh是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议

      利用ssh协议可以有效防止远程管理过程中的信息泄露

      通过ssh协议可以对所传输的数据进行加密,防止DNS欺骗(攻击者冒充域名服务器https://baike.baidu.com/item/DNS欺骗)和IP欺骗(伪装成被信任主机https://baike.baidu.com/item/ip地址欺骗/7838200

    域名和端口号

      域名:由一串用点分割的名字组成,例如:https://baike.baidu.com/item/域名。域名是ip地址的别名,方便记忆。

      端口号:通过端口号可以找到计算机上运行的应用程序

      SSH服务器的默认端口号是22,如果是默认端口号,在连接时可以省略

      常见服务端口号列表:

    序号

    服务

    端口号

    1

    SSH服务器

    22

    2

    Web服务器

    80

    3

    HTTPS

    443

    4

    FTP服务器

    21

    SSH客户端的简单使用

    ssh [-p port] user@remote

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

        remote 是远程机器的地址,可以是IP/域名,或者是后面提到的别名

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

      使用exit退出当前用户登陆

      Windows下安装PuTTY或XShell(http://xshellcn.com)客户端软件

      在工作中,SSH服务器的端口号很可能不是22,需要用-p选项,指定正确的端口号

      Xhell连接Linux百度经验          https://jingyan.baidu.com/article/3aed632e2b68da70108091d2.html

      ssh连接失败经验csdn  https://blog.csdn.net/junbujianwpl/article/details/50936995

    scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径   远程复制文件

        scp secure copy,是一个Linux下进行远程拷贝文件的命令

      它的地址格式与ssh基本相同,需要注意的是,在指定端口时用的是大写 -P 而不是小写的

      scp -P port 01.py user@remote:Desktop/01.py

        把本地当前目录下的01.py文件复制到远程家目录下的Desktop/01.py。如果‘:’后面的路径不是绝对路径,则以用户的家目录作为参照路径

      scp -P port user@remote:Desktop/01.py 01.py

        把远程家目录下的文件复制到本地当前目录下

      scp -r demo user@remote:Desktop

        -r 选项可以传送文件夹

        把当前目录下的demo文件夹复制到远程家目录的Desktop

      scp -r user@remote:Desktop/demo demo

        把远程Desktop目录下的demo文件夹复制到当前目录下的demo文件夹

      -r 若给出的源文件是目录文件,则scp 

      将递归复制该目录下的所有子目录和文件,目录文件必须为一个目录名

      -P 若远程SSH服务器的端口不是22,则需要使用大写字母-P选项指定端口

      scp这个终端命令只能在Linux或者UNIX系统下使用

     如果在Windows系统中,可以安装puTTY,使用pscp命令行工具或者安装FileZilla 使用FTP进行文件传输

      FileZilla  https://www.filezilla.cn/download/client

    Filezilla在传输文件时,使用的是FTP服务,不是SSH服务,因此端口号应该设置为21

      在FileZilla 中:

      - 用sftp协议连接Server ,需要用port 22

      - 用ftp协议连接Server, 用port21

      FTP,FTPS,SFTP区别                   https://blog.csdn.net/shmilychan/article/details/51848850

    ssh高级

    免密码登陆

      配置公钥

        执行ssh-keygen 即可生成SSH钥匙,一路回车

      上传公钥到服务器

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

      非对称加密算法

        使用公钥加密的数据,需要使用私钥解密

        使用私钥加密的数据,需要使用公钥解密

    配置别名

      gedit config  使用gedit创建并打开config

      在~/.ssh/config 里面追加以下内容

        Host 别名

        HostName IP地址

        User 用户名

        Port 22

    保存之后,即可以用 ssh 别名 实现远程登陆了,scp同样可以使用

    用户权限相关命令

      用户和权限的基本概念

        用户是Linux系统工作中重要的一环,用户管理包括用户和组管理

        在Linux系统中,不论由本机或远程登陆系统,每个系统必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限

        在Linux系统中,可以指定每一个用户针对不同的文件或者目录的不同权限

    权限

    英文

    缩写

    数字代号

    read

    r

    4

    write

    w

    2

    执行

    excute

    x

    1

      为了方便用户管理

      实际应用中,可以先针对组设置权限,然后将不同的用户添加到对应的组中

    ls -l 拓展

      ls -l 可以查看文件夹下文件的详细信息,从左到右依次为

      权限,第一个字符如果是d表示目录

      硬链接数,就是有多少种方式可以访问到当前目录/文件下图祥解

      拥有者,家目录下文件/目录的拥有者通常是当前用户

      组,在Linux中,会出现组名和用户名相同的情况

      大小

      时间

      名称

    chmod可以修改用户/组对文件/目录的权限

      chmod +/-rwx 文件名/目录名

          会一次性修改拥有者/组的权限

    超级用户

         Linux系统中root账号通常用于系统维护和管理,对操作系统的所有资源具有所有访问权限

        在大多数版本的Linux中,都不推荐直接使用root账户登陆系统

        在Linux安装过程中,系统会自动创建一个用户账户,而这个默认的用户就称为标准用户

      sudo

        su是substitute user的缩写,表示使用另一个用户的身份

        sudo命令用来以其他身份来执行命令,预设的身份为root

        用户使用sudo时,必须输入密码,之后有五分钟有效期限,超过期限必须重新输入密码

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

    组管理终端命令

      创建组/删除组的终端命令都需要sudo执行

      groupadd 组名  添加组

      groupdel 组名  删除组

      cat /etc/group  确认组信息 (组信息保存在 /etc/group 文件中)

      chgrp -R 组名 文件/目录名  修改文件/目录的所属组

      组信息保存在 /etc/group 文件中

      /etc 目录时专门用来保存系统配置信息的目录

    用户管理终端命令

      useradd -m -g 组 新建用户名  添加新用户 -m自动建立用户家目录 -g指定用户所在的组,否则会建立一个和用户名同名的组

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

      userdel -r 用户名 删除用户  -r选项会自动删除用户家目录

      cat /etc/passwd | grep 用户名  确认用户信息 新建用户后,用户信息会保存在/etc/passwd 文件中

      提示:

        创建用户时,如果忘记添加-m选项下指定新用户的家目录,可以删除用户,重新创建

        创建用户是,默认会创建一个和用户名同名的组名

      用户信息保存在/etc/passwd 文件中

      查看用户信息

        id[用户名] 查看用户UID(用户代号)和GID(组代号)信息

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

        whoami  查看当前登陆用户的账号名who am i

      passwd文件

        /etc/passwd文件存放的是用户信息,有六个分号组成的七个信息分别是:

        1,用户名

        2,密码(x,表示加密的密码)

        3,UID(用户标识)

        4,GID (组标识)

        5,用户全名或本地账号

        6,家目录

        7,登陆使用的Shell,就是登陆后,使用的终端命令,Ubuntu默认是dash

      usermod

        usermod可以用来设置用户的主组/附加组和登录Shell,命令格式如下:

          主组:通常在新建用户时指定,在etc/passwd的第四列GID对应的组

          附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加组

        提示:设置了用户的附加组之后,需要重新登陆才能生效!

        usermod -g 组 用户名   修改用户的主组(passwd中的GID)

        usermod -G 组 用户名  修改用户的附加组

        usermod -s /bin/bash 用户名  修改用户登陆的Shell(可以输入终端命令的窗口,一个软件)

        Ubuntu默认时dash,在Windows下应使用bash

    注意:默认使用useradd添加的用户没有权限使用sudo以root身份执行命令的,可以使用以下命令,将用户添加到sudo附加组中

    usermod -G sudo 用户名

    which

    提示:

      /etc/passwd 是用于保存用户信息的文件

      /usr/bin/passwd 是用于修改用户密码的程序

      which命令可以查看执行命令所在的位置

    bin和sbin

      在Linux中,绝大多数可执行文件都是保存在 /bin,/sbin,/usr/bin,/usr/sbin

      /bin(binary)是二进制执行文件目录,主要用于具体应用

      /sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理

      /usr/bin(user command for applications)后期安装的一些文件

      /usr/sbin(super user commands for application)超级用户的一些管理程序

    提示:

    cd 这个终端命令是内置在系统内核中的,没有独立的文件,因此用which无法cd命令的位置

    切换用户

      su - 用户名  切换用户,并且切换目录 ’-‘可以切换到用户的家目录,否则保持当前位置不变

      exit  退出当前登录用户

      su 不接用户名,可以切换到root,但是不推荐用户,不安全

    修改文件权限命令总结

      chown  修改拥有者

      chgrp  修改组

      chmod 修改权限

      chown 用户名 文件名/目录名  修改文件/目录的拥有者

      chgrp -R 组名 文件名/目录名  递归修改文件/目录的组

      chmod -R 755 文件名/目录名递归修改文件/目录的权限

    chmod 在设置权限时,可以简单地使用三个数字分别对应拥有者/组和其他用户的权限

    7:4’r‘,2’w‘,1’x‘  可读可写可执行

    5:4’r‘,1 ’x‘  可读可执行

    6:4‘r’,2‘w’  可读可写

    统信息相关命令

     查看服务器上当前系统日期和时间/磁盘空间,占用情况/程序执行情况

    目标

      时间和日期

        data

        cal

      磁盘和目录空间

        df

        du

      进程信息

        ps

        top

        kill

    1,时间和日期

      cal 查看日历,-y选项查看一年的日历

      date 查看系统时间

    2,磁盘信息

      df -h  diskfree显示磁盘剩余空间

      du -h[目录名] disk usage显示目录下文件大小

      选项说明

      -h以人性化方式查看文件大小

    3,进程信息

      进程:当前正在执行的一个程序

      ps a/u/x process status 查看进程的详细情况

      top 动态显示运行中的进程并且排序

      kill [-9] 进程代号 终止指定代号的进程,-9表示强行终止

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

      ps 选项说明

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

        u 显示进程的详细状态

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

      提示:使用kill命令时,最好只终止由当前用户开启的进程,而不是终止root身份开启            的进程否则会导致系统崩溃

      退出top可以直接输入q

    其他命令

       查找文件

        find

       软链接

        ln

       打包和压缩

           tar

       软件安装

           apt-get

    1,查找文件

    · find 命令功能非常强大,通常用来在特定的目录下搜索符合条件(文件名/大小/文件权限,,,)的文本

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

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

    · 之前学习的通配符,在使用 find 命令时同时使用

    2,软链接

    ln -s 被链接的文件 链接的文件名

    作用:建立文件的软链接,类似于windows下的快捷方式

    · 注意:

      没有 -s 选项建立的是一个硬链接文件(两个文件占用相同大小的硬盘空间)

      源文件要使用绝对路径,不能使用相对路径,这样可以方便移动软链接文件后,仍能正常使用

      源文件删除,软链接当然就失效

    硬链接

      在Linux中,文件名和文件的数据是分开存储的

      只有文件的硬链接数 == 0 才会被删除

      ls -l 查看文件的硬链接数

      

      

    3,打包和压缩

    · 打包压缩,不同操作系统中,常用的打包压缩方式不同

      Windows 常用 rar

      Mac 常用 zip

      Linux 常用 tar.gz

    3.1 打包/解包

    · tar 是Linux中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件

    · tar -cvf 打包文件.tar 被打包的文件/路径,,, 打包文件

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

    · tar 选项说明

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

      x 解开档案文件

      v 列出归档/解档的详细过程,显示进度

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

    注意:f 选项必须放在最后

    3.2压缩/解压缩

    gzip

    · tar 和 gzip 命令结合实现文件的打包与压缩  

    · tar 只负责打包

    · 用gzip压缩tar打包后的文件,其拓展名一般用 xxx.tar.gz

    · 在tar命令中有一个选项 -z 可以调用gzip ,方便实现打包压缩功能

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

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

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

    -C 解压缩到指定路径。注意:要解压缩的目录必须存在,提前创建

    bzip2

      · tar 只负责打包

      · 用bzip2压缩tar打包后的文件,其拓展名一般用 xxx.tar.bz2

      · 在tar命令中有一个选项 -j 可以调用bzip2 ,方便实现打包压缩功能

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

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

      tar -jxvf 打包文件.tar.bz2 -C 目标路径 解压缩到指定路径

    4,软件安装

    4.1 通过apt安装/卸载软件

      · apt 是Advanced Packaging Tool,是Linux下的一款安装包管理工具

      · 可以在终端中方便地安装/卸载/更新软件包

      sudo apt install 软件包 安装软件

      sudo apt remove 软件包  卸载软件

      sudo apt upgrade 软件包 更新软件

        sl 软件

        htop 软件

    4.2配置软件源

    ·如果希望在Ubuntu中安装软件,更加快速,可以通过设置镜像源,选择一个访问网速更快的服务器来提供下载/安装服务

    ·提示:更换服务器后,需要一个较长时间的更新过程。

       所谓镜像源,就是所有服务器的内容是相同的(镜像),国内的服务器下载速度快

  • 相关阅读:
    MySql 数据类型
    MySql 数据库的增删改
    MySql 联合查询
    Mysql 库的管理 --->>>>DDL
    MySql 子查询
    MySql 分页查询
    sql99语法的连接查询
    MySql 连接查询
    MySql 分组函数
    jQ处理页面中尺寸过大的图片
  • 原文地址:https://www.cnblogs.com/serpent/p/9107851.html
Copyright © 2011-2022 走看看