计算机原理

  1. 计算机由CPU、存储器、输入设备、输出设备组成。

CPU的功能:对数据运算加工,控制设备等

存储器的功能:存储数据,加载程序

输入设备:下指令,提供数据等

输出设备:输出数据加工的结果

  1. linux发行版本:Debian:ubuntu、knopix

Slackware:S.u.S.E、SLES、openSUSE

RedHat:Redhat 9.0、RedHat Enterprise Linux:RHEL,收费的企业版,有售后有技术支持。

CentOS:Community ENTerprise OS,和RHEL一样,免费,不提供技术支持

Fedora Core:6个月发行一次

  1. linux的哲学思想:一切皆文件,把几乎所有资源统统抽象为文件形式;包括硬件设备,      甚至通信接口等;
  2. 由众多功能单一的程序组成:一个程序只帮一件事,并且做好;组合小程序完成复杂任务;

3.尽量避免跟用户交互;目标:易于以编程的方式实现自动化任务;

4.使用文本文件保存配置信息;

  1. linux系统上命令的使用格式:COMMAND(命令)+OPTIONS(选项)+ARGUMENTS(参数)

COMMAND:

发起命令:请求内核将某个二进制程序运行为一个进程;

程序运行为进程:由硬盘静态程序加载到内存;

命令本身是一个可执行的程序文件;二进制格式的文件,有可能会调用共享库文件;

多数系统程序文件都存放在:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

普通命令:/bin, /usr/bin, /usr/local/bin

管理命令:/sbin, /usr/sbin, /usr/local/sbin

Ifconfig命令:查看活动接口的ip地址

显示网络设备信息(激活状态的): [root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:16:3E:00:1E:51 inet addr:10.160.7.81 Bcast:10.160.15.255 Mask:255.255.240.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:61430830 errors:0 dropped:0 overruns:0 frame:0 TX packets:88534 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3607197869 (3.3 GiB) TX bytes:6115042 (5.8 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:56103 errors:0 dropped:0 overruns:0 frame:0 TX packets:56103 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5079451 (4.8 MiB) TX bytes:5079451 (4.8 MiB)

说明: eth0表示第一块网卡,其中HWaddr表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是00:16:3E:00:1E:51。 inet addr用来表示网卡的IP地址,此网卡的IP地址是10.160.7.81,广播地址Bcast:10.160.15.255,掩码地址Mask:255.255.240.0。 lo是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回坏地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。 第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)。 第二行:网卡的IP地址、子网、掩码。 第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节。 第四、五行:接收、发送数据包情况统计。 第七行:接收、发送数据字节数统计信息。
echo命令:回显命令

1.显示普通字符串:

echo “It is a test”

这里的双引号完全可以省略,以下命令与上面实例效果一致:

echo It is a test

tty命令:查看终端设备:

Startx:用来启动X Window,实际上启动X window的程序为xinit。

实例:要在工作站上或X终端上启动X会话,请输入:startx

Export:用于设置或显示环境变量。

实例:列出当前所有的环境变量:export -p

# export -p //列出当前的环境变量值

declare -x HOME=“/root“

declare -x LANG=“zh_CN.UTF-8“

declare -x LANGUAGE=“zh_CN:zh“

declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“

declare -x LESSOPEN=“| /usr/bin/lesspipe %s“

declare -x LOGNAME=“root“

declare -x LS_COLORS=““

declare -x MAIL=“/var/mail/root“

declare -x OLDPWD

declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“

declare -x PWD=“/root“

declare -x SHELL=“/bin/bash“

declare -x SHLVL=“1“

declare -x SPEECHD_PORT=“6560“

declare -x SSH_CLIENT=“192.168.1.65 1674 22“

declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“

declare -x SSH_TTY=“/dev/pts/2“

declare -x TERM=“XTERM“

declare -x USER=“root“

declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“

Pwd:用于显示工作目录,执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。

实例:查看当前所在目录:# pwd/root/test           #输出结果

History命令:用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史缓冲区中的目录写入命令文件。

实例:使用history命令显示最近使用的10条历史命令,输入如下命令:

[root@localhost ~]# history 10 92 ls 93 cd .. 94 ls 95 exit 96 ls -a 97 cd .ssh/ 98 ls 99 cat known_hosts 100 exit 101 history 10
shutdown命令:可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown也可以用来重开机,使用权限:系统管理者。

语法

shutdown [-t seconds] [-rkhncfF] time [message]

参数说明

  • -t seconds : 设定在几秒钟之后进行关机程序
  • -k : 并不会真的关机,只是将警告讯息传送给所有只用者
  • -r : 关机后重新开机
  • -h : 关机后停机
  • -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
  • -c : 取消目前已经进行中的关机动作
  • -f : 关机时,不做 fcsk 动作(检查 Linux 档系统)
  • -F : 关机时,强迫进行 fsck 动作
  • time : 设定关机的时间
  • message : 传送给所有使用者的警告讯息

实例

立即关机

# shutdown -h now

Poweroff命令:用来关闭计算机操作系统并且切断系统电源。

语法 poweroff(选项) 选项 -n:关闭操作系统时不执行sync操作; -w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中; -d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录; -f:强制关闭操作系统; -i:关闭操作系统之前关闭所有的网络接口; -h:关闭操作系统之前将系统中所有的硬件设置为备用模式。 实例 如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。 使用poweroff立即关闭系统: poweroff

reboot命令:用来重新启动计算机。

语法

reboot [-n] [-w] [-d] [-f] [-i]

参数

  • -n : 在重开机前不做将记忆体资料写回硬盘的动作
  • -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
  • -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
  • -f : 强迫重开机,不呼叫 shutdown 这个指令
  • -i : 在重开机之前先把所有网络相关的装置先停止

实例

重新启动

# reboot

Hwclock命令:用于显示与设定硬件时钟。

在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

语法

hwclock [–adjust][–debug][–directisa][–hctosys][–show][–systohc][–test][–utc][–version][–set –date=<日期与时间>]

参数

  • –adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
  • –debug  显示hwclock执行时详细的信息。
  • –directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
  • –hctosys  将系统时钟调整为与目前的硬件时钟一致。
  • –set –date=<日期与时间>  设定硬件时钟。
  • –show  显示硬件时钟的时间与日期。
  • –systohc  将硬件时钟调整为与目前的系统时钟一致。
  • –test  仅测试程序,而不会实际更改硬件时钟。
  • –utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
  • –version  显示版本信息。

实例

显示当前时间

# hwclock 2010年05月27日 星期四 18时04分31秒 -0.704214 seconds

查看版本信息

# hwclock -v

hwclock from util-linux-2.12a

Date命令:Linux date命令可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下:

时间方面:

  • % : 印出 %
  • %n : 下一行
  • %t : 跳格
  • %H : 小时(00..23)
  • %I : 小时(01..12)
  • %k : 小时(0..23)
  • %l : 小时(1..12)
  • %M : 分钟(00..59)
  • %p : 显示本地 AM 或 PM
  • %r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
  • %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
  • %S : 秒(00..61)
  • %T : 直接显示时间 (24 小时制)
  • %X : 相当于 %H:%M:%S
  • %Z : 显示时区

日期方面:

  • %a : 星期几 (Sun..Sat)
  • %A : 星期几 (Sunday..Saturday)
  • %b : 月份 (Jan..Dec)
  • %B : 月份 (January..December)
  • %c : 直接显示日期与时间
  • %d : 日 (01..31)
  • %D : 直接显示日期 (mm/dd/yy)
  • %h : 同 %b
  • %j : 一年中的第几天 (001..366)
  • %m : 月份 (01..12)
  • %U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
  • %w : 一周中的第几天 (0..6)
  • %W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
  • %x : 直接显示日期 (mm/dd/yy)
  • %y : 年份的最后两位数字 (00.99)
  • %Y : 完整年份 (0000..9999)

若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数。

使用权限:所有使用者。

当您不希望出现无意义的 0 时(比如说 1999/03/07),则可以在标记中插入 – 符号,比如说 date ‘+%-H:%-M:%-S’ 会把时分秒中无意义的 0 给去掉,像是原本的 08:09:04 会变为 8:9:4。另外,只有取得权限者(比如说 root)才能设定系统时间。

当您以 root 身分更改了系统时间之后,请记得以 clock -w 来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续抱持最新的正确值。

语法

date [-u] [-d datestr] [-s datestr] [–utc] [–universal] [–date=datestr] [–set=datestr] [–help] [–version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

参数说明

  • -d datestr : 显示 datestr 中所设定的时间 (非系统时间)
  • –help : 显示辅助讯息
  • -s datestr : 将系统时间设为 datestr 中所设定的时间
  • -u : 显示目前的格林威治时间
  • –version : 显示版本编号

实例

显示当前时间

# date三 5月 12 14:08:12 CST 2010# date ‘+%c’ 2010年05月12日 星期三 14时09分02秒# date ‘+%D’ //显示完整的时间05/12/10# date ‘+%x’ //显示数字日期,年份两位数表示2010年05月12日# date ‘+%T’ //显示日期,年份用四位数表示14:09:31# date ‘+%X’ //显示24小时的格式14时09分39秒

按自己的格式输出

# date ‘+usr_time: $1:%M %P -hey’

usr_time: $1:16 下午 -hey

显示时间后跳行,再显示目前日期

date ‘+%T%n%D’

显示月份与日数

date ‘+%B %d’

显示日期与设定时间(12:34:56)

date –date ’12:34:56′

  1. 如何在linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。

获取命令的使用帮助:

内部命令:

help COMMAND

外部命令:

(1) 命令自带简要格式的使用帮助

# COMMAND –help

(2) 使用手册:manual

位置:/usr/share/man

# man COMMAND

 

SECTION:

NAME:功能性说明

SYNOPSIS:语法格式

DESCRIPTION:描述

OPTIONS:选项

EXAMPLES:使用示例

AUTHOR: 作者

BUGS: 报告程序bug的方式

SEE ALSO: 参考

 

SYNOPSIS:

[]:可选内容;

<>:必须提供的内容;

a|b|c:多选一;

…:同类内容可出现多个;

 

使用手册:压缩格式的文件,有章节之分;

/usr/share/man

man1, man2, …

 

1:用户命令;

2:系统调用;

3:C库调用;

4:设备文件及特殊文件;

5:文件格式;(配置文件格式)

6:游戏使用帮助;

7:杂项;

8:管理工具及守护进行;

  1. 请罗列linux发行版的基础目录名称命令法则及功用规定。

Linux文件系统:

 

Linux:glibc

程序编译方式:

动态链接

静态编译

 

进程的类型:

终端:硬件设备,关联一个用户接口

 

与终端相关:通过终端启动

与终端无关:操作引导启动过程当中自动启动

 

操作系统的组成:

静态:kernel, application

 

文件系统:层级结构

 

FHS:

Filesystem Hierarchy Standard

/bin:所有用户可用的基本命令程序文件;

/sbin:供系统管理使用的工具程序;

/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;

/dev:存储特殊文件或设备文件;

设备有两种类型:字符设备(线性设备)、块设备(随机设备);

/etc:系统程序的配置文件,只能为静态;

/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;

/root:管理员的家目录;可选;

/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块

libc.so.*:动态链接的C库;

ld*:运行时链接器/加载器;

modules:用于存储内核模块的目录;

/lib64:64位系统特有的存放64位共享库的路径;

/media:便携式设备挂载点,cdrom, floppy等;

/mnt:其它文件系统的临时挂载点;

/opt:附加应用程序的安装位置;可选路径;

/srv:当前主机为服务提供的数据;

/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;

/usr:usr Hierarchy,全局共享的只读数据路径;

bin, sbin

lib, lib64

include:C程序头文件;

share:命令手册页和自带文档等架构特有的文件的存储位置

local:另一个层级目录;

X11R6:X-Window程序的安装位置

src:程序源码文件的存储位置

/usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;

/var:/var Hierarchy,存储常发生变化的数据的目录;

cache Application cache data

lib Variable state information

local Variable data for /usr/local

lock Lock files

log Log files and directories

opt Variable data for /opt

run Data relevant to running processes

spool Application spool data

tmp Temporary files preserved between system reboots

 

/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;

/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;

 

参考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89478

(0)
华
上一篇 2017-12-04
下一篇 2017-12-04

相关推荐

  • 流式传输的两大主流种类及流式传输特点

     流式传输定义很广泛,现在主要指通过网络传送媒体(如视频、音频)的技术总称。其特定含义为通过Internet 将影视节目传送到PC机。实现流式传输有两种方法:实时流式传输(Realtime streaming)和顺序流式传输(progressive streaming)。(百度百科)     在网络上传输音/视频(英文…

    Linux干货 2015-04-10
  • N28-第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。

    2、编辑/etc/group文件,添加组hadoop。

    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。

    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。

    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

    9、找出/etc/passwd文件中的一位数或两位数;

    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    Linux干货 2017-12-26
  • Haproxy+keepalivd+LAMP

    目录 一、试验部署 1、实验要求 2、实验准备 3、拓扑结构 4、网络规划 二、基础设置 1、LAMP配置 2、HAProxy配置 3、Keepalived配置 三、测试 四、总结 一、试验部署 1、实验要求 (1) 动静分离部署wordpress,动静都要能实现负载均衡,要注意会话的问题; (2) 给出设计拓扑,写成博客; (3)haproxy的设定要求:…

    2017-05-18
  • JoSQL内存数据库远程代码执行漏洞(含EXP)

    JoSQL全称SQL for Java Objects,提供了应用SQL语句的Java对象的集合的能力开发,JoSQL提供了搜索,排序,group等对Java对象的集合进行类似SQL的查询应该应用的功能。 例如,查找所有在2004年内修改过的html文件: SELECT * FROM   java.io.File WH…

    Linux干货 2015-03-06
  • Linux bash 特性、相关变量以及编程

    Linux bash 特性、相关变量以及编程 bash 特性之:命令hash 缓存此前执行过的命令(都是外部命令,不记录内嵌命令),加速命令的执行 hash    -d 清空指定命令记录   -r 直接清空hash表 bash 特性之一: 变量 程序=指令+数据 指令是有文件提供 数据是由…

    Linux干货 2016-12-29
  • VIM编辑器

    VIM是什么? Vim是从VI发展出来的一个文本编辑器,拥有许多丰富的功能,便于编程开发,在程序员中被广泛使用,是类Unix系统用户最喜欢的功能强大的跨平台文本文件编辑工具。 为什么要用VIM? vi编辑器是所有类UNIX系统下标准的编辑器,他是我们使用Linux系统不能缺少的工具。对于所有类UNIX系统的任何版本,vi编辑器是完全相同的。而vim是从VI发…

    2017-06-03