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