通过递归调用读取目录和文件信息去遍历整个目录: 示例代码: #include <unistd.h> #include <stdio.h> #include <dirent.h> #include <string.h> #include <sys/stat.h> #include <stdlib.h> void printdir(char * dir, int depth) { DIR * dp = opendir(dir); if (…
Linux下的文件目录结构详解 / Linux文件系统的上层根目录 /bin 存放用户可执行的程序 /boot 操作系统启动时所需要的文件 /dev 接口设备文件目录,例如:had表示硬盘 /etc 有关系统设置与管理的文件 /home 一般用户的主目录或者FTP站点管理目录 /mnt 装置的文件系统加载点,例如:光驱.软盘等... /proc 目前系统核心与程序执行的信息. /root 管理员的主目录 /sbin 此目录存放系统启动时所需要执行的程序 /tmp 用来存放暂存盘的目录 /usr…
一.Linux下的文件目录 简介:linux的文件系统是采用级层式的树状目录结构,在此 结构中的最上层是根目录“/”,然后在此目录下再创建 其他的目录.深刻理解linux文件目录是非常重要的,如下图所示: 将来你用哪个用户登录,你就会在那个用户的目录下面.为了大家再进一步加深对Linux的文件目录的理解,下面再附上一张对应目录作用的解释: 简单演示: bin:目录下面的文件: 在这里大家可以使用上面的命令,进入到其他的目录下面看看,里面的文件.(只是简单的看看哦,不要随意修改.) 总结:常用命令…
(1)MySQL的启动 重启了一次服务器后,使用> mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 查看状态: > /etc/rc.d/init.d/mysqld  status 显示stop,未运行:>/etc/rc.d/init.d/mysqld  restart (2)mysql数据库导入.…
Linux下的文件目录及文件结构 一.文件和文件夹 在Linux系统下,一切皆是文件.就连Linux本身也是基于文件表示的操作系统. 1.文件:文件在Linux系统之下,一般分为两种:一是一般性文件,也就是可以用编辑器(vi ,vim)打开编辑,可以读取和写入:二是可执行文件,也就是可以运行,像脚本文件之类,在window中一般为exe,msi,bat等后缀. 2.文件夹:用于储存文件,子文件夹的夹子,称之为文件夹. 日常对文件的操作一般而言有:创建文件,删除文件,移动文件,修改文件,打开文件,…
Linux 下创建 sftp 用户并限定目录 1.创建 sftpUser 用户组 [root@XXX ~]# groupadd sftpUser 2.创建 sftpUser 用户并指定目录 [root@XXX ~]# useradd -d /home/sftpUser -s /sbin/nologin -g sftpUser sftpUser 3.为新用户添加密码 [root@XXX ~]# passwd sftpUser Changing password for user sftpUser.…
摘要:你有没有这样的应用场景:调试一个程序,出现debug的提示信息,现在你需要定位是哪个文件包含了这个debug信息,也就是说,你需要在一个目录下的多个文件(可能包含子目录)中查找某个字符串的位置:另外,有时候,一个程序崩溃,我们需要通过进程控制将其杀死,如何快速找到进程号并杀死进程.本文所讲的grep命令将有至于你完成这样的任务. 本文来源:linux下的文本操作之 文本查找——grep 1.grep命令简介 grep (global search regular expression(RE…
linux下通过sysfs操作GPIO 在嵌入式设备中对GPIO的操作是最基本的操作.一般的做法是写一个单独驱动程序,网上大多数的例子都是这样的.其实linux下面有一个通用的GPIO操作接口,那就是我要介绍的 “/sys/class/gpio” 方式. 首先,看看系统中有没有“/sys/class/gpio”这个文件夹.如果没有请在编译内核的时候加入 Device Drivers-> GPIO Support-> /sys/class/gpio/… (sysfs interface)./sy…
Linux下常用的操作 文件定位 locate filename 有些版本的linux会出现 -bash: locate: command not found错误,不要慌,安装一下mlocate包就好 [root@CentOS ~]# yum -y install mlocate [root@CentOS ~]# updatedb 列出文件 [root@CentOS ~]# ls -al 进入目录 进入指定目录:cd path 直接进入用户的home目录: cd ~ 进入上一个目录: cd -…
Linux下 svn相关操作 一.首先看看svn安装的位置: 命令: find / -name svn /var/svn :表示安装目录 /user/bin/svn :表示命令目录 可以看到的是svn的地址是var/svn 那么到底是不是:我们到这个目录下看: 二.重启或启动 1 首先查看svn的进程: 查看进程命令:ps -ef(查看所有进程):要筛选的话用grep,筛选svn的进程命令:ps -ef|grep svn. 2  杀死主进程:杀死进程的命令用kill -9 进程id. 3:启动s…
Linux下mysql相关操作 1.创建MySQL mysql -u root -p create user 'username'@'%' identified by 'password'; %可以选择是 localhost //供本机使用127.0.0.1 2.查看MySQL创建的用户名 select user , host from mysql.user; 3.删除 drop user '数据库用户名'; 4.查看权限 show grants for '数据库用户名'; 5.刷新 flush…
linux下有超级用户(root)和普通用户,普通用户不能直接操作没有权限的目录,如果出现了没有权限的提示,可以尝试用su命令解决. 比如: #mkdir aaa 我要创建一个aaa的文件夹,没有操作权限,一种解决方法就是,输入: #su 回车以后输入你当前使用用户的密码,回车,再创建就可以了.PS:这时候密码是不会显示的,一定要输入正确. 还有一种解决方法是: #sudo mkdir aaa sudo是默认使用root操作次命令,这样也是可以创建成功的.…
                文件目录管理 一.认识Linux文件系统的架构 在Linux中是没有盘符这个概念的,即Linux中没有C盘和D盘的分盘.那么我们直接通过对目录的操作实现对磁盘的读写,因为已经建立的文件系统分区被挂载到一个目录下. 我们可以注意到Linux表示目录是使用"/"而不是像Windows那样的"\". 那么我们列出Linux文件系统中主要的目录并了解她们的含义: 在我的阿里云上在/目录下输入ls命令得到: /bin    构建最小的系统所需要…
文件操作 创建文件夹: mkdir 文件夹名称 查看当前目录的文件夹及文件:ls 参看当前文件夹下的所有文件及信息: ls -l 删除空文件夹:rmdir 文件夹名称 删除非空文件夹:rm rf 文件夹名称 删除文件:rm 文件名 删除文件夹下所有文件: rm * 修改文件夹及文件名称 mv 文件名 修改后的文件名 新建(打开)一个txt文件:vi  文件名 打开文件夹或目录: cd 目录 系统基本操作 查看日历:cal 查看时间:date 查看运行中的进程:ps aux 查看系统中的每个线程:…
通过SVN进行版本库管理,每次提交后,都要在SVN服务器更新最新上传的版本到WEB目录进行同步.操作比较烦琐,而且效率也低.使用SVN钩子脚本进行WEB目录同步,可很好的解决这方面的问题.由于测试机器与SVN库都在同一台机器里,所以处理起来比较方便. svn项目下面有hooks目录,里面存放的是全部的钩子脚本的模板 post-commit.tmpl 为客户端commit提交后触发 以下是windows和linux下自动更新版本库的方法: 在SVN 项目版本库的存储目录下的hooks 目录,新建立…
from: http://baike.so.com/doc/1529694.html 由于Linux下侧重使用命令,没有win的操作容易上手,所以在测试C操作SQLITE时会比较容易出现错误,给大家做一个简单的程序进行测试,演示怎么应用.打开vi编辑器,输入如下代码: /*c代码*/ #include <stdio.h> #include <sqlite3.h> int main( void ) { sqlite3 *db=NULL; char *zErrMsg = 0; int …
1.安装tomcat1).下载tomcat从官网http://tomcat.apache.org/下载tomcat,保存在/home目录下.root@ubuntu:/home/ubuntu/Downloads# cp apache-tomcat-6.0.20.tar.gz /home 2).安装tomcattar -zxvf apache-tomcat-6.0.20.tar.gz 另一种方案:使用Windows下tomcat,Windows tomcat在linux中同样可以使用. 2.操作to…
linux下Vim的常用操作 linux ​ 首先\(ctrl+Alt+t\)打开小框框 ​ \(./\):相当于手机上的\(home\)键 ​ \(ls\):当前文件夹的东东 ​ \(mkdir\):新建目录 ​ \(cd\):打开文件夹 ​ g++ ....(文件名字.cpp) -o ....(文件名字) -Wall :编译文件 ​ 例如:g++ a+b.cpp -o a+b -Wall ​ \(./\)...(文件名字):运行文件 Vim ​ Vim有好几个模式,常用三个:普通模式,插入模…
总述 Linux diff命令用于比较文件的差异.diff以逐行的方式,比较文本文件的异同处.特别是比较两个版本不同的文件,如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录.diff命令可以同时输出成补丁文件,并且Linux中还有一个patch命令,可以依据diff生成的.patch补丁文件,将a.c与b.c两个文件差异部分更新到需要修改的文件.此外diff在SVN .GIT.CVS等版本控制工具中也是不可获取的一部分. 下面我就详细描述一下diff命令的使用:…
#fdisk -l 查看硬盘信息 cat /proc/cpuinfo 查看CPU信息 free -m 查看内存信息 ethtool eth0 查看网卡信息 df -h 查看硬盘各分区可用空间大小 cal查看当月日历 cal -y 查看当年日历 date 显示当前时间 ps -ef | grep tomcat 查看tomcat 进程是否运行 uname -a 查看内核版本 cat /etc/issue 查看linux系统是什么版本,如Red Hat Enterprise Linux Server…
ESC : 进入命令模式 linux下使用vi后,怎样跳转到文件结尾 pagedown键连续按 虽然我也这么用,但还是太笨了.问了高手,方法是按shift+g,另外,到文件开头是gg.   linux vi查找命令   div id="article_content" class="article_content">   使用vi编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容.   这时,使用查找功能尤为重要.   方法如下:  www.2cto.…
/etc/sysconfig/目录详解 2010-06-19 11:12 6693人阅读 评论(1) 收藏 举报 桌面环境debugging防火墙serviceunix语言 /etc/sysconfig/目录包括了在红帽企业LINUX下各种系统配置文件,以下是在/etc/sysconfig/目录下的文件列表如图:如果一些在此列出的文件没有出现在你的/etc/sysconfig/目录中,可能是相应的程序没有安装的原因.下面将对这些文件进行分别介绍,在此只对这些配置文件进行一般程度的说明,如果要看它…
LINUX下历遍目录的方法一般是这样的打开目录->读取->关闭目录相关函数是opendir -> readdir -> closedir #include <dirent.h>DIR *opendir(const char *dirname); #include <dirent.h>struct dirent *readdir(DIR *dirp); #include <dirent.h>int closedir(DIR *dirp); 好了,三…
概述 今天发现自己码代码的效率有点低,所以查找了一下 linux 常用的快捷键操作,记录下来,供以后开发时参考,相信对其他人也有用. linux 终端常用快捷键 tab:补全命令 Ctrl + u:剪切光标所在位置到行首间的字符,如果光标在最后,相当于剪切当前命令行(用 Ctrl + y 粘贴) Ctrl + k:剪切光标所在位置到行尾间的字符,如果光标在行首,相当于剪切当前命令行(用 Ctrl + y 粘贴) Ctrl + l:清屏 Ctrl + a:光标移动到行首 Ctrl + e:光标移动…
彻底删除文件 rm -rf + [文件目录 可相对可绝对] 是彻底删除而且linux无回收站 创建文件 touch + [文件名] 创建文件夹 mkdir + [文件夹名] 文件提权:chmod 777 [filename] 记录在linux下写一个python文件的过程: 1.vim + [filename].py        没有文件会自行创建,有就用已有的,并开始编辑 2.          i       进入insert模式 开始插入(写入)代码 3.写完后 esc 退出insert…
1.拷贝文件 目录:cp - r /usr/xu/ /usr/liu/ 文件:cp /home/itcast/Desktop/jdk-6u24-linux-i586.bin  /usr/java/ 2.删除目录 目录:rm -rf /var/log/httpd/access 文件:rm -f /var/log/httpd/access.log -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思…
1.作业让写一个输入输出重定向,管道联接.这里要讲的不是这个而是 我当时想写个程序来演示这些功能:但我发现我的虚拟机中没有装GNU不能用g++命令,然后就惊奇的发现Linux命令行可以直接联网下载安装: 命令:sudo apt-get  install  build-essential 而且后来我在装codeblocks时,发现Linux下的codeblocks有自动检测编译环境的能力,直接检测出了GNU的存在!!…
一.定义和理解 狭义定义:进程是正在运行的程序的实例. 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动. 进程的概念主要有两点: 第一,进程是一个实体.每一个进程都有它自己的地址空间,一般情况下,包括文本区域.数据区域和堆栈区域.文本区域存储处理器执行的代码:数据区域存储变量和进程执行期间使用的动态分配的内存:堆栈区域存储着活动过程调用的指令和本地变量. 第二,进程是一个“执行中的程序”.程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们…
参考文章 <nginx启动,重启,关闭命令> 停止操作 停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的 步骤1:查询nginx主进程号 ps -ef | grep nginx 在进程列表里 面找master进程,它的编号就是主进程号了.步骤2:发送信号从容停止Nginx: kill -QUIT 主进程号 快速停止Nginx: kill -TERM 主进程号 强制停止Nginx: kill -9 nginx 另外, 若在nginx.conf配置了pid文件存放…
某些原因想在svn co的时候排除某些目录,可以绕个圈子,分三步来完成: co外层目录: svn checkout --depth empty $URL [$LOCATION] 完成之后,会有一个只包含空目录的根目录 设置忽略目录: cd $LOCATIONsvn up --set-depth exclude <$DIR_TO_EXCLUDE> 这样svn会提示被忽略的目录标记为D,然后文件系统上也看不见了 更新剩余文件 svn up --set-depth infinity * 这样其他目录…