Linux命令文件和目录的常见用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令文件和目录的常见用法相关的知识,希望对你有一定的参考价值。

1、 Linux上的文件管理类命令有哪些,其常用的使用方法及其相关示例演示。
    1.1、文件权限管理类命令
chown:改变文件所有者
chown [OPTINON]...[OWNRR][:[GROUP]] FILE...
常用参数 -R :递归修改(改目录及改目录中的目录和文件)
示例:#chown -R root /tmp/ligang
# chown -R root:root /tmp/ligang

chown [OPTION]... --reference=RFILE FILE...
示例:# chmod --reference=/tmp/issue /tmp/fstab

chgrp:改变文件的所属组

用法,参数与chown基本相同:

示例:# chgrp root /tmp/ligang
 

chmod:改变文件的权限,修改一类用户的某位或某些位权限

chmod [OPTION]... MODE[,MODE]... FILE...

MODE:修改一类的权限
-u用户、-g组、-o其他、-a全部、-R递归修改
示例:#chmod a=rwx /tmp/ligang
 

umask:文件或目录创建时的遮罩码(只对当前shell有效)

目录用777-umask  

文件用666-umask

注意:如果某类用户的权限减得的结果中存在x权限,则其权限+1

umask :查看

umask #:设定 

     1.2、文件处理工具
wc命令:统计单词数,统计单词数,行数,字节数
 wc [OPTION]... [FILE]...

wc [OPTION]... --files0-from=F

-l:line 显示行数

-w:words 单词数

-c:characters 字节数

示例:wc /tmp/issue
    1.3、文件基础创建搜索等命令
常用基础命令:cd、pwd、mkdir、touch

查看:cat,more,less,tail,head,tac

复制:cp

移动:mv

删除:rm

创建:touch

元数据属性:stat

查看内容类型:file

 
 文件管理是考验一个运维工程师最基本的职能之一、在linux中可以单独对某个文件或者目录进行管理,有很大的可控性及加密性,在LIUNX中对用户的给予的文件管理权限比windows中方便许多及搜索方面可以单独搜索每个文件及目录的哪一快内容,但是在linux中文件的集中管理性可能就需要脚本及第三方软件进行操作。
 

2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

    2.1命令执行完后,其状态返回值保存于bash的特殊变量$?中。

bash通过状态返回值来输出此结果:

成功:0

失败:1-255

技术分享

注意,命令执行状态返回值和命令的执行结果间的区别。如上图,ls的执行结果是显示当前目录的文件名,紧接着执行echo命令用于显示命令的执行状态返回值,不管ls命令是否成功执行,其都会有相关数据显示,但是命令执行状态返回值却是不同的。

bash的工作特性之命令行展开:

~:自动展开为用户的家目录,或指定的用户的家目录。

{}:可承载一个以逗号分割的路径列表,并能够将其展开为多个路径。
 

3、请使用命令行张开功能来完成以下练习。
    (1) 、创建/tmp目录下的:a_c,a_d,b_c,b_d
mkdir -p {a,b}_{c,d}
技术分享
    (2) 、创建/tmp/mylinux目录下的:
mylinux/ 
        ---bin
        ---boot
                ---grub
        ---dev
        ---etc
                ---rc.d
                        ---init.d
        ---lib
                ---modvies
        ---lib64
        ---proc
        ---sbin
        ---sys
        ---tmp
        ---usr
                ---local
                        ---bin
                        ---sbin
        ---var
                ---lock
                ---log
                ---run

mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run
技术分享
技术分享

{}這个符号可以批量创建 -pv递归创建

4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
    4.1、文件的元数据是指文件的属性、大小、创建时间、访问时间、属主属组等信息。
    4.2、三个时间戳:
            access time:访问时间,简写atime,读写文件内容
            modify time: 修改时间,mtime,改变文件内容(数据)
            change time:改变时间,ctime,元数据发生改变
    4.3、修改文件的时间戳:touch
            -a:only atime
            -m:only mtime
            -s STAMP:[[CC]YY]MMDDhhmm[.ss]
            -c:如果文件不存在,则不予创建

5、如何定义一个命令的别名,如何在命令中引用另一个命令执行的结果?
    5.1、命令别名:alias
            alias:显示当前shell进程所有可用的命令别名
            alias NAME="VALUE":命名别名
            特别提醒:在命令行定义的别名,仅对当前shell进程生效,如果想永久生效,要进入配置文件中
            仅对当前用户:~/.bashrc
            对所有生效:/etc/bashrc
    5.2、使用管道命令 |
            grep /etc/* | grep init* | grep initio*
            注意:最后一个命令会在当前shell进程的子shell进程中执行

6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
    mkdir /var/1314hua
    ls -d /var/1*[0-9]*[a-z]
技术分享

7、显示/etc/目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    mkdir  /etc/250ligang
    ls -d /etc/[0-9]*[^0-9]
技术分享

8、显示/etc/目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录。
    mkdir /etc/123abcla
    ls -d /etc/[^a-z]*[^a-z][a-z]
技术分享
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
    touch /tmp/‘echo tfile-$(date +%Y-%m-%d-%H-%M-%S)‘
    ls /tmp
技术分享

10、复制/etc/目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
    mkdir /tmp/mytest1
    cp -a /etc/p*[^0-9] /tmp/mytest1
    ls /tmp/mytest1
技术分享

11、辅助/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
    
mkdir /tmp/mytest2
    cp -a /etc/*.d /tmp/mytest2
    ls /tmp/mytest2
 技术分享
 

12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
    mkdir /tmp/mytest3
    cp -a /etc/{1,m,n}*.conf /tmp/mytest3
    ls /tmp/mytest3
技术分享


以上是关于Linux命令文件和目录的常见用法的主要内容,如果未能解决你的问题,请参考以下文章

linux常见命令及用法

Linux常见命令

Linux基础之常见命令用法

linux常见命令

Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} ;

linux—find常见指令用法示例