linux常用命令

之前对linux常用命令不太熟,今天正好,自己从头巩固一下,顺便写在博客中,以便后续自己学习。

     mv 移动文件或者修改文件名

                    (1)将文件test.log重命名为test1.txt

  1.          mv test.log test1.txt

             (2)将文件log1.txt,log2.txt,log3.txt移动到根的test3目录中

             mv llog1.txt log2.txt log3.txt /test3

             (3)将文件file1改名为file2,如果file2已经存在,则询问是否覆盖

             mv -i log1.txt log2.txt

             (4)移动当前文件夹下的所有文件到上一级目录

             mv * ../

cp将源文件复制至目标文件,或将多个源文件复制至目标目录。

  1.          注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在shell脚本中,如果不加-i参数,则不会提示,而是直接覆盖!

             -i 提示

             -r 复制目录及目录内所有项目

             -a 复制的文件与原文件时间一样

             实例:

             (1)复制a.txt到test目录下,保持原文件时间,如果原文件存在提示是否覆盖

             cp -ai a.txt test

             (2)为a.txt建议一个链接(快捷方式)

             cp -s a.txt link_a.txt

    tail用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

      常用参数:

             -f 循环读取(常用于查看递增的日志文件)

             -n<行数> 显示行数(从后向前)

             (1)循环读取逐渐增加的文件内容

             ping 127.0.0.1 > ping.log &(后台运行:可使用jobs -l查看,也可使用fg将其移到前台运行)

             tail -f ping.log(查看日志)

    which命令

    在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

             which     查看可执行文件的位置。

             whereis 查看文件的位置。

             locate  配合数据库查看文件位置。

             find        实际搜寻硬盘查询文件名称。

            

             which是在PATH就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

             常用参数:

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

             实例:

             (1)查看ls命令是否存在,执行哪个

             which ls

             (2)查看which

             which which

             (3)查看cd

             which cd(显示不存在,因为cd是内建命令,而which查找显示是PATH中的命令)

             查看当前PATH配置:echo $PATH;或使用env查看所有环境变量及对应值

    find命令

    用于在文件树中查找文件,并作出相应的处理

             命令格式:

             find pathname -options [-print -exec -ok ...]

             命令参数:

             pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

             -print: find命令将匹配的文件输出到标准输出。

             -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {  } \;,注意{   }和\;之间的空格。

             -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

             命令选项:

             -name 按照文件名查找文件

             -perm 按文件权限查找文件

             -user 按文件属主查找文件

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

             -type  查找某一类型的文件,诸如:

                       b - 块设备文件

                       d - 目录

                       c - 字符设备文件

                       l - 符号链接文件

                       p - 管道文件

                       f - 普通文件

             -size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小

             -amin n   查找系统中最后N分钟访问的文件

             -atime n  查找系统中最后n*24小时访问的文件

             -cmin n   查找系统中最后N分钟被改变文件状态的文件

             -ctime n  查找系统中最后n*24小时被改变文件状态的文件

             -mmin n   查找系统中最后N分钟被改变文件数据的文件

             -mtime n  查找系统中最后n*24小时被改变文件数据的文件

             (用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 )

             -maxdepth n 最大查找目录深度

             -prune选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略

             -newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项

             实例:

             (1)查找48小时内修改过的文件

             find -atime -2

             (2)在当前目录查找 以.log结尾的文件。 ". "代表当前目录

             find ./ -name '*.log'

             (3)查找/opt目录下 权限为 777的文件

             find /opt -perm 777

             (4)查找大于1K的文件

             find -size +1000c

             find -size 1000c 查找等于1000字符的文件

             -exec         参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{}   花括号代表前面find查找出来的文件名。

             实例:

             (5)在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒)

             find . -type f -mtime +10 -exec rm -f {} \;

             (6)当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。 按y键删除文件,按n键不删除

             find . -name '*.log' mtime +5 -ok -exec rm {} \;

             (7)当前目录下查找文件名以passwd开头,内容包含"pkg"字符的文件

             find . -f -name 'passwd*' -exec grep "pkg" {} \;

             (8)用exec选项执行cp命令 

             find . -name '*.log' -exec cp {} test3 \;

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

             实例:

             (9)查找当前目录下每个普通文件,然后使用xargs来判断文件类型

             find . -type f -print | xargs file

             (10)查找当前目录下所有以js结尾的并且其中包含'editor'字符的普通文件

             find . -type f -name "*.js" -exec grep -lF 'ueditor' {} \;

             find -type f -name '*.js' | xargs grep -lF 'editor'

             (11)利用xargs执行mv命令

             find . -name "*.log" | xargs -i mv {} test4

             (12)用grep命令在当前目录下的所有普通文件中搜索hostnames这个词,并标出所在行

             find . -name \*(转义) -type f -print | xargs grep -n 'hostnames'

             (13)查找当前目录中以一个小写字母开头,最后是4到9加上.log结束的文件

             find . -name '[a-z]*[4-9].log' -print

             (14)在test目录查找不在test4子目录查找

             find test -path 'test/test4' -prune -o -print

             (15)实例1:查找更改时间比文件log2012.log新但比文件log2017.log旧的文件

             find -newer log2012.log ! -newer log2017.log

             使用depth选项:

             depth选项可以使find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。 

             实例:find命令从文件系统的根目录开始,查找一个名为CON.FILE的文件。 它将首先匹配所有的文件然后再进入子目录中查找

             find / -name "CON.FILE" -depth -print


    chmod命令

    用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

    用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

             每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。可使用ls -l test.txt查找

             以文件log2012.log为例:

             -rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

             第一列共有10个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可,r代表只读,w代表写,x代表可执行。

             常用参数:

             -c 当发生改变时,报告处理信息

             -R 处理指定目录以及其子目录下所有文件

             权限范围:

             u :目录或者文件的当前的用户

             g :目录或者文件的当前的群组

             o :除了目录或者文件的当前用户或群组之外的用户或者群组

             a :所有的用户及群组

     

             权限代号:

             r :读权限,用数字4表示

             w :写权限,用数字2表示

             x :执行权限,用数字1表示

             - :删除权限,用数字0表示

             s :特殊权限

             实例:

             (1)增加文件t.log所有用户可执行权限

             chmod a+x t.log

             (2)撤销原来所有的权限,然后使拥有者具有可读权限,并输出处理信息

             chmod u=r t.log -c

             (3)给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

             chmod 751 t.log -c(或者:chmod u=rwx,g=rx,o=x t.log -c)

             (4)将test目录及其子目录所有文件添加可读权限

             chmod u+r,g+r,o+r -R text/ -c

    chown命令

     chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符

    -c 显示更改的部分的信息

             -R 处理指定目录及子目录

             实例:

             (1)改变拥有者和群组 并显示改变信息

        chown -c mail:mail log2012.log

             (2)改变文件群组

             chown -c :mail t.log

             (3)改变文件夹及子文件目录属主及属组为mail

             chown -cR mail: test/



    如果觉得对你有用,请帮我评论下谢谢了, 要是觉得没用就就不用了。

        













基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip 个人大四的毕业设计、课程设计、作业、经导师指导并认可通过的高分设计项目,评审平均分达96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 [资源说明] 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),供学习参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值