zoukankan      html  css  js  c++  java
  • Linux必备命令

     

    目录                                                             

    概述

    常用系统工作命令

    系统状态检测命令

    工作目录切换命令

    文本文件编辑命令

    文件目录管理命令

    打包压缩与收缩命令

    参考资料

    概述                                                                  

    1.shell

    Shell(也称为终端或壳)充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。

                                                                                                

    图3-1  用户与Linux系统的交互

     现在主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器。主流Linux系统选择Bash解释器作为命令行终端主要有以下4项优势:

      1.通过上下方向键来调取过往执行过的Linux命令;

      2.命令或参数仅需输入前几位就可以用Tab键补全;

      3.具有强大的批处理脚本;

      4.具有实用的环境变量功能。

    用途:用于实现某一类功能的指令或程序;命令的执行依赖于解释器程序(例如:/bin/bash)

    分类

    内部命令:属于Shell 解释器的一部分

    外部命令:独立于Shell 解释器之外的程序文件

     

    2.Linux命令的格式

      语法:命令字[选项]  [参数]

      选项:用于调节命令的具体功能

       以“-”引导短格式选项(单个字符),例如“-l”

       以“--”引导长格式选项(多个字符),例如“--color”

       多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”

      参数:命令操作的对象,如文件、目录名等

      注意:选项和参数可有可无,应该根据实际情况去调整。

     

    3.命令帮助

     Help命令用于查看linux内置命令的帮助

    Man命令,命令字典

    按键

    用途

    空格键

    向下翻一页

    PaGe down

    向下翻一页

    PaGe up

    向上翻一页

    home

    直接前往首页

    end

    直接前往尾页

    /

    从上至下搜索某个关键词,如“/linux”

    ?

    从下至上搜索某个关键词,如“?linux”

    n

    定位到下一个搜索到的关键词

    N

    定位到上一个搜索到的关键词

    q

    退出帮助文档

    表2-1 man命令中常用按键以及用途

    结构名称

    代表意义

    NAME

    命令的名称

    SYNOPSIS

    参数的大致使用方法

    DESCRIPTION

    介绍说明

    EXAMPLES

    演示(附带简单说明)

    OVERVIEW

    概述

    DEFAULTS

    默认的功能

    OPTIONS

    具体的可用选项(带介绍)

    ENVIRONMENT

    环境变量

    FILES

    用到的文件

    SEE ALSO

    相关的资料

    HISTORY

    维护历史与联系方式

    表2-2 man命令帮助信息的结构以及意义

    常用系统工作命令                                                 

    1.echo命令

        功能:显示指定的字符串或变量的内容,不指定任何参数时将显下一个空行。

        格式:echo  [字符串或$变量名]...

        示例:

      [admin@redhat7 桌面]$ echo 'I Love linux'

      I Love linux

      [admin@redhat7 桌面]$ echo $HOSTNAME

      redhat7.0

    2.date命令

        功能:显示及设置系统的时间或日期

        格式:date [选项] [+指定的格式]

        选项:%t     跳格[Tab键]

                 %H      小时(00~23)

                  %I     小时(00~12)

                %M     分钟(00~59)

                %S       秒(00~59)

                 %j     今年中的第几天

     示例:

       [admin@redhat7 桌面]$ date   <==查看当前系统时间

       2019年 03月 23日 星期六 14:55:32 CST

       [admin@redhat7 桌面]$ date "+%Y-%m-%d %H:%M:%S"  <==按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间

       2019-03-23 14:57:16

       [admin@redhat7 桌面]$ date -s "20170323 14:59:00"  <==将系统的当前时间设置为XXX  (发现普通用户无权限)

        date: 无法设置日期: 不允许的操作

       2017年 03月 23日 星期四 14:59:00 CST

       [admin@redhat7 桌面]$ su root

       密码:

       [root@redhat7 桌面]# date -s "20170323 15:00:00"

        2017年 03月 23日 星期四 15:00:00 CST

       [root@redhat7 桌面]# date

       2017年 03月 23日 星期四 15:00:17 CST

       [root@redhat7 桌面]# date "+%j"  <==查看今天是当年中的第几天

    082

    3.reboot/poweroff  默认只能使用root才有权限(后面会设置权限控制)

    4.wget命令

        功能:在终端中下载网络文件

        格式:wget [选项] 下载地址

        选项:-b      后台下载模式

                  -P       下载到指定目录

                   -t       最大尝试次数

                   -c       断点续传

                   -p     下载页面内所有资源,包括图片、视频等

                   -r      递归下载

     示例:

        [root@linuxprobe ~]# wget http://www.linuxprobe.com/docs/LinuxProbe.pdf

         --2017-08-24 19:30:12 -- http://www.linuxprobe.com/docs/LinuxProbe.pdf

        Resolving www.linuxprobe.com (www.linuxprobe.com)... 220.181.105.185

        Connecting to www.linuxprobe.com (www.linuxprobe.com)|220.181.105.185|:80...

        connected.

        …

    5.ps命令

        功能:查看系统中的进程状态

        格式:ps [选项]

        选项:-a       显示所有进程(包括其他用户的进程)

                   -u       用户以及其他详细信息

                   -x     显示没有控制终端的进程

        应用: 1.ps aux 最常用,可以用 | 管道和 more 连接起来分页查看;ps -aux |more

                    2.和grep 结合,提取指定程序的进程;ps aux |grep httpd

                   3.父进和子进程的关系友好判断,运用到f参数,父与子关系一目了然;ps auxf  |grep httpd

     

    5.1.进程状态

       Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示。

      R(运行):进程正在运行或在运行队列中等待。

      S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。

      D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。

      Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放

       T(停止):进程收到停止信号后停止运行。

     示例:[admin@redhat7 桌面]$ ps aux

    USER

    PID

    %CPU

    %MEM

    VSZ

    RES

    TTY

    S

    START

    TIME

    COMMAND

    进程的所有者

    进程ID号

    运算器占用率

    内存占用率

    虚拟内存使用量(单位是KB)

    占用的固定内存量(单位是KB)

    所在终端

    进程

    状态

    被启动

    的时间

    实际使用
    CPU的时间

    命令名称与参数

    root

    1

    0.0

    0.4

    53684

    7628

    ?

    Ss

    07 :22

    0:02

    /usr/lib/systemd/systemd

    root

    2

    0.0

    0.0

    0

    0

    ?

    S

    07:22

    0:00

    [kthreadd]

    root

    3

    0.0

    0.0

    0

    0

    ?

    S

    07:22

    0:00

    [ksoftirqd/0]

    root

    5

    0.0

    0.0

    0

    0

    ?

    S<

    07:22

    0:00

    [kworker/0:0H]

    root

    7

    0.0

    0.0

    0

    0

    ?

    S

    07:22

    0:00

    [migration/0]

    ………………省略部分输出信息………………

     

    表2-3  进程状态

    6.top命令

      功能:动态地监视进程活动与系统负载等信息(类似于Windows任务管理器)

      格式:top

      示例:top

    图3-2  top命令的运行界面

    参数含义:

        第1行:系统时间、运行时间、登录终端数、(CPU)系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低,最好不要超过5;判断负载情况—从右往左看)。

        第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。

        第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。  (注:例如“96.1 id”意味着有96.1%的CPU处理器资源处于空闲。)

        第4行:物理内存总量(kb)、内存使用量、内存空闲量、作为内核缓存的内存量。

        第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。

     

    7.pidof命令

       功能:查询某个指定服务进程的PID值

       格式:pidof [选项] [服务名称]

       示例:

          [root@linuxprobe ~]# pidof sshd

          2156

    8.kill命令

       功能:终止某个指定PID的服务进程

       格式:kill [选项] [进程PID]

       示例:

          [root@linuxprobe ~]# kill 2156

    9.killall命令

       功能:终止某个指定名称的服务所对应的全部进程

       格式:kill all[选项] [服务名称]

       示例:

          [root@linuxprobe ~]# pidof httpd

           13581 13580 13579 13578 13577 13576

          [root@linuxprobe ~]# killall httpd

          [root@linuxprobe ~]# pidof httpd

          [root@linuxprobe ~]#

    注:停止命令执行快捷键 Ctrl + C

    系统状态检测命令                                                        

    1. ifconfig命令

       功能:获取网卡配置与网络状态等信息

       格式:ifconfig [网络设备] [选项]

       示例:

           [root@linuxprobe ~]# ifconfig

           eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  <==网卡名称

            inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255  <==IP地址,掩码

            inet6 fe80::20c:29ff:fec4:a409  prefixlen 64  scopeid 0x20<link>

            ether 00:0c:29:c4:a4:09  txqueuelen 1000  (Ethernet)  <==网卡物理地址(MAC地址)

            RX packets 36  bytes 3176 (3.1 KiB)     <==接收数据包个数及累计流量

            RX errors 0  dropped 0  overruns 0  frame 0

            TX packets 38  bytes 4757 (4.6 KiB)     <==发送数据包的个数及累计流量

            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    2. uname命令

       功能:查看系统内核与系统版本等信息

       格式:uname [-a]

       示例:

          [admin@redhat7 桌面]$ uname -a

           Linux redhat7.0 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux   <==系统、主机名称、内核版本、系统打包时间、系统位数、协议

    3. uptime用于查看系统的负载信息(显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息,(平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况负载值越低越好,尽量不要长期超过1,在生产环境中不要超过5。

      示例:

          [admin@redhat7 桌面]$ uptime

          16:38:05 up  1:29,  2 users,  load average: 0.00, 0.01, 0.05

    4.free用于显示当前系统中内存的使用量信息

     

     

    内存总量

    已用量

    可用量

    进程共享的内存量

    磁盘缓存的内存量

    缓存的
    内存量

     

    total

    used

    free

    shared

    buffers

    cached

    Mem

    1.8GB

    1.3GB

    542MB

    9.8MB

    1.6MB

    413MB

    -/+ buffers/cache

     

    869MB

    957MB

     

     

     

    Swap

    2.0GB

    0

    2.0GB

     

     

     

    表2-4 执行free -h命令后的输出信息

    5.who用于查看当前登入主机的用户终端信息

    6.last命令用于查看系统历史的登录记录(由于信息以日志保存,容易遭到篡改,只能用于参考,不能判断系统是否被黑)

    7. history命令

    功能:显示历史执行过的命令

    示例:

        [admin@redhat7 桌面]$ history

        1  ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

        2  ln -sf /lib/systemd/system/multi-user.target /etc/systemd/

        3  su do ln -sf /lib/systemd/system/multi-user.target /etc/systemd/

        4  su root

        5  reboot

         …

        [admin@redhat7 桌面]$ !4   <== “!编码数字”的方式来重复执行某一次的命令

       su root

       密码:

       su: 鉴定故障

      [admin@redhat7 桌面]$ cat ~/.bash_history   <==查看历史文件目录 (Linux系统中以点(.)开头的文件均代表隐藏文件,这些文件大多数为系统服务文件,可以用cat命令查看其文件内容。)

       ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

       ln -sf /lib/systemd/system/multi-user.target /etc/systemd/

       su do ln -sf /lib/systemd/system/multi-user.target /etc/systemd/

       su root

      reboot

      [admin@redhat7 桌面]$ history -c  <==清空历史命令记录

      [admin@redhat7 桌面]$ history

        1  history

    8.sosreport命令用于收集系统配置及架构信息并输出诊断文档(厂商远程售后分析诊断)

     示例:(将压缩包和校验码发送即可)

       [root@linuxprobe ~]# sosreport

       sosreport (version 3.0)

       ...

       No changes will be made to system configuration.

       Press ENTER to continue, or CTRL-C to quit.   <==此处敲击回车来确认收集信息

       Please enter your first initial and last name [linuxprobe.com]:   <==此处敲击回车来确认主机编号

      Please enter the case number that you are generating this report for:   <==此处敲击回车来确认主机编号

      ...

       /var/tmp/sosreport-linuxprobe.com-20170905230631.tar.xz   <==收集好的资料压缩文件

       The checksum is: 79436cdf791327040efde48c452c6322       <==校验码

       ...

    工作目录切换命令                                              

    1.pwd命令用于显示当前用户所在的工作目录

    2.ls 命令

      功能:列表(List)查看目录及文件的属性信息。不带任何选项或参数时,默认显示当前目录的内容。

      格式:ls  [选项]  [文件或目录] ·  ·  ·

      选项:  -a   列出所有(All)文件和子目录,包括以点”.“开头的隐藏文件或目录。

                  -A   列出所有文件和子目录(包括隐藏文件或目录),特殊目录”.“和”..“除外 。

                   -l    以长格式(Long)显示文件或目录的详细信息。

                   -d   只显示目录本身(Directory)的属性信息,而不显示其中的文件或子目录。

      示例:

        [admin@redhat7 桌面]$ ls -al

        总用量 4

         drwxr-xr-x.  2 admin admin    6 3月  22 16:13 .

         drwx------. 14 admin admin 4096 3月  23 15:26 ..

         [admin@redhat7 桌面]$ ls -ld /etc

         drwxr-xr-x. 133 root root 8192 3月  23 23:08 /etc

    3.cd命令用于切换工作路径

      示例:

        [admin@redhat7 桌面]$ cd /etc    <==切换到/etc目录

        [admin@redhat7 etc]$ cd -        <==返回到上一次的目录

         /home/admin/桌面

        [admin@redhat7 桌面]$ cd ~      <==切换到用户的家目录

        [admin@redhat7 ~]$

        [admin@redhat7 ~]$ cd ..         <==切换到上一级目录

        [admin@redhat7 home]$ cd .      <==切换到当前目录(注:.和..可以理解为相对路径)

        [admin@redhat7 home]$

    文本文件编辑命令                                                 

    1.cat命令

      功能:通常用于查看纯文本文件(内容较少)

      格式:cat [参数] [文件]...

      参数:-n  显示文件内容时在每一行行首添加行号(Number) 。

    2.more命令用于查看纯文本文件(内容较多,more大小都能看);分页显示文件内容。按Enter键可以逐行下翻,按空格键下翻一页,按b键向上翻一页;和管道符号”|“结合使用时一般只能向下翻页,按q键退出。

     

    3.head命令用于查看纯文本文档的前N行,格式:head [选项(-n)]  [文件]

    4.tail命令

      功能:查看文件末尾指定行数(默认为10行)的内容。

      格式:tail  [选项]  [文件] ·  ·  ·

      选项: -N   这里的N为用户指定的行数(若不指定,默认显示10行)。

                  -f    跟踪文件中新增加(Follow)的内容,多用于观察日志文件变化等,按Ctrl+C键退出。

      示例:

      [root@sky ~]# tail -2 /etc/passwd

      sky:x:500:500:sky:/home/sky:/bin/bash

      lisi:x:501:501::/home/lisi:/bin/bash

      [root@sky ~]# tail -lf /var/log/messages

      May 26 13:58:34 sky tpvmlpd2[2621]: device type not supported

    5.less 命令用于分页显示文件内容,与more命令的类似,但使用更加灵活。按上下箭头键前后逐行滚动查看,空格键或PageDown键向下翻页,按b键或Pageup键向上翻页,按q键退出。

    6. wc命令

      功能:统计文件的行数、单词数和字节数等信息(Word Count)。默认选项为”-lwc”。

      格式:wc [选项]  [文件]  ·  ·  ·

      选项:-c    统计文件内容中的字节数。

                 -l    统计文仲内容中的行数。

                -w   统计文件内容中的单词个数。

      示例:

        [root@sky ~]# ls -lh /etc/*.conf | wc -l

        45

        [root@sky ~]# wc /etc/fstab /etc/passwd

        16   84  851 /etc/fstab

        35   54 1653 /etc/passwd

          51  138 2504 总用量

     

    7.tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”

     示例:

        [root@linuxprobe ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]

        #VERSION=RHEL7

        # SYSTEM AUTHORIZATION INFORMATION

        AUTH --ENABLESHADOW --PASSALGO=SHA512

       …

     

    8.stat命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。

       stat命令可以用于查看文件的存储信息和时间等信息,命令stat anaconda-ks.cfg会显示出文件的三种时间状态:Access、Modify、Change。

     示例:

        [root@linuxprobe ~]# stat anaconda-ks.cfg

        File: ‘anaconda-ks.cfg’

         ...

        Access: 2017-07-14 01:46:18.721255659 -0400    <==查看时间,最后一次查看文件内容的时间

        Modify: 2017-05-04 15:44:36.916027026 -0400    <==修改时间,最后一次修改文件内容的时间

        Change: 2017-05-04 15:44:36.916027026 -0400   <==更改时间,最后一次变更文件属性的时间(文件的所有者和权限信息)

        Birth: -

     

    9.cut命令用于按“列”提取文本字符,格式为“cut [选项] 文本”。

    10.diff命令用于比较多个文本文件的差异,格式为“diff [选项] 文件”。

       在使用diff命令时,不仅可以使用--brief参数来确认两个文件是否不同,还可以使用-c参数来详细比较出多个文件的差异之处

     示例:

        [root@linuxprobe ~]# cat diff_A.txt  <==使用cat命令分别查看diff_A.txt和diff_B.txt文件的内容,然后进行比较

        Welcome to linuxprobe.com

        Red Hat certified

       Free Linux Lessons

       …

        [root@linuxprobe ~]# diff --brief diff_A.txt diff_B.txt  <==diff --brief命令显示比较后的结果,判断文件是否相同

        Files diff_A.txt and diff_B.txt differ

        [root@linuxprobe ~]# diff -c diff_A.txt diff_B.txt  <==最后使用带有-c参数的diff命令来描述文件内容具体的不同

        *** diff_A.txt 2017-08-30 18:07:45.230864626 +0800

        --- diff_B.txt 2017-08-30 18:08:52.203860389 +0800

       ***************

       *** 1,5 ****

        …

    文件目录管理命令                                                

    1.file命令用于查看文件的类型,格式为“file 文件名”。

    2.mkdir命令

      功能:创建新目录(Make Directories)

      格式:mkdir  [选项]   <目录> ·  ·  ·

      选项:-p  必要时连父目录(Parent)一起创建,如果目标目录存在也不报错。

    3.cp 命令

       功能:复制(Copy)文件或目录,复制源是目录或多个文件时,目标必须是目录。

       格式:cp   [选项]  <源文件或源目录> ·  ·  · <目标文件或目录>

       选项:-f   覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。

                 -i   覆盖目标同名文件或目录时提醒用户确认(lnteractive,交互式)。

                -p  复制时保持(Preserve)源文件的权限,属主及时间截等属性不变。

                -r   复制目录时使用递归(Recursive)复制所有文件及子目录。

       示例:

         [root@sky ~]# cp -rf /boot/grub/ ./

        [root@sky ~]# cp /etc/init.d/httpd ./myhttpd

    在Linux系统中,复制操作具体分为3种情况:

       如果目标文件是目录,则会把源文件复制到该目录中;

       如果目标文件也是普通文件,则会询问是否要覆盖它;

       如果目标文件不存在,则执行正常的复制操作。

    4.mv 命令

      功能:移动(Move)文件或目录,可以在移动时改名(相当于剪切)。移动多个文件或目录时目标必须是目录。

      格式:mv  [选项]  <源文件或源目录> ·  ·  · <目标文件或目录>

      选项:-f  覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)移动。

                 -i  覆盖目标同名文件或目录时提醒用户确认(interactive交互式)。

    5.rm 命令

      功能:删除指定的文件或目录。

      格式:rm  [选项]   <文件或目录> ·  ·  ·

      选项:-f  在删除文件或目录时不进行提醒,而直接强制(Force)删除。

                -i  在删除文件或目录时提醒用户确认(lnteractive,交互式)。

               -r  删除目录时使用,递归(Recursive)删除所有文件及子目录。

    6.ln 命令

      功能:为文件或目录建立链接(Link) ,硬链接不能用于目录也不能跨硬盘分区。

      格式:ln  [参数]   <源文件或源目录>...< 链接文件位置>

      参数:-s  建立软链接即符号链接(Symbolic)文件,默认为硬链接。

                 -f  若链接文件已存在,则直接强制(Force)覆盖。

                 -I  在覆盖目标链接文件时提醒用户确认。

      示例:

        [root@sky ~]# ln -s /usr/local/httpd/bin/apachectl /usr/sbin/

        [root@sky ~]# ln /etc/shadow /etc/shadow.bak

    7.dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [选项]”。

        Linux系统中有一个名为/dev/zero的设备文件,这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,因此可以使用它作为dd命令的输入文件,来生成一个指定大小的文件。

     选项:-if(input file)        输入的文件名称

               -of(output file)     输出的文件名称

               -bs                           设置每个“块”的大小

               -count                      设置要复制“块”的个数

      示例:

        [root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M  <==用dd命令从/dev/zero设备文件中取出一个大小为560MB的数据块,然后保存成名为560_file的文件。(默认单位为字节)

        1+0 records in

        1+0 records out

        587202560 bytes (587 MB) copied, 27.1755 s, 21.6 MB/s

         [root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso   <==使用dd命令来压制出光盘镜像文件,将它变成一个可立即使用的iso镜像

         7311360+0 records in

         7311360+0 records out

         3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s

    8.touch命令

      功能:用用于创建空白文件或设置文件的时间

      格式:touch [选项] [文件]

       对touch命令来讲,有难度的操作主要是体现在设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)上面。(接上面stat命令)

       选项:-a      仅修改“读取时间”(atime)

                 -m      仅修改“修改时间”(mtime)

                 -d       同时修改atime与mtime

      示例:

          先使用ls命令查看一个文件的修改时间,然后修改这个文件,最后再通过touch命令把修改后的文件时间设置成修改之前的时间(很多黑客就是这样做的呢)

          [root@linuxprobe ~]# ls -l anaconda-ks.cfg    

           -rw-------. 1 root root 1213 May  4 15:44 anaconda-ks.cfg

          [root@linuxprobe ~]# echo "Visit the LinuxProbe.com to learn linux skills" >>

          anaconda-ks.cfg

          [root@linuxprobe ~]# ls -l anaconda-ks.cfg

          -rw-------. 1 root root 1260 Aug  2 01:26 anaconda-ks.cfg

          [root@linuxprobe ~]# touch -d "2017-05-04 15:44" anaconda-ks.cfg

          [root@linuxprobe ~]# ls -l anaconda-ks.cfg

          -rw-------. 1 root root 1260 May  4 15:44 anaconda-ks.cfg

      注意:atime和mtime时间可以修改,ctime不能修改

    打包压缩与收缩命令                                                      

    1.tar命令

      功能:将文件或目录备份打包,并可通过选项调用gzip或bzip2程序将包文件进行压缩,解压。

      格式:tar    [选项]   <包文件名>   [文件或目录]...

      选项:-c   创建(Create).tar格式的包文件

              -C   指定到解压的目录

              -f    目标文件名

              -j    调用bzip2程序进行压缩或解压

              -p   打包时保存文件及目录的权限

              -P   打包时保存文件及目录的绝对路径

              -t   查看压缩包内的文件

              -v   输出详细信息。

             -x   解开.tar格式的包文件

             -z   调用gzip程序进行压缩或解压

      Tar czvf 压缩包名称.tar.gz 源文件

      Tar xzvf 压缩包名称.tar.gz 源文件

    示例

        [root@sky ~]# tar -cf ab.tar a.file b.file          <==创建包文件ab.tar

        [root@sky ~]# tar -tf ab.tar                    <==查看包文件中的内容

        a.file b.file

        [root@sky ~]# tar -zcf ab.tar.gz a.file b.file       <==创建压缩包文件ab.tar.gz

        [root@sky ~]# tar -jcf ab.tar.bz2 a.file b.file      <==创建压缩包文件ab.tar.bz2

        [root@sky ~]# tar -jxf ab.tar.bz2 -C /to/som/where   <==解压释放文件至指定目录

    2.gzip /bzip2 / zip 命令

      功能:创建.gz格式的压缩文件,使用-d选项可以进行解压缩(或使月gunzip/ bunzip2命令)。

      格式:gzip /bzip2 / zip  [选项]   <文件或目录> ·  ·  ·

      选项:-1  以最快速度优先的模式创建压缩文件。

                -9  以最大压缩比优先的模式创建压缩文件。

                -d  解压缩gz格式的压缩文件。

    3.unzip 命令

      功能:解压缩.zip格式的压缩文件。

      格式:unzip  [ 选项]   <压缩文件名>

      选项:-d  解压到指定的文件夹。

    4.grep 命令

      功能:Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

      格式:grep  [选项]  <查找字串>  [文件]

      选项:-i   查找内容时忽略大小写(Ignore Case) 。

                 -v  反转查找(Invert) 即输出与查找条件不相符的行。

    5.find命令

      在Linux系统中,搜索工作一般都是通过find命令来完成的,它可以使用不同的文件特性作为寻找条件(如文件名、大小、修改时间、权限等信息),一旦匹配成功则默认将信息显示到屏幕上

      功能:按照指定条件来查找文件

      格式:find  <查找路径>   <查找条件> ·  ·  ·

      选项:-name            按文件名称查找,可以使用通配符。

                -size               匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)

                -prune             忽略某个目录

                -perm              匹配权限(mode为完全匹配,-mode为包含即可)

                -user               匹配所有者

               -group              匹配所有组

               -mtime -n +n    匹配修改内容的时间(-n指n天以内,+n指n天以前)

               -atime -n +n     匹配访问文件的时间(-n指n天以内,+n指n天以前)

               -ctime -n +n     匹配修改文件权限的时间(-n指n天以内,+n指n天以前)

               -type                 按文件类型查找,类型f,d,l,b、c分别表示普通文件,目录,链接文件,块设备文件、字符设备文件。

       示例:

         [root@sky ~]# find /etc -name "passwd"

         /etc/pam.d/passwd

         /etc/passwd

        [root@sky ~]# find /boot/ -size +1024k     <==查找大于1M的文件

        /boot/vmlinuz-2.6.32-358.el6.x86_64

        /boot/System.map-2.6.32-358.el6.x86_64

    参考资料                                                                                 

      刘瑞       Linux就该怎么学

  • 相关阅读:
    数组方法延伸
    Vue基础知识之过滤器(四)
    Vue基础知识之vue-resource和axios(三)
    【正则】对RegExp执行typeof运算的结果
    【正则】所有的字符(总)
    学习正则有感by魔芋(命名问题)
    关于正则表达式(转)
    【15】ES6 for Humans: The Latest Standard of JavaScript: ES2015 and Beyond
    中国首届CSS开发者大会讲师照片
    拥有强大的自我驱动力是一种怎样的体验?
  • 原文地址:https://www.cnblogs.com/xq777/p/10592373.html
Copyright © 2011-2022 走看看