几个基础命令(pwd, cd, ls, echo, date, clock, cal, hwclock, cat, tac, file, type, tty, halt, poweroff, shutdown, reboot):
-
tty:查看当前的终端设备;
-
ifconfig或ip addr list:查看活动接口的ip地址;
-
echo:回显
-
ping:探测网络的目标主机与当前主机之间的连通性;
-
Ctrl+c:终止命令执行;
-
关机命令:
CentOS 7:
~]# systemctl poweroff
~]# systemctl reboot -
*:
~]# poweroff
~]# halt
~]# reboot
Linux基础知识
- 命令的语法通用格式:
- # COMMAND OPTIONS ARGUMENTS
- COMMAND:
发起一命令:请求内核将某个二进制程序运行为一个进程;
程序 --> 进程
静态 --> 动态(有生命周期)
- OPTIONS:
指定命令的运行特性;
选项有两种表现形式:
短选项:-C, 例如-l, -d
注意:有些命令的选项没有-;
如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld
长选项:–word, 例如–help, --human-readable
注意:长选项不能合并;
注意:有些选项可以带参数,此称为选项参数;
- ARGUMENTS:
命令的作用对象;命令对什么生效;
注意:不同的命令的参数;有些命令可同时带多个参数,多个之间以空白字符分隔;
例如:ls -ld /var /etc - 命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件;
多数系统程序文件都存放在:/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
32bits的库:/lib, /usr/lib, /usr/local/lib
64bits的库:/lib64, /usr/lib64, /usr/local/lib64
注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件 - 命令分为两类:
由shell程序的自带的命令:内置命令(builtin)
独立的可执行程序文件,文件名即命令名:外部命令 - shell程序是独特的程序,负责解析用户提供的命令;
环境变量:
PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件;
~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查找次序:自左而右; - 查看命令类型:type COMMAND
- # COMMAND OPTIONS ARGUMENTS
获取命令的使用帮助:
内部命令: help COMMAND
外部命令:
-
命令自带简要格式的使用帮助
# COMMAND --help -
使用手册: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
- SECTION:
-
man命令打开手册以后的操作方法:
- 翻屏:
空格键:向文件尾翻一屏;
b: 向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
回车键:向文件尾部翻一行;
k: 向文件首部翻一行;
G:跳转至最后一行;
#G: 跳转至指定行;
1G:跳转至文件首部; - 文本搜索:
/keyword:从文件首部向文件尾部依次查找;不区分字符大小写;
?keyword:从文件尾部向文件首部依次查找;
n: 与查找命令方向相同;
N: 与查找命令方向相反; - 退出:
q: quit
-
info COMMAND
获取命令的在线文档; -
很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION
README:程序的相关的信息;
INSTALL: 安装帮助;
CHANGES:版本迭代时的改动信息; -
主流发行版官方文档
http://www.redhat.com/doc -
程序官方的文档:
官方站点上的“Document” -
搜索引擎
google
keyword filetype:pdf
keyword site:domain.tld
…
Linux文件系统
- 文件名称严格区分大小写
- 文件名可以使用除了/意外的字符
- 文件名不能超过255字符
- 以.开头的文件为隐藏文件
- . :表示当前目录
- … :表示当前目录的上级目录
Linux常用命令
- pwd :print working directory(显示工作目录)
- cd:change directory(切换目录)不带参数为回到家目录(home)
cd [-L|[-P [-e]]] [dir]
- cd ~hyf:表示切换到hyf用户的家目录
- cd - :切换到上次访问的目录(相关的环境变量有)
- $PWD:当前工作目录
- OLDPWD:上一次的工作目录
[hyf@pc001 ~]$ type cd
cd 是 shell 内嵌
使用help cd
-L force symbolic links to be followed(强制遵循符号链接)
-P use the physical directory structure without following symbolic
links(使用物理目录结构而不使用以下符号链接)
-e if the -P option is supplied, and the current working directory
cannot be determined successfully, exit with a non-zero status
(如果提供了-p选项,以及当前工作目录无法成功确定,以非零状态退出)
- ls: list, 列出指定目录下的内容
ls [OPTION]… [FILE]…
-a: 显示所有文件,包括隐藏文件;
-A:显示除.和…之外的所有文件;
-l: --long, 长格式列表,即显示文件的详细属性信息;
-h, --human-readable:对文件大小单位换算;换算后结果可能会非精确值;
-d:查看目录自身而非其内部的文件列表;
-r: reverse, 逆序显示;
-R: recursive,递归显示;
-rw-r--r--. 1 root root 8957 10月 14 19:34 boot.log
-:文件类型,-, d, b, c, l, s, p
rw-r--r--
rw-:文件属主的权限;
r--:文件属组的权限;
r--:其它用户(非属主、属组)的权限;
1:数字表示文件被硬链接的次数;
oot:文件的属主;
root:文件的属组;
8957:数字表示文件的大小,单位是字节;
10月 14 19:34 :文件最近一次被修改的时间;
boot.log:文件名
- cat:concatenate
文件文本查看工具;
cat /etc/fstab
cat /etc/passwd
- cat [OPTION]… [FILE]…
-n:给显示的文本行编号;
-E: 显示行结束符$;
- tac:
文件文本查看工具;
tac /etc/fstab
tac /etc/passwd
tac [OPTION]… [FILE]…
-n:给显示的文本行编号;
-E: 显示行结束符$; - file:查看文件内容类型;
file [FILE]… - echo:回显
echo [SHORT-OPTION]… [STRING]…
-n: 不进行换行;
-e:让转义符生效;
\n:换行
\t:制表符
STRING
可以使用引号,单引号和双引号均可用;
单引号:强引用,变量引用不执行替换;
~]# echo 'KaTeX parse error: Expected 'EOF', got '#' at position 28: …引用,变量引用会被替换; ~]#̲ echo "SHELL"
日期相关的命令:
Linux:系统启动时从硬件读取日期和时间信息;读取完成以后,就不再与硬件相关联;
系统时钟
硬件时钟
date:系统时钟
显示日期时间:date [OPTION]… [+FORMAT]
FORMAT:格式符
%F
%T
%Y
%m
%d
%H
%M
%S
%s: 从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻经过的秒数;
…
设定日期时间:date [MMDDhhmm[[CC]YY][.ss]]
hwclock, clock:硬件时钟
显示或设定硬件时钟
-s, --hctosys:以硬件为准,把系统调整为与硬件时间相同;
-w, --systohc:以系统为准,把硬件时间调整为与系统时钟相同;
cal:日历
cal [[month] year]
globbing 文件名通配
- *:匹配任意长度内容的字符串
- ?:匹配任意单个字符
- 【】:匹配指定范围内的任意单个字符 \ :表示转义字符
- [[:upper:]] :匹配所有大写字母
- [[:lower:]] :匹配所有小写字母
- [[:alpha:]] :匹配所有字母
- [[:digit:]] :匹配所有数字
- [[:alnum:]] :匹配所有字母和数字
- [[:space:]] :匹配空白字符
- [[:punct:]] :匹配所有标点符号
- [^]:反义
重定向及管道
- >:覆盖重定向
- >>:追加重定向
- set -C 禁止覆盖重定向到已经存在的文件中
- >| : 表示强制覆盖