一、Windows和Linux

Windows中的动态链接库.dll文件的作用和Linux中的.so文件的作用相同。

拼接原生Linux系统的方法就是将Shell、Library、Kernel文件进行整合即可。


二、问题

    为什么Windows中的C语言依赖库和Linux中的C语言依赖库完全相同但是编译好的程序却不能直接移植?

    因为两个系统中的魔数不相同。

#!/bin/bash

    就是指定魔数的。


三、如何查看一个命令是内部命令还是外部命令?
type COMMEND

    内部命令使用

help COMMEND

    查看使用说明,外部命令使用

COMMEND --help

    命令查看使用说明书。

    使用man命令可以查看两者的使用说明书。


四、如何查看命令文件的位置
which COMMEND

    使用which命令


五、如何查看命令概述
whatis COMMEND


六、如何查看所有环境变量
printenv


七、Linux中的文件类型

使用

ls -l

命令能够查看一个文件的详细属性信息,其中每一行的第一个字母标志着该文件的类型。

    -:普通文件(file)

    d:目录文件(directory)

    c:字符设备文件(character)

    l:符号链接文件(symbolic link file)

    p:命令管道文件(pipe)

    s:套接字文件(socket)

    b:二进制文件(binary)


八、如何查看缓存的命令列表

为了提高效率,Linux会将用户键入的命令进行缓存,这样下一次再执行该命令的时候就会直接调用内存中缓存的命令,效率会提高很多使用hash命令能够显示出所有的缓存命令。

hash

第一列hits是“命中数”,即bash打开之后调用了多少次该命令。

第二列是命令名称


九、man命令详解

man命令用于查看某个命令的“使用说明书”,使用说明书是分“章节”的,而且每个章节都对应着特殊的含义:

    

1.八大章节


        第一章节:用户命令(/bin,/usr/bin,/usr/local/bin)

        第二章节:系统调用

        第三章节:库用户

        第四章节:特殊文件(设备文件等)

        第五章节:文件格式(比如/etc/passwd各个字段的说明)

        第六章节:游戏

        第七章节:杂项,Miscellaneous,不便归类的项目

        第八章节:管理命令(/sbin,/usr/sbin/,/usr/local/sbin)

    

2.章节中出现的各种单词和字符

        <>:表示必须给出的

        []    :表示可选的

        ...    :表示可以使用多次

        {}    :表示分组,没有特殊的含义

        NAME:命令名称和功能简要说明

        SYNOPSIS:用法说明,包括可用的选项

        DESCRIPTION:命令功能的详尽说明可能包含每一个选项的意义

        OPTION:说明每一个选项的意义

        FILES:和命令相关的配置文件

        BUGS:命令的BUG相关信息

        EXAMPLES:示例程序

    

3.快捷键说明

        向下翻一屏:SPACE

        向上翻一屏:b

        向下翻半屏:d

        向上翻半屏:u

        向下翻一行:ENTER | j

        向上翻一行:k

        跳到页首:g

        跳到页尾:G

        向后查找:/keyword

        向前查找:?keyword

        查找下一个:n

        查找上一个:N

        退出:q

    

4.文档的保存位置

        使用man命令显示出来的信息肯定都是存放到文件中的,几乎所有的文档man信息都存放到了/usr/share/doc中了。


十、hwclock命令和date命令

    在Linux中系统启动之后会有两个时钟在运行,一个是硬件时钟,另外一个是系统时钟,其中硬件时钟是不受系统运行的影响,及时关机之后也能够正常运行,开机之后系统时钟初始化,将会把硬件时钟信息复制到系统时钟上;系统时钟的准确性会随着CPU的繁忙逐渐下降,所以可能经过一段时间之后系统时钟就会和硬件时钟不一致了。

    

1.系统时钟设置和查看:date命令详解

        (1) 查看系统时钟

date

        这是最简单的查看时钟的方法,可以自定义显示格式,如果想讲时间显示成为yyyy-MM-dd HH:mm:ss这种格式的话该怎么做呢?

 date +'%Y-%m-%d %H:%M:%S'

        显示格式如下:

2016-01-27 19:40:26

        如果想要明白%Y等字符代表的含义,man一下date命令即可。

        (2) 修改系统时钟

            修改系统时钟有三种方式:手动输入、网络同步、和硬件时钟同步。

            手动输入的方式:想要将时钟设置为指定的格式,方法是使用

date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

命令,具体使用方法如下:

root@kdyzm:/home/kdyzm# date -u '120202022012.32'
2012年 12月 02日 星期日 02:02:32 UTC

            或者直接将时间和硬件时钟同步:

hwclock -s

    

2.显示和修改硬件时钟

hwclock

        该命令显示硬件时钟信息,但是需要管理员权限才行。

hwclock -w

        该命令将系统时钟信息复制到硬件时钟。

hwclock -s

        该命令将硬件时钟复制到系统时钟。


十一、日历查看

    使用

cal

    命令能够查看日历信息。不不常用,可以是使用man命令查看更加详细的使用方法。


十二、使用printf和echo打印信息

比较简单,略。


十三、如何查看文件类型
file FILENAME

file 命令的另外一个常用的方法:

file `ls`

该命令用于查看当前目录中所有的文件类型,等价于

file $(ls)