Linux简述与部分基础命令
计算机
什么是计算机?
计算机是一种能接收和存储信息,并根据存储在其内部的程序对输入的信息进行加工、处理,然后把处理结果输出的电子设备(借鉴)。家用电脑(pc)、服务器(server)均可称为计算机
计算机的组成部分
计算机由运算器、控制器、存储器、输入、输出设备五部分组成
运算器、控制器:统称为“CPU”,做算数运算以及控制总线内存寻址等功能
存储器:称为内存,用于暂时存放CPU中的运算数据,以及与硬盘等外部存储交换的数据
输入设备:为cpu下指令,提供数据书写的设备
输出设备:输出数据加工的结果并显示出来的设备
什么是Linux?
Linux是一套免费开源使用和自由传播的类Unix系统,是一个基于多用户、多任务、支持多线程和多CPU的操作系统。
Linux的主流发行版本
什么是发行版本:
Linux系统由于是一套遵循GPL协定的开源类Unix系统,所以很多技术牛人或企业都可对都可以拿到源代码,对系统进行再次编译。但是由于编译出来的新功能或新代码都是以二进制文件进行表示,所以很多人用起来不是很方便,所有某些企业或个人专门将各位牛人反馈给社区的源代码进行收集和重新编译封装成系统进行发布,供他人下载使用,我们将这样的系统称为发行版。
部分常用主流发行版厂商以及标志性系统如下:
Debian:
- Ubuntu
- Knopix
Slackware:
- S.u.S.E
- OpenSUSE
RedHat:
- Fedroa
- CentOS
上述这三个发型厂商是我个人比较注意的三个,其主要特点都是基于Linux的内核进行二次封装编译。
Linux的哲学思想
什么是哲学是想我不是很明白,我只知道一些简单的系统特点。如下:
1、一切皆文件,硬件也是以文件形式在系统中体现
2、由众多单一目的的小程序,一个程序只实现一个功能,多个这样的小程序组合在一起完成复杂任务
3、文本文件保存配置信息
4、运行均以进程体现,通过命令行将可执行文件调用配置文件运行成进程
常用命令
ifconfig:Linux系统中用于显示或配置网络设备的命令
语法:ifconfig [网络设备名称][down up -allmulti -arp -promisc][add<地址>][del<地址>][<硬件地址>] [media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>] [-pointopoint<地址>]
常用参数:
down 关闭指定的网络设备。
up 启动指定的网络设备。
-arp 打开或关闭指定接口上使用的ARP协议。前面加上一个负号用于关闭该选项。
add<地址> 设置网络设备的IP地址。
del<地址> 删除网络设备的IP地址。
mtu<字节> 设置网络设备的MTU。
netmask<子网掩码> 设置网络设备的子网掩码。
常用命令如下:
~]#ifconfig #显示当前网卡配置信息
~]#ifconfig eth0 192.168.0.1 netmask 255.255.255.0 #临时配置网卡地址重启后失效
~]#ifconfig eth0 down #将eth0网卡设置为down状态
~]#ifconfig eth0 up #将eth0网卡设置为up状态
echo:回显命令
语法:echo [-ne][字符串]或 echo [–help][–version]
参数:
-n:显示出内容不自动进行换行,显示内容后直接接命令提示符
-e:让转义符生效(让反斜线\在显示内容中换行)
\n:换行
\t:制表符(显示内容中空一个字符)
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
STRING可以使用引号,单引号和双引号均可用
单引号:强引用,变量引用不执行替换
root#echo ‘$SHELL’
$SHELL
双引号:弱引用,变量引用会被替换
root#echo “$SHELL”
显示环境变量内容
注意:变量引用正规符号
$(name),不过()可省略
tty:虚拟终端连接命令,默认系统可以连接6个虚拟终端
语法:tty [-s][–help][–version]
参数:
-s或–silent或–quiet 不显示任何信息,只回传状态代码。
–help 在线帮助。
–version 显示版本信息。
startx:图形终端命令,默认在那个虚拟终端启动,即位于那个虚拟终端
语法:startx(参数)
export:设置或显示环境变量
语法:export [-fnp][变量名称]=[变量设置值]
参数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量
pwd:显示当前工作
语法:pwd [ -L | -P ]
参数:
-L:如果 PWD环境变量包含了不包含文件名 .(点)或 ..(点点)的当前目录的绝对路径名,则显示 PWD 环境变量的值。否则,-L 标志与 -P 标志一样运行。
-P:显示当前目录的绝对路径名。与 -P 标志一起显示的绝对路径不包含在路径名的绝对路径中涉及到符号链接类型的文件的名称。
history:查看历史命令记录
语法:history(选项)(参数)
参数:
-c:清空当前历史命令
-a:将历史命令缓冲区中命令写入历史命令文件中
-r:将历史命令文件中的命令读入当前历史命令缓冲区
-w:将当前历史命令缓冲区命令写入历史命令文件中
shutdown:系统关机命令
语法:shutdown [-t seconds] [-rkhncfF] time [message]
参数:
-P执行关机
-a 取消关机
-s 关机
-f 强行关闭应用程序
-m \\计算机名 控制远程计算机
-i 显示“远程关机”图形用户界面,但必须是Shutdown的第一个参数
-l 注销当前用户
-r 关机并重启
-s -t 时间 设置关机倒计时
-h 休眠
Poweroff:系统关机命令
语法:poweroff(选项)
参数:
-n:关闭操作系统时不执行sync操作
-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中
-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录
-f:强制关闭操作系统
-i:关闭操作系统之前关闭所有的网络接口
-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
reboot:
语法:reboot(选项)
参数:
-d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果
-f:强制重新开机,不调用shutdown指令的功能
-i:在重开机之前,先关闭所有网络界面
-n:重开机之前不检查是否有未结束的程序
-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。
hwclock:硬件时钟访问工具
语法:hwclock(选项)
参数:
–adjust:hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟
–debug:显示hwclock执行时详细的信息.
–directisa:hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟
–hctosys:将系统时钟调整为与目前的硬件时钟一致
–set –date=<日期与时间>:设定硬件时钟
–show:显示硬件时钟的时间与日期
–systohc:将硬件时钟调整为与目前的系统时钟一致
–test:仅测试程序,而不会实际更改硬件时钟
–utc:若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作
–version:显示版本信息。
date:系统时间工具
语法:date(选项)(参数)
选项:
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号
-u:显示GMT; –help:在线帮助
–version:显示版本信息。
参数:
显示日期时间:date
date +%F(显示年、月、日)
date +%T(显示小时、分、秒)
date +%F-%T(显示年、月、日、小时、分、秒)
date +%c(显示星期几)
date +%Y(显示年)
date +%m(显示月)
date +%d(显示日)
date +%H(显示小时)
date +%M(显示分)
date +%S(显示秒)
date +%s(显示从1970年1月1日00:00:00-unix元年到现在所经过了多少秒)
date +%Y-%m-%d-%H-%M-%S(组合显示年月日小时分秒)
注意“+”只能出现一次,如果有空格出现,那么用“”将命令引用起来,表示空格符不是命令
设置日期时间:
date 月日小时分钟年.秒
例如改成:2013年10月10日8点8分8秒
~]#date 10100808082013.8
man命令
语法:man COMMAND
man手册说明:
section:
NAME:功能性说明
SYNOPSIS:语法说明
DESCRIPTION:描述
OPTIONS:选项
EXAMPLES:使用示例
AUTHOR:作者
NIGS:报告程序bug的方式
SEE ALSO:参考
SYNOPSIS:
[]:可选内容
<>:必须提供的内容
a|b|c:多选一
…:同类内容可出现多个
使用手册:压缩格式的文件,有章节之分
/usr/share/man
man1,man2….其中1、2代表如下:
1:用户命令
2:系统调用
3:C库调用
4:设备文件及特殊文件
5:文件格式:(配置文件格式)
6:游戏使用帮助
7:杂项
8:管理工具及守护进程
~]#man # COMMAND
~]#man 数字 命令
注意:并非每个COMMAND在所有章节下都有手册
查看:
~]#whatis COMMAND
注意:其执行过程是查询数据库进行的
手动更新数据库命令:
~]#makewhatis
man命令打开手册的操作方法:
翻屏操作:
空格键:向文件尾部翻一屏
b:向文件首部翻一屏
Ctrl+d:向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
回车键:向文件尾部翻一行
k:向文件首部翻一行
G:跳转至最后一行
数字G:跳转到指定行
1G:跳转至文件首部
文本搜索:
/关键词:从文件首部向文件尾部依次查找,不区分大小写
?关键词:从文件尾部向文件首部依次查找,不区分大小写
n命令:与查找命令方向相同,查看下一个关键词
N命令:与查找命令方向相反,查看上一个关键词
退出:
q:quit
选项:
-M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开
Linux发行版系统的基础目录名称命名法则及功用规定
/bin:所有用户可用的基本命令程序文件
/sbin:系统的二进制文件,系统管理员使用的工具程序
/boot:引导加载器必须用到的各静态文件:kernel、initramfs(initrd),grub等
/dev:当前系统上识别到的所有硬件设备文件。存储特殊文件或设备文件
设备有两种类型:
字符设备(线性设备,有时序性的):数据交换是以字符为单位进行的
块设备(随机设备):将多个字符打包成一个单位进行发送
/etc:主机特有的系统静态配置文件,只能为静态文件,不能是二进制文件
/home:普通用户家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户同名的子目录,/home/USERNAME
/root:管理员家目录,可选
/lib:基础共享库和内核模块,在系统启动或跟文件系统上的应用程序主要为/bin,/sbin提供共享库以及为内核提供内核模块
libc.so.*:动态链接的C库
ld*:运行时链接器或加载器
modules目录:存放内核模块的目录
/lib64:64位系统特有的存放64位共享库的路径
/mnt:其他文件系统临时挂载点
/media:便携式设备挂载点,cdrom,floppy等
/opt:第三方(附加应用程序)非关键程序的安装路径,可选路径
/srv:当前主机为服务提供的数据,不具有通用性
/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录,可供所有用户执行写入操作,具有特殊权限
/usr:全局共享只读数据路径
include:C程序头文件
share:命令手册页和自带文档等,架构特有的文件存储位置
local:另一个层级目录(hierarchy)
x11R6:x-windows程序的安装位置
src:程序源码文件的存储位置
/usr/lcoal:让系统管理员安装本地应用程序,也通常用于安装第三方应用程序
/var:存储经常发生变化数据的目录
/proc:基于内存的虚拟文件系统,用语为内核及进程存储相关信息的虚拟文件系统,他们多为内核参数,例如net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward,存储于/proc/sys,因此其完整路径为/proc/sys/net/ipv4/ip_forward
/sys:sysfs虚拟文件系统提供了一种比proc更为立项的访问内核数据的途径,其主要作用在与为管理LInux设备提供一种统一模型的接口
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89484
评论列表(1条)
博客内容整理的很好,一开始的内容比较基础,但很重要,需要坚持,再接再励!