初识Linux

一、常见Linux的发行版有哪些?不同发行版之间的联系与区别

★debian:ubuntu,mint

★slackware:SUSE Linux Enterprise Server (SLES),OpenSuse桌面

★redhat: Red Hat Enterprise,每18个月发行一个新版本

               CentOS,兼容RHEL的格式

               中标麒麟,中标软件

               Fedora,每6个月发行一个新版本

★ArchLinux:轻量简洁

★Gentoo:极致性能,不提供传统意义的安装程序

★LFS: Linux From scratch 自制Linux

★Android: kernel+busybox(工具集)+java虚拟机

联系

★都使用Linux内核

★发行版本号命名规则:主版本号.次版本号.末版本号.打包版本号.厂商版本号

★需遵守GNU通用公共许可协议

区分

★发行版有的是合作组织来维护,有的是企业公司来维护。例如前者有debian,后者有redhat

★发行版使用的软件包管理器有可能不同。例如debian使用dpkg作为软件包管理器,应用程序管理器为apt-get。redhat使用rpm作为软件包管理器,应用程序管理器为yum。SUSE使用rpm作为软件包管理器,应用程序管理器为zypper。

参考链接:https://www.cnblogs.com/otosis/p/5914102.html

下图来源网站 https://futurist.se/gldt/2012/10/29/gnulinux-distribution-timeline-12-10/

二、打印显示当前时间,格式是:20181209211008

要求格式为:年月日时分秒 即:CCYYMMDDhhmmss

man date 查阅date的manual帮助得知

    date [OPTION]... [+FORMAT]

    %Y year

    %m month (01..12)

    %d day of month (e.g., 01)

    %H hour (00..23)

    %M minute (00..59)

     %S second (00..60)

因此得出 date +%Y%m%d%H%M%S

后附查阅到的date的manual帮助

NAME

      date - print or set the system date and time

SYNOPSIS

      date [OPTION]... [+FORMAT]

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

DESCRIPTION

      Display the current time in the given FORMAT, or set the system date.

      Mandatory arguments to long options are mandatory for short options too.

      -d, --date=STRING

              display time described by STRING, not 'now'

      -f, --file=DATEFILE

              like --date once for each line of DATEFILE

      -I[TIMESPEC], --iso-8601[=TIMESPEC]

              output date/time in ISO 8601 format.  TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision.

      -r, --reference=FILE

              display the last modification time of FILE

      -R, --rfc-2822

              output date and time in RFC 2822 format.  Example: Mon, 07 Aug 2006 12:34:56 -0600

      --rfc-3339=TIMESPEC

              output  date and time in RFC 3339 format.  TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision.  Date and time components are separated by

              a single space: 2006-08-07 12:34:56-06:00

      -s, --set=STRING

              set time described by STRING

      -u, --utc, --universal

              print or set Coordinated Universal Time (UTC)

      --help display this help and exit

      --version

              output version information and exit

      FORMAT controls the output.  Interpreted sequences are:

      %%    a literal %

      %a    locale's abbreviated weekday name (e.g., Sun)

      %A    locale's full weekday name (e.g., Sunday)

      %b    locale's abbreviated month name (e.g., Jan)

      %B    locale's full month name (e.g., January)

      %c    locale's date and time (e.g., Thu Mar  3 23:05:25 2005)

      %C    century; like %Y, except omit last two digits (e.g., 20)

      %d    day of month (e.g., 01)

      %D    date; same as %m/%d/%y

      %e    day of month, space padded; same as %_d

      %F    full date; same as %Y-%m-%d

      %g    last two digits of year of ISO week number (see %G)

      %G    year of ISO week number (see %V); normally useful only with %V

      %h    same as %b

      %H    hour (00..23)

      %I    hour (01..12)

      %j    day of year (001..366)

      %k    hour, space padded ( 0..23); same as %_H

      %l    hour, space padded ( 1..12); same as %_I

      %m    month (01..12)

      %M    minute (00..59)

      %n    a newline

      %N    nanoseconds (000000000..999999999)

      %p    locale's equivalent of either AM or PM; blank if not known

      %P    like %p, but lower case

      %r    locale's 12-hour clock time (e.g., 11:11:04 PM)

      %R    24-hour hour and minute; same as %H:%M

      %s    seconds since 1970-01-01 00:00:00 UTC

      %S    second (00..60)

      %t    a tab

      %T    time; same as %H:%M:%S

      %u    day of week (1..7); 1 is Monday

      %U    week number of year, with Sunday as first day of week (00..53)

      %V    ISO week number, with Monday as first day of week (01..53)

      %w    day of week (0..6); 0 is Sunday

      %W    week number of year, with Monday as first day of week (00..53)

      %x    locale's date representation (e.g., 12/31/99)

      %X    locale's time representation (e.g., 23:13:48)

      %y    last two digits of year (00..99)

      %Y    year

      %z    +hhmm numeric time zone (e.g., -0400)

      %:z    +hh:mm numeric time zone (e.g., -04:00)

      %::z  +hh:mm:ss numeric time zone (e.g., -04:00:00)

      %:::z  numeric time zone with : to necessary precision (e.g., -04, +05:30)

      %Z    alphabetic time zone abbreviation (e.g., EDT)

      By default, date pads numeric fields with zeroes.  The following optional flags may follow '%':

      -      (hyphen) do not pad the field

      _      (underscore) pad with spaces

      0      (zero) pad with zeros

      ^      use upper case if possible

      #      use opposite case if possible

      After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations  if  available,

      or O to use the locale's alternate numeric symbols if available.

ENVIRONMENT

      TZ    Specifies the timezone, unless overridden by command line parameters.  If neither is specified, the setting from /etc/localtime is used.

EXAMPLES

      Convert seconds since the epoch (1970-01-01 UTC) to a date

              $ date --date='@2147483647'

      Show the time on the west coast of the US (use tzselect(1) to find TZ)

              $ TZ='America/Los_Angeles' date

      Show the local time for 9AM next Friday on the west coast of the US

              $ date --date='TZ="America/Los_Angeles" 09:00 next Fri'

      GNU coreutils online help: Report date translation bugs to

DATE STRING

      The  --date=STRING  is  a  mostly  free  format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29 16:21:42" or even "next Thursday".  A date

      string may contain items indicating calendar date, time of day, time zone, day of week, relative time, relative date, and numbers.  An empty string indicates the beginning of

      the day.  The date string format is more complex than is easily documented here but is fully described in the info documentation.

AUTHOR

      Written by David MacKenzie.

COPYRIGHT

      Copyright © 2013 Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3 or later .

      This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

      The full documentation for date is maintained as a Texinfo manual.  If the info and date programs are properly installed at your site, the command

              info coreutils 'date invocation'

      should give you access to the complete manual.

三、实现晚上20:30自动关机,并提示用户

man shutdown 查阅shutdown的manual帮助得知

shutdown [OPTIONS...] [TIME] [WALL...]

因此得出 shutdown 20:30 'The system will be shutdown AT 20:30.'

后附查阅到的shutdown的manual帮助

NAME

      shutdown - Halt, power-off or reboot the machine

SYNOPSIS

      shutdown [OPTIONS...] [TIME] [WALL...]

DESCRIPTION

      shutdown may be used to halt, power-off or reboot the machine.

      The first argument may be a time string (which is usually "now"). Optionally, this may be followed by a wall message to be sent to all logged-in users before going down.

      The time string may either be in the format "hh:mm" for hour/minutes specifying the time to execute the shutdown at, specified in 24h clock format. Alternatively it may be in

      the syntax "+m" referring to the specified number of minutes m from now.  "now" is an alias for "+0", i.e. for triggering an immediate shutdown. If no time argument is

      specified, "+1" is implied.

      Note that to specify a wall message you must specify a time argument, too.

      If the time argument is used, 5 minutes before the system goes down the /run/nologin file is created to ensure that further logins shall not be allowed.

OPTIONS

      The following options are understood:

      --help

          Print a short help text and exit.

      -H, --halt

          Halt the machine.

      -P, --poweroff

          Power-off the machine (the default).

      -r, --reboot

          Reboot the machine.

      -h

          Equivalent to --poweroff, unless --halt is specified.

      -k

          Do not halt, power-off, reboot, just write wall message.

      --no-wall

          Do not send wall message before halt, power-off, reboot.

      -c

          Cancel a pending shutdown. This may be used cancel the effect of an invocation of shutdown with a time argument that is not "+0" or "now".

EXIT STATUS

      On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

      systemd(1), systemctl(1), halt(8), wall(1)

四、总结历史命令管理以及用法

        登录shell时,系统会读取~/.bash_history中的历史命令到缓存中。之后所有的命令操作都会先记录在缓存中,只有在用户正常退出的时候才会将缓存中新增的命令保存到~/.bash_history中。若用户非正常退出则可能丢失缓存中的历史命令。为避免此种情况发生,可以在系统操作中途可以输入history -a追加本次会话新执行的命令历史列表至历史文件。

        若要完全清空历史记录不留痕迹,需要先删除~/.bash_history里的内容,再用history -c清空缓存中未保存的历史命令。


五、总结Linux帮助用法

        会使用帮助,自己解决问题特别重要。

        在Linux中获得帮助的途径有一下这些:

                whatis 命令。可以查看命令的man帮助出现在哪些章节,找到自己需要的章节。

                命令 --help

                man 章节 命令

                info 命令

                /usr/share/doc/

                Red Hat documentation

                其它网站和搜索

        

你可能感兴趣的:(初识Linux)