




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、打开终端编辑当前配置每一个打开的终端都对应一个用户环境。每一个终端都对应一个进程。每一个终端都对应一个工作目录每个终端都对应一个命令解释器,输入到终端下的字符,当我们按下回车的时候,都 会提交给命令解释器来解释。命令解释器:如果字符串是一个能够执行的命令就运行它,如果不能就作为一个命令来解释错误rootlocalhost#前的是当前终端所对应的用户的用户名后的是计算机名:表示当前工作目录是用户的家目录。指示当前工作目录#:表示当前用户是超级用户(root)。$:表示普通用户。绝对路径:以根目录为起点的目录结构表示方式/mnt/hgfs相对路径:以当前工作目录为起点的目录结构的表示方式。工作目录
2、就是当前终端所对应的目录环境。command空格 options空格 argumentscommand:命令名options :选项一般都会在前面加上-号arguments:参数,有时候选项需要带参数文件管理:网络管理:系统管理:磁盘管理:备份压缩:文件管理:cat chown cp diff file find ln touch rm mv chmod网络管理:ifconfig ping tftp系统管理:ps useradd userdel who uname reboot sudo su磁盘管理:cd ls pwd mkdir rmdir mount umount df du备份压缩:b
3、zip2 bunzip2 gzip gunzip tarpwd:显示当前工作目录的绝对路径cd:切换工作目录 例子:cd / #切换工作目录为根目录。 cd #跳转到家目录 cd #跳转到家目录 cd /root/ (cd /usr/lib/) #跳转到绝对目录下 后面的/表示是目录下的. cd - #跳转到上一个目录 cd . #跳转到当前工作目录的上一级目录,父目录。 cd . #跳转到当前工作目录。 cd./lib或者cdlib#表示跳转到当前工作目录下的lib。 cd./././usr/lib ls:列出目录下的文件 ls#列出当前目录下的文件 ls/usr#列出/usr目录下的文件
4、ls./bin#列出上一级目录下bin目录下的文件 ls常用的选项: -a表示all。会列出隐藏文件(linux下都是以是以点开头) 就一个点:当前目录 .:表示上级目录 -l表示long会列出长文件信息,即包括文件的详细信息 -h 表示将文件的大小以K,M,G 每行列出的信息依次是:文件类型与权限 文件硬链接数或目录子目录数 文件所有者 文件属组 文件大小 最近修改的时间 名字drwxr-xr-x 2(文件的硬连接数)root root 4096 01-02 15:55 dir2-rw-r-r- 1 root root 6 01-02 15:55 file-rwxr-xr-x 1 root
5、root 23084 01-02 16:03 pwd开头是由10个字符构成的字符串第一个字符表示文件类型,它可以是下述类型之一:- 普通文件d 目录l 符号链接b 块设备文件 (读写时是一块一块的读写的设备)c 字符设备文件 (一个一个字节读写的文件)。 p 命名管道(FIFO) s socket文件后面9个字符表示文件的访问权限,分为3组,每组3位:第一组表示文件所有者的权限, 第二组表示同组用户的权限, 第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读、写和执行权限。 各权限如下所示:r 读 (4)w 写 (2)x 执行 (1) 对于目录,表示进入权限。- 没有这项权限。-li
6、nux里每一个文件都有对应的用户和用户组 四: man:-系统提供的命令一般都有一个man手册 man命令名#打开命令的帮助手册 退出man帮助,按q键。 五: cat:查看文件内容。六: chown:改变文件的所有者七: cp:复制操作 cp /root/1.c /2.c cp /root/1.c /usr #将 cp选项: -r:复制时包含目录 -f:强制执行不再提示。(系统默认无效,只需要将/root/.bashrc文件中的“alias cp=cp -i”前加上#,注销并重新登录就可以用-f了)八: diff九: fine十: ln:给文件设置链接 -s选项是设置软链接。(快捷方式) 例
7、子: ln -s /root/1.c /root/Desktop/1.c(桌面快捷方式)十一: touch:更新文件的修改,如果文件不存在,创建一个空白文件,我们一般用这个命令十二: rm:删除 -r:删除目录及其中的内容。 -f:强制删除十三: mv:移动或重命名 mv 1.c 2.c 重命名 mv /1.c/root/#移动到root目录下 #十四: mkdir:创建目录 -p:创建目录时,如果上级目录不存在,会创建上级目录tar:打包文件 -c创建一个文件 -x:展开一个文件包 -f:指定文件名 -v:查看 -t:临时打开 -j:打包并使用bzip2工具进行压缩,如果解包,使用bunzi
8、p2解压缩 -z:打包并使用gzip2工具进行压缩,如果解包,使用gunzip2解压缩 最常用的方式是:-czvf或者-cjvf进行文件的打包压缩备份 -xzvf或者-xjvf进行解压缩文件。 -C:指定解压的目录 vim编辑器的使用linux常用的编辑器:vi (vim升级版),gedit,emacsvim:linux下的全屏的文件编辑器。vim 具有四种模式:命令模式、插入模式、底行模式、可视模式。命令模式:也称为普通模式,该模式下主要执行vim命令操作,可以移动光标进行浏览, 整行删除,但无法编辑文字。刚打开vim时默认处于此模式,无论处于什么模式,按下ESC键进入此模式。插入模式:正常
9、的文本编写模式,在命令模式下按下命令快捷键可进入此模式。(键盘按 下的键都会直接输入为文本) 在命令模式下按下i,a,o可以进入插入模式底行模式:该模式下,光标位于屏幕底行,我们输入的内容都会出现在最低行。在命令模式下, 在命令模式下按冒号(:)进入底行模式。可视模式:对文本进行选择操作。 在命令模式下按v,可进入可视模式。vim的功能可以通过一些配置文件增强它的功能鼠标vim 1.c :vsplit 垂直分隔窗口:split 水平分隔窗口分隔窗口后可以使用Ctrl+h,j。k,l在多个窗口之间进行切换1. c语言程序的编译过程-gcc编译器的处理过程 内容:删除注释内容,替换宏定义内容,处理
10、#include。处理条件编译的命令 #include #define #ifdef #ifndef #if #endif 第2步、编译-得到.s文件 把c语言源代码翻译成汇编代码 第3步、汇编-得到.o文件 把汇编代码翻译为可执行的二进制代码 第4步、链接-(没后缀要求) 把经过前三步处理之后可执行代码进行合并,并得到一个可执行文件 指定全局变量,静态变量的地址,函数的地址。2.gcc编辑器的常用选项使用-c,c+,java 如果编译时代码错误,gcc会把错误信息直接在终端上输出-E :控制gcc只处理预处理后就停下来1、-E预处理后就停下来-o:指定gcc编译时输出的文件名-S:控制gcc
11、编译时执行到编译这一步就停下来-c:控制gcc不做链接工作就停下来。-Wall:打开所有需要注意的警告信息。-g:产生调试信息。如果不加选项,生成的可执行代码不能使用gdb工具进行代码调试。-O(1欧不优化) -O1 -O2优化选项,指定代码的优化级别可以从0-9;数字越大,优化的越多。-Idir:在头文件的搜索路径中加入dir目录,即告诉编译器去dir这个目录下去找头文件3、环境变量,c语言程序接受参数对于多用户的操作系统,当用户登录系统以后,不同的用户都需要或者存在一些不同的设置,这些内容统称为用户环境,在操作系统下这些PATH:echo:可输出环境变量的值 例子:echo $PATH:导
12、出一个本地变量为环境变量,env:显示当前系统下的环境变量的值。set:设置一个环境变量的值。set HELLO=“hello”unset:去掉一个变量。unset HELLO1. c语言程序的编译过程-gcc编译器的处理过程 内容:删除注释内容,替换宏定义内容,处理#include。处理条件编译的命令 #include #define #ifdef #ifndef #if #endif 第2步、编译-得到.s文件 把c语言源代码翻译成汇编代码 第3步、汇编-得到.o文件 把汇编代码翻译为可执行的二进制代码 第4步、链接-(没后缀要求) 把经过前三步处理之后可执行代码进行合并,并得到一个可执行
13、文件 指定全局变量,静态变量的地址,函数的地址。2.gcc编辑器的常用选项使用-c,c+,java 如果编译时代码错误,gcc会把错误信息直接在终端上输出-E :控制gcc只处理预处理后就停下来-o:指定gcc编译时输出的文件名-S:控制gcc编译时执行到编译这一步就停下来-c:控制gcc不做链接工作就停下来。-Wall:打开所有需要注意的警告信息。-g:产生调试信息。如果不加选项,生成的可执行代码不能使用gdb工具进行代码调试。-O(1欧不优化) -O1 -O2优化选项,指定代码的优化级别可以从0-9;数字越大,优化的越多。-Idir:在头文件的搜索路径中加入dir目录,即告诉编译器去dir
14、这个目录下去找头文件3、环境变量,c语言程序接受参数对于多用户的操作系统,当用户登录系统以后,不同的用户都需要或者存在一些不同的设置,这些内容统称为用户环境,在操作系统下这些PATH:echo:可输出环境变量的值 例子:echo $PATH:导出一个本地变量为环境变量,en让自己写的程序作为命令来用?1、将这个程序所在的目录加入到PATH变量中 export PATH=$PATH:/root/hello #只能起到临时效果,系统注销后就不能用了 如果需要一直有效,需要每次登录用户的时候都重新导入新的值。可以在/.bashrc(因为这个文件的内容,每次登陆的用户时候都会被执行一次)文件中添加上面
15、的导出语句,添加后重新登录生效。 如果不想注销就让他生效,执行:source /.bashrc也可以2、把这个程序复制到PATH指定的目录中。让c语言程序接受命令行参数?需要修改main函数原型:int main(int argc,char *argv);argc:接受传递过来的参数的个数argv:接受传递进来的每个参数所对应的字符串,程序名就是第0个参数4.静态库、动态库库文件是主要是包含有函数的二进制文件。printf静态库:.a格式的文件 (文件命名不是强制性的)静态库文件,供程序编译时使用,使用静态库编译出来的程序,没有这个静态库,程序也能运行。因为编译时会把用到的静态库中的代码复制到
16、生成的可执行程序中。动态库:.so格式文件程序在编译和运行时都需要使用库文件。我们自己也可以把一些函数编译到一个库文件中。为什么要使用程序库?1、为了代码安全2、为了节省存储空间编译静态库:gcc -c hello.c -o hello.o #先把源代码便以为可执行的二进制文件ar -rc hello.o libhello.a #把多个二进制代码文件打包成为一个库文件使用:gcc main.c libhello.a -o main #如果程序代码中调用了库中的函数,编译时要制定库文件。gcc main.c -lhello -o main #不直接指定库文件名,通过-l选项指定的是哪个库。如果库
17、文件名是libhello.a 直接写为-lhello去系统的库目录中寻找:/lib和/usr/lib下中寻找。-Ldir添加库文件dir目录发布的库一般还包含一个头文件来说明库中的函数原型及功能。动态库:编译库文件:gcc -fpic -shared hello.c -fpic:指定位置生成无关码-shared:指定生成的库文件使用库文件编译程序:gcc main.c libhello.so -o main使用动态库文件编译生成的可执行程序在运行时,也需要这个库文件一直存在,所以一般要把库文件放到库文件目录(/lib/usr/lib)下。ldd main #使用ldd命令来尝试运行main得到
18、要用到的库文件readelf -d main #读取可执行代码中的信息linux下工程管理工具make,通常直接运行makemake工具在编译工程时需要从一个叫Makefile的文件来来读取编译过程。1、make工具是怎么样来识别规则的?2、makefile 的语法规则。3、makefile基本的语法格式讲解。目标:依赖tab(+)生成目标所需要执行命令1tab(+)生成目标所需要执行命令2说明:目标当make工具分析makefile的时候,默认会去寻找第一个目标(将它作为终极目标),然后查看依赖列表中的依赖是否准备好,如果依赖准备好就将命令执行一次,然后结束。如果依赖不存在,make工具会去
19、寻找能生成依赖的方法(即其他目标),然后生成依赖,当所有的依赖都有了的时候,再来执行生成终极目标所对应的命令。它在生成目标的时候,会去检查目标是否存在。如果存在,再去检查目标的时间(最后修改时间)是不是比依赖的新。如果不是就执行生成目标的命令,否则什么也不做。Makefile中以#号开始的一行代表注释内容。依赖之间使用空格作为区分 1、在执行make命令时,默认生成第一个目标,也可以指定哪一个生成终极目标。make clean#表示生成clean这个目标 2、make默认会去一次寻找GNUMakefie Makefile makefile这三个文件作为规则文件。也可以使用-f选项来指定使用的文
20、件名 3、-C:跳转到指定目录下去执行make3、Makefilecc就是表示了gcc变量命名跟c语言中类似 也区分大小写变量赋值可以使用以下四种方式进行赋值或修改= :直接给变量赋值,用在定变量的时候(延时变量)带版本的动态库通常包含3个名称。1,生成的动态库包含版本 是真正的库的名字。第一个是共享库本身的文件名(real name),其通常包含版本号,常常是是这样: libmath.so.1.1.1234 。 lib是Linux 上的库的约定前缀,math 是共享库名字,so 是共享库的后缀名,1.1.1234的是共享库的版本号,其主版本号+小版本号+build号。主版本号,代表当前动态库的版本,如果动态库的接口有变化,那么这个版本号就要加1;后面的两个版本号(小版本号 和 build 号)是告诉你详细的信息,比如为一个hot-fix 而生成的一个版本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法考课程选择指南
- 法的概念与本质课件
- 2025年简单初中音乐试卷及答案
- 2025年焊接技师考试试题及答案
- 安全培训开始试题及答案解析
- 2025年动物的尾巴考试题及答案
- 2025年新能源安全生产标准化技术创新驱动产业发展报告
- 触电安全培训试题及答案解析
- 2025内蒙古工业大学招聘博士学位事业编制人员20人模拟试卷及答案详解(各地真题)
- 2025年动漫产业链协同创新与产业技术创新报告
- 畜牧兽医专业毕业论文豆
- 简易版关于做好县委巡察组巡视商务局期间信访稳定工作的应急预案
- 2025年中秋节知识竞赛题库及答案
- 2025装配钳工高级考试试题(含答案)
- 2025-2030中国酒店管理集团国际化发展路径与挑战分析报告
- 教师培训破冰行动课件
- 局生态环保培训课件
- 虚拟现实技术在宠物行为干预中的临床应用-洞察阐释
- 2025至2030中国石油化工设备行业发展分析及发展趋势分析与未来投资战略咨询研究报告
- 思想道德与法治2023年版电子版教材-1
- 冻伤的处理与急救措施
评论
0/150
提交评论