超全面的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
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调试
想了解更多相关内容请访问PHP中文网:Linux视频教程
以上就是超全面的Linux基础知识整理的详细内容,更多请关注其它相关文章!
下一篇: Node.js全局对象基础详解