
Linux
pencher_liu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何改变Linux文件权限
1.改变群组 改变一个文件的群组很简单,直接使用chgrp指令即可,这个指令就是change group的缩写。但要 注意,改变的目标群组名称必须在/etc/group中存在,否则会显示错误。 语法: chgrp 群组名字 文件或目录 例: chgrp users tmp2.改变拥有者 chown改变拥有者。要注意的是,文件的拥有者必须已经存在于系统中,也会是说,拥有者名称在/etc/p原创 2016-10-08 20:05:42 · 318 阅读 · 0 评论 -
gdb调试器(一)
gdb是GNU发布的一款功能强大的程序调试工具 GDB要完成下面三个方面的功能: 1.启动被调试程序; 2.让被调试的程序在指定的位置停住; 3.当程序被停住时,可以检查程序状态-变量值。调试步骤: 1.编译生成可执行文件; gcc -g test.c -o test 2.启动GDB; gdb test 3.在main函数处设置断点; break main 4.运行程序; r原创 2016-10-05 20:56:40 · 222 阅读 · 0 评论 -
gdb调试器(二)
gdb调试命令: l(list):查看程序 l 行号 例:l 10 从第10行开始查看; l 函数名 指定函数的源代码;b(break):设置断点; b 函数名:在某函数入口处添加断点; b 行号:在指定行添加断点; b 行号 if条件 当条件为真时,指定行号处断点生效; 例:b 5 if i=10,当i=10时第5行断点生效;info break 查看所有断点; del原创 2016-10-06 17:08:55 · 264 阅读 · 0 评论 -
linux常用命令(二)
查看文件内容 cat 由第一行开始显示文件内容 tac 从最后一行开始显示,可以看出tac是cat的倒写; more 一页一页地显示文件内容; less 与more类似,但其优点是,可以往前翻页; head 只看头几行; tail 只看末尾几行; nl 显示文件同时输出行号; od 以二进制方式读取文件内容;下面详细介绍每个指令的基本用法 cat [-n] 文件名 参数说明原创 2016-10-08 14:53:48 · 242 阅读 · 0 评论 -
Linux常用命令(一)
1.目录命令: cd 进入目录 例:cd /home 进入home目录 . 当前目录, .. 父目录,~ + 用户名pwd 显示当前路径; mkdir 目录名, 创建目录; rm -rf 目录名 删除目录; rmdir 目录名 删除目录;PATH 搜索路径; echo $PATH2.文件命令 ls 查看 ls -a 查看所有文件 ls -S 按文件大小排序; ls -原创 2016-10-08 13:54:22 · 253 阅读 · 0 评论 -
Linux文件权限
/ 根目录 . 当前目录 .. 当前目录的上一级目录(父目录)~ 当前用户的家目录 对于超级用户而言 root 普通用户 home-(减号)前一次的工作目录; ~ 用户名 所指用户的家目录;原创 2016-10-08 15:24:00 · 299 阅读 · 0 评论 -
gcc三级优化选项
GNU编译器提供-O选项供程序优化使用: -O 提供基础级别的优化 -O2 提供更加高级的代码优化,会占用更长的编译时间 -O3 提供最高级的代码优化 -O4 不优化,这是默认值 不同的优化级别使用的优化技术也可以单独的应用于代码。 可以使用-f命令行选项引用每个 单独的优化技术。 1, 编译器优化级别1 在优化的第一个级别执行基础代码的优化。 这个级别试图执行9种单转载 2016-11-17 23:17:11 · 450 阅读 · 0 评论 -
不带缓冲的文件I/O操作
一.操作系统管理的资源? 文件管理,进程管理,设备管理,网络协议栈,内存管理。二.Linux操作系统概述1.Linux操作系统的构成? 用户空间,内核空间2.为什么划分为用户空间,内核空间? 在Linux中,为了更好地保护内核空间,将程序的运行空间分为内核空间和用户空间,它们分别运行在不同的级别上,在逻辑上是相互隔离的。因此,用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们原创 2017-01-17 22:38:16 · 647 阅读 · 0 评论 -
文件复制代码
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <errno.h>#define MAX_SIZE 1024int read_line(int fd, char *buffer, int原创 2017-01-18 22:56:07 · 616 阅读 · 0 评论 -
gcc编译器(二)
库的创建和使用 静态库:复制 以空间换时间 整合到程序中; 动态库:映射 以时间换空间 只有在链接时候使用;静态库:工程在调用静态库时,复制静态库源代码加长,不节省程序空间后缀名.a; 优点:编译后不需要再依赖库(以空间换时间);动态库:工程建立映射关系,每次调用都需要去库中加载,后缀名为.so(共享库),程序轻便,便于升级。 小tips:所有程序运行都在内存中,硬盘只能存原创 2016-10-04 21:04:30 · 290 阅读 · 0 评论 -
shell编程(二)
编写一个脚本,统计当前目录下的文件数:#!/bin/bashcounter=0for files in *do counter=`expr $counter + 1`doneecho "There are $counter files in `pwd` we need to process"编写一个shell脚本,将用户输入的数字按倒序的方式输出:#!/bin/bashecho -原创 2016-10-17 18:07:08 · 435 阅读 · 0 评论 -
gcc编译器(一)
gcc编译器是交叉平台编译器(在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码)程序编译过程: 源程序→预处理→编译→链接 gcc的基本用法: gcc [options] [filenames] options:编译选项 filenames:要编译的文件名编译选项: -o 输出文件名 e.g. gcc test.c -o tes原创 2016-10-01 22:01:21 · 290 阅读 · 0 评论 -
Linux的文件种类
Linux主要有下面的几种文件种类: 1.正规文件(regular file):就是一般类型的文件,即有ls -al显示出的文件中其第一个属性为【-】的文件。另外,依照文件的内容,又可以将其细分为下列两种: (1)纯文本文件(ASCII):这是Unix系统中最多的一种类型,我们可以用来设定的文件几乎都属于这一种; (2)二进制文件(binary):通常除了脚本(文字型批处理文件)之外,执行文件原创 2016-10-09 21:06:30 · 371 阅读 · 0 评论 -
shell脚本编程(三)
编写一shell脚本,移动一个文件,如果目标位置存在该文件,则监视该文件,直到文件被删除后才移动该文件#!/bin/bashif [ "$1" = "" ] || [ "$2" = "" ]then echo "Please enter file name" exit 1fiif [ -e $2 ]then echo "The file already exists原创 2016-10-21 17:12:34 · 384 阅读 · 0 评论 -
工程管理器make(二)
伪目标:(只用来执行动作的目标) 不是其他任何目标的依赖; 此目标本身没有依赖; 例:clean: rm -f hello main .o func1.o func2.o 伪目标怎么执行呢?原创 2016-09-27 21:00:34 · 299 阅读 · 0 评论 -
vim编辑器(一)
Linux上最常用的文本编辑器是vim(或者vi)。文本编辑器是所有计算机系统中最哦常用的一种工具。用户在使用计算机的时候,往往需要创建自己的文件,无论是一般的文字文件,资料文件,还是编写源程序,这些工作都离不开编辑器。vim可以分为三种状态。分别是:命令行模式。控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式或者底行模式。插入模式:只有在插入模式下,才可以输入文字,按[ESC原创 2016-09-28 20:18:16 · 264 阅读 · 0 评论 -
vim编辑器(二)
底行模式: 可以实现查找、替换的功能。 /word 向光标后寻找名字为word的字符串,找到以后按n继续向后搜索。 ?word 向光标前寻找名字为word的字符串; n1,n2 s/word1/word2/g n1,n2行之间找word1,并把word1替换成word2; %s/word1/word2/g 全文替换,把wor原创 2016-09-29 20:21:20 · 228 阅读 · 0 评论 -
初识工程管理器make
作为一个刚刚接触Linux的菜鸟,学到了工程管理器make的使用,感受到了此编译器的强大,想写一点我所知道的make的一些用法。 make,是针对多文件编译的时候使用的,与gcc相比有两方面的优越性。首先,使用方便。通过命令“make”就可以启动Make工程管理器对程序进行编译,所以不需要每次都输入gcc命令行。其次,调试效率高。为了提高编译程序的效率,Make会检查每个源文件的修改时间。只原创 2016-09-26 19:11:00 · 320 阅读 · 0 评论 -
shell脚本编程(一)
编写一个脚本实现对脚本两个参数的比较#!/bin/basha=$1b=$2if [ -z $a ] || [ -z $b ]then echo "please enter 2 no" exit 1fiif [ $a -eq $b ] ; then echo "number a = number b"else if [ $a -gt $b ] then原创 2016-10-16 14:42:31 · 544 阅读 · 0 评论 -
vim编辑器(三)
区块选择: v(小写) 字符选择,当前光标开始选一个字符 上下键选择; V(大写) 当前光标整行字符; ctrl+v 选择一块 对角线选择;多文档编辑: vim file1.c file2.c原创 2016-10-01 09:28:42 · 202 阅读 · 0 评论 -
数据库demo.c
#include <stdio.h>#include <stdlib.h>#include <sqlite3.h>int handle_result(void *para, int column_count, char **column_value, char **column_name){ printf("para = %s\n",(char *)para); printf(原创 2017-01-19 23:29:03 · 399 阅读 · 0 评论