linux c 语言1-2 周笔记
来源:互联网 发布:js捷豹f-pace试驾视频 编辑:程序博客网 时间:2024/05/22 17:30
7.23.
1)cpu的存储器是寄存器(直接访问)
2)在app和os之间是system calls(系统调用)
3)关机:init 0;重启:init 6或reboot
7.24
1)“cd /” :进入根目录;“.”当前目录;“..”上一级目录;
2)绝对路径:从根目录开始的路径成为绝对路径;
相对路径:从一般路径开始的路径成为相对路径
3)创建文件夹:mkdir a;创建文件:touch a;
4)删除文件夹:rmdir a(a必须为空)
rm -rf 强制删除;rm -r 删除文件夹;
5)复制:"cp src des" eg:“cp -R src des” (-R表示递归复制文件夹里边的文件);
6) 移动文件:“mv”;说明:在同一文件下移动是更名,在不同文件下是移动;
7) cat 查看文件内容 “cat /etc/passwd”
1、"head /etc/passwd" : 查看passwd文件前10行;
"head -5 /etc/passwd" : 查看passwd文件前5行;
2、"tail /etc/passwd" :查看文件最后10行;
"tail -5 /etc/passwd" : 查看文件最后5行;
3、"more /etc/passwd" 和"less /etc/passwd" : 分屏显示、空格或回车翻页;
8)用户信息(分七段):cat /etc/passwd
一 二 三 四 五六 七
用户名 :密码:UID:GID:备注:用户工作目录:shell
显示密码信息:"cat /etc/shadow"
显示组信息(分四段):"cat /etc/group"
一二 三 四
用户名:密码:GID:各个用户
9)添加用户ws:"useradd ws"; 添加ws用户的密码: "passwd ws";
更改用户信息:"usermod"
"usermod -c "this is my first user " ws":更改用户ws的备注;
7.25
1)su - ws 切换用户(同时切换其工作路径)
su ws 切换用户(不切换其工作路径)
"echo $USER" 显示当前用户名;
"exit" 退出用户;
2)ls -l 长格式中首字符的意义:
d开头:文件夹; -开头:普通文件
c开头:字符设备b开头:块设备
l开头:链接文件s开头:socket文件
p开头:pipe文件
3)文件用户权限
U 用户G 组成员O 其他人
r w x r w xr w x
0-70-70-7
修改文件权限:"chmod a(U/G/O) +/- x/r/w 文件名"
"chown ws c": 修改文件拥有者
"chgrp ws c":修改文件组
4)压缩与打包
1、"gzip -c/d/t/# 文件名" 文件名.gz (-d为解压缩参数)
查看压缩文件:"zcat 文件名.gz"
2)"bzip2 -c/d/t/# 文件名" 文件名.bz2
3) 打包:"tar [-cxtzjvfp PN] 文件与目录"
参数:-c:建立一个压缩文件的参数命令
-x:解开一个压缩文件
-t:查看文件
(以上三个只能存在一个)
-z:用gzip压缩
-j:用bzip2压缩
-v:压缩的过程中显示文件
-f:使用文件,在f之后立即接文件名,不再加其他参数
7.26
1)概念:磁道:硬盘转一圈出来的圆就是所谓的磁道(Track)
磁柱:硬盘上面相同半径的磁道组成了磁柱
扇区:由圆心向外划直线,可将磁道再细分为一个个扇区(sector),扇区是硬盘上最小存储物理量,一个sector约为512Bytes
临道:第一个磁道;临扇:第一个扇区
2)fdisk -l 查看磁盘分区情况
mkfs -t ext3(磁盘格式) /dev/sda5 格式化磁盘sda5
mount -t ext3 /dev/sda /mnt将mnt文件夹挂载到sda5
umount /mnt 卸载mnt
变量:alias mm="ls" : mm代替ls
取消变量:unalias mm
grep "rpc" /etc/passwd : 显示带有rpc字符串的行
grep -v "rpc" /etc/passwd : 显示除rpc之外的所有行
grep -n "rpc" /etc/passwd : 显示带有rpc的行号
grep "printf" /usr/include -R : 在include文件夹汇总查找包含printf的文件
ifconfig 查看网络IP配置信息 eg:ifconfig etho 192.2.1.1 设置IP地址
进程运行实例:
1、ps -aux 查看进程PID
2、pstree 查看进程之间关系树
3、top 任务管理器
4、cat &后台运行进程 [1](作业号) 6777(进程号) 一个作业包含多个进程
5、fg %l 作业号:将后台调到前台
6、jobs 查看后方作业
“ctrl Z” 将正在运行的作业调到后台
“kill -9 进程号” 杀死进程
3)1、自定义变量:name=ws
2、自定义变量变为环境变量:export name
3、自定义变量只在当前进程中有效,环境变量在子进程中也有效,可继承;
4、取消自定义:unset name
7.29
1)所谓算法,为解决一个问题而采取的方法和步骤;
2)一个c程序应包括一下两方面:1、对程序所加工数据的描述;2、对数据操作方法的描述。
注:侧重于数据称为面向对象,侧重于操作方法称为面向过程。
3)负数补码:绝对值的原码取反加一
4)j=++i; => i=i+1;j=i;
j=i++; => j=i;i=i+1;
7.30
1)printf中%p输出地址;
2)scanf返回值为正确输入数据的个数;
3)在逻辑表达式中,并不是所有的逻辑运算符都要被执行;eg:a&&b&&c
4)break跳出该循环;continue跳出本次循环,执行下次循环;
5)若用到数学库时,在gcc后加 -lm
6)数组:一组具有相同数据类型的数据的有序集合
7)int(*p)[3] 数组指针
int *p[3] 指针数组
8.1
1)int main(int argc,ichar *argv[])
2)查看编译后预处理:
gcc -E a.c -o a.i ; cat a.i
或 cpp a.c
3)值——结果参数(将形参值传递给实参)
{
int a,b;
swap(&a,&b);
}
swap(int *x,int *y)
{
*x=3;*y=5;
}
4)strtok字符串处理函数,strtok(char *str,const char *delim)
功能:分解字符串为一组标记串,str为要分解的字符串,delim为分隔符
注:首次调用时,str必须指向要分解的字符串,随后调用要把str设为NULL
5)宏定义
#define
用#undef命令终止宏定义的作用域
8.2
1)gcc test.c -D DEBUG
在编译时定义一个宏DEBUG
2)写头文件:
#ifndef MY_MATH_H_
#define MY_MATH_H_
函数声明;
类型声明;
宏定义;
#endif
3)typedef int a_t[20]
....
a_t a,b;
a,b是两个包含20个int型类型数据的变量
4)malloc函数(动态分配内存)
分配:p=(struct stu_info *)malloc(sizeof(struct stu_info));
清零:mamset(p,0,sizeof(struct stu_info));
释放:free(p);
p=NULL;
- linux c 语言1-2 周笔记
- Linux C语言学习笔记
- linux学习笔记-C语言
- Linux之C语言笔记
- linux C语言开发 笔记
- C语言笔记2
- C语言笔记2
- C语言笔记2
- C语言 笔记2
- C语言笔记2
- c语言笔记2
- c语言笔记-2
- C语言笔记1
- C语言 笔记1
- C语言笔记1
- C语言笔记(1)
- C语言笔记---(1)
- C语言笔记1
- 判断任意一天是星期几?。。蔡勒公式
- 【diannaoxitong】支付宝余额宝是什么?阿里巴巴余额宝功能介绍
- 短小精悍的线性时间素数筛法
- C3P0连接池详细配置
- Unity中C#与JavaScript相互通信
- linux c 语言1-2 周笔记
- POJ 1033 Defragment
- Gradient And Karush-Kuhn-Tucker Conditions
- 移动网络技术2G --> 3G --> 4G
- 美国“监控门”情报收集系统 X-Keyscore 技术揭秘
- Parcelable接口的使用
- RGB888转RGB565
- 模板类中重载<<和>>操作符
- 序列化与反序列化的简单示例