精华内容
下载资源
问答
  • 当你要删除某一目录下及其子目录下的所有某类型的文件或文件夹时,使用一般的rm方法配以正则是行不通的。。。 正确做法为: findfolderPath-option [-print] [-exec -ok command] {} \; e.g.: 删除当前...

    当你要删除某一目录下及其子目录下的所有某类型的文件或文件夹时,使用一般的rm方法在配以正则是行不通的。。。

     

    正确做法为:

     

    find folderPath -option [-print] [-exec -ok command] {} \;

     

    e.g.:

    删除当前目录及其子目录下的所有xml文件:

     

    find . -type f -name '*.xml' -exec rm -rf {} \;

     

    删除某个目录下及其子目录下的所有的.svn 文件夹:

    find /test/subtest -type d -name '.svn' -exec rm -rf {} \;

     

    Linux中find常见用法示例

    find path -option [ -print ] [ -exec -ok command ] {} \;

    #-print 将查找到的文件输出到标准输出

    #-exec command {} \; —–将查到的文件执行command操作,{} 和 \;之间有空格,{} 表示find到的结果,最后有反斜杠\ 和 分号 ; 表示命令结束

    #-ok 和-exec相同,只不过在操作前要询用户

    #find 根据下列规则判断 path 和 expression(命令选项参数 -option),在命令列上第一个 – ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

    ====================================================

    -name filename #查找名为filename的文件

    -perm #按执行权限来查找

    -user username #按文件属主来查找

    -group groupname #按组来查找

    -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前

    -atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前

    -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

    -nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在

    -nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存

    -newer f1 !f2 #查更改时间比f1新但比f2旧的文件

    -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件

    -size n[c] #查长度为n块[或n字节]的文件

    -depth #使查找在进入子目录前先行查找完本目录

    -fstype #查更改时间比f1新但比f2旧的文件

    -mount #查文件时不跨越文件系统mount点

    -follow #如果遇到符号链接文件,就跟踪链接所指的文件

    -cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中

    -prune #忽略某个目录

     

    ===========================================================================

    find -name april* 在当前目录下查找以april开始的文件

    find -name april* fprint file 在当前目录下查找以april开始的文件,并把结果输出到file中

    find -name ap* -o -name may* 查找以ap或may开头的文件

    find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件

    find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件

    find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件

    find /home -mtime -2 在/home下查最近两天内改动过的文件

    find /home -atime -1 查1天之内被存取过的文件

    find /home -mmin +60 在/home下查60分钟前改动过的文件

    find /home -amin +30 查最近30分钟前被存取过的文件

    find /home -newer tmp.txt 在/home下查更新时间比tmp.txt近的文件或目录

    find /home -anewer tmp.txt 在/home下查存取时间比tmp.txt近的文件或目录

    find /home -used -2 列出文件或目录被改动过之后,在2日内被存取过的文件或目录

    find /home -user cnscn 列出/home目录内属于用户cnscn的文件或目录

    find /home -uid +501 列出/home目录内用户的识别码大于501的文件或目录

    find /home -group cnscn 列出/home内组为cnscn的文件或目录

    find /home -gid 501 列出/home内组id为501的文件或目录

    find /home -nouser 列出/home内不属于本地用户的文件或目录

    find /home -nogroup 列出/home内不属于本地组的文件或目录

    find /home -name tmp.txt -maxdepth 4 列出/home内的tmp.txt 查时深度最多为3层

    find /home -name tmp.txt -mindepth 3 从第2层开始查

    find /home -empty 查找大小为0的文件或空目录

    find /home -size +512k 查大于512k的文件

    find /home -size -512k 查小于512k的文件

    find /home -links +2 查硬连接数大于2的文件或目录

    find /home -perm 0700 查权限为700的文件或目录

    find /tmp -name tmp.txt -exec cat {} \;

    find /tmp -name tmp.txt -ok rm {} \;

    find / -amin -10 # 查找在系统中最后10分钟访问的文件

    find / -atime -2 # 查找在系统中最后48小时访问的文件

    find / -empty # 查找在系统中为空的文件或者文件夹

    find / -group cat # 查找在系统中属于 groupcat的文件

    find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件

    find / -mtime -1 #查找在系统中最后24小时里修改过的文件

    find / -nouser #查找在系统中属于作废用户的文件

    find / -user fred #查找在系统中属于FRED这个用户的文件

    查当前目录下的所有普通文件

    ——————————————————————————–

    # find . -type f -exec ls -l {} \;

    -rw-r–r– 1 root root 34928 2003-02-25 ./conf/httpd.conf

    -rw-r–r– 1 root root 12959 2003-02-25 ./conf/magic

    -rw-r–r– 1 root root 180 2003-02-25 ./conf.d/README

    查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出

    =================================================

    在/ l o g s目录中查找更改时间在5日以前的文件并删除它们:

    $ find logs -type f -mtime +5 -exec -ok rm {} \;

     

    -------------------------------------------------------------------------------------------------------------------

    ========================================================================

    文件系统

    /dev/sda2

    /dev/sda1

    1)在/tmp中查找所有的*.h,并在这些文件中查找'SYSCALL_VECTOR',最后打印出所有包含'SYSCALL_VECTOR'的文件名

    A) find /tmp -name '*.h' | xargs -n50 grep SYSCALL_VECTOR

    B) grep SYSCALL_VECTOR /tmp/*.h | cut -d':' -f1| uniq > filename

    C) find /tmp -name '*.h' -exec grep 'SYSCALL_VECTOR' {} \; -print

    2)find / -name filename -exec rm -rf {} \;

    find / -name filename -ok rm -rf {} \;

    #这个就是上面提到的删除.svn目录的一种方法

    3)比如要查找磁盘中大于3M的文件:

    find . -size +3000k -exec ls -ld {} \;

    4)将find出来的东西拷到另一个地方

    find *.txt -exec cp {} /home/zgf/tmp \;

    如果有特殊文件,可以用cpio,也可以用这样的语法:

    find dir -name filename -print | cpio -pdv newdir

    6)查找2004-11-30 16:36:37时更改过的文件

    # A=`find ./ -name '*php'` | ls -l –full-time $A 2>/dev/null | grep '2004-11-30 16:36:37

    二、linux下find命令的用法

    1. 基本用法:

    find / -name 文件名

    find ver1.d ver2.d -name '*.c' -print 查找ver1.d,ver2.d *.c文件并打印

    find . -type d -print 从当前目录查找,仅查找目录,找到后,打印路径名。可用于打印目录结构。

    2. 无错误查找:

    find / -name access_log 2 >/dev/null

    3. 按尺寸查找:

    find / -size 1500c (查找1,500字节大小的文件,c表示字节)

    find / -size +1500c (查找大于1,500字节大小的文件,+表示大于)

    find / -size +1500c (查找小于1,500字节大小的文件,-表示小于)

    4. 按时间:

    find / -amin n 最后n分钟

    find / -atime n 最后n天

    find / -cmin n 最后n分钟改变状态

    find / -ctime n 最后n天改变状态

    5. 其它:

    find / -empty 空白文件、空白文件夹、没有子目录的文件夹

    find / -false 查找系统中总是错误的文件

    find / -fstype type 找存在于指定文件系统的文件,如type为ext2

    find / -gid n 组id为n的文件

    find / -group gname 组名为gname的文件

    find / -depth n 在某层指定目录中优先查找文件内容

    find / -maxdepth levels 在某个层次目录中按递减方式查找

    6. 逻辑

    -and 条件与 -or 条件或

    7. 查找字符串

    find . -name '*.html' -exec grep 'mailto:'{} \;

    from : http://blog.zol.com.cn/751/article_750102.html

    origin:https://lxs647.iteye.com/blog/1797494

    展开全文
  • CentOS下删除目录下的子文件

    千次阅读 2019-03-23 17:01:35
    其实命令都是通用的 find . -name "*.zip" -type f ...但是生产环境上执行该命令要慎重,因此要分步执行: find . -name "*.zip" -type f -print 通过该命令检查查找到的文件是否正确,避免一神操作把linux删...

    其实命令都是通用的

    find . -name "*.zip" -type f -print -exec rm -rf {} \;
    

    网上很容易都能查到,注意-name前面有个. 代表当前目录,前后都有空格。
    但是在生产环境上执行该命令要慎重,因此要分两步执行:

    find . -name "*.zip" -type f -print
    

    通过该命令检查查找到的文件是否正确,避免一个神操作把linux删了,
    检查无误后再后面加上-exec rm -rf {} \;
    注意 find 后面跟着的目录名,一定要搞清楚,如果你当前是在根目录下,又没检查,直接执行了rm,那就可以去买高铁票跑路了。

    展开全文
  • C语言实现Linux下删除非空目录

    万次阅读 多人点赞 2017-07-12 11:45:35
    Linux C语言 删除非空目录

    Linux下系统api int rmdir(const char *pathname);可以删除目录。但使用rmdir函数时,目录必须为空,否则调用失败,函数返回-1,执行成功时,函数返回0。
      
      也可以通过shell命令rm -rf删除掉非空目录。但在程序中若要调用shell命令必须通过system或者exec函数簇启动一个进程。这样一是耗费系统资源,降低程序执行的效率。二是无法知道执行的结果。故自己实现一个删除非空目录的函数,下面是函数的几个要点:
      
      1.若要删除一个目录,必须将给目录下的文件全部删除,系统调用int remove(const char * pathname)可以删除一个普通文件;
      
      2.需要遍历目录中的每一项,而目录中可能还有目录,故需要用递归调用;
      
      3.每个目录下会有两个默认的目录...分别代表当前目录和上一目录,在遍历的时候需要忽略它们;

    4.递归结束的条件是遍历到的文件为普通文件(此时会将普通文件删除);

    5.当一个目录中的内容全部被删除之后,便可以删除该目录了。

    代码实现如下所示:

    #include <sys/stat.h>
    #include <dirent.h>
    #include <fcntl.h>
    
    /**
    * 递归删除目录(删除该目录以及该目录包含的文件和目录)
    * @dir:要删除的目录绝对路径
    */
    int remove_dir(const char *dir)
    {
    	char cur_dir[] = ".";
    	char up_dir[] = "..";
    	char dir_name[128];
    	DIR *dirp;
    	struct dirent *dp;
    	struct stat dir_stat;
    
    	// 参数传递进来的目录不存在,直接返回
    	if ( 0 != access(dir, F_OK) ) {
    		return 0;
    	}
    
    	// 获取目录属性失败,返回错误
    	if ( 0 > stat(dir, &dir_stat) ) {
    		perror("get directory stat error");
    		return -1;
    	}
    
    	if ( S_ISREG(dir_stat.st_mode) ) {	// 普通文件直接删除
    		remove(dir);
    	} else if ( S_ISDIR(dir_stat.st_mode) ) {	// 目录文件,递归删除目录中内容
    		dirp = opendir(dir);
    		while ( (dp=readdir(dirp)) != NULL ) {
    			// 忽略 . 和 ..
    			if ( (0 == strcmp(cur_dir, dp->d_name)) || (0 == strcmp(up_dir, dp->d_name)) ) {
    				continue;
    			}
    			
    			sprintf(dir_name, "%s/%s", dir, dp->d_name);
    			remove_dir(dir_name);   // 递归调用
    		}
    		closedir(dirp);
    
    		rmdir(dir);		// 删除空目录
    	} else {
    		perror("unknow file type!");	
    	}
    	
    	return 0;
    }
    

    如果喜欢我的文章请关注我的公众号,后期会有持续的更新!
    在这里插入图片描述

    展开全文
  • 当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令? 2、怎么查看当前进程?怎么执行退出?怎么查看当前路径? 3、怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户id?查看指定...

    Linux 面试题

    1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?

    2、怎么查看当前进程?怎么执行退出?怎么查看当前路径?

    3、怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户id?查看指定帮助用什么命令?

    4、Ls 命令执行什么功能? 可以带哪些参数,有什么区别?

    5、建立软链接(快捷方式),以及硬链接的命令。

    6、目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?

    7、查看文件内容有哪些命令可以使用?

    8、随意写文件命令?怎么向屏幕输出带空格的字符串,比如”helloworld”?

    9、终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?

    10、移动文件用哪个命令?改名用哪个命令?

    11、复制文件用哪个命令?如果需要连同文件夹一块复制呢?如果需要有提示功能呢?

    12、删除文件用哪个命令?如果需要连目录及目录下文件一块删除呢?删除空文件夹用什么命令?

    13、Linux 下命令有哪几种可使用的通配符?分别代表什么含义?

    14、用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)

    15、Grep 命令有什么用? 如何忽略大小写? 如何查找不含该串的行?

    16、Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?

    17、怎么使一个命令在后台运行?

    18、利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?

    19、哪个命令专门用来查看后台任务?

    20、把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?

    21、终止进程用什么命令? 带什么参数?

    22、怎么查看系统支持的所有信号?

    23、搜索文件用什么命令? 格式是怎么样的?

    24、查看当前谁在使用该主机用什么命令? 查找自己所在的终端信息用什么命令?

    25、使用什么命令查看用过的命令列表?

    26、使用什么命令查看磁盘使用空间? 空闲空间呢?

    27、使用什么命令查看网络是否连通?

    28、使用什么命令查看 ip 地址及接口信息?

    29、查看各类环境变量用什么命令?

    30、通过什么命令指定命令提示符?

    31、查找命令的可执行文件是去哪查找的? 怎么对其进行设置及添加?

    32、通过什么命令查找执行命令?

    33、怎么对命令进行取别名?

    34、du 和 df 的定义,以及区别?

    35、awk 详解。

    36、当你需要给命令绑定一个宏或者按键的时候,应该怎么做呢?

    37、如果一个 linux 新手想要知道当前系统支持的所有命令的列表,他需要怎么做?

    38、如果你的助手想要打印出当前的目录栈,你会建议他怎么做?

    39、你的系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?

    40、bash shell 中的 hash 命令有什么作用?

    41、哪一个 bash 内置命令能够进行数学运算。

    42、怎样一页一页地查看一个大文件的内容呢?

    43、数据字典属于哪一个用户的?

    44、怎样查看一个 linux 命令的概要与用法?假设你在/bin 目录中偶然看到一个你从没见过的的命令,怎样才能知道它的作用和用法呢?

    45、使用哪一个命令可以查看自己文件系统的磁盘空间配额呢?

     

    Linux 面试题答案解析

    1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?

    答案:

    绝对路径: 如/etc/init.d

    当前目录和上层目录: ./ ../

    主目录: ~/

    切换目录: cd

    2、怎么查看当前进程?怎么执行退出?怎么查看当前路径?

    答案:

    查看当前进程: ps

    执行退出: exit

    查看当前路径: pwd

    3、怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?

    答案:

    清屏: clear

    退出当前命令: ctrl+c 彻底退出

    执行睡眠 : ctrl+z 挂起当前进程 fg 恢复后台

    查看当前用户 id: ”id“:查看显示目前登陆账户的 uid 和 gid 及所属分组及用户名

    查看指定帮助: 如 man adduser 这个很全 而且有例子; adduser --help 这个告诉你一些常用参数; info adduesr;

    4、Ls 命令执行什么功能? 可以带哪些参数,有什么区别?

    答案:

    ls 执行的功能: 列出指定目录中的目录,以及文件

    哪些参数以及区别: a 所有文件 l 详细信息,包括大小字节数,可读可写可执行的权限等

    5、建立软链接(快捷方式),以及硬链接的命令。

    答案:

    软链接: ln -s slink source

    硬链接: ln link source

    6、目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?

    答案:

    创建目录: mkdir

    创建文件:典型的如 touch,vi 也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件

    复制文件: cp 7. 文件权限修改用什么命令?格式是怎么样的?

    文件权限修改: chmod

    格式如下:

    chmodu+xfile 给 file 的属主增加执行权限 chmod 751 file 给 file 的属主分配读、写、执行(7)的权限,给 file 的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

    chmodu=rwx,g=rx,o=xfile 上例的另一种形式 chmod =r file 为所有用户分配读权限

    chmod444file 同上例 chmod a-wx,a+r file 同上例

    $ chmod -R u+r directory 递归地给 directory 目录下所有文件和子目录的属主分配读的权限

    7、查看文件内容有哪些命令可以使用?

    答案:

    vi 文件名 #编辑方式查看,可修改

    cat 文件名 #显示全部文件内容

    more 文件名 #分页显示文件内容

    less 文件名 #与 more 相似,更好的是可以往前翻页

    tail 文件名 #仅查看尾部,还可以指定行数

    head 文件名 #仅查看头部,还可以指定行数

    8、随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”?

    答案:

    写文件命令:vi

    向屏幕输出带空格的字符串:echo hello world

    9、终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?

    答案:

    终端 /dev/tty

    黑洞文件 /dev/null

    10、移动文件用哪个命令?改名用哪个命令?

    答案:

    mv mv

    11、复制文件用哪个命令?如果需要连同文件夹一块复制呢?如果需要有提示功能呢?

    答案:

    cp cp -r ????

    12、删除文件用哪个命令?如果需要连目录及目录下文件一块删除呢?删除空文件夹用什么命令?

    答案:

    rm rm -r rmdir

    13、Linux 下命令有哪几种可使用的通配符?分别代表什么含义?

    答案:

    “?”可替代单个字符。

    “*”可替代任意多个字符。

    方括号“[charset]”可替代 charset 集中的任何单个字符,如[a-z],[abABC]

    14、用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)

    答案:

    wc 命令 - c 统计字节数 - l 统计行数 - w 统计字数。

    15、Grep 命令有什么用? 如何忽略大小写? 如何查找不含该串的行?

    答案:

    是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。

    grep [stringSTRING] filename grep [^string] filename

    16、Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?

    答案:

    (1)不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断,指进程不响应异步信号。

    (2)暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。正被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。

    (3)就绪状态:在 run_queue 队列里的状态

    (4)运行状态:在 run_queue 队列里的状态

    (5)可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待socket 连接、等待信号量),而被挂起

    (6)zombie 状态(僵尸):父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉

    (7)退出状态

    D 不可中断 Uninterruptible(usually IO)

    R 正在运行,或在队列中的进程

    S 处于休眠状态

    T 停止或被追踪

    Z 僵尸进程

    W 进入内存交换(从内核 2.6 开始无效)

    X 死掉的进程

    17、怎么使一个命令在后台运行?

    答案:

    一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)

    18、利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?

    答案:

    ps -ef (system v 输出)
    ps -aux bsd 格式输出
    ps -ef | grep pid

    19、哪个命令专门用来查看后台任务?

    答案:

    jobs

    20、把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?

    答案:

    把后台任务调到前台执行 fg

    把停下的后台任务在后台执行起来 bg

    21、终止进程用什么命令? 带什么参数?

    答案:

    kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

    kill-9 pid

    22、怎么查看系统支持的所有信号?

    答案:

    kill -l

    23、搜索文件用什么命令? 格式是怎么样的?

    答案:

    find <指定目录> <指定条件> <指定动作>

    whereis 加参数与文件名

    locate 只加文件名

    find 直接搜索磁盘,较慢。

    find / -name "string*"

    24、查看当前谁在使用该主机用什么命令? 查找自己所在的终端信息用什么命令?

    答案:

    查找自己所在的终端信息:who am i

    查看当前谁在使用该主机:who

    25、使用什么命令查看用过的命令列表?

    答案:

    history

    26、使用什么命令查看磁盘使用空间? 空闲空间呢?

    答案:

    df -hl

    文件系统 容量 已用 可用 已用% 挂载点

    Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G
    44% /
    /dev/hda1 494M 19M 450M 4% /boot

    27、使用什么命令查看网络是否连通?

    答案:

    netstat

    28、使用什么命令查看 ip 地址及接口信息?

    答案:

    ifconfig

    29、查看各类环境变量用什么命令?

    答案:

    查看所有 env

    查看某个,如 home: env $HOME

    30、通过什么命令指定命令提示符?

    答案:

    \u:显示当前用户账号

    \h:显示当前主机名

    \W:只显示当前路径最后一个目录

    \w:显示当前绝对路径(当前用户目录会以~代替)

    $PWD:显示当前全路径

    $:显示命令行’$'或者’#'符号

    #:下达的第几个命令

    \d:代表日期,格式为 week day month date,例如:"MonAug1"

    \t:显示时间为 24 小时格式,如:HH:MM:SS

    \T:显示时间为 12 小时格式

    \A:显示时间为 24 小时格式:HH:MM

    \v:BASH 的版本信息 如 export PS1=’[\u@\h\w#]$‘

    31、查找命令的可执行文件是去哪查找的? 怎么对其进行设置及添加?

    答案:

    whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]

    补充说明:whereis 指令会在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。

    -b 只查找二进制文件。

    -B <目录> 只在设置的目录下查找二进制文件。 -f 不显示文件名前的路径名称。

    -m 只查找说明文件。

    -M <目录> 只在设置的目录下查找说明文件。-s 只查找原始代码文件。

    -S <目录> 只在设置的目录下查找原始代码文件。 -u 查找不包含指定类型的文件。

    w -h ich 指令会在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

    -n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

    -p 与-n 参数相同,但此处的包括了文件的路径。 -w 指定输出时栏位的宽度。

    -V 显示版本信息

    32、通过什么命令查找执行命令?

    答案:

    which 只能查可执行文件

    whereis 只能查二进制文件、说明文档,源文件等

    33、怎么对命令进行取别名?

    答案:

    alias la='ls -a'

    34、du 和 df 的定义,以及区别?

    答案:

    du 显示目录或文件的大小

    df 显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统。(文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如 i 节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为 Meta Data。) du 命令是用户级的程序,它不考虑 Meta Data,而 df命令则查看文件系统的磁盘分配图并考虑 Meta Data。

    df 命令获得真正的文件系统数据,而 du 命令只查看文件系统的部分情况。

    35、awk 详解。

    答案:

    awk '{pattern + action}' {
    	filenames
    }
    #cat /etc/passwd |awk -F ':' '{print 1"t"7}' //-F 的意思是以':'分隔 root
    /bin/bash
    daemon /bin/sh 搜索/etc/passwd 有 root 关键字的所有行
    #awk -F: '/root/' /etc/passwd root:x:0:0:root:/root:/bin/bash

    36、当你需要给命令绑定一个宏或者按键的时候,应该怎么做呢?

    答案:

    可以使用 bind 命令,bind 可以很方便地在 shell 中实现宏或按键的绑定。在进行按键绑定的时候,我们需要先获取到绑定按键对应的字符序列。

    比如获取 F12 的字符序列获取方法如下:先按下 Ctrl+V,然后按下 F12 .我们就可以得到 F12 的字符序列 ^[[24~。

    接着使用 bind 进行绑定。

    [root@localhost ~]# bind ‘”e[24~":"date"'

    注意:相同的按键在不同的终端或终端模拟器下可能会产生不同的字符序列。

    【附】也可以使用 showkey -a 命令查看按键对应的字符序列。

    37、如果一个 linux 新手想要知道当前系统支持的所有命令的列表,他需要怎么做?

    答案:

    使用命令 compgen -c,可以打印出所有支持的命令列表。

    [root@localhost ~]$ compgen -c
    l.
    ll
    ls
    which
    if
    then else
    elif
    fi
    case
    esac
    for
    select
    while
    until
    do
    done
    …

    38、如果你的助手想要打印出当前的目录栈,你会建议他怎么做?

    答案:

    使用 Linux 命令 dirs 可以将当前的目录栈打印出来。

    [root@localhost ~]# dirs
    /usr/share/X11

    【附】:目录栈通过 pushd popd 来操作。

    39、你的系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?

    答案:

    使用 linux 命令 ’disown -r ’可以将所有正在运行的进程移除。

    40、bash shell 中的 hash 命令有什么作用?

    答案:

    linux 命令’hash’管理着一个内置的哈希表,记录了已执行过的命令的完整路径,用该命令可以打印出你所使用过的命令以及执行的次数。

    [root@localhost ~]# hash
    hits command
    2 /bin/ls
    2 /bin/su

    41、哪一个 bash 内置命令能够进行数学运算。

    答案:

    bash shell 的内置命令 let 可以进行整型数的数学运算。

    #! /bin/bash
    …
    …
    let c=a+b
    …
    …

    42、怎样一页一页地查看一个大文件的内容呢?

    答案:

    通过管道将命令”cat file_name.txt” 和 ’more’ 连接在一起可以实现这个需要.

    [root@localhost ~]# cat file_name.txt | more

    43、数据字典属于哪一个用户的?

    答案:

    数据字典是属于’SYS’用户的,用户‘SYS’ 和 ’SYSEM’是由系统默认自动创建的

    44、怎样查看一个 linux 命令的概要与用法?假设你在/bin 目录中偶然看到一个你从没见过的的命令,怎样才能知道它的作用和用法呢?

    答案:

    使用命令 whatis 可以先出显示出这个命令的用法简要,比如,你可以使用 whatiszcat 去查看‘zcat’的介绍以及使用简要。

    [root@localhost ~]# whatis zcat
    zcat [gzip] (1) – compress or expand files

    45、使用哪一个命令可以查看自己文件系统的磁盘空间配额呢?

    答案:

    使用命令 repquota 能够显示出一个文件系统的配额信息

    【附】只有 root 用户才能够查看其它用户的配额。

    最后

    欢迎大家关注我的公众号【程序员追风】,2019年多家公司java面试题整理了1000多道400多页pdf文档,文章都会在里面更新,整理的资料也会放在里面。

    喜欢文章记得关注我点个赞哟,感谢支持!

    展开全文
  • 入门学习Linux常用必会60命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    种格式中,会将<来源>复制至<目的地>或将多<来源>文件复制至已存在的<目录>,同时设定权限模式及所有者/所属组。第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数使用短选项时也...
  • 示例:一次性删除目录及其子目录下所有以.exe为后缀的文件。 find . -name '201702*.zip' -type f -print -exec rm -rf {} \; 查找前缀名为201702后缀zip的文件,然后批量删除。 说明: find:使用
  • echo 正在删除当前目录及自目录的所有空文件夹... echo ----------------------------------------- cd. >listnull.txt for /f "delims=" %%i in ('dir /ad /b /s') do ( dir /b "%%i"|findstr .>nul || echo %%i >>...
  • 我一直以为使用c提供的方法可以跨越平台,但无疑我是错的,上次写的删除文件所使用的两个api——_findfirst和_findnext无法gcc使用,但linux有opendir和readdir来代替。 复制内容到剪贴板 代码: //////////...
  • Linux

    千次阅读 多人点赞 2020-02-11 21:22:11
    文章目录1. Linux 介绍1.1 Linux 简介1.2 Linux 历史1.3 Linux 版本2. Linux 安装2.1 安装虚拟机2.2 安装 CentOS3. 远程操作 Linux3.1 SecureCRT 介绍3.2 SecureCRT 登录 Linux4. Linux 的目录结构5. Linux 常用命令...
  • 可以通过管道命令来操作,先find出主目录 删除的文件,然后通过“xargs”这构造参数列表并运行命令。 find named/ -name *.bak | xargs rm -f 以下是转的文件 Linux文件查找命令find,xargs详述 总结:...
  • 要求创建目录的用户在当前目录中 (dirname的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。 参数: - m 对新建目录设置存取权限。也可以用chmod命令设置。 - p 可以是
  • Linux 命令面试题

    万次阅读 多人点赞 2019-07-24 09:40:04
    Linux面试题: 1.Linux常用系统安全命令 ...chmod // 用来变更文件或目录的权限 setfacl // 设置文件访问控制列表 2.Linux常用进程管理命令 w // 用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。 top ...
  • Linux 命令练习(案例1:文件与目录的基本操作)

    千次阅读 多人点赞 2019-03-20 13:57:29
    案例1:文件与目录的基本移动 ...2)改编当前目录至/test,目录下,以自己名字的英文缩写建一个空的文件,在建两个目录(xh)与(ah)。 3)进入到(xh)子目录中,新建一个空文件text1。 4)进入...
  • Git使用详细教程

    万次阅读 多人点赞 2018-01-02 15:41:45
    一:Git是什么?  Git是目前世界上最先进的分布式版本控制系统。  二:SVN与Git的最主要的区别?...集中式版本控制系统是必须联网才能工作,如果局域网还可以,带宽够大,速度够快,如果互联网...
  • linux文件改名方式众多,正常情况几乎所有方式都管用,随便一搜即可,但是遇到如标题这样的特殊一点的,很多方式就不管用了,现归纳种方法如下: find ./ -name "a*.cpp" | awk '{head=$0;gsub(/\/a[^\/]*\...
  • Linux基本命令 ...cd …/… 将当前目录向上移动级; cd - 返回最近访问目录; cd / 返回根目录; 2.ls命令: 格式::ls [选项] [目录或文件] 功能:对于目录,列出该目录下的所有子目...
  • Linux笔记:目录与文件操作命令

    千次阅读 2020-01-30 12:42:08
    目录与文件操作命令 ... 切换到上级目录, 两个点代表上级目录,一个点代表当前目录 ../.. 表示上上级目录,以此类推 ls list 列出目录中的文件 ls -l 详细信息 ls -a 显示所有文件(包含以点...
  • 以前一直用Linux下面一些基本的文件或者数据传输工具本地或则远程拷贝文件,今天遇到了一问题,就是隐藏的文件没有办法使用之前的方法来拷贝,网上查了很多资料后才知道有一功能可以实现对隐藏目录的拷贝,...
  • python 删除文件、清空目录的方法总结

    万次阅读 多人点赞 2018-05-25 12:42:26
    如果指定的路径是一个目录,将抛出OSError。 Unix, Windows中有效 以下实例演示了 remove() 方法的使用: #!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 列出目录 print "目录为: %s&...
  •    为了方便管理程序文件,我们一般会添加文件夹来进行分类管理,这时候为了方便我们编译,就需要各个文件夹里面添加一makefile文件,make后就会自动的帮我们编译生成可执行文件。 一.简单篇 1. 先给出目录...
  • 1.2 mkdir ceshi1 ceshi2 同时创建两个目录 1.3 mkdir -p /tmp/dir1/dir2 创建一个目录树,注意是目录下创建的,不是当前目录下 删除目录操作 2.1 rm -rf dir #删除dir目录,不需要确认,直接删除删除一个叫做...
  • Linux目录

    万次阅读 2018-08-20 17:54:25
    我们可以先看看根目录,所有目录都挂目录下,有且只有一目录,所有东西都从根目录开始,如果终端输入/home,其实是告诉电脑从/(根目录)开始,再到home目录。 /是根目录,cd /进入根目录后,我们可以...
  • 绝对路径问题参考链接: http://www.newsmth.net/nForum/#!article/Python/69506 os模块参考链接: ...#编写一search(s)的函数,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并
  • Idea导入多maven项目到同一目录下

    千次阅读 2018-09-18 16:35:59
    目标 简单导入多maven项目进入同一project(相当于eclipse的workspace) 过程 ...3.分别进入每个目录删除图文件,这里如果是eclipse的maven项目,也是可以导入的,也要删除eclipse的...
  • 一、Make简介: 工程管理器,顾名思义,是指管理较多的文件,Make工程管理器也就是“自动编译管理器”,这里的“自动”...Makefile文件一般和项目的其他源文件放在同一个目录下机器上可以同时存在许多不同的m...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...
  • 这应该算是一常识吧,但是对于许多像我们这样的新手来说,一旦你出点小差错,整个过程就会很曲折。碰巧今天就遇到了这样的问题。 下面是查过资料后总结的解决方法: 简单说PATH就是一组路径的字符串变量,当你...
  • 前言:数据卷和挂载还不是一回事,不过都可以实现数据分离:Link 附带例子的第一条,命令属于挂载:用docker volume ls是查不到的。 附带例子的第二、三条,...查看volume:docker volume ls可以看到当前存在的...
  • Linux 中复制文件到多个目录

    万次阅读 2017-01-14 05:44:07
    概述学习 Linux 的...本篇中,我们会用一简单的方法 Linux 中用一命令来将目录复制到多文件夹中。通常写法 Linux 中,cp 命令常被用于从一文件夹中复制文件到另一文件夹中,最简单的语法如下:# cp
  • Linux 利用find命令删除所有.svn目录

    万次阅读 2013-06-25 10:24:35
    ====================实例============== ... -type d -name ‘.svn’ | xargs rm -rf #先(递归)找到当前路径含有 .svn的文件目录,再经 xargs逐个干掉 #(处理方式是逐个,并不是’删一条

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,389,703
精华内容 555,881
关键字:

在当前目录下删除两个目录