1. linux的初步认识与操作
linux操作系统
如何操作linux操作系统(使用命令操作)
linux下的常用工具
2. linux系统编程
在linux操作系统环境下编程
进程
3. linux网络编程
如何在linux编写网络通信程
linux的发展史
linux是一个类unix操作系统
unix
Minix
linux
---免费
---开源--稳定
服务器市场
linux
windows
unix
.dll
刷root---linux下的超级管理员
因为linux开源免费
linux操作系统内核
发行版:在linux内核的基础上封装了自己的应用
红帽子---收费---快速的解决问题
centos---
桌面能完成的功能,命令都能完成
xshell---远程登陆客户端
vmware---虚拟出一个硬件环境用于安装一个操作系统
虚拟机---在vmware中虚拟的这个硬件环境/安装的这个操作系统
xshell功能就是:远程连接到虚拟机/服务器上对虚拟机/服务器进程远程操作
xshell secur CRT putty
winscp 用于自己主机和服务器/虚拟机之间的文件传输
notepad++
xshell连接的问题:
1. 查看网络连接中有没有VMware的虚拟网卡
如果没有:
关闭虚拟机-》编辑-》虚拟网络编辑器-》更改设置-》恢复默认设置(重新安装虚拟网卡)
完成之后再次看一下又没虚拟的网卡
2. 有虚拟网卡,但是ifconfig之后,没有ip地址
1. 重新点击右上角双电脑图标-》system eth0
2. 右键此电脑-》管理-》服务-》VMware服务
linux的命令操作:
讲解的是最常用的命令
命令的使用结构
命名名称 [操作选项] [操作源对象] [操作目标对象]
对目录进行操作(目录=文件夹)
ls: 默认查看当前目录下的内容
-a 查看隐藏文件
linux下以.开头的文件是隐藏文件
. 当前目录
.. 上一层目录
-l 列出目录下内容的详细信息
-t 按时间排序
-r 对排序进行逆序
pwd: 查看当前所在目录
/home/san 绝对路径,从/开始
../san 相对路径,从当前开始
.
mkdir 创建目录
-p 递归创建目录
rmdir 删除空目录
-p 递归删除空目录
man 手册命令
man 命令名 查看指定命令的手册
cd 改变当前所在路径
~ 当前用户的家目录
- 上一次所在路径
rm 删除文件(默认不能删除目录)
-r 删除文件,包含目录
-f 忽略提示信息,强制删除
cp 复制
-r 复制文件到指定位置,包含目录
-f 忽略提示信息,强制拷贝
mv 移动/剪切文件到指定位置
-f 忽略提示信息
对文件进行操作
touch 刷新文件时间属性,若文件不存在则创建
-t 以指定时间刷新
-r 以一个文件为标准刷新另一个文件
-a 仅仅刷新文件最后一次访问时间
-m 仅仅刷新文件最后一次修改时间
cat 将文件内容全部打印到终端显示
-n 显示行号
tac 逆序将文件内容全部打印到终端显示
more 按页显示文件内容
空格向下翻页
回车向下走一行
q退出
less 按页显示文件内容
f pgdown 向下翻页
b pgup 向上翻页
回车 上下 按行移动
/string 向下匹配string
?string 向上匹配string
q 退出
head 显示文件的前n行内容(默认前10行)
-n 用于指定显示多少行
tail 显示文件的后n行内容(默认后10行)
-n 用于指定显示多少行
-f 动态刷新文件末尾内容
ctrl+c退出
cp
mv
压缩相关操作
压缩/解压缩/打包
zip/unzip zip格式的压缩/解压缩
gzip/gunzip gzip格式的压缩/解压缩
bzip2/bunzip2 bzip2格式的压缩/解压缩
tar 打包命令
-c 打包
-v 显示详细的打包/解包文件信息
-f 指定包名字(因为-f用于指定包名 因此通常是最后一个选项)
-x 解包
-z 打包/解包的同时以gzip格式压缩/ 解压缩
-j 打包/解包的同时以bzip2格式压缩 /解压缩
查找匹配操作
grep 字符串匹配
grep "aa" test.txt
匹配test.txt文件中包含有aa字符串的行
-v 反向匹配
匹配的是不包含aa的行
-i 忽略大小写进行匹配
-R 对目录下的文件进行匹配
如果当前的文件是一个目录型文件
那么就进入这个子目录中继续匹配
find 从指定目录下查找文件
-name 按名称查找文件
-type 按文件类型查找文件
f 普通文本文件
d 目录型文件
linux下文件类型并不以后缀名区分,
后缀名只是用于用户容易分辨文件功能。
-size 按大小查找文件
+ns 超过n
-ns 小于n
s:
c 字节
b 块(默认512)
k
M
G
-amin/-cmin/-mmin 按分钟查找
-atime/-ctime/-mtime 按天查找
-n 在n分钟/天之内
+n 超过n分钟/天
其他操作
cal 查看日历
-3 相邻总共 三个月的日历
-j 显示当前月的每一天是当年第几天
-y 显示全年日历
date
-s 设置系统时间
+%s 查看时间戳
19700101000000到现在的秒数
+'%m-%d'以指定格式显示时间
bc 计算器
uname 查看系统的版本信息
-r
-a 查看详细的信息
halt 关机
reboot 重启
shutdown -h now 关机
linux下的目录结构
树状目录结构,最上层的目录是根目录(‘/’)
根目录下的所有目录都有特定的含义,都存储着不同功能的文件
网上查一查根目录下各个目录的功能?
linux下一切皆文件
shell命令及运行原理:
1. linux下的命令大部分都是一个个的可执行程序
2. 起始捕捉我们命令的这个东西也是一个程序
linux权限:
超级用户:root
普通用户
su 切换用户
针对文件的权限分了三类用户
文件所有者: 文件属于谁
文件所属组: 文件属于哪个用户组(组内成员)
其他用户: 除了上边两类之外的用户
文件的权限也有三类:
可读权限 用户是否能够读取内容
可写权限 用户是否能够修改内容
可执行权限 用户是否能够执行这个文件
7 7 5
111 111 101
rwx rwx r-x
文件所有者 文件所属组 其他用户
文件权限 目录权限
r 可读权限 是否可浏览目录
w 可写权限 是否可创建删除文件
x 可执行权限 是否可以进入目录
umask 显示/修改当前的文件默认创建权限掩码
文件满权限777减去掩码得到最终的文件权限
但是shell说文件创建的时候默认不允许可执行
umask值是022---权限:755
rwxr-xr-x
权限 & (~umask )
chmod 修改文件权限
u 所属用户
g 所属组用户
o 其他用户
a 所有用户
+/- r/w/x
0777 以八进制数字来设置权限
chown 修改文件所属用户
chgrp 修改文件所属组
需求:一个项目组有好几个用户
目录
所有用户都可以在目录中创建文件,可以删除自己的文件,但是不能删除别人的文件
沾滞位---权限位
首先沾滞位是针对目录来设置的
在设置了沾滞位的目录中可以创建文件,可以删除自己的文件,但是不能删除别人的文件
chmod +/-t dir 设置目录的沾滞位
管道符:|
连接两个命令,将前边命令的结果交给后边命令来处理
重定向:修改数据的流向
> 标准输出重定向
清除原有内容,将新内容写入
>> 标准输出重定向
向原有内容最后追加新内容
将原本要写入到终端显示文件的数据写入到指定文件
熟悉linux下环境开发,熟练使用vim gcc gdb yum工具