Linux基础

1、Linux 简介

eb071737ly1g641xmx83vj21120ladhk.jpg

2、Ubuntu简介

eb071737ly1g6421i47wzj20v00fyt9u.jpg

3、文件和目录操作

3.1 基本shell操作

3.1.1 命令解析器

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

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

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

eb071737ly1g642m86phoj20on09t74v.jpg

3.1.3 Linux目录结构

eb071737ly1g642r35iukj20i3021mx9.jpg

重要的目录结构:

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

  • 用户目录

    eb071737ly1g642yosyj4j20g206m74p.jpg

    • devin:当前登录用户
    • ubuntu:主机名
    • ~:用户的家目录(宿主目录)
    • $:当前用户为普通用户
    • #:超级用户
3.1.5 文件和目录操作
  • tree :以树状形式显示当前文件和目录
  • ls:查看执行目录下所有的文件和目录信息
    • -a 查看隐藏文件
    • -l 查看详细信息
    • ...
  • cd :进入指定路径(cd ~ /cd -)
  • pwd:显示当前路径
  • 创建/删除目录、文件

eb071737ly1g6437kcc3fj20uy04hjro.jpg

  • cp:拷贝文件或者目录

  • 查看文件内容

    eb071737gy1g6e2mmlpovj20wt0kyadz.jpg

  • ln

eb071737ly1g643ak9awxj20jb0a5jrr.jpg

  • 文件和目录属性

eb071737ly1g643cc4spjj20me0dyjrt.jpg

  • which:查看指定命令所在的路径
3.1.6 文件权限/用户/用户组

eb071737ly1g643ffz158j20vc0l13zo.jpg

3.1.7 查找和检索

eb071737ly1g643h9j3ktj21410iydhg.jpg

3.1.8 软件的安装和卸载
  • 在线安装(首选)
  • deb包安装
  • 源码安装
3.1.9 磁盘管理
  • 系统默认挂载目录:/media
  • 手动挂载目录:/mnt
  • 挂载方式:mount + 设备名 + 挂载目录
  • 卸载:unmount 卸载的时候,用户的当前位置一定不能在/mnt(/media)或者及其子目录下,否则无法卸载

3.2 压缩包管理

  • 打包

eb071737ly1g643v7zmqxj20qq09emxn.jpg

  • 压缩

eb071737ly1g643wbqm88j20lc0hy0tm.jpg

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

    eb071737ly1g6446uyt4bj20b703sq2y.jpg

  • 设置用户组: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)

    eb071737ly1g644jnqtprj20by05pt8x.jpg

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

    eb071737ly1g644rf8wntj20o5084q3c.jpg

    • 出现的问题: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 移动光标

eb071737gy1g6e2azuv9qj20cj09rmxd.jpg

5.1.2 删除与撤销

eb071737gy1g6e22ecpj9j210p0ad75a.jpg

5.1.3 复制粘贴

eb071737gy1g6e2bl4zpwj20hc036q2y.jpg

5.1.4 可视模式

eb071737gy1g6e23zdwjij20fo02hweh.jpg

5.1.5 查找和替换

eb071737gy1g6e24evuy3j20kv06jwep.jpg

5.1.6 文本行移动和Man Page

eb071737gy1g6e24t7683j20ia046aa5.jpg

5.2 插入模式

eb071737gy1g6e2583xmmj20ln08l74l.jpg

5.3 末行模式

eb071737gy1g6e25kuqd9j20ra08e0tg.jpg

5.4 分屏操作

eb071737gy1g6e25ykv2oj20wn04kjrw.jpg

6、gcc

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

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

7、静态库的制作和使用

7.1 静态库的优缺点

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

7.2 制作和使用静态库

eb071737gy1g6e26wk4cyj20n00ju75h.jpg

8、动态库的制作和使用

8.1 动态库的优缺点

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

8.2 动态库的制作和使用

1566875387109

9、gdb调试

eb071737gy1g6e2934h9ij20p80lqabd.jpg

转载于:https://www.cnblogs.com/yanyun888/p/11417229.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值