精华内容
下载资源
问答
  • Linux内核开机打印信息

    千次阅读 2014-05-19 10:22:39
    Embedded Linux 2009-05-27 13:36 1643人阅读 评论(0) 收藏 举报 semaphore汇编output终端嵌入式image 目录(?)[+] 开机过程中的内核打印 前言解压缩阶段Image 启动早期 汇编阶段C 语言阶段 ...

    开机过程中的内核打印

    分类: Embedded Linux 2009-05-27 13:36 1643人阅读 评论(0) 收藏 举报

    开机过程中的内核打印

    作者: zjujoe 转载请注明出处

    Email:zjujoe@yahoo.com

    BLOG:http://blog.csdn.net/zjujoe

     

    前言

    嵌入式开发中, 通常使用串口输出调试信息,了解运行状态。 内核启动过程中,在不同阶段会通过不同的方式将调试信息输出到串口。 (注:以下内容针对 arm-linux.)

    解压缩阶段

    解压缩阶段内核会输出:

    Uncompressing Linux................................ done, booting the kernel.

     

    查找内核, 会发现如上输出是在如下语句中打印的:

     312        putstr("Uncompressing Linux...");
     313        gunzip();
     314        putstr(" done, booting the kernel/n");

     

    putstr 会调用 uncompress.h 中的 putc 来完成任务。

     

    通常, 嵌入式开发中,我们假定 bootloader 已经进行了串口初始化, 所以我们只需要对串口进行写操作就可以了。比如:

     

      18static void putc(char c)
      19{
      20        volatile u32 *uart = (volatile void *) DAVINCI_UART0_BASE;
      21
      22        while (!(uart[UART_LSR] & UART_LSR_THRE))
      23                barrier();
      24        uart[UART_TX] = c;
      25}

     

    实现函数,就可以看到串口输出了。当然, 如果您是完美主义者, 还应该实现:

     

      27static inline void flush(void)
      28{
      29        volatile u32 *uart = (volatile void *) DAVINCI_UART0_BASE;
      30        while (!(uart[UART_LSR] & UART_LSR_THRE))
      31                barrier();
      32}

     

    Image 启动早期

    这里的“早期”定义为串口驱动初始化之前。 这里又分为两个阶段:汇编阶段与 C 语言阶段。

     

    汇编阶段

    在启动正常后一般不需要在此阶段输出信息。但是,如果系统还没有正常启动, 则需要在汇编里向串口输出一些信息。

     

    内核提供了函数:
     116ENTRY(printascii)
     
    为了使用它,我们需要实现:
    addruart 获得调试串口的地址
    senduart 发送一个字节
    waituart 等待串口可用
    三个汇编函数。 

     

    可以参考某一平台来实现, 比如:

    http://lxr.linux.no/linux+v2.6.27/arch/arm/mach-pxa/include/mach/debug-macro.S#L16

     

    pxa 的实现表明, 由于 uart 通常是8250 兼容的, 所以很可能我们只需要实现:

    addruart, 提供一下串口基地址,即可。

     

    另外, 值得注意的是:汇编代码会经历实地址模式与虚拟地址模式两个阶段。 而上面的打印函数是可以同时用于两种模式的。

     

     

    C 语言阶段

    C 语言代码从 start_kernel 开始, 可以看到,内核很快就会调用 printk:
    printk(KERN_NOTICE);
    然而在 arm 平台上, 如上的打印要等 console_init()函数执行后,才会输出到串口。
     
    如果有人有兴趣, 可以为arm平台实现一个 patch, 使得在打印内核 notice时就能够向串口输出。 当然, 对于 BSP 开发, 目前的实现基本够用, 因为驱动程序初始化时间较晚,在 console_init 之后。
     
    我们看一下该函数的实现:

    3644/*

    3645 * Initialize the console device. This is called *early*, so

    3646 * we can't necessarily depend on lots of kernel help here.

    3647 * Just do some early initializations, and do the complex setup

    3648 * later.

    3649 */

    3650void __init console_init(void)

    3651{

    3652        initcall_t *call;

    3653

    3654        /* Setup the default TTY line discipline. */

    3655        tty_ldisc_begin();

    3656

    3657        /*

    3658         * set up the console device so that later boot sequences can

    3659         * inform about problems etc..

    3660         */

    3661        call = __con_initcall_start;

    3662        while (call < __con_initcall_end) {

    3663                (*call)();

    3664                call++;

    3665        }

    3666}

     

     

    原来该函数会调用 __con_initcall_start 段里的函数。而串口驱动正是在此注册了一个这样的函数, 而提供了 early printk 功能。

     

    比如, http://lxr.linux.no/linux+v2.6.27/drivers/serial/8250.c 中,就实现了改功能:

    2645static int __initserial8250_console_init(void)
    2646{
    2647        if (nr_uarts > UART_NR)
    2648                nr_uarts = UART_NR;
    2649
    2650        serial8250_isa_init_ports();
    2651        register_console(&serial8250_console);
    2652        return 0;
    2653}
    2654console_initcall(serial8250_console_init);

     

    本质上,就是提前注册串口终端,而不是在串口驱动初始化时才注册。

     

    Image 启动后期

    有了 前面实现的 early print, 内核打印就没有问题了, 如果没有实现early print, 则在串口驱动初始化时,会注册一个console 驱动, 从而实现内核打印。

     

    当然, 前提是我们需要在串口驱动中实现并注册 static struct console
    具体细节可以参考样例驱动。 这里就不深究了。
     

    内核打印机制浅析

    内核函数调用 printk 后, printk 将 打印信息发送到一个 log_buffer. 然后调用如下函数, 试图进行后续处理。

     

    如果已经注册了终端,则会调用终端的输出函数。

    另外,终端注册函数也会调用 release_console_sem, 将此前所有的信息一次性打印到 console.

     

    984 /**
    985  * release_console_sem - unlock the console system
    986  *
    987  * Releases the semaphore which the caller holds on the console system
    988  * and the console driver list.
    989  *
    990  * While the semaphore was held, console output may have been buffered
    991  * by printk().  If this is the case, release_console_sem() emits
    992  * the output prior to releasing the semaphore.
    993  *
    994  * If there is output waiting for klogd, we wake it up.
    995  *
    996  * release_console_sem() may be called from any context.
    997  */
    998 void release_console_sem(void)
    999 {
    1000         unsigned long flags;
    1001         unsigned _con_start, _log_end;
    1002         unsigned wake_klogd = 0;
    1003
    1004         if (console_suspended) {
    1005                 up(&console_sem);
    1006                 return;
    1007         }
    1008
    1009         console_may_schedule = 0;
    1010
    1011         for ( ; ; ) {
    1012                 spin_lock_irqsave(&logbuf_lock, flags);
    1013                 wake_klogd |= log_start - log_end;
    1014                 if (con_start == log_end)
    1015                         break;         /* Nothing to print */
    1016                 _con_start = con_start;
    1017                 _log_end = log_end;
    1018                 con_start = log_end;   /* Flush */
    1019                 spin_unlock(&logbuf_lock);
    1020                 call_console_drivers(_con_start, _log_end);
    1021                 local_irq_restore(flags);
    1022         }
    1023         console_locked = 0;
    1024         up(&console_sem);
    1025         spin_unlock_irqrestore(&logbuf_lock, flags);
    1026         if (wake_klogd)
    1027                 wake_up_klogd();
    1028 }
    1029EXPORT_SYMBOL(release_console_sem);

     

    展开全文
  • Linux 命令 打包与压缩

    千次阅读 2017-10-10 23:22:12
    Linux 系统下【文件打包与压缩

    【文件打包与压缩】
    介绍
    在学习Linux上的压缩工具之前,有必要先了解一下常见常用的压缩包文件格式。在 Windows 上最常见的不外乎这三种 .zip,.rar 后缀的压缩文件。而在 Linux 上面常见的格式除了以上三种外,还有 .gz,.xz,.bz2,.tar,.tar.gz,.tar.xz,*.tar.bz2,简单介绍如下:

     文件后缀名  说明
    *.zip   zip 程序打包压缩的文件
    *.rar   rar 程序压缩的文件
    *.7z    7zip 程序压缩的文件
    *.tar   tar 程序打包,未压缩的文件
    *.gz    gzip 程序(GNU zip)压缩的文件
    *.xz    xz 程序压缩的文件
    *.bz2   bzip2 程序压缩的文件
    *.tar.gz    tar 打包,gzip 程序压缩的文件
    *.tar.xz    tar 打包,xz 程序压缩的文件
    *.tar.bz2   tar 打包,bzip2 程序压缩的文件
    *.tar.7z    tar 打包,7z 程序压缩的文件
    

    1.1 tar【重点掌握】
    在 Linux 上面更常用的是 tar 工具,tar 原本只是一个打包工具,只是同时还是实现了对 7z、gzip、xz、bzip2 等工具的支持,这些压缩工具本身只能实现对文件或目录(单独压缩目录中的文件)的压缩。

    语法:tar [-zjxcvfpP] filename
    -z :是否同时用gzip压缩
    -j :是否同时用bzip2压缩
    -x :解包或者解压缩
    -t :查看tar包里面的文件
    -c :建立一个tar包或者压缩文件包
    -v :可视化
    -f :后面跟文件名,压缩时跟-f文件名,意思是压缩后的文件名为filename,解压时跟-f文件名,意思是解压filename。请注意,如果是多个参数组合的情况下带有-f,请把f写到最后面。
    -p :使用原文件的属性,压缩前什么属性压缩后还什么属性。(不常用)
    -P :可以使用绝对路径。(不常用)
    
    
    【实例:】
    将桌面上的zhiyou打成rar的包
    tar -cvf zhiyou.rar zhiyou
    将zhiyou删除,解压缩rar
    tar -xvf zhiyou.rar
    
    将桌面上的zhiyou打成tar的包,并进行压缩
    tar -cvf zhiyou.tar.gz zhiyou
    将zhiyou删除,解压缩rar
    tar -xvf zhiyou.tar.gz
    

    1.2 gzip
    [注:gzip只能压缩文件,不能压缩目录]
    语法:gzip [-d#] filename 其中#为1-9的数字
    -d :解压缩时使用
    -# :压缩等级,1压缩最差,9压缩最好,6为默认

    [实例:]
    压缩aa.txt文件:
    gzip aa.txt    (压缩之后,变成了aa.txt.gz)
    解压缩
    gzip -d aa.txt.gz
    

    1.3 bzip2
    语法:bzip2 [-dz] filename
    -d :解压缩
    -z :压缩

    压缩:
    bzip2 -z aa.txt   (压缩之后,变成了aa.txt.bz2)
    解压缩:
    bzip2 -d aa.txt.bz2
    

    【管道命令】
    管道是一种通信机制,通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式就是将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)。

    管道又分为匿名管道和具名管道。我们在使用一些过滤程序时经常会用到的就是匿名管道,在命令行中由|分隔符表示。具名管道简单的说就是有名字的管道,通常只会在源程序中用到具名管道。
    
    [实例:]
    通过管道将前一个命令(ls)的输出作为下一个命令(less)的输入:
    ls -al /etc | less
    

    相关命令
    2.1 cat 打印某一行中的某个字段
    语法:cut -d ‘分割字符’ -f fields
    cut -c 字符范围

    -d : 后面接分隔符,与-f一起使用;
    -f : 依据-d的分隔符将一段信息切割成为数段,用-f取出第几段的意思;
    -c : 以字符(characters)的单位取出固定字符区间;
    
    [实例:]
    打印出/etc/passwd中用户名和用户家目录
    cut /etc/passwd -d ':' -f 1,6
    
    打印出文件权限,文件所属用户,文件名
    ls -l |cut -d  ' ' -f 1,3,12
    
    打印/etc/passwd文件中每一行的前N个字符:
    # 前五个(包含第五个)
    $ cut /etc/passwd -c -5
    # 前五个之后的(包含第五个)
    $ cut /etc/passwd -c 5-
    # 第五个
    $ cut /etc/passwd -c 5
    # 2到5之间的(包含第五个)
    $ cut /etc/passwd -c 2-5
    

    2.2 grep分析一行数据,如果有匹配的,就显示出来
    grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
    语法:grep [-acinv] [–color=auto] ‘查找字符串’ filename

    -a : 将binary文件以text文件的方式查找数据;
    -c : 计算找到’查找字符串‘的次数;
    -i : 忽略大小写的不同;
    -n : 带行号;
    -v : 反向选择,显示没有‘查找字符串’的行;
    --color=auto : 可以将找到查找的关键字部分加上颜色显示
    -r 参数表示递归搜索子目录中的文件
    
    [实例:]
    将/etc/passwd,有出现 root 的行取出来:
    grep root /etc/passwd
    将/etc/passwd,有出现 root 的行取出来,同时显示这些行在/etc/passwd的行号:
    grep -n root /etc/passwd
    将/etc/passwd,将没有出现 root 和nologin的行取出来:
    grep -v root /etc/passwd | grep -v nologin
    搜索/home/smile目录下所有包含"zhiyou"的所有文本文件,并显示出现在文本中的行号:
    grep -rn "zhiyou" /home/smile
    

    2.3 wc命令
    wc 命令是一个统计的工具,主要用来显示文件所包含的行、字和字节数。
    wc 命令是 word count 的缩写。
    语法:wc [-lwm] 文件
    -l : 统计行数
    -w : 统计字数(英文单字,由空白、跳格或换行字符分隔的字符串)
    -m : 统计字符数,这个标志不能与 -c 标志一起使用
    -c : 统计字节数

    [实例:]
    统计a.txt文件行数:
    wc -l a.txt
    统计文件的字符数,只打印数字,不打印文件名:
    cat a.txt | wc -m
    统计/bin 目录下的命令个数,可以使用如下命令:
    ls /bin | wc -l
    

    【正则表达式】
    它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。对于系统管理员来讲,正则表达式贯穿在我们的日常运维工作中,无论是查找某个文档,抑或查询某个日志文件分析其内容,都会用到正则表达式。

    正则表达式元字符由以下字符组成:
    ^ $ . [ ] { } - ? * + ( ) | \
    
    正在表达式  描述               
    ^    匹配行的开始
    $    匹配行尾的文本
    .    匹配除换行符以外的任意字符
    []    匹配包含在[字符]之中的任意一个字符
    [^]   匹配除了[^字符]之外的任意一个字符
    [-]   匹配[]指定范围内的任意一个字符
    {n}   匹配之前的项n次
    {n,}  之前的项至少匹配n次
    {n,m} 指定之前的项需要匹配的最小和最大次数
    ?    匹配之前的项零次或一次
    *    匹配之前的项零次或更多次
    +    匹配之前的项一次或更多次
    ()    创建一个用于匹配的子串
    |     匹配|两边的任意一项
    \     将上面特殊字符进行转义
    
    \w    匹配字母或数字或下划线或汉字
    \s   匹配任意的空白符
    \d   匹配数字
    \b   匹配单词的开始或结束
    \W   匹配任意不是字母,数字,下划线,汉字的字符
    \S   匹配任意不是空白符的字符
    \D   匹配任意非数字的字符
    \B   匹配不是单词开头或结束的位置
    
    
    示例:
    ^zhiyou 匹配以zhiyou开始的行
    $zhiyou 匹配以zhiyou结尾的行
    a.c   匹配abc、aac...但不匹配abbc
    ab[cd] 匹配abc或abd
    1[^01] 匹配12、13,但不匹配10、11
    [1-5] 匹配1-5之间的任意一个数字
    [0-9]{2} 匹配任意一个两位数
    [0-9]{2,} 匹配任意一个两位或更多位数字
    [0-9]{2,5} 匹配从两位数到五位数之间的任意一个数字
    zhiy?ou   匹配zhiyou 或 zhiou
    zhiy*ou   匹配zhiou、zhiyou、zhiyyou
    zhiy+ou   匹配zhiyou 、zhiyyou、zhiyyyyou
    ma(in)?  匹配 ma或main
    1(2|3)   匹配12或13
    a\+b     匹配a+b
    
    [实例:]
    列出/etc/passwd中带有zy的行
    grep 'z.*y' /etc/passwd
    利用 Linux 系统自带的字典查找一个五个字母的单词,第三个字母为 j,最后一个字母为 r ,/usr/share/dict 目录下存放字典文件:
    grep '^..j.r$' /usr/share/dict/linux.words
    
    验证固定电话,打印符合条件的电话,固定电话格式基本都是带有 0 的区号+连接符“-”+电话号码,另外还有可能有分机号,区号有 3 位、4 位,电话号码有 7 位和 8 位的:
    grep -E "^0[0-9]{2,3}-[0-9]{7,8}(-[0-9]{3,4})?$" telphone.txt
    
    展开全文
  • Linux压缩与解压缩

    千次阅读 2018-03-12 21:38:13
    Linux压缩与解压缩一、 zip格式zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在...

    Linux下压缩与解压缩

    一、 zip格式

    zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如LinuxWindows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gztar.gz2在压缩率方面做得非常好。

    我们可以使用下列的命令压缩一个目录:

    # zip -r archive_name.zip directory_to_compress

    下面是如果解压一个zip文档:

    # unzip archive_name.zip

    #unzip archive_name.zip –d new_dir

    二、 rar格式

    RAR是一种文件压缩与归档的私有格式,用于数据压缩与归档打包,简单的说就是将原有的文件数据经过压缩处理之后保存的文件格式后缀名,通常Windows用户比较常见的压缩软件WinRAR,通过使用WinRAR对文件数据进行压缩后默认保存的文件格式就是RAR格式。

     rar 命令使用方法
      a             添加文件到压缩档案
      c             添加压缩档案注释(注释的大小最大不能超过62000字节)
      cf            添加文件备注( 当使用'v'参数时显示文件备注,最大不能超过32767字节)
      ch            改变压缩档案参数
      cw            向指定文件写入档案备注
      d             从档案中删除文件
      e             解压缩文件到当前目录(不创建任何子目录)
      f             刷新档案中的文件(更新这些文件自它们被打包之后产生的变化,不在压缩档  

      案中增加新的)
      i[par]=  在档案中查找特定字符
      k             锁定档案(任何试图改变压缩档案中内容的命令都会被忽略)
      l[t,b]        列出档案[technical, bare]
      m[f]          移动到压缩档案中[只针对文件]
      p             打印文件到标准输出
      r             修补压缩档案
      rc            重建丢失的分卷
      rn            重命名压缩档案中的文件
      rr[N]         添加数据恢复记录
      rv[N]         创建恢复卷
      s[name|-]     压缩档案与SFX(自解压文档)之间的转换
      t             测试压缩档案文件
      u             更新压缩档案中的文件
      v[t,b]        列出压缩档案的详细信息[technical,bare]
      x             解压缩到完整路径


     压缩命令使用rar

     rar  a   anaconda-ks.cfg.rar      anaconda-ks.cfg 
     解压缩命令unrar的使用:
     $unrar --help

    用法:     unrar - - 
                   <@listfiles...> 
    <命令>
      e             解压文件到当前目录
      l[t,b]        列出压缩文档信息[technical, bare]
      p             打印文件到标准输出
      t             测试压缩文档
      v[t,b]        列出压缩文档的详细信息[technical,bare]
      x             解压文件到完整路径
    [root@localhost ~]# unrar  e  anaconda-ks.cfg.rar  /home/

     

    三、 tar格式

    Tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:

    # tar -cvf archive_name.tar directory_to_compress

    如何解包:

    # tar -xvf archive_name.tar.gz

    上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:

    # tar -xvf archive_name.tar -C /tmp/extract_here/

     

    四、 tar.gz格式

    这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。

    压缩:

    # tar -zcvf archive_name.tar.gz directory_to_compress

    解压缩:

    # tar -zxvf archive_name.tar.gz

    上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来创建解包的路径:

    # tar -zxvf archive_name.tar.gz -C /tmp/extract_here/

     

    五、 tar.bz2格式

    这种压缩格式是我们提到的所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。

    压缩:

    # tar -jcvf archive_name.tar.bz2 directory_to_compress

    上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来创建解包的路径:

    # tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/

     

    展开全文
  • Linux下文件解压缩、软件安装

    千次阅读 2018-11-08 18:09:04
    1、linux常用解压缩命令:.zip格式  解压:unzip 文件名.zip   压缩:zip 文件名.zip 目录名 .tar格式  压缩:tar cvf 文件名.tar 文件名  解压:tar xvf 文件名.tar.tar.gz格式  解压:tar zxvf ...

    1、linux常用解压缩命令:
    .zip格式
     解压:unzip  文件名.zip 
     压缩:zip  文件名.zip  目录名 
    .tar格式
     压缩:tar  cvf  文件名.tar  文件名
     解压:tar  xvf  文件名.tar
    .tar.gz格式
     解压:tar  zxvf  文件名.tar.gz 
     压缩:tar  zcvf  文件名.tar.gz  文件名 
    .tar.bz2格式
     解压:tar  jxvf  文件名.tar.bz2 
     压缩:tar  jcvf  文件名.tar.bz2  目录名 
    .bz2格式
     解压:bzip2   -d  文件名.bz2 
     压缩: bzip2  -z  文件名 
    2、linux下软件安装
    2.1、rpm安装:Redhat Linux提供的一种包封装格式。
    (1) 安装: rpm –ivh 软件包名
     如:rpm -ivh software.rpm
    (2) 卸载: rpm –e 软件名
     如:rpm -e software
     rpm参数说明
       -i 安装软件
       -t 测试安装,不是真的安装
       -p 显示安装进度
       -f 忽略任何错误
       -U 升级安装
       -v 打印安装进度信息
    2.2、编译安装
    示例步骤:
    (1) 进入/usr/local/,并创建jdk目录。
    (2) 将下载好的源码包解压到该目录: tar -zxvf jdk8.tar.gz。
    (2) 执行configure,生成Makefile文件: ./configure --prefix=/usr/local/jdk/
    说明:
      –prefix参数指定软件安装目录。当执行make install命令时,会将软件安装在此路径中。
    (3) 执行make,从Makefile中读取指令,编译源码: make clean; make
    (4) make install,二进制文件会被安装到先前configure prefix参数设置的路径中去。

    展开全文
  • Linux tar解压缩命令详解

    万次阅读 2018-10-11 15:37:54
    tar命令Windows和Linux操作都一样 ,但是zip一定都支持,压缩命令用得最多的还是tar。 目录 tar命令帮助 tar测试 压缩 解压 查看内部文件 tar命令帮助 [root @ localhost /] #tar --help 用法:tar [选项....
  • Linux下的tar压缩压缩命令详解

    万次阅读 2017-06-06 22:29:47
    -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在...
  • linux -unrar解压缩

    万次阅读 2017-01-01 10:14:43
    压缩命令unrar的使用: $unrar --help 用法: unrar - -    e 解压文件到当前目录 ... l[t,b] 列出压缩文档信息[technical, bare]  p 打印文件到标准输出  t 测试压缩我俄当  v[t,b
  • Linux 压缩软件的使用

    千次阅读 2018-05-07 10:50:42
    一、文件后缀名含义*.Zcompress 程序压缩的档案*.bz2bzip2 程序压缩的档案*.gzgzip 程序压缩的档案*.tartar 程序打包的数据,并没有...(x:解压, c:创建解压文件, v:打印提示信息, f:接文件)tar -cvf /home/***....
  • linux打印全部make编译信息

    千次阅读 2017-01-10 21:37:00
    这样就可以将打印信息全部保存到文本(文本名称可随意哦)。 附录: make 根据Makefile文件编译源代码、连接、生成目标文件、可执行文件。 make clean 清除上次的make命令所产生的ob...
  • Linux 目录下压缩部分文件

    千次阅读 2019-02-25 18:09:48
    Linux下某个目录下有小文件好几万,命名规则按日期每小时N个,想要过滤出指定日期的文件并添加到压缩文件中,记录下脚本化的过程如下。 正则过滤存在的问题 首先,直接进入该目录,由于文件数过多,ls打印半天出...
  • linux 中分卷的压缩和解压

    万次阅读 2017-12-11 12:52:51
    我们上传东西的时候,由于文件过大而能上传,或者给上传,最明显的就是发邮件了,附件最大5M,有的10M...但是在linux下面有没有这样的方法了,linux下面有rar命令,有zip命令,windows下面这二种方式可以分割压缩,
  • LINUX打印系统

    千次阅读 2017-06-30 13:41:49
    一、Linux打印 1.1 Linux打印简介   首先需要了解的是,打印在Unix世界的演化中总是围绕着PostScript页面描述语言展开的。该语言是由Adobe公司开发的,它是一个成熟的、用于描述一个文档每个页面内容的程序语言...
  • linux screen打印日志

    千次阅读 2014-09-05 16:58:51
    由于更新后台程序后需要重启后台,通过查看后台程序的执行过程来判断此次更新是否成功,现需要将后台程序的screen运行信息打印到日志,并提供给开发者调试。 实现思路:1.将screen日志输出到某文件,并给开发者开通...
  • Linux下rar 命令压缩和解压详解

    万次阅读 2016-09-11 19:29:45
    例1:添加文件或目录到压缩档案中,使用a命令。例如把文件files1添加到abc.rar中,使用a或m命令,a命令把file1文件添加到abc.rar档案中保持原有的...$rar a abc.rar file1说明:如果此时abc.rar档案存在,会自行创建
  • Linux压缩gzip日志查看

    千次阅读 2019-08-13 11:25:17
    1、linux不解压超大日志gz包直接查找特定内容 #########首先过滤Exception信息######### gzip -dc catalina.out-2019-08-03.gz | grep 'Exception' | more ########打印Exception的行数############### gzip -dc...
  • linux 下的解压缩、分卷、加密

    千次阅读 2013-08-12 14:46:23
    上面的命令是将eclipse这个文件夹分卷压缩,每卷50m,注意eclipse 前面有空格.压缩完之后,会被命名为x00,x01,x02。。。 2.解压 首先需要合并: 合并的命令是:cat x*>eclipse.tar.gz 然后解压:t
  • Linux备份与压缩策略

    千次阅读 2013-05-06 09:07:18
    Linux备份与压缩策略 为什么学习这个? 由于现在的应用程序以及文件普遍越来越大,为了节省空间、减少网络传输代价,在备份过程中一般采用压缩技术。 1 打包程序tar tar命令本身只进行打包进行压缩,主要功能...
  • linux关于压缩解压tar包

    千次阅读 2019-11-17 13:59:57
    -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在...
  • Linux常用压缩解压命令总结

    千次阅读 2017-09-26 17:28:16
    Linux文件压缩工具有:gzip、bzip2、rar、7zip、lbzip2、xz、lrzip、PeaZip、arj等。 1,压缩文件: 在linux中常用的文件的压缩和归档如下: 压缩工具 解压工具 文件扩展 ...
  • linux系统压缩与解压

    千次阅读 2019-04-14 16:03:01
    主流的压缩格式包括 tar、rar、zip、war、gzip、bz2、iso 等。从性能上比较,TAR、WAR、 RAR 格式较 ZIP 格式压缩率较高,但压缩时间远远高于 ZIP,Zip 命令行工具可以实现对 zip 属性的包进行管理,也可以将文件及...
  • 主流的压缩格式包括 tar、rar、zip、war、gzip、bz2、iso 等。从性能上比较,TAR、WAR、 RAR 格式较 ZIP 格式压缩率较高,但压缩时间远远高于 ZIP,Zip 命令行工具可以实现对 zip 属性的包进行管理,也可以将文件及...
  • 最近在使用java调用Runtime.getRuntime().exec方法执行linux命令压缩文件的时候,发现程序报错,但是文件无法压缩,代码如下: public static void zipFile(String filename, String path) { File[] file = new...
  • .gz- - -gzip .bz2 - - -bzip2 tar(打包) 参数 c 创建压缩文件 x 释放压缩文件 f 指定压缩包的名字 v 打印提示信息(可不写) z 使用gzip压缩文件 - xxx.tar.gz j 使用bzip2的方式压缩文件 —xxx.tar.bz2 ######压缩...
  • 一般情况下都在生成vmlinux后,再对内核进行压缩成为zImage,压缩的目录是kernel/arch/arm/boot。  下载到flash中的是压缩后的zImage文件,zImage是由压缩后的vmlinux和解压缩程式组成,如下图所示:  ...
  • 虽然后来通过修改boa服务器源码解决这一限制(解除boa服务器对上传的单个文件大小的限制https://blog.csdn.net/Brouce__Lee/article/details/81009746),但是中途了解了关于Linux下分卷压缩、合并解压的相关知识,...
  • linux解压文件和创建压缩文件

    千次阅读 2019-05-29 18:45:49
    ubuntu创建压缩文件和解压文件 参考网站:https://www.cnblogs.com/sinsenliu/p/9369729.html .rar 参考网站中的.rar部分好像有误 创建.rar: rar a FileName.rar DIrName 如果要指定目标文件路径,可以在...
  • Linux 入门(三)zip压缩与tar打包

    千次阅读 2020-02-05 16:36:10
    1、代码雨效果: sudo apt-get update; sudo apt-get install cmatrix cmatrix -C red 可以实现代码雨效果 ...-q 表示静默打包,即向控制台输出信息 -o 表示输出文件,在其后紧跟打包输出文件名 file.zi...
  • 我们上传东西的时候,由于文件过大而能上传,或者给上传,最明显的就是发邮件了,附件最大5M,有的10M...但是在linux下面有没有这样的方法了,linux下面有rar命令,有zip命令,windows下面这二种方式可以分割压缩,
  • Linux面试题(2020最新版)

    万次阅读 多人点赞 2020-03-01 11:14:38
    文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的...
  • 目录 linux下C语言编程打印log日志 linux下C语言编程打印log日志 前言 ​ linux的日志系统一直以来都是在linux上开发必学的一部分内容。之前在学习openstack的时候,在对openstack组件的发生的错误进行调试时,老师...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,634
精华内容 25,853
关键字:

linux不打印信息压缩

linux 订阅