1、Linux的主要特点:
完全免费:用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。
安全性:Linux采取了许多安全技术措施,其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。
多用户:可以被不同用户使用,每个用户对自己的资源有特定的权限,互不影响。
多任务:同时执行多个程序,而同时各个程序的运行互相独立。
独立性和可移植性都是说可以适应不同环境,内核都是一样的。
2、基础操作
打开终端:
ctrl + alt + t或ctrl + alt + n(在已经打开一个终端的前提下)
关闭终端:
exit或alt+F4
调整终端
放大:Ctrl+shift+“+”
缩小:Ctrl+“-”
3、命令:
命令组成:command【options】【parameter】
命令字 选项 参数
命令字:决定了主要操作是什么(命令名称)
参数:指命令的操作对象
选项: 指该操作的一些执行方式
(1).切换到根用户
su root
(2) .临时权获取管理员权限,放在需要执行的命令之前:
sudo
(3) .显示当前工作目录的绝对路径
pwd
(4) .可以查看命令或函数(OS提供的函数和C库函数)的用法 (用q退出)
man
(5) .创建一个用户
sudo adduser 用户名
(6) .切换到用户
su 用户名
(7). 临时获取管理员权限
sudo
1.ls 命令 //查看当前工作目录里的内容
ls 可选参数 可选的文件
(1) .显示所有的文件,包括隐藏
-a
(2) . 详细输出文件夹中的内容
-l
(3) . 人类可读方式输出
-h
(4) .完整的时间格式输出
--full-time
(5) .根据最后修改时间排序
-t
(6) .逆转排序
-r
2.查看文件内容
cat 文件名
3.创建
1. 创建一个空目录
mkdir 目录名
2.先创建目录,在创建子目录
mkdir -p目录/子目录
3.创建目录之后显示信息
mkdir -v 目录名
4.创建一个名为“file”的新的空白文件
touch file
4.复制文件或目录
cp
语法格式:
1.复制源文件到目标目录下
cp 源文件 目标目录
2.复制整个目录到目标目录
cp -a 源目录 目标目录
3.复制整个目录的文件到目标目录
cp -a 源目录/. (这里有一个空格)目标目录
5.重命名:
mv 源文件 目标文件
6.源文件移动到目标目录:
mv 源文件 目标目录
7.改变指定文件或目录的操作权限
chmod
用法:
用三位8进制数表示9个操作权限
chmod 三位8进制数 需要改变权限的带路径的文件或目录名
用特殊字母和符号表示相应权限操作
a:所有用户
u:主人
g:小组用户
o:其他用户
+:启用相应权限
-:去除相应权限
=:设置成指定权限
r:读权限
w:写权限
x:可执行权限
chmod a+x 需要改变权限的带路径的文件或目录名
chmod o-w 需要改变权限的带路径的文件或目录名
4.C语言
1.代码中用到的单词:
- 关键字:C语言语法已经用掉的单词,这些单词都已经有了固定作用
- 标识符: 程序员自己可以命名的单词
- 不能是关键字
- 由大小写字母和0~9数字符号以及下划线构成
- 只能以字母或者下划线开头
- 区分大小写
main函数名不是关键字,是操作系统要求的 多个函数的函数名不能重名
2.命名方法
小驼峰法
变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如
int myStudentCount;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
常用于函数名。
大驼峰法
相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,属性,命名空间等。譬如
public class DataBaseUser
3.规定数据输出方式的,
1.%d有符号10进制整数。
2.%i有符号10进制整数。
3.%o有符号8进制整数。
4.%u无符号10进制整数。
5.%x无符号的16进制数字,并以小写abcdef表示。
6.%X无符号的16进制数字,并以大写ABCDEF表示。
7.%F/%f浮点数。
8.%E/%e用科学表示格式的浮点数。
9.%g使用%f和%e表示中的总的位数表示最短的来表示浮点数G同g格式,但表示为指数。
10.%c单个字符。
11.%s字符串。
12.%%显示百分号本身。
如果有正确输入scanf函数的返回值是正确获得输入变量的个数,如果没有正确输入,就退出循环。
4.C语言程序结构
C语言程序有3种基本结构:顺序结构、选择结构和循环结构。
①谓顺序结构: 就是指按照语句在程序中的先后次序一条一 条的顺次执行,且每个语句都会被执行到。先执行A模块,再执行B模块。
②选择结构:选择语句又称为分支语句,它通过对给定的条件进行判断,从而决定执行两个或多个分支中的哪一支。当条件 P的值为真时执行A模块,否则执行B模块。
③循环结构:是在某些条件的控制下重复执行- -段代码语句,让程序“杀个回马枪”,当满足循环条件时执行循环语句,否则不执行循环语句。
1.单分支结构:
2.双分支结构
如果符合表达式,执行“语句-1”,不符合表达式,执行“语句-2”
3.多分支结构
如果符合表达式1,执行“语句-1”,
不符合表达式1,再和表达式2比对,符合表达式2,执行“语句-2”,
不符合表达式2,再和表达式3比对,符合表达式3,执行“语句-3”,
不符合表达式3,走else语句
4.switch结构
注意常量表达式
break不是必须的,按照题目要求,是否添加
default不是必须的,按照题目要求,是否添加
case 常量表达式后面是:
5.循环结构
1.while循环语法:
while(表达式){
循环体;
}
2.do while循环
do{
循环语句;
}while(判断表达式);
3.for循环
for(表达式1;表达式2;表达式3){
语句;
}
表达式1:设置初始条件,只执行一次,可以0或者多个表达式赋初始值
表达式2:循环条件表达式
表达式3:作为循环的调整
三元运算符
7.局部变量
在某个函数或块的内部声明的变量称为局部变量。它们只能被该函数或该代码块内部的语句使用。局部变量在函数外部是不可知的。下面是使用局部、 变量的实例。在这里,所有的变量a、 b和C是main()函数的局部变量。
8.全局变量
全局变量是定义在函数外部,通常是在程序的顶部。全局变量在整个程序生命周期内都是有效的,在任意的函数内部能访问全局变量。全局变量可以被任何函数访问。也就是说,全局变量在声明后整个程序中都是可用的。
9.一维数组
一维数组 表示数组长度的常量表达式可以省略
宏定义只代不运算
#define 名字 大小
数组下标从0开始
●在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素
的个数,即数组长度。
一维数组的初始化
为了让程序简洁,我们常常在定义数组的同时,给各数组元素赋值,这就是数组的初始
化。
10.定义二维数组
二维数组的定义方法和一维数组类似,其一般形 式为:
类型说明符 数组名 [常量表达式] [常量表达式]
二维数组可以省略行
11.模块化程序设计
实参:实际参数
形参:不是实际存在的参数,虚拟变量;就是一个名字,不占用内存空间