linux虚拟机常用命令
OS 区别安装命令:
contOS :yum install 程序
乌班图: apt install 程序
MacOS:brew
Linux上安装rz和sz命令:
文件操作基本命令
[cd]:进入主目录
命令:进入root: [su]回车输入密码回车即可。
查看ip: [ip addre] 2:en33后面inet 就是ip地址。
新建文件夹:[mkdir test]
新建文件:[touch test/a.txt]在test文件夹下新建一个 a.txt文件
修改文件名:[sudo mv test.txt new.txt]
删除文件:[rm -f 文件名](删除文件,且无提示),[ rm -rf 目录名字]删除文件夹级里所有文件
编辑:[vi test/a.txt]输入[i]进入编辑模式,编辑好后按ESC 输入[:wq]回车进行保存。(vi比vim快)
查看内容:[cat test/a.txt]
Linux文件拷贝
*tree命令可以将一个目录结构以树状图的形式展示出来,安装 命令
[yum install tree]
[tree 目录名] :tree以树状图列出文件目录结构
[cp 源文件 目标文件] :copy复制文件或者目录(cp ./aa/a.txt /home/a.txt)
~~~不加文件名表示直接拷备到该目录下如:cp ./aa/a.txt /home/
~~~拷备整个目录:cp -r ... 如:cp -r /aa /root/aa 把目录aa里面的东西拷备到root下面的aa里面
剪切/移动:
[mv 路径文件名 路径] :mv ./aa/a.txt /home把aa文件夹下的a.txt移动到home文件里面,前面一定要加点表示当前目录,要不然移动不见了
[mv hello.csv ./python]:把当前目录的hello.csv剪切到当前目的python文件夹里
[mv hello.txt ../java/]: 把当前目录下的文件hello.txt剪切到上一级目录的子目录java目录里
[mv hello.txt ..] 把文件hello.txt移动到上一级目录
Linux的环境变量:
*临时环境变量:连接到Linux服务器,会产生一个回话,那么我们配置的临时环境变量就保存在这个回合中,如果关 闭了,临时环境就没有了
* export:代表声明一个环境变量,声明的过程中,内容是以:隔开的,Windows是以;隔开的
* 声明:export CLASSPATH=KevinStudy:NDK:XShell
* 查看:echo $CLASSPATH
* 查看电脑环境变量:echo $PATH (类似于 Windows中的 path 一样哦)* 永久环境变量:
* export PATH=${PATH}:xxxxx (代表是 在PATH这个环境变量的基础上 增加: xxxxx环境变量的配置)
* 三个重要的文件:profile,bashrc,bash_profile
* cat /etc/profile (代表是 输出 profile文件的内容)
* ~ 代表当前用户,相当于Windows下的C:\Users\Administrator
* etc:代表的是全局环境变量的设定, ~/是用户私有环境变量的设定
* 刷新修改的 环境变量文件 命令是:source /etc/profile
* vim(:q!代表不保存,退出到命令行, :wq代表保存,退出到命令行)
编译的原理
编译(把人写的代码,变成,机器可以认识的指令) Linux(gcc),Mac(Clang)
1.预处理阶段(include,宏 ....) gcc -E A.c -o A.i
2.编译阶段,编译之后(汇编代码) gcc -S A.i -o A.s
3.汇编处理阶段,把汇编代码处理成,计算机认识01010101机器码 gcc -c A.s -o A.o
4.链接阶段,打出可以执行的 gcc -C A.o -o A ./A一条命令之前上面四个步骤: gcc B.c -o B
----------------------------------------------------------
[gcc -C main.c -o main ] :把main.c编译成可执行文件main
[./main]:执行
拉流
http://ffmpeg.org/download.html
D:\NDK\Utils\ffmpeg-20191226-b0d0d7e-win64-static\ffmpeg-20191226-b0d0d7e-win64-static\bin
配置到环节变量:path
rtmp流地址:
https://blog.csdn.net/XiaoYuWen1242466468/article/details/90287886
ndk的编译:
#####################################1下面是arm真机上的配置#############################
#ndk gcc目录:
export NDK_GCC="/home/aa/android-ndk-r17c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc"#--sysroot=路径(自动寻找头文件和库文件.so/.a)
#-isystem路径(寻找指定目录的头文件)
#如果同时设置 --sysroot=路径 -isystem,路径会用-isystem覆盖--sysroot=路径头文件(最终达到的效果后者的头文件,前者的头文件)
# 第二个-isystem,解决asm无法引入,会报错(c源码的问题)------老版本不需要
export AAA="--sysroot=/home/aa/android-ndk-r17c/platforms/android-19/arch-arm
-isystem /home/aa/android-ndk-r17c/sysroot/usr/include
-isystem /home/aa/android-ndk-r17c/sysroot/usr/include/arm-linux-androideabi"#编译可成可执行文件
$NDK_GCC $AAA -pie main.c -o main_ndk_exe#####################################2下面是虚拟机上的配置#############################
#1.
export NDK_GCC="/home/aa/android-ndk-r17c/toolchains/x86_64-4.9/prebuilt/linux-x86_64/bin/x86_64-linux-android-gcc"
#2.
export AAA="--sysroot=/home/aa/android-ndk-r17c/platforms/android-21/arch-x86_64 -isystem /home/aa/android-ndk-r17c/sysroot/usr/include -isystem /home/aa/android-ndk-r17c/sysroot/usr/include/x86_64-linux-android"总结: 1.机器的版本要对应,比如平台android-21要对应21的手机或者模拟器
2.提示这个(error: only position independent executables (PIE) are supported.)错误,编译的时候要加-pie
查看设备详细描述:
[file cat]
CentOS 7.4 64位 .tar.bz2 解压
https://blog.csdn.net/u012618086/article/details/80624377
1.安装bzip2:yum install -y bzip2
2.改变压缩格式:bunzip2 ffmpeg-4.2.2.tar.bz2
3.解压tar -xf dlib-19.13.tar
Centos7解压Zip文件
一、安装支持ZIP的工具yum install -y unzip zip
二、解压zip文件unzip 文件名.zip
三、压缩一个zip文件 zip 文件名.zip 文件夹名称或文件名称