Linux基础

目录

  • 1、Linux 简介
  • 2、Ubuntu简介
  • 3、文件和目录操作
    • 3.1 基本shell操作
    • 3.2 压缩包管理
    • 3.3 进程管理
    • 3.4 网络管理
    • 3.5 用户管理
  • 4、常用服务器
  • 5、vim
    • 5.1 命令模式
    • 5.2 插入模式
    • 5.3 末行模式
    • 5.4 分屏操作
  • 6、gcc
  • 7、静态库的制作和使用
    • 7.1 静态库的优缺点
    • 7.2 制作和使用静态库
  • 8、动态库的制作和使用
    • 8.1 动态库的优缺点
    • 8.2 动态库的制作和使用
  • 9、gdb调试

1、Linux 简介

2、Ubuntu简介

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 用户目录

  • 绝对路径和相对路径

  • 用户目录

    • devin:当前登录用户
    • ubuntu:主机名
    • ~:用户的家目录(宿主目录)
    • $:当前用户为普通用户
    • #:超级用户

3.1.5 文件和目录操作

  • tree :以树状形式显示当前文件和目录
  • ls:查看执行目录下所有的文件和目录信息
    • -a 查看隐藏文件
    • -l 查看详细信息
    • ...
  • cd :进入指定路径(cd ~ /cd -)
  • pwd:显示当前路径
  • 创建/删除目录、文件

  • cp:拷贝文件或者目录

  • 查看文件内容

  • ln

  • 文件和目录属性

  • which:查看指定命令所在的路径

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

3.1.7 查找和检索

3.1.8 软件的安装和卸载

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

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 itcast : -r的作用是把用户的主目录一起删除
  • 切换用户:su + 用户名
  • root用户:sudo su
  • 设置密码:sudo passwd + 用户名
  • 退出登录用户:exit

4、常用服务器

  • ftp服务器

    • 安装ftp服务器 sudo apt-get install vsftpd
    • 修改配置文件(/etc/vsftpd.conf)

    • 启动进程:sudo service vsftpd restart
    • 数据传递

    • 出现的问题:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
      • 解决方式:在配置文件种添加一行:allow_writeable_chroot=YES
  • tftp服务器

  • nfs服务器

5、vim

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

vim有三种模式

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

5.1 命令模式

5.1.1 移动光标

5.1.2 删除与撤销

5.1.3 复制粘贴

5.1.4 可视模式

5.1.5 查找和替换

5.1.6 文本行移动和Man Page

5.2 插入模式

5.3 末行模式

5.4 分屏操作

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调试

你可能感兴趣的:(Linux基础)