您的位置:首页 > 运维架构 > Linux

alin的学习之路(Linux系统编程:一)(Linux基础命令)

2020-07-12 19:41 148 查看

alin的学习之路(Linux系统编程:一)(Linux基础命令)

1.Linux学习准备

  1. 操作系统的作用

    向上给用户提供简单的操作计算机硬件的方式
  2. 对下管理硬件
  3. 承上启下
  4. 程序运行在操作系统上,程序运行时的资源由操作系统提供,操作系统管理和监控运行的程序。
  • Linux和Windows的区别

      系统函数不同(跨平台时要注意这一点)
    1. 应用领域不同:Windows多用于娱乐和办公,Linux多用于服务器领域。
    2. 目录结构不同:Windows有多个盘符,Linux所有文件都保存在根目录下。
  • Linux内核和发行版

      内核 内核是专门用于对硬件管理的程序,是最最基础的程序
    1. uname -r 查看内核版本
  • 发行版
      内核的软件的安装,管理等比较麻烦
    1. 内核+软件管理程序+使用软件 = Linux发行版
  • Linux的学习内容

    终端命令和系统调用

  • 2.Linux命令基础

    1. 命令解析器(shell) 功能:用来解析输入的命令,并且向内核发送操作指令
    2. 查看当前的命令解析器:
      echo $SHELL
  • man手册
      命令:man
    1. man手册分为7卷,常用1 2 3卷分别是,命令相关说明,库函数,系统调用。
  • 软件的安装和卸载
      安装:sudo apt install 软件名
    1. 卸载:sudo apt remove 软件名
  • 用户分类
      超级用户root:有着管理该系统的最高权限,可进行任意的操作且无限制
    1. 普通用户:仅能操作自己用户所属的内容,默认普通用户登陆后会进入对应本用户的家目录下
  • Linux重要目录
      /根目录
    1. /home 家目录,每个用户自己的目录
    2. /etc 软件、系统配置文件目录
    3. /lib 存储系统或软件使用的库的目录
    4. /usr (unix system resource) /usr/bin 存放一些可执行程序
    5. /usr/include 存放头文件
    6. /usr/lib 存储静态库和动态库
  • /usr/local /opt 一般用于第三方软件的安装
  • /root root用户的家目录
  • /sys 系统目录
  • /proc 系统使用,存放系统运行过程中内存中的数据
  • /lost+found 系统意外停止、断电时会将数据临时存储到该目录,用于恢复系统
  • /dev 设备文件目录,Linux上一切皆文件,设备也是如此,对设备的操作就像是操作文件
  • 远程登陆
      使用第三方软件:XShell、putty等
    1. 通过命令登陆:Windows命令行中,ssh 用户名@服务器ip地址,可远程登陆

    3.目录操作相关命令

    1. Linux命令格式:命令 [选项] [参数]
    2. ls 将某个目录下的文件和目录列出来
    3. -a 显示全部文件及目录,.开头的文件是隐藏文件,也会显示
    4. -l 以列表的形式显示
    5. -f 给某些特定文件追加标识,例如:可执行文件加*,目录加/
    6. ll 是命令的别名 ll 代表ls -alF
    7. alias 别名=‘命令’ 可给命令起别名
    8. 查看别名:alias
    9. 删除别名:unalias 别名
  • pwd(print working directory):显示当前目录
  • cd (change directory)
      cd 路径 :切换到某一路径 绝对路径:以/开头的路径
    1. 相对路径:以 . 或 … 开头,是以当前路径或上一级路径为基准开始的路径
  • cd :只写一个cd 表示切换到家目录
  • cd - :表示切换回上一个目录
  • 几个特殊的目录表示
      ~ 家目录
    1. / 根目录
    2. . 当前目录
    3. … 上一级目录
  • tree:以树形显示目录结构
  • 语法:tree 选项 目录
  • -d:只显示目录,不显示文件
  • -f :显示目录的完整路径
  • 系统默认不带tree,如果没有的话使用sudo apt install tree
  • mkdir(make directory):创建目录
      -p 递归创建目录:例如
      mkdir -p a/b/c
    1. 创建:aa 目录下有 aa1 aa2 目录,在 aa2 目录下有个 bb1, bb2目录.
      mkdir -p aa/{aa1,aa2/{bb1,bb2}}
  • rm(remove):删除目录或文件
      -r 用于删除目录
    1. -rf ,f(表示force)表示强制删除,如果目录不存在不会询问

    4.文件相关命令

    1. touch:创建空文件
      touch 文件名 [文件名……]
    2. rm(remove):删除文件 rm 文件名:删除指定的文件
    3. 删除以.txt结尾的所有文件:
      rm *.txt
    4. 删除所有文件不包括目录:rm *
    5. 删除所有文件包括目录 rm -rf *
  • mv(move):移动文件或目录
      mv 文件 目录:表示将文件移到指定路径
    1. mv 旧文件名 新文件名:可以用来重命名文件
    2. mv 目录1 目录2:将目录1移动到目录2下,例如:
      mv abc/ ppp/
      表示将abc目录移动到ppp目录下
    3. mv 旧名目录 新目录名:表示给目录重命名,例如:
      mv abc/ ppp
      给目录abc重命名ppp
  • cp(copy):拷贝文件或目录
      拷贝文件:cp 源文件 目录 ,例如:
      cp a.txt b.txt
      将a.txt拷贝成b.txt
    1. 拷贝目录:cp -r 源目录 目录 (-r表示递归拷贝),例如:
      cp -r qqq/ abc
      将ppp目录拷贝成abc目录
  • ln(link)
      软连接:ln -s 源文件 链接文件,例如:
      ln -s a.txt a.lnk
      ,删除a.txt后a.lnk失效
    1. 硬链接:ln 源文件 链接文件,例如:ln a.txt a.lnk,删除a.txt后a.lnk不失效
  • find
      一般通过文件名去查找文件
    1. 查找具体名字的文件:
      sudo find 查找目录 -name 文件名
      ,例如:
      sudo find / -name stdio.h
    2. 模糊查找:文件名可以使用通配符,例如:
      sudo find / -name *.h

    5.文件查看相关命令

    1. 文件的传输: 可使用第三方软件进行传输:Fileziila 可以将本地文件、远程文件上传下载。
    2. 可以使用
      wget 网址
      命令从网址中下载文件
  • cat:用于查看较小的文件
  • more:可用于查看较大的文件,一次显示一页,在底端显示查看进度,按空格向下翻页,按b向上翻页,按enter向下显示一行,按q退出
  • less:于more类似,但底端的进度改为命令行,可以用来搜索文件中的指定字符
  • head:head -n 显示文件的前n行
  • tail:tail -n 显示文件的最后n行
  • grep
      用于查看符合条件的某些行
    1. 语法:grep 关键字 文件名,例如:
      grep "me" command.txt
      ,查看包含me的行
    2. 输出内容显示行号:使用-n选项,例如:
      grep -n "me" command.txt
    3. -v 选项表示输出所有不包含关键字的行,例如:
      grep -vn "me" command.txt
    4. grep -n "^G" command.txt
      , 表示显示所有以 G 开头的行的内容。 ^ 表示以…开头。

    思考问题1

    1. 为什么要学习 Linux? 学习 Linux 最重要的是学习什么? 为什么要学习Linux 开发人员需要掌握Linux的使用
    2. 大部分开发均部署在Linux上
  • 学习 Linux 最重要的是学习什么
      学习终端命令和系统调用
  • 什么是 Linux 命令? 学习 linux 命令有什么用?
      什么是Linux命令:向内核发送指令,操作Linux系统
    1. 学习Linux命令可以管理Linux系统,管理内核。
  • 操作系统的作用是什么?操作系统给用户提供了那些操作方式?
      操作系统的作用 向上给用户提供简单的操作计算机硬件的方式
    1. 对下管理硬件
    2. 承上启下
    3. 程序运行在操作系统上,程序运行时的资源由操作系统提供,操作系统管理和监控运行的程序。
  • 操作系统给用户提供了那些操作方式
      图形界面
    1. 终端命令
    2. 系统调用
  • 远程连接命令是什么?
      ssh 用户名@服务器IP地址
  • 目录操作命令都是什么作用?
      对文件和目录进行管理
  • man 手册的作用?
      帮助开发人员了解命令,库函数,系统调用等共7项内容
  • 什么是 root 用户?为什么不建议使用 root 用户进行计算机操作?
      root是超级管理员用户,拥有最高的权限
    1. 使用root用户进行计算机操作因为权限的最大,有可能误删除某些必要系统文件,导致系统崩溃
  • 软件安装与卸载命令是什么?
      安装:sudo apt install 软件名
    1. 卸载:sudo apt remove 软件名
  • 什么是 Linux 内核?什么是 Linux 发行版? 我们用的是什么发行版本?
      Linux内核是一组专门管理硬件的程序,是最最基础的程序
    1. 内核+软件管理程序+实用的软件 = Linux 发行版,因为内核的软件安装管理等比较麻烦,且几乎没有预装软件,很多厂商从官网下载内核后自己设计安装管理程序,随后制作出Linux发行版
  • /home 目录的作用是什么?
      家目录,是每个用户自己的目录,用户登录后默认进入自己的目录,存放用户的文件

    思考问题2

    1. 如果要查看文件内容可以使用哪些命令? cat,more,less,head,tail,grep
  • 进行文件重命名可以使用哪个命令?格式是什么?
      mv
    1. mv 文件名 新文件名
  • 如果要在 /home/itcast 目录下查找所有的 .h 文件,命令应该怎么写?
      find /home/itcast -name *.h
  • 为什么要在某些命令前面加上 sudo 呢?
      有些目录和文件使用普通用户的权限无法访问到,需要用临时借用管理员的权限才能访问到
  • 删除目录使用什么命令?命令的格式是什么?
      rm
    1. rm -r 目录名 (-f 表示强制删除,如果目录不存在不报错,如果存在直接删除)
  • 如果要给一个命令增加别名应该使用哪个命令?如果要删除该别名使用哪个命令?
      alias
    1. unalias
  • Linux 的目录和 Windows 的目录区别是什么?
      Linux所有得文件都在根目录下,也就是/
    1. Linux下没有盘符
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐