四. Linux系统命令使用格式:
但首先,在linux中我们要知道linux系统中基本的命令格式如下:
命令字 【命令选项】 【命令参数】
Command 【option】 【arguments】
在这里主要介绍这几个命令的使用格式(Ifconfig,echo, tty, startx, export, pwd, history, shutdown, poweroff, reboot)
1. Ifconfig: 其实就是相关于Win的 Ipconfig.
此命令被用于配置和查看更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址等的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。
概要:
Ifconfig(参数) [-a] [-v] [-s] <interface>;
Ifconfig [-v] interface [aftype] options | address…
格式: ifconfig -interface [options] address.
以下为主要参数选项(Options):
-a:显示所有网络接口;
-s:显示摘要信息(类似于 netstat -i);
-interface:指定的网络接口名,如eth0和eth1。
-up:激活指定的网络接口卡。
-down:关闭指定的网络接口。
-broadcast address:设置接口的广播地址。
-pointopoint:启用点对点方式。
-address:设置指定接口设备的IP地址。
-netmask address:设置接口的子网掩码。
更多可man ifconfig查看说明。
例子:
1.如果要暂停某个网络接口的工作,可以使用down参数:
[命令] [接口] [参数]
#ifconfig eth0 down
2.手工配置网络, 给某个接口设置IP(10.200.60.200):
#ifconfig eth0 10.200.60.20 netmask 255.255.255.0 broadcast 10.200.60.255;
2. echo: 显示一行文本.
概要:
Echo [short-option]…[string]…
Echo Long-option
格式: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
语法:echo [-ne][字符串]或 echo [–help][–version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参数:
-n 不要在最后自动换行(与 -e 选项下的 \c 字符同意)
-E:关闭反斜线控制字符的转换(预设如此)
-e:启用反斜线控制字符的转换,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息
例子:
1.$ echo
$
只有一个空白行,然后又回到shell prompt(提示符)上了。这是因为 echo 在预设上,在显示完argument之后,还会送出一个换行符号(new-line charactor)。上面的命令没有任何的argument,结果就只剩下一个换行符号了。若要取消这个换行符号,可以利用echo的 -n option。
2.$ echo first line
first line
$ echo -n first line
first line $
在上两个 echo 命令中,你会发现 argument 的部分显示在你的屏幕,而换行符号则视 -n option的有无而别。很明显的,第二个echo由于换行符号被取消了,接下来的shell prompt就接在输出结果同一行了。
3.$ echo -e "Z\tX\tC\nA\tS\tD"
Z X C
A S D
了解 echo 的选项及控制字符,运用 \t 来区隔 ZXC 还有 ASD ,以及用 \n 将 ASD 换至下一行。
4.$ echo -ne "a\tb\tc\nd\te\bf\a"
a b c
d f $
因为 e 字母后面是删除键(\b),因此输入结果就没有e了。
在结束时听到一声铃响,那是\a的杰作!
由于同时使用了 -n 选项,因此 shell prompt 紧接在第二行之后。
若不用 -n 的话,那在\a后再加个\c,也是同样的效果。
事实上,在日后的 shell 操作及 shell script 设计上,echo 命令是最常用的命令之一。
比方说,用 echo 来检查变量值:
$ A=B
$ echo $A
B
$ echo $?
0
3. tty: 用于显示终端机连接标准输入设备的文件名称。在Linux操作系统中,所有外围设备都有其名称与代号,这些名称代号以特殊文件的类型存放于/dev目录下。你可以执行tty(teletypewriter)指令查询目前使用的终端机的文件名称。
语法:tty [-s][–help][–version]
参数:
-s或–silent或–quiet 不显示任何信息,只回传状态代码。
-help 在线帮助。
-version 显示版本信息。
简单例子:
显示当前终端
# tty
/dev/pts/4
4. startx: 用来启动X Window,实际上启动X Window的程序为xinit。
语法: startx(参数)
客户端及选项:X客户端及选项;
服务器及选项:X服务器及选项。
例子:
1. 要在工作站上或 X 终端上启动 X 会话,请输入:
startx
2. 要在工作站上强制启动 X 会话,请输入:
startx -w
3. 要为 X 终端启动 X 会话,并注销用户的 telnet 会话,请输入:
startx; kill -9 $$
5. export: 用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。
语法: export(选项)(参数)
选项:
-f:代表[变量名称]中为函数名称;
-n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中;
-p:列出所有的shell赋予程序的环境变量。
参数:
变量:指定要输出或者删除的环境变量。
例子:
export PATH=$PATH:/usr/local/bin #将/usr/local/bin加入环境变量中。
6. Pwd: 显示目前所在的目录。
例子:
# pwd
/root # 表示现在所有的目录为/root.
7. History: 用来显示曾执行过的命令,也可以根据显示的资料来重新执行需要的命令
参数:
-n: 显示n个最近的记录。(数字)
-a: 添加记录。
-r: 读取记录,但不会添加内容记录。
-w: 覆盖原有的history 文件。
-c: 清除记录。
-d<编号>[n]: 删除指定n条记录。
-n<文件>: 读取指定文件。
-r<文件>: 读取文件但不记录。
-w<文件>:覆盖原有文件。
例子:
#History 2
1 pwd
2 cd
8. Shutdown: 很简单的,就是一个以安全方式关闭系统的命令。
参数:
-a: 使用 /etc/shutdown.allow 来验证身份。
-t sec:(通知 init(8) 在转换到其它运行级别前,发送警告 (warning) 信号后延时 (sec) 秒数后再发送关闭 (kill) 信号。)
-k: 并非真正关机,只向所有人显示警告信息。
-r: 重启。
-h: 关机。
-f: 重启时跳过磁盘检测。
-c: 取消运行中的 shutdown 进程。
例子:
time 关机时间。
#Shutdown -r now(马上重启)
9. poweroff: 用来关闭计算机操作系统并且切断系统电源。
参数:
-n: 关于操作系统时不执行sync操作。
-w: 不真正关闭操作系统, 仅在日志文件 "/var/log/wtmp" 中。
-d: 关闭操作系统时,不将操作写入日志文件"/var/log/wtmp"中。
-f: 强制关闭系统。
-i: 关闭操作系统之前关闭所有网络接口。
-h: 关闭系统之前将系统中所有硬件设置为备用模式。
例子:
#Poweroff -f (强制关机)
10. reboot: 重启
参数:
-d: 重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有"-n"参数的效果。
-f: 强制重新开机,不调用shutdown指令的功能。
-i: 在重开机之前,先关闭所有网络界面。
-n: 重开机之前不检查是否有未结束的程序。
-w: 仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。
例子:
# reboot -f (强制重启)
11. Hwclock: 显示或设置硬件时钟时间
参数:
-adjust: hwclock每次更换硬件的时钟时, 会记录在"/ect/adjtime" 文件中. 使用这个参数可使hwclock根据先前的记录来估算硬件时钟的偏差。 用来校正目前硬件时钟.
-debug: 显示hwclock执行时详细的信息。
-hctosys: hwclock预设从"/dev/rtc"设备来存取硬件时钟, 无法存取时, 用此参数直接以I/O指令来存取硬件时钟。
-set -data=<日期与时间>: 将系统时间调整与目前的硬件时钟一致。
-show: 显示硬件时钟的时间与日期。
-systohc: 将硬件时钟调整为与目前的系统时钟一致。
-test: 仅测试程序,而不会实际更改硬件时钟。
-utc: 若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
例子:
#hwclock (显示当前硬件时钟)
xxxx年xx月xx日 星期X xx时xx分xx秒 -x.xxxx 秒
11. Date: 显示和设置系统日期与时间
参数:
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号
-u:显示GMT
–help:在线帮助
–version:显示版本信息
<+时间日期格式>:指定显示时使用的日期时间格式
以下为日期格式字符串列表:
%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%T 显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%d 一个月的第几天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)
例子:
#date + %Y-%m-%d (格式化输出)
XXXX-XX-XX(如2016-12-4)
五. Linux使用帮助命令的方法
主要有以下几种帮助命令: man、help、whatis、info、apropos.
先介绍其他几种,主要讲Man, 这是我个人认为比较好用的。
Help:
-h 或者 –help 帮助命令的使用详解
查看shell内置命令的帮助,可以使用-h或者 –help
#wget –help
或者为了方便查看,和less命令一起使用
#wget –help | less
或者是我直接查看我想用的参数的用法和解释:
#wget –help | grep proxy
#help cd
info:
可能有的命令没有man手册又或者不在指定的地方,此时,可能这个命令有info文档。
#info tar
apropos:
#apropos network(等同于man -k 命令,用关键字模糊搜索相关的命令,比如,我要搜索与网络相关的命令)
当然,这需要先建立建立搜索使用的数据库,当使用者命令发生错误时,就是whatis database没有建立。输入:
#makewhatis(建立搜索用的数据库)
whatis:
#whatis ls(获得索引的简短说明信息)
当然,这需要先建立建立搜索使用的数据库,当使用者命令发生错误时,就是whatis database没有建立。输入:
#makewhatis(建立搜索用的数据库)
man:
相对其他几个帮助手册,我觉得(man)是比较丰富齐全的。man是manual的缩写,man 本身也提供自己的帮助手册,通过man就可以查看。
man page大致分为一下部分:
NAME:简单命令、数据名称说明
SYNOPSIS:简短的命令语法(sysntax)简介
DESCRIPTION:较为完整的说明,需要认真阅读
OPTION:针对SYNOPSIS中列举的所有可用选项说明
COMMANDS:当这个软件在执行的时候,可用在此软件中使用命令
FILES:这个软件或数据所使用或参考或链接到的文件
SEE ALSE:可以参考的,与这个命令有关的其他说明
EXAMPLE:一些可以参考的范例,这个最好用
BUGS:是否有相关的bug
导出man手册:
man ls | col -bfp > ls.txt(导出ls命令的man手册)
1. man手册分为多个section, 每个Section用一个字符表示。(这里的section可以理解为类别,例如:man 1 passwd 和 man 5 passwd是不一样的类别(详细见表一)。通常我们使用man passwd,这个时候man就按照预先设置的搜索路径和顺序去搜索passwd,当搜索到一个就停止继续搜索并将结果显示出来,如果我们指定了section,那么man只会在指定的section里去查找man帮助页。)
Section | Name | Explain
1 | 用户命令 | 用户可以操作的指令.
2 | 系统调用 | 内核提供的函数.
3 | 库调用 | 常用的函数库.
4 | 特殊文件 | 通常是/dev 下的文件.
5 | 文件格式 | 对一些文件进行解释.
6 | 游戏 | 应该没人玩,不会用到.
7 | 杂项 | 例如宏命令包, 协定等.
8 | 系统管理员命令 | 通常只有系统管理员(root)可以使用
9 | 内核相关的文件 |
n | new 新文档 | 新的、尚未归入上述1-9的section的帮助文件
o | old 老文档 | 可能会在一段期限内保留
l | local 本地文档 | 与本特定系统有关的
(表一)
man 命令是按照章节存储的,linux的man手册共有以下几个章节:
章节编号 | 章节名称 | 章节主要内容
1 | General Commands | 用户在shell中可以操作的指令或者可执行文档
2 | System Calls | 系统调用的函数与工具等
3 | Sunroutines | C语言库函数
4 | Special Files | 设备或者特殊文件
5 | File Formats | 文件格式与规则
6 | Games | 游戏及其他
7 | Macros and Conventions | 表示宏、包及其他杂项
8 | Maintenence Commands | 表示系统管理员相关的命令
man命令后面可以加一个数字参数,表示具体的范围定位:
数字“1”表示用户命令
数字“2”表示系统调用
数字“3”表示C语言库函数
数字“4”表示设备或特殊文件
数字“5”表示文件格式和规则
数字“6”表示游戏及其他
数字“7”表示宏、包及其他杂项
数字“8”表示系统管理员相关的命令
知道了这些,我就可以用man 2 write来查看关于write系统调用的帮助信息了。
例子:
比如你man named,你观察屏幕左上角会发现NAMED(8)的字样,这就说明这个named是包含在“系统管理员相关的命令”之中的。
再比如man yum.conf,你会发现yum.conf(5) ,我想你现在应该知道它的寓意了。下次你可以直接man 5再加一个配置文件,来查查这个文件的配置方法了。
六. Linux 发行版的基础目录名称和命令规则,功能规定
1. 版本命名规则:
内核版本由三部分组成:主版本号、次版本号、末版本号
开发版本:第二位数字是奇数
稳定版本:第二位数字是偶数
2. 文件与目录命名规则:
文件名:字母、数字、下划线、圆点
普通文件 – (黑色)
目录文件 d (蓝色)
链接文件 l (亮蓝色)
特殊文件 cd (黄色)
配置文件 .conf
日志文件 .log
系统日志文件 .syslog
系统配置文件 .cfg
系统文件 .i386
脚本文件 .sh
3. 基础目录和功能
/bin集中存放一些必要的命令工具,最好不要单独挂载,否则会找不到那些所需的实用程序
/boot包含Linux的启动文件及其内核
/dev集中存放各类设备驱动程序,该分区不要单独挂载
/etc集中存放一些基本的配置文件
/home集中存放用户的主目录
/lib内核和实用程序的编译库文件,该分区不要单独挂载
/proc集中存放当前内核相关进程及其内核配置信息服务
/usr集中存放一些对所有用户可用的小程序,包含许多系统管理命令和实用程序
/var集中存放可变数据,如日志和打印机缓冲文件等等
/mnt老的用于移动介质的挂载点
/misc使用automounter挂载本地目录的标准挂载点
/net使用automounter挂载网路目录的标准挂载点
/smb使用automounter挂载远程共享Microsoft网络目录的标准挂载点
/media可移动介质的挂载点
/sbin集中存放一些系统管理命令,该分区不要单独挂载
/selinux与安全升级Linux相关的当前配置
/tmp集中存放临时文件,默认情况下,RedHat会自动周期性地清空该目录
原创文章,作者:Kelvin,如若转载,请注明出处:http://www.178linux.com/62754
评论列表(2条)
总结的很好,有例子有说明,加油
@马哥教育:我会努力的!