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

1.Linux学习准备

  1. 操作系统的作用

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

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

    1. 内核

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

    终端命令和系统调用

2.Linux命令基础

  1. 命令解析器(shell)

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

3.目录操作相关命令

  1. Linux命令格式:命令 [选项] [参数]
  2. ls
    1. 将某个目录下的文件和目录列出来
    2. -a 显示全部文件及目录,.开头的文件是隐藏文件,也会显示
    3. -l 以列表的形式显示
    4. -f 给某些特定文件追加标识,例如:可执行文件加*,目录加/
    5. ll 是命令的别名
      1. ll 代表ls -alF
      2. alias 别名=‘命令’ 可给命令起别名
      3. 查看别名:alias
      4. 删除别名:unalias 别名
  3. pwd(print working directory):显示当前目录
  4. cd (change directory)
    1. cd 路径 :切换到某一路径

      1. 绝对路径:以/开头的路径
      2. 相对路径:以 . 或 … 开头,是以当前路径或上一级路径为基准开始的路径
    2. cd :只写一个cd 表示切换到家目录
    3. cd - :表示切换回上一个目录
    4. 几个特殊的目录表示
      1. ~ 家目录
      2. / 根目录
      3. . 当前目录
      4. … 上一级目录
  5. tree:以树形显示目录结构
  6. 语法:tree 选项 目录
  7. -d:只显示目录,不显示文件
  8. -f :显示目录的完整路径
  9. 系统默认不带tree,如果没有的话使用sudo apt install tree
  10. mkdir(make directory):创建目录
    1. -p 递归创建目录:例如mkdir -p a/b/c
    2. 创建:aa 目录下有 aa1 aa2 目录,在 aa2 目录下有个 bb1, bb2目录. mkdir -p aa/{aa1,aa2/{bb1,bb2}}
  11. rm(remove):删除目录或文件
    1. -r 用于删除目录
    2. -rf ,f(表示force)表示强制删除,如果目录不存在不会询问

4.文件相关命令

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

5.文件查看相关命令

  1. 文件的传输:

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

思考问题1

  1. 为什么要学习 Linux? 学习 Linux 最重要的是学习什么?

    1. 为什么要学习Linux

      1. 开发人员需要掌握Linux的使用
      2. 大部分开发均部署在Linux上
    2. 学习 Linux 最重要的是学习什么
      1. 学习终端命令和系统调用
  2. 什么是 Linux 命令? 学习 linux 命令有什么用?
    1. 什么是Linux命令:向内核发送指令,操作Linux系统
    2. 学习Linux命令可以管理Linux系统,管理内核。
  3. 操作系统的作用是什么?操作系统给用户提供了那些操作方式?
    1. 操作系统的作用

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

思考问题2

  1. 如果要查看文件内容可以使用哪些命令?

    1. cat,more,less,head,tail,grep
  2. 进行文件重命名可以使用哪个命令?格式是什么?
    1. mv
    2. mv 文件名 新文件名
  3. 如果要在 /home/itcast 目录下查找所有的 .h 文件,命令应该怎么写?
    1. find /home/itcast -name *.h
  4. 为什么要在某些命令前面加上 sudo 呢?
    1. 有些目录和文件使用普通用户的权限无法访问到,需要用临时借用管理员的权限才能访问到
  5. 删除目录使用什么命令?命令的格式是什么?
    1. rm
    2. rm -r 目录名 (-f 表示强制删除,如果目录不存在不报错,如果存在直接删除)
  6. 如果要给一个命令增加别名应该使用哪个命令?如果要删除该别名使用哪个命令?
    1. alias
    2. unalias
  7. Linux 的目录和 Windows 的目录区别是什么?
    1. Linux所有得文件都在根目录下,也就是/
    2. Linux下没有盘符

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

  1. Linux系统编程25:基础IO之亲自实现一个动静态库

    本文接:Linux系统编程24:基础IO之在Linux下深刻理解C语言中的动静态库以及头文件和库的关系 文章目录 A:说明 B:实现静态库 C:实现动态库 A:说明 前面说过,库其实就是头文件和和.a ...

  2. 【Linux系统编程】Linux系统调用

    00. 目录 文章目录 00. 目录 01. 系统调用概述 02. 系统调用实现 03. 系统调用和库函数的区别 04. 附录 01. 系统调用概述 系统调用顾名思义,说的是操作系统提供给用户程序调用 ...

  3. 【Linux | 系统编程】Linux系统编程(文件、进程线程、进程间通信)

    文章目录 Linux系统编程 文件IO open/close函数 read/write函数 文件描述符 阻塞.非阻塞 fcntl函数 lseek函数 传入传出参数 文件系统 文件存储 文件操作 sta ...

  4. 【Linux系统编程】Linux进程管理

    00. 目录 文章目录 00. 目录 01. 概述 02. 进程相关概念 03. 进程的状态 04. 进程调度 05. 程序调度函数 06. 附录 01. 概述 在Linux的内核的五大组成模块中,进 ...

  5. linux系统编程布局,Linux下c语言的图形编程

    GTK+(GIMP TOOLKIT),是一个跨平台的图形界面(GUI)开发工具,是目前LINUX操作系统中较常用的图形界面开发工具之一,它采用一种非常有特色的面向对象的C语言开发框架(C Framew ...

  6. linux 文件操作 编程,Linux系统编程------------文件操作(基础)

    一.文件操作 1.1 Linux文件系统结构 1.1.1  Linux常见系统目录 /bin  :  存放普通系统可执行的命令(ls wc等) /sbin  :  存放系统管理程序(fsck等) /b ...

  7. 【Linux系统编程】Linux信号列表

    00. 目录 文章目录 00. 目录 01. Linux信号编号 02. 信号简介 03. 特殊信号 04. 附录 01. Linux信号编号 在 Linux 下,每个信号的名字都以字符 SIG 开头 ...

  8. 【Linux系统编程】Linux 可执行文件结构与进程结构

    Linux可执行文件结构 在 Linux 下,程序是一个普通的可执行文件,以下列出一个二进制可执行文件的基本情况: 可以看出,此可执行文件在存储时(没有调入到内存前)分为代码区(text).数据区(d ...

  9. 【linux系统编程】linux用户及权限管理

    Linux用户管理及权限控制 正文开始@Assassin 目录: Linux用户管理及权限控制 1. linux权限的概念: 2. 用户账号之间的切换: 2.1 普通用户之间的切换: 2.2 普通用户 ...

  10. 《Linux系统编程:Linux 可执行文件结构与进程结构》

    Linux可执行文件结构 在 Linux 下,程序是一个普通的可执行文件,以下列出一个二进制可执行文件的基本情况: 可以看出,此可执行文件在存储时(没有调入到内存前)分为代码区(text).数据区(d ...

最新文章

  1. OpenStack 虚拟机热迁移流程图
  2. Exchange 2010迁移Exchange 2013(一)共存部署
  3. java怎么让表格的字段相乘,excel表格怎么让数据相乘-如何在excel表格中设置乘法公式...
  4. Dubbo设置超时时间
  5. Effective C++学习第五天
  6. Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞
  7. 软件工程——硬件汇编程序设计实验——顺序程序实验
  8. Java反射机制介绍
  9. python里default_新手对python default不是很理解它有什么用途
  10. AUTOCAD——直线命令
  11. 微软Win11与万物互联时代新系统需求更加迫切
  12. 研发团队绩效管理如何做?
  13. 运行Rundll.exe
  14. android英语阅读识别库,基于Android的大学英语阅读学习平台研究
  15. go down to用法
  16. GitHub的使用(入门)
  17. elementUI之省市区三级联动
  18. 基于卷积神经网络的图像分类
  19. excel VBA chr(63)无法替换问题
  20. 六下计算机教学总结,六年级下册计算机教学工作总结.doc

热门文章

  1. 尚硅谷云原生学习笔记(1-75集)
  2. python signal模块_Python使用signal模块实现定时执行
  3. iOS从APP中分享出小程序详解
  4. 【C/C++】面经总结和心得分享
  5. 【TWS API 使用教程8】一个基于TWS API的简单的程序化策略
  6. linux 页缓存 读写,实验5Linux文件操作之带缓存和非缓冲文件的读写(10页)-原创力文档...
  7. Servlet缓存清理
  8. 【ARM】使用Busybox构建根文件系统
  9. Kubernetes的Pod的一些概念
  10. 原生js中nextSibling和nextElementSibling的坑