1.Linux的基本操作:命令、目录结构、文件权限、文件类型、操作文件、进程、监测、管理类等
2.vi/vim gcc使用 g++ makefile管理工程 gdb调试
3.库 静态库 动态库
4.进程 fork复制进程 exec 系统替换进程
5.进程间通信:管道、信号量、消息队列、共享内存、套接字
6.网络基础:ip tcp/udp 7层模型 四层 端口
7.网络编程:tcp编程流程 udp编程流程 三次握手、四次挥手
8.应用http协议 get post 404
9.io复用 select、poll、epoll
10.shell编程
目录结构
/ 根目录
/boot 内核 与系统启动有关的文件
/bin 命令,可执行程序
/dev 设备文件
/etc 系统的配置文件
/lib 库文件
/home 普通用户的家目录
/root 管理员的家目录
/mnt 临时挂载点
/proc 虚拟的目录,进程信息映射到该目录下
/tmp 临时文件,所有用户均可使用
/usr 系统运行过程中不常改变的文件
/var 系统运行过程中常改变的文件
文件类型
普通文件 -
目录文件 d
链接文件 l
设备文件 c,b
管道文件 p
套接字文件 s
常用命令
文件、目录操作命令
1、ls 查看当前目录下的内容
常用:
-a:列出目录下的所有文件,包括以 . 开头的隐含文件。 每个目录中都有一个 . 和 … 两个文件
-l:列出文件的详细信息
2、cd 切换目录
常用:
cd . . 返回上一级目录
cd ~ 进入家目录
cd / 进入根目录
3、pwd 显示出当前工作目录的绝对路径
4、touch+文件名 创建一个普通的文件
5、mkdir 用来创建一个目录文件
rmdir 用来删除目录
6、 rm 删除文件或目录
常用:
-f:忽略不存在的文件,直接删除,并且不给出提示信息
-i:交互式删除文件,给出提示信息
-r:递归地删除指定目录及其下属的各级子目录和相应的文件
7、cp 拷贝文件
用法:cp [ -f ] 源文件或目录 目标文件或目录
常用:
-f:强行复制文件或目录,不论文件或目录是否已经存在
-i:若复制文件重复,则覆盖文件之前先询问用户
-r:将指定目录下的文件与子目录一并处理
8、mv 移动/剪切/重命名
常用:
-f:如果目标文件已经存在,不会询问而直接覆盖
-i:如果目标文件已经存在,会询问是否覆盖
9、cat 查看目标文件内容
常用:
-b:对非空输出行编号
-n:对所有输出行编号
10、more 显示文件内容,每次只显示一屏 功能与cat类似
-n 对输出的所有行编号
-num 这个选项制定一个整数,表示一屏显示多少行
q 退出more
11、less
功能:less命令与more命令类似,但二者存在差别,less命令允许用户向前或向后浏览文件,而more命令只能向前浏览
常用:
-N:显示每行的行号
12、head 在屏幕上显示指定文件的开头若干行(不加参数默认前10行)
常用:
-n:显示指定文件的前面N行
tail:用于显示指定文件的末尾,不指定文件时,作为输入信息进行处理。常用查看日志文件
常用:
-f:循环读取 查看日志文件,使看到的内容为最新的
-n:显示行数
13、chmod 修改权限
文字描述:
将档案 file1.txt 设为所有人皆可读取 : chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 : chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 : chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 : chmod -R a+r *
数字描述
与进程相关的命令
1、ps
常用:
-a 显示所有 ‘终端进程’
-u 显示所有 ‘用户进程’
-x 显示所有进程,包括没有明确终端的进程(通常是一些后台服务进程)
-e 显示所有进程。此选项与选项x类似,但使用的格式为BSD系统格式
-f 显示UID,PPID(父进程ID),C(CPU占用率)和STIME(进程启动时间)字段
-l 以长格式显示进程列表
ps -ef 查看当前在执行进程
ps -ef | grep “ ” 加上管道过滤
2、kill 终止进程
kill+pid
pkill + 程序名字 可以结束一类同名进程
3、&
加在一个命令的最后,可以把这个命令放到后台执行
4、jobs
显示当前后台进程 jobs -l 显示长信息(更详细的信息)
5、fg、bg
fg+%+任务号 后台运行的程序挪到前台运行
bg+%+任务号 让停止的任务在后台继续运行
ctrl + z :将当前正在运行的程序放到后台运行,并暂停
6、top
可以监视系统中不同的进程所使用的资源。它提供实时的系统状态信息。显示进程的数据包括 PID、进程属主、优先级、%CPU、%memory 等。可以使用这些显示指示出资源使用量
系统管理相关命令
1、shutdown
shutdown -t 指定在多长时间后关闭
shutdown -r now reboot 重启
shutdown -h now halt 关机
2、init
0 关机(千万不能把initdefault 设置为0 )
1 单用户
2 多用户(没有NFS,无网络服务)
3 完全多用户(标准的运行级,优先进入字符终端界面)
4 自定义
5 X11 (xwindow) 图形化界面模式
6 重启 (千万不能把 initdefault 设置为6 )
用户管理相关命令
1、su 切换用户 (不写用户名默认为root用户)
2、exit 退出
如果是图形界面,退出当前终端。
如果是使用ssh远程登录, 退出登录账户。
如果是切换后的登录账户,退出则返回上一个登录账户
3、
useradd 添加用户
userdel 移除用户
passwd 修改密码
/etc/passwd 记录用户的信息
文件查找
1、find
find 查找文件
find 路径 查找方式(-name 按名字) 文件名
find /home/stu -name main.c 在stu家目录下找一个叫main.c的文件
2、grep
过滤,在一个文件中查找匹配的字符串
| 管道,可以把一个命令输出的结果写入该文件,然后可以让另一个命令读取该文件内容
文件的压缩与打包
1、gzip
压缩:a.txt, gzip a.txt,生成a.txt.gz
解压:a.txt.gz,gzip -d a.txt.gz,
2、tar
Linux中的打包文件一般是以 .tar 结尾的,压缩后的文件一般是以 .gz 结尾的,一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般 .tar.gz
tar cvf +包名 +包包含文件:打包成tar.gz 形式
gzip +包名 :压缩包 压缩成my.tar.gz 的形式
tar zxf + 压缩包名 解压缩包(一步成功)
gzip -d +压缩包名:解压缩包 将my.tar.gz 解到 my.tar
tar xvf +包名 :解包 对my.tar 解包
vi编辑器的使用
1、命令模式
2、编辑模式
3、末行模式
i:插入
wq 保存并退出
q 退出(未修改文件内容)
w 只保存
q!强制退出(不保存退出)
复制 n+yy p粘贴
删除/剪切 n+dd 删除一个字符 x 替换一个字符 r 持续替换 R
撤销一个操作 u (慎用)
复制 n+yy p粘贴
删除/剪切 n+dd 删除一个字符 x 替换一个字符 r 持续替换 R
撤销一个操作 u (慎用)
取消行号 set nonu
移动光标到文件末尾 G
移动光标到文件第一行 gg
移动光标到文件第n行 nG
跳转到第n行 n
不能多个终端打开同一文件,关闭文件时要正常退出