
Linux学习记录
阳光素描
Ph.D for CS.
展开
-
Linux下core文件介绍与使用方法
背景有时当我们在Linux下编程,程序运行时会出现以下提示:Segmentation fault (core dumped)然后,程序崩溃,退出运行。发生这一问题的原因往往是程序中指针不规范使用导致内存越界访问、堆栈溢出、多线程编程出错等问题。这时,如果我们编译时在命令行加入 -g 选项,就会在出现上述错误时自动于当前目录生成core.xxxxxx文件,我们可以利用这一文件查询导致上述...原创 2020-03-14 17:38:00 · 1852 阅读 · 0 评论 -
linux设备挂载步骤(U盘使用)
在普通用户下:查看设备情况sudo fdisk -l查看设备号:设备 Boot Start End Blocks Id System/dev/sdd1 * 8064 30277631 15134784 c W95 FAT32 (LBA)挂载设备:sudo mount -t vfat /dev/sdd1 /...原创 2019-12-12 16:36:29 · 452 阅读 · 0 评论 -
Linux C程序基础
GCC、G++编译器安装命令:GCC和G++可在GUN官网www.gnu.org下载相应的安装包yum install makeyum install gccyum install gcc-c++GCC、G++没有图形界面,只能在终端(ctrl+alt+t)上以命令方式运行gcc [-选项1] [-选项2] [-选项3] <源文件名>g++ [-选项1] [-选项2] ...原创 2019-12-06 12:23:20 · 738 阅读 · 1 评论 -
Linux开发起步学习笔记(15)----循环和函数
表达式运算:shell不支持除字符串以外的数据类型,不支持加减乘除等算术运算和关于字符串的正则表达式运算。需要的这些功能,借助于shell之外的可执行程序/usr/bin/expr实现。expr:算数(+-*/%)、关系、逻辑(&|)、正则表达式(:)。注意:应该有空格的地方不能漏掉,应该转义的地方必须加反斜线转义,如*、/、(、)。expr string : pattern 打印匹...原创 2019-12-04 15:45:20 · 148 阅读 · 0 评论 -
Linux开发起步学习笔记(14)----条件分支
shell中的条件判断判断一条命令是否执行成功,返回值为0表示成功,返回值不为0则表示失败,返回错误码。$?表示上一个命令的返回码用管道线连接在一起的命令以最后一个命令的返回码作为整条命令的返回码复合逻辑:&& ||注意是用0代表ture,用非0代表falsetrue和false:/bin/true返回值总为0 /bin/false返回值总不为0test及方括号命...原创 2019-12-04 12:19:34 · 161 阅读 · 0 评论 -
Linux开发起步学习笔记(13)----元字符
shell元字符:空格、制表符:命令行参数的分隔符回车:执行键入的命令><| 重定向与管道; 用于一行内输入多个命令& 后台运行,运行过程中可以先在后台运行,同时前台可以继续输入命令 abc &$ 引用变量`` 命令替换,其中不允许有`和\*[]? 文件通配符() 用于定义shell韩束或在子shell中执行...原创 2019-12-04 12:17:34 · 156 阅读 · 0 评论 -
Linux开发起步学习笔记(12)----变量
变量的赋值和使用:存储的内容:字符串,可以修改。使用:addr=20.1.1.254.注意:赋值作为单独一条命令,等号两侧不许多余空格!如果字符串中有括号要用双引号引起来。引用的方法:addr或addr或addr或{addr},shell会完成替换字符串拼接:echo ${addr}ABC为定义变量为空字符串set -u:当引用一个未定义的变量时,产生一个错误。set +u:当当引...原创 2019-12-04 12:15:47 · 130 阅读 · 0 评论 -
Linux开发起步学习笔记(11)----shell基本机制
shell的功能:1.命令解释器2.文件名替换、命令替换、变量替换3.历史替换、别名替换4.流程控制的内部命令(内部命令和外部命令)Shell的特点:1.用途:批处理,执行效率比算法语言低2.shell编程风格和C语言等算法语言的区别3.面向命令处理的语言,提供的流程控制结构通过对一些内部命令的解释实现4.设计简单,提供了灵活的机制,这些灵活的功能通过shell替换实现例如:流...原创 2019-12-03 17:43:01 · 149 阅读 · 0 评论 -
Linux开发起步学习笔记(10)----文件和目录的权限
文件的权限:用于控制进程对系统中文件和目录的访问。权限的三个级别:文件主、同组用户、其他用户,每个文件有唯一属主。普通文件的权限:读、写、可执行,不可写文件也可能会被删除。可执行权限:①程序文件(可执行文件):二进制的CPU指令集合。②脚本文件:默认的解释程序为/bin/sh,可以在脚本第一行自行指定解释程序(必须是第一行,#!必须是这个文件首先出现的两个字符),解释程序也可以是用户自己...原创 2019-12-03 16:09:59 · 324 阅读 · 0 评论 -
Linux开发起步学习笔记(9)----文件系统
根文件系统:是整个文件系统的基础,不可拆卸。子文件系统:包括硬盘、软盘、CD-ROM、USB盘、网络文件系统NFS,以根文件系统中某一子目录的身份出现。独立的存储结构:两系统有自己独立的文件系统存储结构,甚至连文件系统的格式也不同。文件系统的创建和安装mkfs /dev/sdb 在块设备文件/dev/sdb上创建文件系统mount /dev/sdb /mnt /mnt可以是任何一个事先建...原创 2019-12-03 12:11:38 · 251 阅读 · 0 评论 -
Linux开发起步学习笔记(8)----命令获取信息的方法
命令获取信息的方法按易变型从小到大为:配置文件、环境变量、命令行参数、键盘输入。配置文件:较复杂的程序会提供配置文件,分为系统级和用户级偏好设置。配置文件提供了灵活性,同一程序因用户读取的配置文件不同而表现不同,一般存入不经常变化的配置信息。环境变量:env打印出当前的环境变量。C语言中:getenv()一般是与“环境”相关的配置或选项信息,信息量不大。这些选择在一段时间内反复使用同...原创 2019-12-03 12:08:44 · 114 阅读 · 0 评论 -
Linux开发起步学习笔记(7)----文件管理和目录管理
列出文件目录:ls:在同一行中指定0-n个实参。不给实参时,列出当前目录下所有文件和目录。实参为文件,列出文件项;实参为目录,列出目录下所有文件。选项:-F:(flag)-l:长格式列表wxr表示文件所有者可以写、读、执行;r-x表示同组用户读、执行但不可写;–x表示其他用户只能执行。-h:以便于阅读的方式打印数值-d:当ls的参数是目录时,列出目录本身的信息,而不是列出...原创 2019-11-29 11:40:53 · 146 阅读 · 0 评论 -
Linux开发起步学习笔记(6)----文件命名和目录结构
文件和目录的命名规则:斜线用作路径分隔符,字节零用作字符串结尾,不可做文件名,其余均可以。大小写字母有区别。系统配置文件目录:/etc,文件格式为文本文件passwd,hosts文件*.conf文件,配置文件ssh远程登录的配置信息rc*.d系统启动阶段系统初始化和启动各服务的脚本profile/bash.bashrc系统级bash等shell的偏好设置rc.local自定义的需...原创 2019-11-28 11:58:38 · 177 阅读 · 0 评论 -
Linux开发起步学习笔记(5)----vi编辑器
vi:人机交互式文本编辑用户偏好设置:用户HOME目录下的文件.exrc,记作$HOME/.exrc(每用户一份,用户独立设置)。set number 每行左边显示行号set tabstop=4 制表符位置为4格对齐:set 运行时检查、更改偏好设置eg. vi ~/.exrcvi的两种工作状态:命令状态:键盘输入解释为命令vi一启动就进入命令状态一般按键无回显以冒号可...原创 2019-11-28 11:12:12 · 175 阅读 · 0 评论 -
Linux开发起步学习笔记(4)----文件比较
cmp:两文件逐字节比较cmp file1 file2相同时无提示;不相同时,打印出第一个不同的字符散列算法:如MD5安全散列函数根据文件内容生成16字节hash值,比较hash值是否完全相同,就可断定两文件内容是否完全相同。格式:md5sum/sha1sum file1 file2md5sum file1 file2 file3 > myfilediff:求出两...原创 2019-11-28 11:11:08 · 158 阅读 · 0 评论 -
Linux开发起步学习笔记(3)----正则表达式
正则表达式:字符串匹配操作和替换操作描述一个字符串的模式正则表达式规则用于文本处理场合,与文件名通配符规则不同不同软件定义特殊字符6个:. * [ \ ^ $转义:用反斜线取消特殊字符的特殊含义单字符正则表达式:非特殊字符与自身匹配. 匹配任何字符[a b c d]表示集合,与集合中任意一个元素匹配. * \ 在集合中表示本身,不是特殊字符用 - 定义一个区间[a-d]...原创 2019-11-27 17:45:42 · 174 阅读 · 1 评论 -
Linux开发起步学习笔记(2)----文本文件
文本文件源程序语言、文本格式的数据文件、文字信息、系统配置信息/etc下的配置文件程序输出文本文件处理的命令:进程的标准输入/输出<stdio.h>标准输入:stdin标准输出:stdout重定向机制:把标准输入输出重新定向到一个文件中去(*)输出重定向:ls –l > filelist.txt(输出当前所有文件信息)输入重定向:sort < file...原创 2019-11-27 17:42:22 · 181 阅读 · 0 评论 -
Linux开发起步学习笔记(1)----开始使用
转义字符:Esc (ASCII:1B) eg. Esc[2J 清除屏幕终端类型:定义一组转义序列以及相对应的操作:ansi,vt100,vt220主机根据终端类型,实现相应功能时发送对应的控制码虚拟终端:在TCP连接上加密和压缩数据构成安全终端,如putty用户登录:Root超级用户:不授权限,随意删除和修改文件,一般不要用这个用户操作创建新用户:useradd,登录shell(一...原创 2019-11-27 17:41:07 · 164 阅读 · 0 评论