Linux基础

1、Linux 简介

2、CentOS简介

CentOS是将RHEL发行版源码重新编译形成的二进制版本,由于LInux源码遵循GNU协议,所以从获得RHEL源码编译成CentOS是合法的。新的发行版里将RedHat的商标去掉。

3、文件和目录操作

3.1 基本shell操作

3.1.1 命令解析器

本质:根据命令的名字,调用对应的可执行程序

查看用的shell的类型:echo $SHELL

3.1.2 常用快捷键

  • 使用tab键补齐命令/目录等
  • 主键盘快捷键

3.1.3 Linux目录结构

重要的目录结构:

  • /bin: Linux操作系统下可执行的系统级的二进制命令
  • /dev: 设备目录
  • /etc: 包含了当前操作系统用户所有配置的相关信息
  • /home: 家目录
  • /lib: 操作系统使用的库文件已经相关的配置都放在此目录下
  • /media: 系统自动挂载目录
  • /mnt: 手动挂载的目录
  • /root: root用户的家目录
  • /usr: unix软件资源包管理目录,存放的是当前用户下的一些东西

3.1.4 用户目录

  • 绝对路径和相对路径

  • 用户目录

3.1.5 文件和目录操作

  • tree :以树状形式显示当前文件和目录

  • ls:查看执行目录下所有的文件和目录信息

    • -a 查看隐藏文件
    • -l 查看详细信息
    • ...
  • cd :进入指定路径(cd ~ /cd -)

  • pwd:显示当前路径

  • 创建/删除目录、文件

    • mkdir + 目录名
    • rmdir + 目录名 (只能删除空目录)
    • rm
  • cp:拷贝文件或者目录

  • 查看文件内容

  • ln

  • 文件和目录属性

  • which:查看指定命令所在的路径(cd 为什么找不到? : cd是内建命令)

3.1.6 文件权限/用户/用户组

3.1.7 查找和检索

3.1.8 软件的安装和卸载

  • 在线安装(首选)
  • rpm包安装
  • 源码安装

3.1.9 磁盘管理

  • 系统默认挂载目录:/media
  • 手动挂载目录:/mnt
  • 挂载方式:mount + 设备名 + 挂载目录
  • 卸载:unmount 卸载的时候,用户的当前位置一定不能在/mnt(/media)或者及其子目录下,否则无法卸载

3.2 压缩包管理

  • 打包

  • 压缩

3.3 进程管理

  • who:查看当前在线用户的情况
  • ps:查看整个系统内部所运行的进程状况(ps -aux)
  • kill:用来终止指定的进程
  • env:查看当前进程环境变量
  • top:查看任务管理器

3.4 网络管理

  • ifconfig:获取网络接口信息
  • ping:测试与目标主机的连通性
    • -c:在发送指定数目的包后停止
    • -i:设定间隔几秒发送一个包
  • nslookup:产看服务器域名对应的IP地址

3.5 用户管理

  • 创建用户

    • sudo addusr + 用户名
    • sudo useradd -s /bin/bash -g devin -d /home/devin -m devin

  • 设置用户组:sudo groupadd devin

  • 删除用户:

    • sudo delusr + 用户名
    • sudo usrdel -r devin : -r的作用是把用户的主目录一起删除
  • 切换用户:su + 用户名

  • root用户:sudo su

  • 设置密码:sudo passwd + 用户名

  • 退出登录用户:exit

4、常用服务器

  • ftp服务器

  • tftp服务器

  • nfs服务器

5、vim

vim是一个文本编辑程序,没有菜单,只有命令,且命令繁多

vim有三种模式

  • 命令模式
  • 插入模式
  • 末行模式

6、gcc

gcc是一个编译器,常用的参数如下:

  • -v/--version 查看版本号
  • -o 产生目标文件
  • -I 指定头文件目录
  • -D 编译时定义宏
  • -On n=0~3,0是没有优化,1是缺省值,3优化级别最高

7、静态库的制作和使用

7.1 静态库的优缺点

  • 优点
    • 寻址方便,速度快
    • 库被打包到可执行程序中,直接发布可执行程序即可使用
  • 缺点
    • 静态库的代码在编译过程中已经被载入可执行程序,因此体积较大
    • 如果静态库改变了,那么程序需要重新编译

7.2 制作和使用静态库

8、动态库的制作和使用

8.1 动态库的优缺点

  • 优点
    • 共享库的代码是在可执行程序运行的时候才载入内存,在编译的过程中只是简单的引用,因此代码体积小
    • 易于更新(动态链接)
  • 缺点
    • 延时绑定,速度略慢

8.2 动态库的制作和使用

9、gdb调试

posted @ 2019-08-27 11:20  烟云123  阅读(357)  评论(0编辑  收藏  举报