SSH服务
检查安装了那些:dpkg –l |grep –i ssh #应安装 server 和client(自带)
安装:apt-get install openssh-server
提示解析失败原因:1.中途更换网络,重启解决。
2.改/etc/resolvconf/resolv.conf.d/base文件,
加入dns服务器地址:nameserver 202.96.134.133
nameserver 8.8.8.8
sudo /etc/init.d/ssh start # 启动服务
一个test.c文件的 预处理,编译,汇编,链接
#include<stdio.h>
int main()
{
printf("wrap me in plastic
");
}
法1:gcc -o test.exe test.c
./test.exe
法2: gcc -E test.c > test.i #预处理
gcc -S test.i -o test.s #编译
gcc -c test.s -o test.o #汇编
gcc test.o -o test.exe #链接
./test.exe #执行
*****标准I/O
使用sudo apt-get install 安装软件的时候报错:
dpkg: 处理归档 /var/cache/apt/archives/libexpat1-dev_2.2.5-3_amd64.deb (--unpack)时出错:
正试图覆盖 /usr/include/expat.h,它同时被包含于软件包 expat-devel 2.2.6-2
dpkg-deb: 错误: 子进程 粘贴 被信号(断开的管道) 终止了
在处理时有错误发生:
/var/cache/apt/archives/libexpat1-dev_2.2.5-3_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
终端输入 sudo dpkg -i --force-overwrite /var/cache/apt/archives/*.deb 然后再执行就没问题了
makefile 编写例子
包含本目录下的.h文件,使用include" " ,make 过后正常运行可执行文件使用命令 ./
若会修改头文件,将头文件包含到main.c中,这样每次编译一定会重新编译到。
第一个目标文件指定完备所有的依赖文件。例如
1 main:main.o aa.o bb.o
2 gcc -o main main.o aa.o bb.o #行前要有Tab
3 aa.o:
4 gcc -o aa.o -c aa.c
5 .PHONY:clean rebuild
6 clean:
7 rm -f main.o aa.o bb.o *~
rebuild:clean main
变量方式
变量分类:用户自定义变量,自动变量,预定义变量,环境变量。
格式:变量名:=变量值 或 变量名=变量值
1 SOURCE:=test.o 1.c 2 EXE:=test 3 $(EXE):$(SOURCE) 4 gcc -o $(EXE) -c test.c 5 test.o:test.c 7 gcc -o test.o -c test.c
隐含规则:.o文件自动依赖.c或.cc文件,是cc编译器进行编译, 上面蓝色的规则可缺省。
%.o:%.c #采用模式匹配,指定gcc编译器编译
gcc -o $@ -c $^ #必须这种格式,可以不报错
自动变量:$@ 当前规则目标文件 #写在规则里面用作代替
$< 当前规则第一个依赖文件 $^ 所有的依赖文件
eg:
$(EXE):$(SOURCE) gcc -o $@ $^ #这两个是不一样的,命令前加 @ 静默执行,将不显示命令
test.o:test.c
gcc -o $@ -c $^
预定义变量:系统里面设定好的变量
把生成的后缀相同文件放到指定位置,每一个生成的变量前面都要引用目录变量。
DIR:=./mulu/
$(DIR)test:$(DIR)test.o $(DIR)1.o
gcc -o $(DIR)test $(DIR)test.o $(DIR)1.o -c test.c 1.c
执行时 ./test 就可以
当makefile文档名不是 makefile时执行时加上 make -f filename
两系统间复制粘贴:
第一步: sudo apt-get autoremove open-vm-tools
第二步:sudo apt-get install open-vm-tools-desktop
定时清理内存:
创建cleanCache.sh
#!/bin/bash
# 每一小时清除一次缓存
echo "开始清除缓存"
sync;sync;sync #写入硬盘,防止数据丢失
sleep 10 #延迟10秒
echo 3 > /proc/sys/vm/drop_caches
chmod +x cleanCache.sh #设置可执行
./cleanCache.sh #以管理员身份创建任务
修改/etc/rsyslog.d/50-default.conf 文件,删除 cron.* 前面的注释符号#
sudo service rsyslog restart
sudo service cron restart
#######若提示没有cron,尝试 :apt-get install --reinstall rsyslog 再运行 ./cleanCache.sh
查看日志文件:tail -f /var/log/cron.log #按CTRL+c退出