8-23 linux文件管理常用命令和Bash特性

时间:2022-07-09 16:27:50

 

一、Linux目录配置标准和文件类型

1Linux 目录配置标准FHS(Filesystem Hierarchy Standard)

FHS:

/boot: 引导文件存放目录,例如kernel(vmlinuz)bootloader(grub, grub2)

                   /bin: binary,供用户使用的基本的命令;OS启动即会用到程序;

                   /sbin:管理类的基本命令;

                   /lib: 基本共享库;内核模块;

                   /lib64:x86_64系统的共享库;

                   /etc:配置文件目录;

                   /home/USERNAME: 普通用主目录的默认位置;

                   /root: 管理员的主目录;

                   /media:便携式移动设备;

                   /mnt:临时文件系统挂载点;

                   /opt: 可选目录,第三方应用程序的默认安装位置;

                   /devdevices,设备文件

                            bblock devicesrandom access

                            c: character deivceslinear access

                   /proc

                            伪文件系统;用于输出内核与进程的相关信息;

                   /sys

                            伪文件系统;

                   /srvservices,系统上运行服务用到中间数据;

                   /tmp:临时文件目录;

                   /usrUniversal Shared, Read-only data;

                            bin:保证系统提供基本功能;

                            sbin

                            lib

                            lib64

                            include: C程序的头文件;header files

                            share:结构化的独立数据

                                     doc, man

                            local:现在常用的第三方程序的安装位置;

                                     bin

                                     sbin

                                     lib

                                     lib64

                                     etc

                                     share

                   /varvariable data files

                            cache:应用程序缓存数据

                            lib:应用程序的状态信息数据

                            local:专用于为/usr/local下的应用程序存储可变数据;

                            lock:锁文件

                            log:日志文件

                            opt:专用于/opt

                            spool:应用程序的数据池;

                            run:运行中的进程的相关数据;通常用守护进程的pid文件;

                   /selinux

2Linux的文件类型:

            -(f):普通文件

                            - d: 目录文件

                            - b: 块设备文件

                            - c: 字符设备文件

                             - l: 符号链接文件

                              - p: 命名管道文件

                              -s:套接字文件

二、Bash的基础特性(1)

1history

              预设保存命令条数:HISTSIZE=1000

              持久保存位置:~/.bash_history

              用法:history  N:显示最近的N

例:

8-23 linux文件管理常用命令和Bash特性

                             history  -c:清空命令历史中的命令

                             history  -d OFFSET:删除指定位置的命令

                             history �Ca /PATH/TO/SOMEFILE:保存当前命令历史中缓冲区的命令至指定文件

调用此前执行过的命令

                            !#:再次执行命令历史中第#条命令

                            !!:再次执行上一条

                           !STRING:再次执行命令历史中最近一次以STRING开头命令

2、命令补全功能:TAB

3、命令执行状态回值

       命令执行成功与否的状态,由bash自己追踪:保存在特殊变量“#中;

                  0:成功   1-255:失败

例:

8-23 linux文件管理常用命令和Bash特性

4、命令行展开

                           ~:自动展开为当前用户的主目录

                           ~ USERNAME:自动展开为指定用户的家目录

                           {}:使用花括号中内容可依次展开

例: /tmp/{x,y,z}   展开后为/tmp/x    /tmp/y    /tmp/z

/tmp/{x,y}/{m,n} 展开后为tmp/x/m   /tmp/x/n   /tmp/y/m  /tmp/y/n

5、命令别名和命令引用

            可用alias命令查看目前定义的别名

例:

8-23 linux文件管理常用命令和Bash特性

8-23 linux文件管理常用命令和Bash特性

            命令别名的定义方式:alias ALIAS=’command’

            取消命令别名:unalias

例:

8-23 linux文件管理常用命令和Bash特性

8-23 linux文件管理常用命令和Bash特性

特性:命令别名设置只对当前进程有效,重启后恢复

                            命令别名和命令相同时,可使用\command,调用命令本身

 

三、Bash的基础特性(02)

1、文件名通配符(globbing

    文件名可用通配符

                           *:匹配任意长度的任意字符

例:p*d表示pad,ipad,pd

                            ?:匹配任意单个字符

                            [  ]:字符范围,匹配指定字符集合中的任意单个字符

例:[a-z]表示任意单个字母    [0-9]表示任意单个数字    [a-z0-9]表示任意单个字母或数字

                           [^ ]:字符范围,匹配指定字符集合中的任意单个字符

字符集合表示方式

                          [:lower:]:所有的小写字母

              [:upper:]:所有的大写字母

              [:alpha:]:所有的字母

              [:alnum:]:所有的数字和字母

              [:punct:]:所有标点符号

              [:space:]:所有的空白字符

              [^[:lower:]]:取反

练习:

                            显示/etc/目录下,以非字母开头,后面跟了一具字母及其它任意长度任意字符的文件或目录;

8-23 linux文件管理常用命令和Bash特性

 

2、组合键

    Ctrl+l:清屏

                      Ctrl+a: 切换至命令行首

                      Ctrl+e:切换至命令行尾

                      Ctrl+c:取消命令执行

 

                     Ctrl+u:删除光标所在处至行首的内容;

                     Ctrl+k: 删除光标所在处至行尾的内容;

3IO重定向和管道

程序:指令+数据

                            读入数据:Input

                            输出数据:Output

 

                   打开的文件都一个fdfile descriptor

 

                   标准输入:keyboard, 0, /dev/stdin

                   标准输出:monitor, 1, /dev/stdout

                   标准错误输出:monitor, 2, /dev/stderr

 

                   I/O重定向:

                            输入重定向

                            输出重定向:

                                     COMMAND > NEW_POS, COMMAND >> NEW_POS

                                     >:覆盖重定向;

                                     >>:追加重定向;

 

                                     set -C

                                               如果覆盖重定向目标文件存在,则禁止执行;

                                               >|

                                     set +C

 

                            错误重定向:

                                     2>:覆盖

                                     2>>:追加

 

                   同时重定向标准输出流和错误输出流:

                            COMMAND > /path/to/file.out 2> /path/to/file.err

 

                            COMMAND > /path/to/file.out 2>&1

 

                            COMMAND &> /path/to/file.out

 

                   输入重定向:

                            <

tr命令:

                                     tr [OPTION]... SET1 [SET2]

                                               -d: 删除字符

 

                   Here Document<<

                            cat >> /path/to/somefile << EOF

 

         管道:

                   COMMAND1 | COMMAND2 | ..

四、目录管理类命令:

         mkdir, rmdir, tree, dirname, basename

 

         (1) mkdir

                   mkdir [OPTION] /PATH/TO/SOMEWHERE

                            -p:创建父目录

                            -v: 显示创建过程

 

                   练习:

                            如何创建目录:x_m, x_n, y_m, y_n

8-23 linux文件管理常用命令和Bash特性

 

         (2) rmdir

                   rmdir /PATH/TO/SOMEWHERE

 

                   删除空目录;

 

         (3) tree

                   tree [OPTION]... [DIR]

                            -d:只层级目录类型的文件;

                            -L level: 只显示几个层级;

五、文本文件查看命令:

        

         cat, tac, more, less, tail, head

 

         more, less

                   翻屏查看;

 

                   more [OPTIONS]... FILE...

                            -d: 显示翻页有退出提示

 

                            Space: 向后一屏;

                            Enter: 向后一行;

 

                            b: 向前一屏;

 

                   less [OPTION]... FILE...

 

                            文本搜索:

                                     /KEYWORD

                                     ?KEYWORD

                                               n: 与命令方向相同的下一个;

                                               N:与命令方向相反的前一个;

 

                   headtail

                            head [OPTION]... FILE

                            tail [OPTION]... FILE

                                     -n #

8-23 linux文件管理常用命令和Bash特性

                                     -#

                                     -c #: 显示前/#个字节

 

                            tail的专用选项:

                                     -f: follow

 

         时间戳管理工具:touch

                   每个文件都有三个时间戳:

                            atime: 文件最近一次被访问的时间;

                            mtime: 文件最近一次被“修改”的时间;

                            ctime:文件最近一次被“改变”的时间;

 

                            文件数据:

                                     metadata

                                     data

 

                   touch [OPTION]... FILE...

                            更新时间戳至当前时间;

                            -a: 只更新atime

                            -m: 只更新mtime

                            -t STAMP:

                                     [[CC]YY]MMDDhhmm[.ss]

                            -c: 不创建空文件

8-23 linux文件管理常用命令和Bash特性

 

六、文件管理命令:

        

         cp, mv, rm

 

         复制命令:cp, copy

                  cp [OPTION]... [-T] SOURCE DEST

         cp [OPTION]... SOURCE... DIRECTORY

         cp [OPTION]... -t DIRECTORY SOURCE...

 

         cp SRC DEST:

                   SRC是文件:

                            如果DEST不存在:新建目标文件,并将SRC复制到目标文件;

                            如果DEST存在:

                                     如果DEST是文件:用SRC的内容覆盖至DEST文件中;

                                     如果DEST是目录:在DEST目录中新一个与原文件同名的文件,将将SRC内容复制到新建的同名的目标文件中;

 

         cp SRC... DEST:

                   如果DEST不存在:

                            是错误的;

                   如果DEST存在:

                            如果DEST是文件:错误;

                            如果DEST是目录:

 

         常用选项:

                   -r, -R: 递归复制;

                   -d: 不跟踪符号链接;

                   --preserve[=ATTR_LIST]

                            mode, ownership, timestamps

                            context, links, xattr, all

                   -a: -dR --preseve=all

                   -i: interactive

                   -f: force

                   -v: 显示过程

 

    mv: move, 移动文件

             mv [OPTION]... [-T] SOURCE DEST

        mv [OPTION]... SOURCE... DIRECTORY

        mv [OPTION]... -t DIRECTORY SOURCE...

 

        常用选项:

                 -i:交互式

                 -f:强制

 

    rm: remove

              rm [OPTION]... FILE...

                     只删除文件;

                     常用选项:

                              -r:

                              -f:

                              -i:

 

文本编辑器:

         nano

 

七、文件处理工具:

         wcword counts

                   wc [OPTION]... FILE...

                            -l: 显示行数

                            -w: 显示单词数

8-23 linux文件管理常用命令和Bash特性

         cut

                   cut OPTION... [FILE]...

                            -d: 指明分隔符;-d' ', -d:

                            -f:指明要显示的字段

                                     #:

                                     #-#1-3

                                     #,#: 1,3,7

8-23 linux文件管理常用命令和Bash特性

 

         sort命令:排序

                   sort [OPTION]... [FILE]...

                            -r: 逆序

                            -f: 忽略字符大小写

                            -u: 排序后去重

                            -t CHAR: 指明分隔符

                            -k #: 字段

                            -n: 表示以数值大小排序

 

         uniq命令:

                   uniq [OPTION]... [FILE]...

                            -c: 显示每行重复的次数;

                            -d: 只显示重复过的行;

                            -u: 只显示不曾重复的行;

8-23 linux文件管理常用命令和Bash特性

 

 

                           

 

 

本文出自 “成长记录” 博客,请务必保留此出处http://liulongthe.blog.51cto.com/5161098/1688215