1. 在虚拟机中新建一个test.sh文件
也可以直接在控制台输入/bin/bash test.sh ,这时文本里和控制台都不用写#!
查看gcc版本 gcc --version
2. 新建一个c文件,保存为 test.c, 在控制台输入 gcc test.c,会在同一目录下生成 a.out 文件,此时 ./test.c即可运行
也可以通过下面的方式给生成的文件制定一个名字:
.out文件是可执行文件。
3. ctrl + shift + c 复制, ctrl + shift + v 粘贴
4.
char *argv[] = {"test.sh",0};
末尾需要为0
execvp(argv[0],argv);
execvp()的第一个参数是文件路径名,第二个参数是参数列表,为0,1,2,3 第0个参数还是文件名,即argv[0],需要重复一遍。
5. linux 的内部命令和外部命令的区别: shell (命令解释器)本身是一个程序,默认是 bash , 在 linux 系统启动运行时,shell 就被加载,并驻留在系统内存中,而内部命令就是 shell 的部分功能代码,已经随着 shell 的加载预留在系统内存中,在被调用时可以直接被shell 识别并运行,速度很快,不用创建一个新的进程;而外部命令是linux系统中的实用程序部分,实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用到内存当中,通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常在/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/sbin等等。可通过“echo $PATH”命令查看外部命令的存储路径,比如:ls、vi等。所以在实现内部命令时,相当于调用在 自定义shell中的函数名即可。
6. pwd 显示当前工作目录;echo $SHELL 可以显示当前的shell; 用 g++ 来编译cpp, 用 gcc 来编译 c 文件;
7.pwd是一个内部命令,但是/bin/pwd 的pwd却是一个功能相似甚至更加强大的外部命令,当没有shell没有找到内部命令时,会到 PATH 中寻找同名的外部命令,在 bash 中输入pwd 直接定位的是内部命令,输入 /bin/pwd 则定位到外部命令,当我们自己写一个没有内部命令 pwd 的 shell 时,输入 pwd 它会直接找到 PATH 环境变量下的 /bin/pwd 可执行文件中,如果我们输入的是 cd 或者 echo , type 得到的结果可能是乱七八糟或者根本就不会显示出结果,所以我们在写自己的内部命令时要在 shell 程序体中进行定义。ls 是一个外部命令,所以我们可以直接通过系统调用的方法执行。
8. 在ubuntu 安装codeblocks,虽然用gcc编译,但是debug的时候报出没有g++的错误,只能老老实实的安装,并且要注意新建一个工程时一定不能带中文目录,路径一定要是全英文的,否则会提示 no input files。
9. 在linux 中使用gets()可能会报警告,忽略即可。
10. ctrl + z 可以终止vi或者正在终端执行的程序。
11. 在codeblocks 中修改代码以后,要先build 一下,再run.
12. char ch = getchar() 的使用,可以用来接收回车符,避免回车符作为下一次的输入
13. vi a.txt进入编辑模式,i 可以进行修改,esc键退出修改模式,shift+:,再用wq表示保存并退出
14.shift + pageup可以对查看命令行界面前面的内容,Pgon则向下翻页
15. 利用putty中的pscp向主机中传输文件,首先定位到pscp(cd d:\centos镜像)所在目录,直接就可以使用pscp命令了:
/root/即为默认的目录,也可以为:/usr/local/进行指定:
16.使用 wget -P /usr/local/ http://... 下载文件到指定目录
17.打开虚拟机时,要启动zookeeper,(zkServer.sh start(restart)每台机子都要进行) 在进出虚拟机时,只需对cluster1进行下面的操作即可,并且使用到了hadoop时,关机前要按照顺序执行(开启时为start-yarn.sh...):
stop-yarn.sh
stop-dfs.sh
stop-hbase.sh
stop-master.sh
stop-slaves.sh
18. 先通过ps -ef|grep mysql查看当前进程,如果有/usr/开头的mysql 用 kill 进程号进行解除。
然后通过,# /etc/init.d/mysql.server start -user=mysql启动mysql,然后mysql -u root -p连上mysql即可。
19.vi模式gg回到顶部,shift+g到达底部,esc模式下 输入 / 接上查找的字符串可以查找,但只是从当前到文档末尾进行查找。
20. 从虚拟机向主机发送文件,必须有主机的路径:
pscp -r root@192.168.56.121:/usr/local/apache-hive-1.1.0-bin/conf/hive-site.xml d:\centos镜像
21.在linux中运行.java文件