Linux教程

Linux操作系统基础:

本文主要是介绍Linux操作系统基础:,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

- 常用命令

终端命令 :

查看终端命令的帮助信息:

终端实用技巧:

文件和目录常用命令:

  - 查看目录内容

        远程管理常用命令

        用户权限相关命令


Linux介绍:
Linux 是一款操作系统,免费、开源、安全高效、稳定、处理高并发
Linux 创始人 林纳斯Linux
Linux的吉祥物 :Tux


Linux操作系统基础:

- 常用命令

  ls : 查看当前文件夹下的内容
  pwd : 查看当前所在文件夹
  cd[目录名] : 切换文件夹
  touch[文件名] : 如果文件不存在,新建文件
  mkdir[目录名] : 创建目录
  rm[文件名] : 删除指定文件名
  rm -r 目录名 :删除指定
  clear : 清屏

终端命令 :

  格式 command [-options] [parameter]
  command 命令名;[-options]选项; [parameter]传递给命令的参数
  []代表可选

查看终端命令的帮助信息:

  1.--help : command --help 显示command命令的帮助信息
  2.man : man command 查阅command命令手册
    - 空格键:显示手册页下一屏;回车:一次滚动手册页一行;b:回滚一屏;f:前滚一屏幕;q:退出;/word:搜索word字符串;

终端实用技巧:

  - 自动补全
    tab
  - 曾经使用过的命令
    方向键上下

文件和目录常用命令:

  - 查看目录内容

          - ls :最常用的命令之一
            以.开头的文件是隐藏文件
            . 代表当前目录
            .. 代表上一级目录
          - 常用选项
            1. -a 显式指定目录下所有内容
            2. -l 显示详细信息
            3. -h 配合-l人性化显示文件大小
          -和通配符的使用
            1、* : 代表任意字符
            2、? : 代表任意一个字符

                - cd : 切换目录
                        注:Linux 所以的目录和文件名都是大小写敏感的
            - 常用
                    1. cd : 切换到当前用户的主目录
                    2. cd~ : 切换到当前用户的主目录
                    3. cd. : 保持当前目录不变
                    4. cd.. : 切换上级目录
                    5. cd - :可以在最近两个工作目录来回切换
                       - 相对路径和绝对路径

                - 创建和删除操作
            - touch : 如果文件不存在 创建一个空白文件
            - mkdir :创建一个新的目录
                    1. -p 可以递归创建目录
            -rm : 删除文件或者目录
                                注 :删除之后不能恢复
                        - 常用
                    1.-r 递归删除目录下的内容
                    2.-f 强制删除,忽略不存在的文件、无需提示

                - 拷贝和移动文件
            - tree : 以树状图列出文件目录结构
                    -d : 只显示目录
            - cp : 复制文件
                    -i :覆盖文件前提示
                    -r : 递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
            -mv :命令可以用来移动文件或目录,也可以给文件或目录重命名
                    -i :覆盖文件前提示

                - 查看文件内容
                        - cat 文件名 :用来查看你文件内容
        1. -b :除了空行都会编号
        2. -n : 无论是否是空行都会编号
            - more 文件名 : 分屏查看文件内容
        1. 空格键 :显示手册页的下一屏
        2. 回车 :一次滚动手册页的一行
        3. b :回滚一屏
        4. f :前滚一屏
        5. q :退出
            - grep :查找字符串是否存在
        1.-n : 显示匹配行及行号
        2.-v : 显示不包含匹配文本的所有行(相当于相反)
        3.-i :忽略大小写
                - 参数
            ^a :行首 ,以 a 开头的行
            k$ :行尾 ,以 k 结束的行

                -其他
             - echo 文字内容
                   echo会在终端中显示参数指定的文字,通常会和重定向联合使用
                        - 重定向 >和>>
              在终端上的内容 输出/追加 到指定文件中
          > :表示输出 ,会覆盖原有内容
          >> : 表示追加 ,追加到末尾
         - 管道 |
                                - 一个命令的输出可以通过管道作为另一个命令的输入
                                        例 :ls -lh ~ | more
                                - 常用
                                        more :分屏显示内容
                                        grep :在命令执行结果的基础上查询指定的文本

        远程管理常用命令

                - 关机/重启 :安全关闭或者 重启
                        -shutdown 选项 时间
                                -f 重新启动

                - 查看或配置网卡信息
                        - 网卡和ip地址
                                网卡:一个专门复制网络通讯的硬件设备
                                ip地址:设置在网卡上的地址信息
                        - 终端命令
                                - ifconfig :查看/配置计算机网卡配置信息
                                        127.0.0.1 本地回环/环回地址 ,一般测试本机网卡是否正常
                                - ping ip地址 : 检测目标ip地址链接是否正常

                - 远程登陆和复制文件
                        - SSH 基础
                                - 域名 和 端口号
                                        域名 :由一串 用点分割的名字组成 是 ip地址 的别名
                                端口号 :
                                        ip地址:通过IP地址找到计算机
                                        端口号:通过端口号可以找到计算机上运行的应用程序
                        - SSH 客户端简单使用
                                ssh [-p port] user@remote
                                        user :是在远程机器上的用户名,如果不指定默认为当前用户
                                        remote :是远程机器的地址,可以是ip/域名,或者是后面会一道的别名
                                        port :是SSH Server监听的端口,默认为22
                                提示:使用exit推出当前用户的登录
                                注意:SSH 这个终端命令只能在linux和unix系统下使用
                                                如果在windows系统中,可以按照PuTTY作者XShell客户端软件
                       - scp 远程拷贝文件
                                地址格式与ssh基本相同,在指定端口时用的大写的 -P
                                - r 若给出的源文件是目录文件则scp ,将递归复制该目录下的所以子目录和文件,目标文件必须为一个目录名
                                - P 若远程SSH服务器的端口不是22,需要使用大写字母-P 选项指定端口

                                例:把本地目录下的01.py文件复制到远程目录下的Desktop/01.py
                                        scp -P 01.py user@remote:Desktop/01.py
                                                把远程 家目录下的Desktop/01.py 复制到本地当前目录下01.py
                                        scp -P port user@remote:Desktop/01.py 01.py
                                                加上-r 选项可以传送文件夹
                                        scp -r demo user@remote:Desktop
                                                把远程 家目录下的Desktop 复制到 当前目录下的demo文件夹
                                        scp -r user@remote:Desktop demo
                - 免密码登录
                        - 步骤
                                1. 配置公钥
                                        ssh-keygen
                                2. 上传公钥到服务器
                                        ssh-copy-id -p port user@remote

                - 配置别名 :设置之后可以实现远程登录,scp同样可以使用
                        在 ~/.ssh/config,中追加:
                        Host 别名
                        HostName ip地址
                        User 名字
                        port 端口
 

        用户权限相关命令

                - 用户和权限的基本概念
                        - 基本
                                在Linux中,无论是本机或是远程,都必须有个账号,并且对于不同的系统资源有不同的使用权限
                                可以指定 每个用户 针对 不同的文件或者目录 的 不同权限
                                对文件或者目录权限包括:
                                        读 :read 缩写 r 数字编号 4
                                        写 :write 缩写 w 数字编号 2
                                        执行 :excute 缩写 x 数字编号 1

                        - 组
                                针对 组 设置 不同的权限 方便用户管理

                        - ls-l 扩展
                                ls-l 可查看文件夹下文件的详细信息,从左到右依次是:
                                权限:第一个字符是 d 就是目录
                                        例:"-rw-rw-r--":文件权限 - 目录 rw- 拥有者权限 rw- 组权限 r-- 其他用户权限
                                        例:"drwxrwxr-x":目录权限
                                硬链接数:有多少中方式可以访问到
                                拥有者:家目录下 文件/目录 的拥有者 通常是当前用户
                                组
                                大小
                                时间
                                名称
                        - chmod 修改权限
                                chmod +/-rwx 文件名/目录名 会一次性修改拥有者/组权限
                                去掉权限 - 添加权限 +
                                chmod 在设置权限的时候,可简单使用三个数字分别对应拥有者/组和其他用户权限
                                例:chmod -R 755 文件名/目录名 7代表rex:4+2+1 5代表r-x:4+0+1

                        - 超级用户
                                root 用来系统的维护和管理
                                - sudo: 使用另一个用户的身份

                  -组管理终端命令 需要通过sudo执行
                        1. 添加组:groundadd 组名
                        2. 删除组:grounddel 组名
                        3. 确认组信息:cat/etc/group
                        4. 递归修改文件目录所属组:chgrp -R 组名 文件/目录名

                - 用户管理 终端命令 需要通过sudo执行
                        1.创建用户: useradd -m -g 组 用户名
                                -m 自动创建家目录
                                -g 指定用户所在的组,否则会创建同名的组
                        2.设置密码: passwd 用户名
                        3.删除用户:userdel -r 用户名

                - 查看用户信息
                          1. id[用户名] 查看用户代号和组代号
                          2. who 查看当前登录的用户列表
                          3. whoami 查看当前登录的用户名

                - passwd 文件
                        1.用户名
                        2.密码
                        3.UID(用户标识)
                        4.GID(组标识)
                        用户全名或本地账户
                        家目录
                        登录使用的Shell 就是登录之后,使用的终端命令,ubuntu 默认dash

                - usermod 用来设置 用户 的主组/附加组和登录Shell
                        主组: 通常在新建用户时指定,在etc/passwd的第四列Gid对应的组
                        附加组:在etc/passwd中的最后一列表示该组的用户列表,用于指定用户的附加权限
                        - 提示:设置了用户附加组后,重新登录才有效果
                                1. 修改用户的主组:usermod -g 组 用户名
                                2. 修改用户的附加组:usermod -G 组 用户名
                                3. 修改用户登录 Shell:usermod -s /bin/bash 用户名

                - which 查看执行命令所在位置
                        etc 目录保存和系统配置相关的
                        - 大多数文件都是保存在/bin /sbin /usr/bin /usr/sbin
                                1. /bin: 主要用于具体应用(不同可行性文件)
                                2. /sbin: 注意用于系统管理(系统可执行文件)
                                3. /usr/bin:后期安装一些软件
                                4. /usr/sbin: 超级用户一些管理程序

                - 切换用户
                        1. su - 用户名:切换用户名和目录
                                su 不接用户名 可以切换到root(不推荐)
                        2. exit:退出当前登录账户


        - 系统信息相关命令
                - 时间和日期
                        date:查看系统时间
                        cal:查看日历,-y 可以查看一年日志

                - 磁盘信息
                        df -h:显示磁盘剩余空间
                        du -h [目录名]:显示目录下文件大小
                                -h 人性化显示

                - 进程信息
                        - 进程:当前正在执行的程序
                        1.ps aux: 查看进程的详细状况
                                a:显示终端所以进程,包括其它用户的进程
                                u:显示进程的详细信息
                                x:显示没有控制终端的进程
                        2.top:动态显示运行中的进程并且排序
                                按q停止
                        3.kill[-9]进程代号:终止指定进程,-9表示强行终止

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

                - 软连接 类似于快捷方式
                        ln -s 被链接的源文件 链接文件
                        文件要使用绝对路径:如果使用相对路径,文件移动位置 链接无效

                - 打包压缩
                        - 打包/解包
                                - tar Linux常用备份工具,把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件
                                打包:tar -cvf 打包文件.tar 被打包的文件/路径..
                                解包:tar -xcf 打包文件.tar
                        - 压缩/解压缩
                                - gzip
                                        在linux中,最常见的压缩文件格式 xxx.tar.gzip
                                        压缩:tar -zcvf 打包文件.tar.gz 被压缩的文件/路径..
                                        解压缩:tar -zxvf 打包文件.tar.gz
                                        解压缩到指定路径:tar -zxvf.tar.gz -C 目标路径
                                - bzip2(two)
                                        被压缩的文件其扩展名为:xxx.tar.bz2
                                        压缩:tar -jxvf 打包文件.tar.bz2 被压缩的文件/路径...
                                        解压缩:tar -jxvf 打包文件.tar.bz2
                                        解压缩到指定路径:tar -jxvf.tar.bz2 -C 目标路径

                - 软件安装
                        - apt 在终端中方便的安装/卸载/更新软件包
                                1. 安装软件:sudo apt install 软件包
                                2. 卸载软件:sudo apt remove 软件包
                                3. 更新以安装的包:sudo apt upqrade

这篇关于Linux操作系统基础:的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!