1,计算机的组成
计算机由软件和硬件组成
硬件:
主要是冯诺伊曼体系的计算机;组成主要有:运算器,控制器,存储设备,输入设备,输出设备
现在运算器和控制器合称CPU,主要负责控制程序的执行,数据的运算,是计算机的核心
存储设备分为主存储器和外部存储,主存储器一般是内存,外部存储是硬盘
内存是直接和CPU做数据交换的设备,运行的程序从硬盘读取到内存,CPU再从内存取得指令和数据进行运算
输入/输出设备是计算机与用户交互的工具,用输入设备对计算机发起操作,由CPU运算处理后返回到输出设备展示给用户
软件:
主要包括操作系统,和操作系统外围的辅助软件,比如与用户交互的shell、图形界面、编程接口等,以及运行在操作系统之上的各种应用程序
操作系统:用于PC机的Windows,和服务器端的Linux,Unix;操作系统主要功能就是整合硬件资源,将各种硬件设备的功能抽象成调用接口,提供给上层的软件,支撑所有程序的运行
2、Linux的发行版本
Linux就是一个内核,由C语言编写的程序代码,经过编译可以安装运行在硬件上;然后有不同的公司对内核进行修改,并添加了很多额外的功能,方便用户操作,最后发布,就是网上各种各样不同的Linux发行版
主流的是redhat系列、debain系列和suse
redhat:redhat是一家公司,针对商业市场发布了不同 的Linux发行版,其中有收费的redhat,免费的centos,测试更新较快的fedora;
suse:是德国著名的Linux发行版,有很多自主开发的工具非常优秀
debain:包括debain 和基于debain改良的ubuntu,ubuntu的图形界面非常友好,是很不错的桌面系统
3、Linux的哲学思想
a一切皆文件;系统中所有的操作都与文件有关,包括设备都以文件的形式保存,通过修改文件就可以操作系统
b小型,单一用途的程序;任何程序都功能单一,更好的完成一种功能
c连接程序,共同完成复杂功能;各个程序之间可以联合一起完成比较复杂的任务
d避免与用户交互,执行程序后直接运行结束输出结果
e配置数据以文本数据存储在文件中,通过一款文本编辑器就可以完成绝大多数配置的修改
4、Linux命令使用格式
大部分命令都遵循一个通用的格式:COMMAND OPTIONS ARGUMENT
选项有时是可以省略的,但是通过选项可以修改命令的执行特性,输出不同的结果,完成不同的任务
参数一般是命令的执行对象,大部分是必须给出的
常用命令:
ifconfig:主要是用于查看,修改网卡的信息,比如ip
直接输入ifconfig,执行后会显示当前系统中已经启用的网卡信息,没有启用的是查看不到的;也可以在后面跟上网卡名称,就是查看指定的网卡信息
ifconfig -a :可以查看所有的网卡信息
ifconfig INTERFACE IPADDR/NETMASK:可以修改指定网卡的ip地址
echo:将一段数据传输到标准输出
选项:
-e 可以支持一些特殊字符,对输出的数据进行修饰
-n 默认echo输出的数据是会自动换行的,-n之后就不会输出换行符
[root@localhost ~]# echo -n -e “hello world\n”
hello world
tty:显示当前使用的终端文件名
[root@localhost ~]# tty
/dev/pts/1
startx:初始化X会话,打开图形界面
export:新增,查看,修改环境变量
export -p :查看当前所有环境变量
[root@localhost ~]# export -p
declare -x HISTCONTROL=”ignoredups”
declare -x HISTSIZE=”1000″
declare -x HOME=”/root”
declare -x HOSTNAME=”localhost.localdomain”
declare -x KDEDIRS=”/usr”
declare -x LANG=”zh_CN.UTF-8″
declare -x LESSOPEN=”||/usr/bin/lesspipe.sh %s”
declare -x LOGNAME=”root”
declare -x LS_COLORS=”rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:”
declare -x MAIL=”/var/spool/mail/root”
declare -x OLDPWD
declare -x PATH=”/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin”
declare -x PWD=”/root”
declare -x QTDIR=”/usr/lib64/qt-3.3″
declare -x QTINC=”/usr/lib64/qt-3.3/include”
declare -x QTLIB=”/usr/lib64/qt-3.3/lib”
declare -x QT_GRAPHICSSYSTEM_CHECKED=”1″
declare -x QT_PLUGIN_PATH=”/usr/lib64/kde4/plugins:/usr/lib/kde4/plugins”
declare -x SHELL=”/bin/bash”
declare -x SHLVL=”1″
declare -x SSH_CLIENT=”192.168.1.101 56411 22″
declare -x SSH_CONNECTION=”192.168.1.101 56411 192.168.1.105 22″
declare -x SSH_TTY=”/dev/pts/2″
declare -x TERM=”xterm”
declare -x USER=”root”
declare -x XDG_RUNTIME_DIR=”/run/user/0″
declare -x XDG_SESSION_ID=”61″
export 新增变量:
[root@localhost ~]# export NAME=wang
[root@localhost ~]# echo “$NAME”
wang
export 修改环境变量:
[root@localhost ~]# echo “$PATH”
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# export PATH=$PATH:/root
[root@localhost ~]# echo “$PATH”
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root
pwd:输出当前工作目录的绝对路径
[root@localhost ~]# pwd
/root
history:查看,删除,引用当前系统存储的历史命令,HISTSIZE是相关的环境变量,设置了系统缓存历史命令的数量,默认是1000条,同时在用户家目录中有.bash_history文件来保存历史命令
history:直接查看所有的历史命令
history -c 删除所有历史记录
[root@localhost ~]# history -c
[root@localhost ~]# history
11 history
history -r 读取历史记录文件,导入到当前系统中
history -w 将当前系统中缓存的历史命令保存到文件中
!COMMAND:可以引用相匹配的最近一条命令
shutdown:关机,重启命令
shutdown -r time 在指定的时间重启
[root@localhost ~]# shutdown -r 5
Shutdown scheduled for 二 2018-06-19 17:55:52 CST, use ‘shutdown -c’ to cancel.
[root@localhost ~]#
Broadcast message from root@localhost.localdomain (Tue 2018-06-19 17:50:52 CST):
The system is going down for reboot at Tue 2018-06-19 17:55:52 CST!
shutdown -c 取消之前的关机或者重启命令
[root@localhost ~]# shutdown -c
Broadcast message from root@localhost.localdomain (Tue 2018-06-19 17:51:27 CST):
The system shutdown has been cancelled at Tue 2018-06-19 17:52:27 CST!
[root@localhost ~]#
shutdown -h time 在指定时间关机
[root@localhost ~]# shutdown -h 10
Shutdown scheduled for 二 2018-06-19 18:02:14 CST, use ‘shutdown -c’ to cancel.
[root@localhost ~]#
Broadcast message from root@localhost.localdomain (Tue 2018-06-19 17:52:14 CST):
The system is going down for power-off at Tue 2018-06-19 18:02:14 CST!
poweroff:关机命令
reboot:重启命令
hwclock:查看或者设置硬件时钟
hwclock -r 查看硬件时钟
[root@localhost ~]# hwclock -r
2018年06月19日 星期二 17时58分35秒 -0.353670 秒
hwclock –set –date=”TIME” 手动设置硬件时钟的时间
[root@localhost ~]# hwclock –set –date=”1999-05-12 15:24:54″
[root@localhost ~]# hwclock
1999年05月12日 星期三 15时24分57秒 -0.258973 秒
hwclock -s 以硬件时间为标准,修改系统时间date
[root@localhost ~]# hwclock -s
[root@localhost ~]# hwclock -r
1999年05月12日 星期三 15时26分55秒 -0.493930 秒
[root@localhost ~]# date
1999年 05月 12日 星期三 15:27:01 CST
hwclock -w 以系统时间date 为准,修改当前的硬件时间
[root@localhost ~]# hwclock -r
1999年10月12日 星期二 12时21分45秒 -0.461995 秒
[root@localhost ~]# hwclock -w
[root@localhost ~]# hwclock -r
2018年06月19日 星期二 18时14分12秒 -0.336793 秒
date:查看修改系统时间,可以按照指定的格式输出当前时间
[root@localhost ~]# date
2018年 06月 19日 星期二 18:15:06 CST
date提供了很多指定的格式,可以在命令后面直接使用,输出指定的时间
[root@localhost ~]# date +%T
18:19:31
[root@localhost ~]# date +%Y%m%d
20180619
[root@localhost ~]# date +%D
06/19/18
5、获取命令的帮助
Linux中命令一般分为内置命令和外部命令
可以使用type COMMAND 查看命令的类型
[root@localhost ~]# type ls
ls 是 `ls –color=auto’ 的别名
[root@localhost ~]# type cd
cd 是 shell 内嵌
内置命令使用 help COMMAND 获取帮助
[root@localhost ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
Change the shell working directory.
[root@localhost ~]# help history
history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数…]
显示或操纵历史列表。
外部命令一般可以使用 man 命令获取帮助文档
[root@localhost ~]# man date
[root@localhost ~]# man ls
[root@localhost ~]# man man
man命令获取的帮助文档是分章节的,默认使用man命令是从第一个章节开始向后查找,显示第一个查找到的帮助文档,一般是8个章节
1:用户指令
2:系统调用
3:程序库调用
4:设备
5:文件格式
6:游戏
7:杂项
8:系统指令
在使用man查找帮助的时候可以直接指定章节来进行查找
[root@localhost ~]# man passwd
PASSWD(1) User utilities PASSWD(1)
NAME
passwd – update user’s authentication tokens
[root@localhost ~]# man 5 passwd
PASSWD(5) File formats PASSWD(5)
NAME 名称
passwd – 密码文件
6、文件系统层次化标准Filesystem Hierarchy Standard;简称FHS
因为Linux发行版众多,为了避免不同系统的文件目录层次差距太大,方便用户使用,所以定义了一个标准,规定了一些基本的,必须存在的目录,并确定目录的用途;所有的Linux都遵循这个标准
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/101224