免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1867 | 回复: 0
打印 上一主题 下一主题

linux指令记录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-19 22:55 |只看该作者 |倒序浏览

   
   
   
  
Shutdown -h now 关机
shutdown -r now 重启
reboot 快速重起 跳过sync过程
init 0 关机
init 5 重启
halt 系统停机
ln -s xx yy
gzip xx
gzip -d xx.gz
tar -czvf xxx.tar.gz
tar -xzvf xxx.tar.gz
cp
mv
chmod
rm -fr

df
patch
netstat -nl
netstat -nlu
finger
who
ifconfig
ifconfig eth0 down
ifconfig eth0 up
ifconfig -a
ifconfig eth0 192.168.0.103 network 255.255.255.0
ping www.baidu.com
date
cal
cal 05 2009
shell test.sh
while true
do
date;
sleep 1;
done
sh test.sh
chmod 755 test.sh
./test.sh
echo $PATH
echo $HOME
echo $HOSTNAME
echo $LOGNAME
export PATH=/home:$PATH
myfile="hi"
echo $myfile
编译与连接
编译:
1.把源代码转换成机器码的过程
2.之前还会进行前期处理
3.过程中会进行语法检查
4.编译器:完成编译动作的程序
连接:
1.将可执行文件与包含文件/用到的函数库建立关联的过程
编译型语言:需要先经过编译和连接程序产生可执行文件的语言,如:java/c/c++
开发人员编译连接
解释型语言:不需要经过编译和连接的过程,直接在特定的程序或环境下即可执行的语言,如:javascript/python等
自动编译连接
C语言现状:进行底层开发
Linux内核开发
基于Linux嵌入式开发
linux的操作系统内核就主要是用C写的,另外Linux下的很多软件也是用C写的,如mysql,apache等
开发环境的构成
编辑器:选择VI
编译器:选择GNU C/C++编译器gcc
调试器:应用广泛gdb
函数库:glibc
系统头文件:glibc_header
安装时程序开发 开发工具 gcc/gdb
如想开发图形界面,还需选上GNOME/KDE软件开发
IDE
Kylix号称Linux下的dephi
Kdevelop
RHIDE类似与Turbo C++
gcc(GNU Ccompiler)是GNU推出的功能强大,性能优越的多平台编译器,gcc编译器将c\c++语言源程序编译,连接成可执行文件,以下是gcc支持编译的一些源文件的后缀及其解释
.c源代码文件
.h头文件
.i是己经预处理过的c源代码文件
.o是编译后的目标文件
.s是汇编语言学源代码文件
gcc -o hello hello.c
用gcc来编译我们的源程序
-o选项要求编译器给我们输出的可执行文件名为hello
hello.c是我们的源程序文件
-c选项表示我们只要求编译器输出目标代码,而不必要输出可执行文件
-g选项表示我们要求编译器在编译的时候提拱我们以后对程序进行调试的信息
执行./hello就可以看到程序的输出结果
函数库glibc
系统头文件glibc_header
gcc依赖binutils和cpp包 make包也是在编译中常用的
查看glibc的版本
ls /lib/libc-*
查看gcc版本号
gcc –version
启动引导程序 /etc/lilo.conf /etc/grub.conf
控制启动模式 /etc/inittab
文件系统配置 /etc/fstab
/etc/profile 增加环境变量等(修改path等)
如配置java/j2ee开发环境
/etc/ftp* ftp的配置文件
/etc/httpd web服务器的配置文件
/etc/ssh* ssh的配置文件
/lib 系统所用的库 如C程序库
/lib/modules/2.4.20-8/kernel/drivers/ 驱动模块
/usr/lib 应用程序使用的库 如mysql的API
/usr/share/doc/ 用户帮助手册
/usr/src/linux-2.4.20-8/ linux源代码
mount 所挂装分区
fdisk -l [/dev/had] 硬盘分区状况
df -h 硬盘分区的使用情况
du -sh 目录占用空间
uname -a 所用linux版本号
mkdir 创建目录
rm -r -f 递归删除目录,并且不提示
rmdir 删除空目录
cd 切换目录
more /less 查看文件
cat 显示所指文件的内容
mv move
cp copy
fsck
find locate grep
ln -s
chmod
chown
chgrp
diff
cmp
Linux下C程序开发的过程
使用vi等编辑工具编写源程序
保存为*.c
使用gcc编译成二进制可执行文件
./a.out执行
有问题可以使用gdb进行调试
vi hello.c
#include
int main(int argc,char **argv)
{
printf("Hello World!\n");
return 0;
}
gcc -o hello hello.c
./hello
几个字符串函数
strlen
strcmp
strcat
strcpy
指针及指针变量,指向指针的指针
vi example1.c
#include
main()
{
int a,b;
int *p,*q;
a=100,b=2;
p=&a;
q=&b;
int **p1;
p1=&p;
printf("a=%d\nb=%d\n*p=%d\n*q=%d\n*p1=%d\n",a,b,*p,*q,**p1);
}
指针引用传递
vi example2.c
#include
int swap(int *a,int *b){
if(*a>*b){
int t=*a;
*a=*b;
*b=t;
}
}
main()
{
int a=200,b=100;
swap(&a,&b);
printf("a=%d,b=%d",a,b);
}
指针函数
vi example3.c
#include
int *swap(int *a,int *b){
if(*a>*b){
int t=*a;
*a=*b;
*b=t;
}
return a;
}
main()
{
int a=200,b=100;
int *c;
c=swap(&a,&b);
printf("a=%d\nb=%d\n*c=%d\n",a,b,*c);
指针函数
vi example4.c
#include
int max(int a,int b){
return a>b?a:b;
}
main()
{
int a=200,b=100;
int (*c)();
c=max;(*c)(a,b);
printf("a=%d\nb=%d\nc=%d\n(*c)(a,b)=",a,b,(*c)(a,b));
}
指向数组的指针
vi example5.c
#include
main()
{
int *p,i,a[10];
p=a;
for(i=0;i
{
scanf("%d",p++);
}
p=a;
for(i=0;i
{
printf("%d\n",*p++);
}
}
数组指针的移动
vi example6.c
#include
main()
{
int a[5]={1,3,5,6,7};
int *p=a+3;
printf("*p=%d\n*(p+1)=%d\n*p+3=%d\n",*p,*(p+1),*p+3);
}
数组指针的移动
vi example7.c
#include
main()
{
char a[80],b[80],*p,*q;
int n;
gets(a);
scanf("%d",&n);
p=a;q=b;
p+=n-1;
while(*p!='\0')
{
*q=*p;
p++;q++;
}
*q='\0';
puts(b);
}
结构为将不同数据类型,但相互关联的一组数据,组合成一个有机整体使用,C语言提供一种称为”结构”的数据结构.
所谓位段类型,是一种特殊的结构类型,其所有的成员均以二进制位为单位定义长度,并称成员为位段.
结构体共同体 枚举类型 用type定义类型位段结构
结构体,指向结构体的指针,结构成员初始化,结构体数组
cat example8.c
#include
struct data
{
int month;
int day;
int year;
} data1={5,6,2009},data2;
struct data data3;
struct student
{
char name[20];
char sex;
int age;
struct data birthday;
}
stu1={"luoxiaoqiang",'M',28,{5,3,2009}},stu[3]={{"Tom",'F',24,{5,3,2009}},{"luoxiaoqiang",'M',28,{5,7,2009}},{"lili",'F',27,{6,3,2008}}};
main()
{
struct data data4;
data4.month=6;
data4.year=2005;
data4.day=10;
printf("%d-%d-%d\n",data4.year,data4.month,data4.day);
printf("%d-%d-%d\n",data1.year,data1.month,data1.day);
printf("name
:%s\nsex :%c\nage: %d\nbirthday
:%d-%d-%d\n",stu1.name,stu1.sex,stu1.age,stu1.birthday.year,stu1.birthday.month,stu1.birthday.day);
struct student *p;
printf("name sex age birthday\n");
for(p=stu;p
{
printf("%-15s %2c %4d %d-%d-%d\n",p->name,p->sex,p->age,p->birthday.year,p->birthday.month,p->birthday.day);
}
}
共用体共同使用一段内存
vi example9.c
#include
union data
{
int i;
char ch;
float f;
}un1,un2,un3;
struct stru
{
int i;
char ch;
float f;
}stru1;
main()
{
int x=sizeof(un1);
int y=sizeof(stru1);
printf("%d\n%d\n",x,y);
}
枚举类型及自定义类型
vi example10.c
#include
main()
{
enum color {red,green,blue};
enum color i=blue;
if(i>1)
{
printf("Blue\n");
}
typedef int INT;
INT x=100;
printf("type INT value is %d\n",x);
}
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/86601/showart_1970910.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP