Linux基础命令

1 遍历目录

cd:change dicrectory的缩写

.或者./代表当前目录,..或../代表上一级目录,cd -代表进入上一次的目录。

2 文件和目录列表

ls:list的缩写,会显示目录下的文件。

用法:ls [-laFR] [dir],其中-F表示在目录后加/表示区分,-R为递归显示。

3 处理文件

3.1 创建文件touch

命令格式:

touch  [-acdfmrt]  文件

命令参数:

    -a  或--time=atime或--time=access或--time=use  只更改存取时间

    -c  或--no-create  不建立任何文档

    -d  使用指定的日期时间,而非现在的时间

    -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题

    -m   或--time=mtime或--time=modify  只更改变动时间。

    -r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

    -t  使用指定的日期时间,而非现在的时间

命令功能:

    touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间

使用范例:

实例:

       touch text.py   # 创建不存在的文件    
       touch a.log b.log  一次建立了两个日志文件    

3.2 复制文件cp

命令格式:

    cp [-ipru] [file/dir]

命令参数:

       -i   覆盖文件之前先询问

    -p  保留源文件或目录的属性,包括所有者、所属组、权限与时间

    -r  递归处理,将指定目录下的文件及子目录一并处理,通常用作复制目录

    -u  使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件    

命令功能:

    cp可用于文件或者目录的拷贝

使用范例:  

    [root@leon data]# cp -p ett.xtx tte.txt   保留文件属性拷贝,并更名为tte.txt

3.3 移动或重命名文件mv

命令格式:

    mv [-bfiut] [file/dir]

命令参数:

    -f  force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

    -i  若目标文件 (destination) 已经存在时,就会询问是否覆盖

    -u  若目标文件已经存在,且 source 比较新,才会更新(update)

命令功能:

    mv命令可用于修改文件或者目录的名字

使用范例:

    [root@leon data]# mv tte.txt changename.txt  修改tte.txt的名字

3.4  删除文件rm

命令格式:

        rm [-irf]  [file/dir]

命令参数:

    -i  进行任何删除操作前必须先确认

    -f  强制删除

    -r  递归删除

命令功能:

    rm用于删除文件,一般常和find在一起使用,这点我们在find用法中会讲到。

使用范例:

    [root@leon data]# rm -fr test/

4 处理目录

4.1  创建目录mkdir

命令格式:

        mkdir [-mpv] [dir]    

命令参数:

    -m  mode,为目录指定访问权限,与chmod类似

    -p  如果目录已经存在,则不会有错误提示。若父目录不存在,将会创建父目录。该选项常用于创建级联目录。

    -v  为每个目录显示提示信息

命令功能:

    创建单个目录或者级联目录。

使用范例:   

    [root@leon data]# mkdir -p blog/{bin,lib,var/{etc,doc,logfile}}
    [root@leon data]# tree blog/
    blog/
    ├── bin
    ├── lib
    └── var
       ├── doc
       ├── etc
       └── logfile

4.2 删除目录rmdir

  默认情况下rmdir命令只是用来删除空目录的,非空目录的删除需要用rm -fr来递归删除,这样用的风险很大,所以一般会和find联合使用。

5 查看文件

5.1 cat命令

命令格式:

        cat [-nbT] [file]

命令参数:

    -n  给所有的行加上行号

    -b  只给文本加上行号

    -T  不显示制表符,用^I代替

命令功能:

    查看整个文件内容

5.2 more/less

命令功能:  

    分页显示,比cat更方便。

5.3 查看部分文件

5.3.1 tail命令

命令参数:

    -n  显示最后多少行的信息

命令功能:

    显示尾部XXX行信息

使用范例:   

    [root@leon data]# tail -n 3 a.txt 
    18
    19
    20

5.3.2 head命令

命令参数:

    同tail

命令功能:

    显示头部XXX行信息

使用范例:  

    [root@oldboy data]# head -n 3 a.txt 
    1
    2
    3

6 find查找命令

命令格式:

        find [路径] [参数选项] 

命令参数:

    -name  按照文件名查找文件。 

         find /data -name filename  在/data目录及其子目录下面查找名字为filename的文件 
         find . -name "*.sh" 在当前目录及其子目录(用“.”表示)中查找任何扩展名为“sh”的文件   

    -perm   按照文件权限来查找文件。 

         find . -perm 755  在当前目录下查找文件权限位为755的文件

    -prune  使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。 

         find /apps -path "/apps/bin" -prune  在/apps目录下查找文件,但不希望在/apps/bin目录下查找

    -user  按照文件属主来查找文件

         find ~ -user root  在$HOME目录中查找文件属主为sam的文件

    -group  按照文件所属的组来查找文件

    -mtime  按照文件的更改时间来查找文件

         +7:表示7天以前

         -7:最近七天

         7:第七天

    -type  按照文件类型查找

        b - 块设备文件
        d - 目录 
        c - 字符设备文件
        p - 管道文件
        l - 符号链接文件 
        f - 普通文件

     -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计

find与xargs

在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。

find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;而使用xargs命令则只有一个进程。另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定

find删除

    [root@leon home]# find . -type f -name "*.txt" | xargs rm -f (推荐删除)

find+sed

    [root@leon data]# find . -type f -name "*.sh" | xargs sed 's/oldboy/oldgirl/g'

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏lonelydawn的前端猿区

笔记本命令提示符开启wifi

首先win+r打开运行,输入cmd进入命令提示符 输入下列代码: netsh wlan set hostednetwork mode=allow ssid=wi...

21480
来自专栏云计算与大数据

研发:理解系统调用nice

允许进程改变它们的优先级。 包含在increment参数中的整数值用来修改进程描述符的nice字段。

13330
来自专栏开源优测

AutoLine源码分析之Flask初始化模块

下面我们看下在manage.py中如何调用create_app来初始化全局flask运行环境的。

17030
来自专栏极客编程

node.js + mongodb 原

想写博客很长时间了,因为一直身患懒癌,所以一直拖到了现在。markdown的语法也是刚刚学,试验一下效果 好了不说了,直接上干货了。 -------------...

16540
来自专栏面朝大海春暖花开

properties文件乱码问题 eclipse

java最常用的开发工具eclipse里面的properties配置文件里面打开中文是乱码的,解决方式很简单。

61920
来自专栏Python小屋

Python标准库glob用法精要

Python标准库glob提供了glob()和iglob()两个函数用来枚举指定文件夹中符合特定模式的文件列表,支持“?”和“*”通配符。 >>> impor...

445130
来自专栏pangguoming

angular之interceptors拦截器

<!DOCTYPE html> <html ng-app="nickApp"> <head> <meta charset="UTF-8"> <m...

42750
来自专栏Python小屋

Python实现定时自动关闭的tkinter窗口

功能简要说明:程序运行后10秒钟自动关闭。 技术要点:tkinter应用程序的destroy()方法,多线程编程。 代码截图: ? 运行效果: ?

40660
来自专栏决胜机器学习

《Redis设计与实现》读书笔记(十五) ——Redis AOF持久化原理与实现

《Redis设计与实现》读书笔记(十五) ——Redis AOF持久化原理与实现 (原创内容,转载请注明来源,谢谢) 一、概述 AOF(Append OnFil...

37450
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(十二):错误信息提示

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

21810

扫码关注云+社区

领取腾讯云代金券