一、Linux的命令使用格式
命令的语法通用格式:
~]# COMMAND OPTIONS ARGUMENTS 命令 选项 参数
1. 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
用到的库文件都存放在:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64,它们分为32位和64位的库文件,32位使用于32位的操作系统,64位使用于64位的操作系统,64位兼容32位,而32不兼容64
32位库:存放在/lib,/usr/lib,/usr/local/lib
64位库:存放在/lib64,/usr/lib64,/usr/local/lib64
命令分为两类:
由shell自带的命令,叫作内嵌命令(builtin)
独立的可执行程序文件,文件名即命令名,叫作外部命令
查看命令的类型:
type命令: 例:~]# type COMMAND
[root@app1 ~]# type mkdir mkdir is /bin/mkdir [root@app1 ~]# type alias alias is a shell builtin
2. OPTIONS,选项: 指定命令的运行特性,有两种表现形式:
短选项:-C,例如 ls -l ,-d 注:有的命令选项没有 – ,同一命令同时使用多个短选项可合并:ls -ld
长选项:–word,例如 ls –help,有时候选项也带参数,例:du -h –max-depth=1 注:长选项不能合并
3. ARGUMENTS,参数:命令的作用对象,命令对什么生效,例:ls /etc ,作用在/etc 。注:有些命令可以可同时带多个参数,以空白分隔
二、常用命令介绍
1. ifconfig
OPTIONS -a 显示所有可用网络接口状态信息 -s 简单显示网络状态,类似netstat –i Interface 只显示$interface的配置信息及网络状态 up/down 用法是:ifconfig interface up/down 启动/关闭interface接口 FOR EXAMPLE: [root@app1 ~]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:50:56:84:0D:85 inet addr:10.88.158.84 Bcast:10.88.158.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:fe84:d85/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:13271001 errors:0 dropped:0 overruns:0 frame:0 TX packets:12381904 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3830321889 (3.5 GiB) TX bytes:2327742771 (2.1 GiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:261858897 errors:0 dropped:0 overruns:0 frame:0 TX packets:261858897 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:238693595641 (222.3 GiB) TX bytes:238693595641 (222.3 GiB) [root@app1 ~]# ifconfig -s Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 13271022 0 0 0 12381924 0 0 0 BMRU lo 65536 0 261859213 0 0 0 261859213 0 0 0 LRU [root@app1 ~]# ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:261859889 errors:0 dropped:0 overruns:0 frame:0 TX packets:261859889 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:238693742990 (222.3 GiB) TX bytes:238693742990 (222.3 GiB)
2. echo:回显
echo $PATH
[root@app1 ~]# echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin:/roo t/bin
3. tty:查看当前的终端设备
[root@app1 ~]# tty
/dev/pts/1
4. startx:打开图形界面(前提是Linux系统已经安装图形界面)
启动GUI:在某一虚拟终端接口运行命令:startx &
5. export:环境变量赋值,查看环境变量
(1) export name=value
(2) name=value
export name
[root@app1 ~]# export name=wlm [root@app1 ~]# echo $name wlm
6. pwd:printing working directory 显示工作目录
7. history:定制history的功能,可通过环境变量实现:
HISTSIZE:shell进程可保留的命令历史的条数;
HISTFILE:持久保存命令历史的文件;.bash_history(用户家目录下)
HISTFILESIZE:命令历史文件的大小;
命令用法:
history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
或 history -ps 参数 [参数…]
-c: 清空命令历史;
-d offset:删除指定命令历史
-r: 从文件读取命令历史至历史列表中;
-w:把历史列表中的命令追加至历史文件中;
history #:显示最近的#条命令;
调用命令历史列表中的命令:
!#:再一次执行历史列表中的第#条命令;
!!:再一次执行上一条命令;
!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;
注意:命令的重复执行有时候需要依赖于幂等性;
调用上一条命令的最后一个参数:
快捷键:ESC, .
字符串:!$
控制命令历史记录的方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令;
ignorespace:忽略以空白字符开头的命令;
ignoreboth:以上两者同时生效;
8. 关机命令
CentOS 7:
systemctl poweroff 关机
systemctl reboot 重启
CentOS 6
poweroff
reboot
9. hwclock, clock:硬件时钟
显示或设定硬件时钟
-s, –hctosys:以硬件为准,把系统调整为与硬件时间相同;
-w, –systohc:以系统为准,把硬件时间调整为与系统时钟相同;
10. date:系统时钟
显示日期时间:date [OPTION]… [+FORMAT]
FORMAT:格式符
%F:以年-月-日显示时间
%Y:显示年
%m:显示月
%d:显示日
%H:显示小时
%M:显示分钟
%S:显示秒
%s:从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻经历的秒数;
设定时间:date [MMDDhhmm[[CC]yy][.ss]]
[root@app1 ~]# date Sun Sep 18 15:58:50 CST 2016 [root@app1 ~]# date +%F 2016-09-18 [root@app1 ~]# date +%Y%m%d%H%M%S 20160918155914 [root@app1 ~]# date +%s 1474185561
三、Linux上获取命令帮助信息
获取命令的使用帮助:
内部命令: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:管理工具及守护进行;
~]# man CHAPTER COMMAND
注意:并非每个COMMAND在所有章节下都有手册;
查看:
~]# whatis COMMAND
注意:其执行过程是查询数据库进行的;
手动更新数据库:
~]# makewhatis
man命令打开手册以后的操作方法:
翻屏:
空格键:向文件尾翻一屏;
b: 向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
回车键:向文件尾部翻一行;
k: 向文件首部翻一行;
G:跳转至最后一行;
#G: 跳转至指定行;
1G:跳转至文件首部;
文本搜索:
/keyword:从文件首部向文件尾部依次查找;不区分字符大小写;
?keyword:从文件尾部向文件首部依次查找;
n: 与查找命令方向相同;
N: 与查找命令方向相反;
退出:
q: quit
选项:
-M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开;
(3) info COMMAND获取命令的在线文档;
(4) 很多应用程序
会自带帮助文档:/usr/share/doc/APP-VERSION
README:程序的相关的信息;
INSTALL: 安装帮助;
CHANGES:版本迭代时的改动信息;
(5) 主流发行版官方文档
(6) 程序官方的文档:
官方站点上的“Document”
(7) 搜索引擎
keyword filetype:pdf
keyword site:domain.tld
四、Linux基础目录功用及命名规则
FHS(Filesystem Hierarchy Standard)规定了类Unix系统的各个系统目录的功能及存储文件,下面我们来解读下linux系统中的目录
/: Root directory 根目录,Linux内核挂载的起始位置
/bin: Essential user command binaries (for use by all users) 基本的用户命令文件,任何用户均可调用,比如:cp、date、dd、rm
/boot: Static files of the boot loader 系统引导加载程序的静态文件,系统进入用户模式之前的加载文件均在这里
/dev: Device files 系统的设备文件 存储着关于各部分硬件设备的资料,比如:tty、pts、mem(不可读)
/etc:Host-specific system configuration 主机的系统配置文件,几个特殊的目录如下:
X11/ Configuration for the X Window system (optional)
sgml/ Configuration for SGML (optional)
xml/ Configuration for XML (optional)
/home: User home directories (optional) 用户的家目录,创建用户默认生成,一般目录名同用户名。例如:/home/USERNAME
/lib:Essential shared libraries and kernel modules 基本的共享库及内核模块。
/lib(qual):Alternate format essential shared libraries (optional) 交替格式共享库。例如lib32、lib64
/media:Mount point for removable media 可移动介质的挂载点,可以认为是扩展挂载点。与/mnt类似
/mnt:Mount point for a temporarily mounted filesystem 其他临时系统文件的挂载点。
/opt:Add-on application software packages 留给附加的应用程序软件包的
/root:Home directory for the root user (optional) 超级管理员root的家目录
/run:Run-time variable data 运行时的变量数据,这个目录包含系统信息数据描述了系统自启动。这个目录下的文件必须被清除(删除或截断)在引导过程的开始。
/sbin:System binaries 管理员命令存储目录,没有子目录且不能随意创建
/srv:Data for services provided by this system 系统服务的相关数据
/tmp:Temporary files 临时文件存储。
/usr: shareable, read-only data,must not be written to。属于系统文件的最主要部分(/除外),符合FHS用户共用此目录,其子目录解读如下:
bin/ Most user commands 大部分的用户命令,比如:perl,python,tclsh
include/ Directory for standard include files 一些可能系统调用的C相关的文件
lib/ Libraries for programming and packages 库程序和包
local/ Local hierarchy 本地的层级目录,bin/,sbin/,lib/,lib64/,share/,src/,games/,include/等
sbin/ Non-essential standard system binaries 只有管理员调用的非标准的系统函数
share/ Architecture-independent data 系统杂项,但是有几个重要的目录
man/ Manual pages 使用手册目录
doc/ 程序的说明文档
zeroinfo/ Timezone information and configuration (optional) 时区信息和配置信息
src/ Source code (optional)源代码文件可以存储在这里,仅供参考
/sys:Kernel and system information virtual filesystem 主要存储的是硬件信息、驱动、个别内核信息
/proc:Kernel and process information virtual filesystem 看解释跟/sys一样,只是此文件目录存储的是实际标准的流程和系统信息,比如CPU、内存等信息
/var:/var contains variable data files. This includes spool directories and files, administrative and logging data, and transient and temporary files.
主要包括一些缓存文件、管理的log文件、动态生成的临时文件、spoool、mail文件,也是比较重要的目录
文件和目录的命名规则:
1、文件名名称严格区分字符大小写;
2、文件可以使用除/以外任意字符;
3、文件名长度不能超过255字符;
4、以.开头的文件为隐藏文件;
.: 当前目录;
..: 当前目录的上一级目录;
原创文章,作者:dawning,如若转载,请注明出处:http://www.178linux.com/47435