linux常用命令

一文件查看、权限:


    1,文件的查看
        ls -al :显示详细信息隐藏文件
            权限 连接数 所有者 组 容量 组后被修改时间 名称
            drwxr-xr-x  15 root root   272 Jan 20 13:11 ..
            第一个字符代表这个文件是:
                d目录,
                -文件, (纯文本档, 二进制文件, 数据格式文件-某些特定格式的文件)
                l连接档, 类似 Windows 系统底下的快捷方式
                b为装置文件里面的可供储存的接口设备(可随机存取装置, 区块(block)设备档-硬软盘, ),
                c为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置,字符设备文件-串行端口),
                
                s资料接口文件(常在/run 或/tmp 目录中),通常被用在网络上的数据承接了。可以启动一个程序来监听客户端的要求, 而客户端就可以透过这个 socket 来进行数据的沟通了。
                p数据输送文件(FIFO, pipe), 解决多个程序同时存取一个文件所造成的错误问题
            
            权限三个为一组(所有者,所属组,其他),『rwx』读写执行
                r:4
                w:2
                x:1
                -rwsr-xr-x. 1 root root 27832 Aug  5  2019 /usr/bin/passwd
                s: SUID:4 的特殊权限,当 s 这个标志出现在文件拥有者的 x 权限上时称为 Set UID
                   SUID 权限仅对二进制程序(binary program)有效;不能够用在 shell script 上面!
                 执行者对于该程序需要具有 x 的可执行权限;
                 本权限仅在执行该程序的过程中有效 (run-time);
                 执行者将具有该程序拥有者 (owner) 的权限。
                    ---------- 1 root root 892 Jan 23 19:02 /etc/shadow 这个文件仅有 root 可读且仅有 root 可以强制写入
                        1. dmtsai 对于自己的 /usr/bin/passwd 这个程序来说是具有 x 权限的,表示 dmtsai 能执行 passwd;
                        2. passwd 的拥有者是 root 这个账号;
                        3. dmtsai 执行 passwd 的过程中,会『暂时』获得 root 的权限;
                        4. /etc/shadow 就可以被 dmtsai 所执行的 passwd 所修改。
                   SGID:2 的特殊权限,s 在群组的 x 时则称为 Set GID,
                   SGID 可以针对文件或目录来设定
                   SGID 对二进制程序有用;
                 程序执行者对于该程序来说,需具备 x 的权限;
                 执行者在执行的过程中将会获得该程序群组的支持!
                    当一个目录设定了 SGID 的权限后,他将具有如下的功能:
                        用户若对于此目录具有 r 与 x 的权限时,该用户能够进入此目录;
                      用户在此目录下的有效群组(effective group)将会变成该目录的群组;
                      用途:若用户在此目录下具有 w 的权限(可以新建文件),则使用者所建立的新文件,该新文件的群组与此目录的群组相同。
                   SBIT:1 目前只针对目录有效,对于文件已经没有效果,Sticky Bit,
                    当用户对于此目录具有 w, x 权限,亦即具有写入的权限时;
                    当用户在该目录下建立文件或目录时,仅有自己与 root 才有权力删除该文件
                
                                    
            建空文件: touch
            设置权限:chmod -R rwxr-xr-x 文件或目录
                      chmod -R 755 文件或目录
                      特殊权限:
                          chmod -R 4755 文件或目录
                          chmod -R 6755 文件或目录
                          chmod -R 7755 文件或目录
                            
                    chown -R mysql.mysql_user1 /var/mysql -R进行递归(recursive)的持续变更
        ls -al --full-time : --full-time完整的呈现文件的修改时间
        
        
    2,所有组: /etc/group   用户: /etc/passwd
        groupadd 祖名
        groupdel 祖名
        groups 用户 : 显示用户所属的用户组
        gpasswd -d 用户名 用户组名 :从组中删除某帐号
        
        useradd 用户 -g 初始用户组 -G 其他用户组
            useradd test_1 -G test1 ---> (test1:x:1000:test_1
                                           test_1:x:1001:)
            
        passwd 用户
        usermod 参数 用户名 :修改用户
            -g 组名 初始用户组
            -e 过期日期 格式:YYYY-MM-DD
            -G 组名 其他用户组
            -l 修改用户名
            -L 锁定账号(在/etc/shadow文件中用户对应密码密码串的前面加上两个叹号(!!))
            -U 解锁
        userdel -r 用户 : -r删除用户home目录
    
    3,修改文件所属,权限,连接
        chgrp -R 组名 文件名 : -R递归改变
        chown -R 用户.用户组 文件名
        
        chmod u=rwx,go=rx  文件或目录
            去掉用户权限
                chmod (u g o a) (+ - =)    (r w x[s/S,s/S,t/T])    文件或目录, 特殊权限大写没有 x 这个可执行的标志
                chmod g-x  文件或目录
    
        
        ln [参数][源文件或目录][目标文件或目录]
            必要参数:
                -b 删除,覆盖以前建立的链接
                -d 允许超级用户制作目录的硬链接
                -f 强制执行
                -i 交互模式,文件存在则提示用户是否覆盖
                -n 把符号链接视为一般目录
                *-s 软链接(符号链接)
                -v 显示详细的处理过程

            选择参数:
                -S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"
                -V "-V<备份方式>"或"--version-control=<备份方式>"
                --help 显示帮助信息
                --version 显示版本信息
                
            软链接:类似于 Windows 的快捷方式,实际上是一个文本文件,其中包含的有另一文件的位置信息

                1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
                2.软链接可以 跨文件系统 ,硬链接不可以
                3.软链接可以对一个不存在的文件名进行链接
                4.软链接可以对目录进行链接

            硬链接:通过索引节点来进行连接,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)
                作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。
                删除其中任何一个都不会影响另外一个的访问,真正删除的条件是与之相关的所有硬连接文件均被删除。
                1.硬链接,以文件副本的形式存在。但不占用实际空间。
                2.不允许给目录创建硬链接
                3.硬链接只有在同一个文件系统中才能创建
            
        unlink linkName
            
        
    4,文件后缀
        单一文件或目录的最大容许文件名为 255bytes,128 个中文,避免特殊字符* ? > < ; & ! [ ] | \ ' " ` ( ) { }
        .开头为隐藏文件
            *.sh : 脚本或批处理文件
            *Z, *.tar, *.tar.gz, *.zip, *.tgz: 经过打包的压缩文件。
            *.html, *.php:网页相关文件
            
        观察文件类型:file  可以简单的先判断这个文件的格式,也可以用来判断使用 tar包裹时,该 tarball 文件是使用哪一种压缩功能
        


二文件隐藏、查找、删除、添加、属性修改:


    1,目录,路径(/开头-绝对路径,相对路径相对于当前目录)
        .        : 代表此层目录
        ..       : 代表上一层目
        -        : 代表前一个工作目录
        ~         : 代表『目前用户身份』所在的家目录
        ~root    : 代表 root 用户的家目录
        
        pwd : 列出当前所在目录绝对路径
        mkdir -p test1/test2/test3 :-p 递归建立目录,默认权限755
        mkdir -m 777 test4 : -m = chmod 赋予所有用户全部权限
        rmdir -p test1/test2/test3

    2,环境变量
        系统级:/etc/profile 用户级(这些文件处于家目录下):~/.profile
        不同身份使用者预设的 PATH 不同,默认能够随意执行的指令也不同(如 root 与 user1)
        指令应该要放置到正确的目录下,执行才会比较方便;
        echo $PATH
        添加 :  PATH="${PATH}:/root" 为了安全起见,不建议将『.』加入 PATH 的搜寻目录中
        
    3,cp
        cp [-adfilprsu] 来源文件(source) 目标文件(destination
        cp [options] source1 source2 source3 .... dir
            选项与参数:
                *-a :相当于 -dr --preserve=all 的意思,至于 dr 请参考下列说明;(常用)
                -d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非文件本身;
                -f :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
                *-i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
                -l :进行硬式连结(hard link)的连结档建立,而非复制文件本身;
                *-p :连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性(备份常用);
                *-r :递归持续复制,用于目录的复制行为;(常用),文件与目录的权限可能会被改变
                -s :复制成为符号链接文件 (symbolic link),亦即『快捷方式』文件;文件夹不行。
                -u :destination 比 source 旧才更新 destination,或 destination 不存在的情况下才复制。
                --preserve=all :除了 -p 的权限相关参数外,还加入 SELinux 的属性, links, xattr 等也复制了。
            最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行!
                
        cp /var/log/wtmp . <==想要复制到当前目录,最后的 . 不要忘
        
        cp -r /etc/ /tmp(cp -a /etc /tmp 来下达指令喔!尤其是在备份的情况下!)
        
        cp -u ~/.bashrc /tmp/bashr  若 ~/.bashrc 比 /tmp/bashrc 新才复制过来
        
        
        
    4,rm
        rm [-fir] 文件或目录
            选项与参数:
                -f :就是 force 的意思,忽略不存在的文件,不会出现警告讯息;
                -i :互动模式,在删除前会询问使用者是否动作
                -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
        \rm -r /tmp/etc # 在指令前加上反斜杠,可以忽略掉 alias 的指定选项
        单纯的使用『 rm -aaa- 』系统的指令就会误判,rm -- -aaa-
        
        删除软连接 ;unlink linkName, rm linkName
    
    5,mv
        mv [-fiu] source destination
        mv [options] source1 source2 source3 .... direct
            选项与参数:
                -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
                -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
                -u :若目标文件已经存在,且 source 比较新,才会更新 (update)
            注意到这边,如果有多个来源文件或目录,则最后一个目标文件一定是『目录!
    
        取得路径的文件名与目录名称 : basename , dirname
    6,文件内容查阅
    cat 由第一行开始显示文件内容
            选项与参数:
                -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
                *-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
                -E :将结尾的断行字符 $ 显示出来;
                -n :打印出行号,连同空白行也会有行号,与 -b 的选项不同;
                -T :将 [tab] 按键以 ^I 显示出来;
                -v :列出一些看不出来的特殊字符
     tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
     nl 显示的时候,顺道输出行号!
            选项与参数:
                -b :指定行号指定的方式,主要有两种:
                -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
                *-b t :如果有空行,空的那一行不要列出行号(默认值);
                -n :列出行号表示的方法,主要有三种:
                -n ln :行号在屏幕的最左方显示;
                -n rn :行号在自己字段的最右方显示,且不加 0 ;
                -n rz :行号在自己字段的最右方显示,且加 0 ;
                -w :行号字段的占用的字符数。
     more 一页一页的显示文件内容
             *空格键 (space):代表向下翻一页;
             Enter :代表向下翻『一行』;
             */字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;
             *:f :立刻显示出文件名以及目前显示的行数;
             q :代表立刻离开 more ,不再显示该文件内容。
             *b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
       less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
               *空格键 :向下翻动一页;
             [pagedown]:向下翻动一页;
             [pageup] :向上翻动一页;
             /字符串 :向下搜寻『字符串』的功能;
             ?字符串 :向上搜寻『字符串』的功能;
             *n :重复前一个搜寻 (与 / 或 ? 有关!)
             *N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
             *g :前进到这个资料的第一行去;
             *G :前进到这个数据的最后一行去 (注意大小写);
             q :离开 less 这个程序;
       
     head 只看头几行 -n :后面接数字,代表显示几行默认10
    
     tail 只看尾巴几行 -n :后面接数字,代表显示几行默认10,
                        -f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c 才会结束 tail 的侦测
                        
    od 以二进制的方式读取文件内容!
            选项或参数:
            -t :后面可以接各种『类型 (TYPE)』的输出,例如:
                a :利用默认的字符来输出;
                c :使用 ASCII 字符来输出
                C :  ASCII 的对照表
                d[size] :利用十进制(decimal)来输出数据,每个整数占用 size bytes ;
                f[size] :利用浮点数(floating)来输出数据,每个数占用 size bytes ;
                o[size] :利用八进制(octal)来输出数据,每个整数占用 size bytes ;
                x[size] :利用十六进制(hexadecimal)来输出数据,每个整数占用 size bytes ;
    
    6,修改文件时间或建置新档: touch
            
        --time=atime : 当『该文件的内容被取用』时,就会更新这个读取时间 (access)。我们使用 cat 去读取/etc/man_db.conf , 就会更新该文件的 atime 了
        --time=ctime : 当该文件的『状态 (status)』改变时,就会更新这个时间,权限与属性被更改了,都会更新这个时间啊
        mtime : 当该文件的『内容数据』变更时,就会更新这个时间!内容数据指的是文件的内容,而不是文件的属性或权限
        touch [-acdmt] 文件
            选项与参数:
                -a :仅修订 access time;
                -c :仅修改文件的时间,若该文件不存在则不建立新文件;
                -d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
                -m :仅修改 mtime ;
                -t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]
                
                
        touch -d "2 days ago" bash 修改案例二的 bashrc 文件,将日期调整为两天
        touch -t 201406150202 bash  范例的 bashrc 日期改为 2014/06/15 2:02      
        日期在 atime 与 mtime 都改变了,但是 ctime 则是记录目前的时间
        
    7,文件隐藏属性
        chattr 指令只能在Ext2/Ext3/Ext4/xfs 的 Linux 传统文件系统上面完整生效
        chattr [+-=][ASacdistu] 文件或目录名称
            选项与参数:
                + :增加某一个特殊参数,其他原本存在参数则不动。
                - :移除某一个特殊参数,其他原本存在参数则不动。
                = :设定一定,且仅有后面接的参    
                    A :当设定了 A 这个属性时,若你有存取此文件(或目录)时,他的访问时间 atime 将不会被修改,
                        可避免 I/O 较慢的机器过度的存取磁盘。(目前建议使用文件系统挂载参数处理这个项目)
                    S :一般文件是异步写入磁盘的(原理请参考前一章 sync 的说明),如果加上 S 这个属性时,
                            当你进行任何文件的修改,该更动会『同步』写入磁盘中。
                    *a :当设定 a 之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有 root 才能设定这属性
                    *c :这个属性设定之后,将会自动的将此文件『压缩』,在读取的时候将会自动解压缩,
                            但是在储存的时候,将会先进行压缩后再储存(看来对于大文件似乎蛮有用的!)
                    d :当 dump 程序被执行的时候,设定 d 属性将可使该文件(或目录)不会被 dump 备份
                    *i :这个 i 可就很厉害了!他可以让一个文件『不能被删除、改名、设定连结也无法写入或新增数据!』
                            对于系统安全性有相当大的帮助!只有 root 能设定此属性
                    s :当文件设定了 s 属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空间,
                            所以如果误删了,完全无法救回来了喔!
                    u :与 s 相反的,当使用 u 来配置文件案时,如果该文件被删除了,则数据内容其实还存在磁盘中,
                            可以使用来救援该文件喔!
                注意 1:属性设定常见的是 a 与 i 的设定值,而且很多设定值必须要身为 root 才能设定
                注意 2:xfs 文件系统仅支援 AadiS 而
        
        lsattr [-adR] 文件或目录    
            选项与参数:
                -a :将隐藏文件的属性也秀出来;
                -d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名;
                -R :连同子目录的数据也一并列出来!
    8,指令与文件的搜寻
    
        which [-a] command  预设是找 PATH 内所规范的目录,多用寻找执行文档
            或参数:
                -a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称
        
        whereis [-bmsu] 文件或目录名
            选项与参数:
                -l :可以列出 whereis 会去查询的几个主要目录而已
                -b :只找 binary 格式的文件
                -m :只找在说明文件 manual 路径下的文件
                -s :只找 source 来源文件
                -u :搜寻不在上述三个项目当中的其他特殊文件
            搜寻的速度会比 find 快,只找几个特定的目录而已~并没有全系统去查询,主要是针
            对 /bin /sbin 底下的执行档, 以及 /usr/share/man 底下的 man page 文件,跟几个比较特定的目录来
            处理
            
        find [PATH] [option] [action]
            选项与参数:
                1,与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明
                    -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件;
                    -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名;
                    *-mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。
                    -newer file :file 为一个存在的文件,列出比 file 还要新的文件档名
                    
                     find / -mtime 0 : 将过去系统上面 24 小时 内 有更动过内容 (mtime) 的文件列出, 0 代表目前的时间,
                         4 天内被更动过的文件档名 :  find /var -mtime -4
                         4 天前的那一天 : find /var -mtime 4
                         4 天前被更动过的文件档名(+4 代表大于等于 5 天前的檔名) : find /var -mtime +4
                     find /etc -newer /etc/passwd: 寻找 /etc 底下的文件,如果文件日期比 /etc/passwd 新就列出
            
                2,与使用者或组名有关的参数:
                    -uid n :n 为数字,这个数字是用户的账号 ID,亦即 UID ,这个 UID 是记录在/etc/passwd 里面与账号名称对应的数字。这方面我们会在第四篇介绍。
                    -gid n :n 为数字,这个数字是组名的 ID,亦即 GID,这个 GID 记录在/etc/group,
                    -user name :name 为使用者账号名称 (要找出任何一个用户在系统当中的所有文件时)
                    -group name:name 为组名喔
                    *-nouser :寻找文件的拥有者不存在 /etc/passwd 的人 (找出那些不太正常的文件。如果有找到不属于系统任何人的文件时,有时候是正常的,尤其是你曾经以原始码自行编译软件时)
                    -nogroup :寻找文件的拥有群组不存在于 /etc/group 的文件!当你自行安装软件时,很可能该软件的属性当中并没有文件拥有者,这是可能的!在这个时候,就可以使用 -nouser 与 -nogroup 搜寻。
                    
                3,与文件权限及名称有关的参数:
                    *-name filename:搜寻文件名为 filename 的文件;
                        find / -name "*passwd*" 默认是完整文件名,如果想要找关键词
                        
                    -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件。
                        这个 SIZE 的规格有:
                            c: 代表 byte,
                            k: 代表 1024bytes。要找比 50KB 还要大的文件,就是『 -size +50k 』
                            
                        找出 /etc 底下,文件大小介于 50K 到 60K 之间的文件,并且将权限完整的列出 (ls -l):
                            find /etc -size +50k -a -size -60k -exec ls -l {} \;
                            注意到 -a ,那个 -a 是 and 的意思,为符合两者才算成功    
                        找出 /etc 底下,文件容量大于 50K 且文件所属人不是 root 的档名,且将权限完整的列出 (ls -l);
                            find /etc -size +50k -a ! -user root -exec ls -ld {} \;
                            find /etc -size +50k -a ! -user root -type f -exec ls -l {} \;
                            上面两式均可!注意到 ! ,那个 ! 代表的是反向选择,亦即『不是后面的项目』之意
                        找出 /etc 底下,容量大于 1500K 以及容量等于 0 的文件:
                            find /etc -size +1500k -o -size 0
                            相对于 -a ,那个 -o 就是或 (or) 的意思啰!
                            
                    *-type TYPE :搜寻文件的类型为 TYPE 的,
                        类型主要有:
                            一般正规文件 (f),
                            装置文件 (b, c),
                            目录 (d),
                            连结档 (l),
                            socket (s),
                            及 FIFO (p) 等属性。
                    -perm mode :搜寻文件权限『刚好等于』 mode 的文件,这个 mode 为类似 chmod的属性值,举例来说, -rwsr-xr-x 的属性为 4755 !
                    
                    -perm -mode :搜寻文件权限『必须要全部囊括 mode 的权限』的文件,举例来说,
                                我们要搜寻 -rwxr--r-- ,亦即 0744 的文件,使用 -perm -0744,当一个文件的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
                                
                    -perm /mode :搜寻文件权限『包含任一 mode 的权限』的文件,举例来说,我们搜寻
                            -rwxr-xr-x ,亦即 -perm /755 时,但一个文件属性为 -rw-------
                            也会被列出来,因为他有 -rw.... 的属性存在!
                        
                4,额外可进行的动作:
                    -exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。
                    -print :将结果打印到屏幕上,这个动作是预设动作!
                     find /usr/bin /usr/sbin -perm /7000 -exec ls -l {} \; : -exec 后面的 ls -l 就是额外的指令,指令不支持命令别名ll
                    

        (未安装)locate [-ir] keyword
            要找的文件是具有特殊属性的,例如 SUID 、文件拥有者、文件大小等等, 那么利用 locate是没有办法搜寻
            选项与参数:
                -i :忽略大小写的差异;
                -c :不输出档名,仅计算找到的文件数量
                -l :仅输出几行的意思,例如输出五行则是 -l 5
                -S :输出 locate 所使用的数据库文件的相关信息,包括该数据库纪录的文件/目录数量等
                -r :后面可接正规表示法的显示方式
             locate -l 5 passwd :找出系统中所有与 passwd 相关的档名,且只列出 5 个
             locate -S    : locate 查询所使用的数据库文件之文件名与各数据数量
            使用 locate 来寻找数据的时候特别的快, 这是因为 locate 寻找的数据是由『已建立的数据库 /var/lib/mlocate/』 里面的数据所搜寻到的,
            所以不用直接在去硬盘当中存取数据
            updatedb:根据 /etc/updatedb.conf 的设定去搜寻系统硬盘内的文件名,并更新 /var/lib/mlocate 内的数据库文件;
            locate:依据 /var/lib/mlocate 内的数据库记载,找出用户输入的关键词文件名。
        


三压缩、解压、编辑:


    1,tar
    tar [-z|-j|-J] [cv] [-f 待建立的新檔名] filename... <==打包与压缩
    tar [-z|-j|-J] [tv] [-f 既有的 tar 檔名] <==察看檔
    tar [-z|-j|-J] [xv] [-f 既有的 tar 檔名] [-C 目录] <==解压缩
        选项与参数:
            -c :建立打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
            -t :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了;
            -x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
            特别留意的是, -c, -t, -x 不可同时出现在一串指令列中。
            -z :透过 gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
            -j :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
            -J :透过 xz 的支持进行压缩/解压缩:此时档名最好为 *.tar.xz
            特别留意, -z, -j, -J 不可以同时出现在一串指令列中
            -v :在压缩/解压缩的过程中,将正在处理的文件名显示出来!
            -f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项啰!(比较不会忘记)
            -C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
            其他后续练习会使用到的选项介绍:
            -p(小写) :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
            -P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
            --exclude=FILE:在压缩的过程中,不要将 FILE 打包!
    
    tar -zcvf filename   压缩
    tar -zxvf filename -C pathname 解压
    
    仅解开单一文件的方法
    tar -jtv -f /root/etc.tar.bz2 | grep 'shadow' :查看
    tar -jxv -f /root/etc.tar.bz2 etc/shadow : 解压,此时只会解开一个文件而已
    
    2,vi/vim
        编辑模式:按下『i, I,  a, A, o, O, r, R』,按下『Esc』退出
        [Page Down]按键 (常用):屏幕『向下』移动一页,相当于
        [Page Up] 按键 (常用):屏幕『向上』移动一页,相当于
        [Home](常用): 移动到这一列的最前面字符处
        [End](常用): 移动到这一列的最后面字符处
        
        指令列模式
        :w [filename] 将编辑的数据储存成另一个文件(类似另存新档)
        :r [filename] 在编辑的数据中,读入另一个文件的数据
        :n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个文件
        :! command 暂时离开 vi 到指令列模式下执行 command 的显示结果!例如
            『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的文件信息!
        :set nu/nonu
        
        一般模式
        x, X 在一列字当中,x 为向后删除一个字符 X向前删
        ndd n 为数字。删除光标所在的向下 n 列,例如 20dd 则是删除 20 列 (常用)
        nyy n 为数字。复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用)
        
        p, P  p 为将已复制的数据在光标下一列贴上,P 则为贴在游标上一列
        
        一直按『 u 』回复到原始状态
        
        n<Enter> n 为数字。光标向下移动 n 列
        G 移动到这个文件的最后一列(常用)
        gg 移动到这个文件的第一列,相当于 1G 啊! (常用)
        
        /word 向光标之下寻找一个名称为 word 的字符串
        ?word 向光标之上寻找
        n 重复前一个搜寻的动作
        N 与 n 刚好相反,为『反向』进行前一个搜寻动作
        
        :100,200s/vbird/VBIR/g  在 100 到 200 列之间搜寻 vbird 并取代为 VBIRD
        :1,$s/word1/word2/gc  从第一列到最后一列寻找 word1 字符串,并将该字符串取代为 word2
                                C提示字符给用户确认 (confirm) 是否需要取代!(常用)
        
        区块选择的按键意义:
        v 字符选择,会将光标经过的地方反白选择!
        V 列选择,会将光标经过的列反白选择!
        [Ctrl]+v 区块选择,可以用长方形的方式选择资料
        y 将反白的地方复制起来
        d 将反白的地方删除掉
        p 将刚刚复制的区块,在游标所在处贴上!
        
        :n 编辑下一个文件
        :N 编辑上一个文件
        :files 列出目前这个 vim 的开启的所有文件
        
        :sp [filename] 开启一个新窗口,如果有加 filename, 表示在新窗口开启一个新文件,否则表示两个窗口
            为同一个文件内容(同步显示)。
        [ctrl]+w+↓/↑  窗口切换
        
        
        
        
        
        
       

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值