Linux
kingyal
加油!
展开
-
Linux常用命令(一)
1.进入超级用户模式:输入 su,#表示超级用户的系统提示符2.从超级用户进入到普通用户模式:输入 su +普通用户模式名,$表示普通用户的系统提示符3.重启系统:超级用户模式下:输入 reboot 可以重启重启系统普通用户模式下:输入 sudo reboot,再输入口令,可以重启系统4.关闭系统:shutdown命令可以安全的关闭或者重启系统,常用命令如下:shutdown -n now立即关...翻译 2018-05-02 13:56:36 · 198 阅读 · 0 评论 -
Linux系统编程之chdir转入其他目录
chdir函数可以用来切换到其他目录下,这里可用前面学过的getcwd函数来获取当前目录,具体函数如下:#include <unistd.h>#include <stdio.h>#define LENGTH 255int main(int argc, char *argv[]){ int ret; char pwd[LENGTH]; ...原创 2019-02-13 20:59:17 · 596 阅读 · 0 评论 -
Linux系统编程之移动文件函数rename
移动文件用到的命令使mv,对应的linux应用编程函数为rename,可用 man 2 rename查看函数的具体含义,我们再linux中新建一个文件时,这个文件的文件名其实不仅仅包括我们输入的这个名,还包括它的文件路径,这里,我们新建一个test1文件:编写程序,将test1改名为test2:#include <stdio.h>int main(int argc, c...原创 2019-02-24 22:59:09 · 2517 阅读 · 0 评论 -
Linux系统编程之无名管道
在linux中,一切文件! 无名管道也是一种文件,无名管道用于具有血缘关系的进程之间,为半双工模式。我们可以想象一下,一个管道有两端,一个用来写入数据,另一个用来读取数据,无名管道用int pipe(int pipefd[2])函数创建,可用man 2 pipe在Linux中查看函数详情。因此,无名管道在创建成功后,会生成两个文件描述符,一个用来指向读端口,一个指向写端口,这两个文...原创 2019-03-01 22:15:25 · 711 阅读 · 0 评论 -
Linux系统编程之进程相关的三个函数函数:getpid(), fok(),execl()
1. 首先,我们来看第一个函数族getpid,这个函数族包括两个函数:geipid():用来获当前函数的进程号;getppid():用来获取当前进程的父进程的进程号。接下来是一个demo,用来获取当前进程及其父进程的进程号:#include <sys/types.h>#include <unistd.h>#include <stdio.h>...原创 2019-02-26 21:44:18 · 666 阅读 · 0 评论 -
Linux中的vim显示中文字符方法
linux的vim编译器显示中文字符的方法是添加编码格式“utf-8”编码方式:1.打开文件“/etc/vim/vimrc” ,指令为:vim /etc/vim/vimrc2.在打开的文件的最最底部添加代码“set fencs=utf-8,GB18030,ucs-bom,default,latin1“如下图:添加后记得一定要保存!此时,vim就可以显示中文了。...原创 2019-03-11 11:26:56 · 6422 阅读 · 4 评论 -
itop下内核源码目录结构
linux内核源码目录结构如下:arch目录:arch目录为平台目录,所有内核能支持的CPU结构,在该目录下都有对应的子目录,如arm,x86等,每个CPU的子目录,又可进一步分为boot,kernel,mm,vfp等子目录,用来控制系统引导,内存管理,系统调用等。其他目录如下图:以下标红的部分是linux编写驱动时常常用到的一些文件夹。...原创 2019-04-01 19:55:06 · 231 阅读 · 0 评论 -
printk:内核打印函数
printk是内核打印函数,它与printf的不同只处在于printf运行在用户态,printk运行在内核态。 两个函数几乎是相同的,出现这种差异是因为tty_write函数需要使用fs指向的被显示的字符串,而fs是专门用于存放用户态段选择符的,因此,在内核态时,为了配合tty_write函数,printk会把fs修改为内核态数据段选择符ds中的值,这样才能正确指向...原创 2019-04-01 20:15:47 · 780 阅读 · 0 评论 -
module_init与module_exit
这是一个简单的linux驱动程序:/*包含声明开源与作者的两个函数*/#include <linux/module.h>/*包含入口与出口函数*/#include <linux/init.h>//声明开源,声明作者可有可无MODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR("kingyal");static int...原创 2019-04-01 20:47:28 · 942 阅读 · 0 评论 -
Kconfig与Makefile
内核源码树的目录下都有两个文件,即Kconfig与Makefile。分布到各个目录中的Kconfig文件构成了一个分布式的内核配置数据库,每个Kconfig文件分别描述了所属目录源文档的相关内核配置菜单,在内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config这个内核配置文档中,在内核编译时,主目录中的makefile调用.config文件,就知道了用...原创 2019-05-19 14:57:38 · 268 阅读 · 0 评论 -
Linux系统编程之软硬连接与解除连接
这次编写的是硬链接与软连接相关的程序:#include <stdio.h>#include <unistd.h>int main(int argc, char *argv[]){ int ret; if(argc < 5) { printf("please check the input file!"); ...原创 2019-02-23 21:05:13 · 692 阅读 · 0 评论 -
Linux系统编程之修改目录与文件权限的chmod函数组
linux中的文件的权限修改可通过chmod命令来修改,也可以通过编程来实现文件权限的修改,我们可以通过man 2 chmod查看这个函数是如何使用的。如下是一个修改两个文件的权限的demo:#include <sys/stat.h>#include <sys/types.h>#include <fcntl.h>#include <stdio...原创 2019-01-22 22:11:15 · 1812 阅读 · 0 评论 -
Linux系统编程之管理目录与文件的stat函数组
在ubuntu中,我们可以通过ls相关命令查看文件和目录的有关信息,如使用ls -ail,我们可以看到文件的相关信息,如下图所示,那么,我们如何通过编程提取相关文件的信息呢?此时,就可以用stat函数来实现这个功能。首先,我们通过man命令来查看下stat相关函数组,使用命令man 2 stat就可以看到如下信息:从以上图中,我们可以看到,包含了stat,fstat,lstat三个...原创 2019-01-22 21:36:47 · 434 阅读 · 0 评论 -
Linux常用命令(二)
Linux进程及任务管理命令Linux系统上所有运行的东西都可以称之为一个进程,每个用户任务,每个系统管理守护进程都可以称之为进程,Linux用分时管理的方法使所有的任务共同分享系统资源,以下将介绍一些常用的查看和控制进程的命令:1.ps:查看哪些进程正在运行以及运行的状态,进程是否结束,有没有僵死,有哪些进程占用了过多的资源等等。ps [选项]:常用选项有:-e 显示所有进程-f 全格式-l 长...翻译 2018-05-03 14:08:00 · 114 阅读 · 0 评论 -
Linux常用命令(三)
文档查看/编辑方法介绍1.cat详解:cat原意为连接(concatenate)用于链接多个文件内容并输出到标准输出流中(标准默认输出流为屏幕),实际运用过程中,我们常使用它来显示文件内容cat file1.txt 显示file1.txt文件的内容cat file1.txt file2.txt 显示file1.txt与file2.txt文件的内容cat -n file1.txt 显示file1....翻译 2018-05-04 09:37:54 · 212 阅读 · 0 评论 -
Linux常用命令(四)
head及tail命令介绍:当需要查看一个文本文件的头部或尾部时 head 命令及 tail 命令可以非常方便的完成该操作 head 命令用于查看一个文本文件的开头部分 而 tail 命令则用于显示文本文件的末尾几行; 举例: head example.txt 显示文件example.txt的前十行内容 head -n 20 example.txt 显示文件exam...翻译 2018-05-04 11:31:04 · 82 阅读 · 0 评论 -
Linux网络配置及操作
网络配置命令:Linux 系统中最常用的网络配置命令包括ifconfig route,其中 ifconfig 用来查看和配置网络接口(通常是网卡)信息,包括网络接口设备的IP地址, 掩码等, route 用来管理Linux系统内核中的路由表,它最大的用途就是用来设定静态的路由表项 ,通常是在系统用ifconfig配置网络接口后 ,用它来设定主机或者一网段的 IP 地址应该通过什么接口发送等。ifc...翻译 2018-05-04 14:33:11 · 167 阅读 · 0 评论 -
Linux操作系统的时钟系统
1 硬件时钟系:该时钟系统的运行独立于任何系统控制程序,在 CPU 内部运行,既使系统断电,该时钟系统仍然保持运行,此时钟系统常常被称为实时时钟系统 (RTC),BIOS时钟系统或CMOS时钟系统。2 系统时间:该时间为 Linux 内核的时钟系统所维护,并且被定时中断程序所驱动,该时间仅当Linux系统运行过程中有意义,该系统时间表示为以 UTC(通用协调时间 Universal Time Co...翻译 2018-05-04 14:33:53 · 1677 阅读 · 0 评论 -
SSH上传文件时提示:encountered 1 errors during the transfer的解决方法
今天给电脑(系统是win10)上的虚拟机上装了一个ubuntu,为了方便win10与ubuntu之间传输文件,就装了个SSH软件,一切装好之后,win10与ubuntu通过ssh连接上了,但是却发现ubuntu的文件可以传输给win10,但是win10的文件却无法传输给ubuntu,从win10上托一个文件到ubuntu,就会提示encountered 1 errors during th...原创 2018-07-02 18:19:20 · 2671 阅读 · 0 评论 -
ubuntu提示下载源获取不到数据 :404
有时候,我们在ubuntu中下载和安装软件的时候,会出现404提示,说明该下载源找不到需要下载的文件,这是因为Linux的软件分布在全世界各个服务器中,我们的电脑中只能选一个数据源(也就是服务器地址),有时候数据源没有在本地更新,导致数据无法获取;当然,也有可能是由于ubuntu默认的数据源是美国的一个服务器,在国内获取数据很慢甚至有些获取不到。因此,针对以上两种情况,此时我们可以尝试用这...原创 2018-07-03 21:40:43 · 3471 阅读 · 0 评论 -
Linux系统编程之getcwd函数族获取当前目录
在linux系统编程中,可通过getcwd获取当前目录,就像在ubuntu中用命令pwd获取当前目录一样,只不过这里是通过编程实现。首先,通过man命令查看下getcwd相关函数,输入man 2 getcdw,进入如下界面:看到与获取目录相关的三个函数,接下来,我们通过代码来实现:#include <unistd.h>#include <stdio.h>...原创 2019-01-23 21:06:59 · 2775 阅读 · 0 评论 -
Linux系统编程之创建文件夹与删除文件夹的mkdir与rmdir函数
在linux系统编程中,可通过mkdir函数编程实现文件夹的创建,通过rmdir函数删除文件,函数代码如下,比较简单:mkdir函数创建文件:#include <sys/stat.h>#include <sys/types.h>#include <stdio.h>int main(int argc, char *argv[]){ int...原创 2019-01-23 22:11:40 · 801 阅读 · 0 评论 -
linux系统函数总结(一)
realpath:#include <stdlib.h>函数原型:char *realpath(const char *path, char *resolved_path);返回值: 成功则返回指向resolved_path的指针,失败返回NULL,错误代码存于errno功能:用来将参数path所指的相对路径转换成绝对路径,然后存于参数resolved_path所指的字...原创 2019-08-20 20:20:24 · 271 阅读 · 0 评论