目录
一、基本操作讲解
1,开启图形化窗口(需要安装了X window)
startx
特别说明:centos7 已经取消了使用多年的 SystemV 的服务管理方式,已经没有所谓的“执行等级 (run level) ”的概念了!新的管理方法使用的是 systemd 的模式,不再有 /etc/inittab 啰!注意注意!
2,登录界面讲解
第一行:发行版本Linux distribution的名称
第二行:内核版本、硬件登记为x86_64
登录之后 [root@docker1 ~]# :@前的root为登录用户,@后的docker1表示主机名称,~表示目前所在的地址(之后一级),# 为提示符(普通用户为$)
~对不同用户有不同的意义,表示用户的主目录,root的主目录为/root,如果是一个tom的用户,主目录为/home/tom
前两行的信息输出,来源于/etc/issue
3,退出登录
exit #登出
会重新进入登录界面
4,语系
locale # 显示语系
LANG=zh_CN.UTF-8 # 语言语系的输出
LC_TIME="zh_CN.UTF-8" # 时间方面的语系数据
LC_ALL= # 全部数据同步更新的设置值
date # 显示日期
修改语系为英文的:
export LC_ALL=en_US.utf-8
也可以只修改日期的时间:
export LC_TIME="en_US.UTF-8"
是不是有点感觉了?编程需要弄清楚它的原理,搞懂了它基础,就能够让它做你想做的事情啦。export相当于输出环境变量,之后会按照这个变量值执行命令。
5,显示日期:date
格式是年月日 星期几 时间 时区
打印日期格式为 2018-10-14:
date +%Y-%m-%d
显示当前时间,格式为 10:42 之类
date +%H:%M
时间的转换在数据库、java、python都需要注意,项目中的时间由于在前端是json格式,需要掌握字符串和对象的转换。
当然日期的格式是大同小异的。
有木有看到这里的参数是跟在 + 后的,命令后的参数可以通过-或+来拼接。
6,显示日历:cal
cal的命令格式: cal [month] [year]
显示2013-9的日历:
cal 9 2013
7,计算器 bc
yum -y install bc # 安装bc,我的系统里木有bc
bc
计算 1+33*2^6:
支持% 取余计算,quit退出
计算保留小数:scale=3 # 想到scala,又看到了一种语言,这样计算结果就可以保存小数了
8,重要热键
(1)[Tab]按键:自动补全,没事按两下,代码速度快很多
输入两次[Tab]:补全可选的命令(文件夹)
输入一次[Tab]:补全命令
命令的tab,补全命令,命令后的可以补全参数或者文件
补全参数是通过一个名为 bash_completion 的软件
(2)[Ctrl]-c 按键
和windows中一样 [Ctrl]-c 按键 表示停止该进程
(3)[Ctrl]-d 按键
和exit差不多,退出的含义,在bc中也可以指代quit,指键盘输入结束。
(4)[shift]+{[PageUP]|[Page Down]}按键
在纯文本环境下,用[shift]+{[PageUP]|[Page Down]}来进行翻页
9,查看帮助
(1)--help #查看帮助
date --help
一起来看一下help的内容:
用法:date [选项]... [+格式] # 基本用法
或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] # | 表示或 []里的内容一般表示可选参数之类
Display the current time in the given FORMAT, or set the system date. # 说明这个命令的含义
Mandatory arguments to long options are mandatory for short options too. # 命令参数
-d, --date=STRING display time described by STRING, not 'now'
-f, --file=DATEFILE like --date once for each line of DATEFILE
-I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.
TIMESPEC='date' for date only (the default),
'hours', 'minutes', 'seconds', or 'ns' for date
and time to the indicated precision.
-r, --reference=文件 显示文件指定文件的最后修改时间
-R, --rfc-2822 以RFC 2822格式输出日期和时间
例如:2006年8月7日,星期一 12:34:56 -0600
--rfc-3339=TIMESPEC output date and time in RFC 3339 format.
TIMESPEC='date', 'seconds', or 'ns' for
date and time to the indicated precision.
Date and time components are separated by
a single space: 2006-08-07 12:34:56-06:00
-s, --set=STRING set time described by STRING
-u, --utc, --universal print or set Coordinated Universal Time (UTC)
--help 显示此帮助信息并退出
--version 显示版本信息并退出
给定的格式FORMAT 控制着输出,解释序列如下:
%% 一个文字的 %
%a 当前locale 的星期名缩写(例如: 日,代表星期日)
%A 当前locale 的星期名全称 (如:星期日)
------
在help的后端,还有examples:
所以,善用help,会很方便的。cal的help也很详细,但是bc的help只有简单的解释。
(2)man page
man date #
看一下里面的内容:
DATE(1) User Commands DATE(1) # 这里的(1)表示一般用户可以使用的意思
NAME # 命令说明
date - print or set the system date and time
SYNOPSIS # 语法
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
DESCRIPTION # 介绍及参数说明
Display the current time in the given FORMAT, or set the system date.
Mandatory arguments to long options are mandatory for short options too.
-d, --date=STRING # 左边为短选项名称,右边为完整选项名称
display time described by STRING, not 'now'
-f, --file=DATEFILE
like --date once for each line of DATEFILE
-I[TIMESPEC], --iso-8601[=TIMESPEC]
output date/time in ISO 8601 format. TIMESPEC='date' for date
only (the default), 'hours', 'minutes', 'seconds', or 'ns' for
date and time to the indicated precision.
-r, --reference=FILE
display the last modification time of FILE
-R, --rfc-2822
output date and time in RFC 2822 format. Example: Mon, 07 Aug
2006 12:34:56 -0600
--rfc-3339=TIMESPEC
output date and time in RFC 3339 format. TIMESPEC='date', 'sec‐
onds', or 'ns' for date and time to the indicated precision. Date
and time components are separated by a single space: 2006-08-07
12:34:56-06:00
-s, --set=STRING
set time described by STRING
-u, --utc, --universal
print or set Coordinated Universal Time (UTC)
man也有example等内容,它的信息比 --help更为详细。
对于DATA(1) 里的数字解释,还包括如下内容:
特别注意1、5、8,分别表示一般用户能用、配置文件、管理命令,这三个较为常用的
man操作的相关参数说明:
NAME:简短的指令、数据名称说明
SYNOPSIS:简短的指令下达语法(syntax)简介
DESCRIPTION:较为完整的说明,这部分最好仔细看看!
OPTIONS:针对 SYNOPSIS 部分中,有列举的所有可用的选项说明
COMMANDS:当这个程序(软件)在执行的时候,可以在此程序(软件)中下达的指令
FILES:这个程序或数据所使用或参考或链接到的某些文件
SEE ALSO:可以参考的,跟这个指令或数据有相关的其他说明!
EXAMPLE:一些可以参考的范例
man的查询常用按键:
空白键 向下翻一页
[Page Down] :向下翻一页
[PageUp] :向上翻一页
[Home] :去到第一页
[End] :去到最后一页
/string :向“下”搜寻 string 这个字串,如果要搜寻 vbird 的话,就输入 /vbird
?string: 向“上”搜寻 string 这个字串
n, N:利用 / 或 ? 来搜寻字串时,可以用 n 来继续下一个搜寻 (不论是 / 或 ?),可以利用 N 来进行“反向”搜寻。举例来说,我以 /vbird 搜寻 vbird 字串, 那么可以 n 继续往下查询,用 N 往上查询。若以 ?vbird 向上查询 vbird 字串, 那我可以用 n 继续“向上”查询,用 N 反向查询。
q:结束这次的 man page
man的文件放在那里?一般放在cd /usr/share/man/ ,如果想要修改man的设置,可以 vim /etc/man_db.conf进行修改:
这里便有相关的路径参数:
如果你忘了命令的全称,只记得部分关键字,可以用:
man f man # f获取与man更多的相关信息
man 1 man # man(1)相关的文件数据
man 7 man # man(7)相关的文件数据
找出系统的说明文档中,只要有man这个关键字就将该说明列出来:
man -k man # k关键字
还有两个指令和man有关,实际上是简写:
whatis 同 man -f (要有whatis需要创建whatis数据库,mandb)
apropos 同 man -k
(3)info page
info page和man page差不多,都是线上求助,相对而言,info page是一行一行的显示的。每个独立的页面成为一个node,可以跳来跳去。支持info的文件在/usr/share/info
输入info info
来看一下里面的内容:
File: info.info, Node: Top, Next: Getting Started, Up: (dir) # File:代表这个info page的数据是来自info.info文件所提供的;
# Node: 这个页面属于Top 节点;Top是整个页面的一个节点
# Next:下一个节点(Getting Started);Up:上一层节点,“N”、“U”可跳转
# Prev:前一个节点,这是第一个节点,所以没有前一个节点
Info: An Introduction
*********************
The GNU Project distributes most of its on-line manuals in the "Info
format", which you read using an "Info reader". You are probably using
an Info reader to read this now.
There are two primary Info readers: 'info', a stand-alone program
designed just to read Info files (*note What is Info?: (info-stnd)Top.),
and the 'info' package in GNU Emacs, a general-purpose editor. At
present, only the Emacs reader supports using a mouse.
If you are new to the Info reader and want to learn how to use it,
type the command 'h' now. It brings you to a programmed instruction
在info界面中,按h会有提示
[Tab]能在*之间下移,到了某个星号,按回车即可到该node,大概的示意图如下:
常用热键:
空白键 向下翻一页
[Page Down] 向下翻一页
[Page Up] 向上翻一页
[tab] 在 node 之间移动,有 node 的地方,通常会以 * 显示。
[Enter] 当光标在 node 上面时,按下 Enter 可以进入该 node 。
b 移动光标到该 info 画面当中的第一个 node 处
e 移动光标到该 info 画面当中的最后一个 node 处
n 前往下一个 node 处
p 前往上一个 node 处
u 向上移动一层
s(/) 在 info page 当中进行搜寻
h, ? 显示求助菜单
q 结束这次的 info page
(4)其他有用的document
某些软件不只告诉你“如何做”,还会有一些相关的原理会说明呢。它就放在/usr/share/doc/!
要架设一些其他的服务,或想要利用一整组软件来达成某项功能时,就要用到这里的文档啦
10,关机操作
linux不建议直接关电源的,它和windows不同,如果不能正常关机可能造成文件系统的毁损。
关机前相关操作:
要看谁在线:who
连网状态:netstat -a
背景执行程序:ps -aux
确认完情况后,进行关机:shutdown 关机,reboot 重启
将数据同步写入硬盘中的指令: sync (有一部分数据为保证性能,先不会写入硬盘,二是保留在内存中;关机之前,先调用sync指令,从内存中写入硬盘,避免数据丢失)
重新开机,关机: reboot, halt, poweroff
只有root才能用shutdown、reboot
目前的 shutdown/reboot/halt 等等指令均已经在关机前进行了 sync 这个工具的调用。
注意shutdown可以设置事件之类的,man shutdown查看。
使用shutdown命令,20分钟后关机,提示 see you tommorow:
shutdown -h 10 'see you tommorow'
取消关机: shutdown -c
立马关机:shutdown -h now
20:20关机: shutdown -h 20:20
系统再过10分钟关机: shutdown -h +10
-r是重启
目前的服务管理指令为systemctl。像halt、poweroff都是调用这个指令的:
systemctl [指令]
指令项目包括如下:
halt 进入系统停止的模式,屏幕可能会保留一些讯息,这与你的电源管理模式有关
poweroff 进入系统关机模式,直接关机没有提供电力喔!
reboot 直接重新开机
suspend 进入休眠模式
对比一下windows的关机命令:
shutdown -s -t 60 60秒后关机
shutdown -s -t 3600 1小时后关机
logoff 注销命令
tsshutdn 60秒后关机
shutdown -s -f 强制关机
shutdown -s -t 时间
shutdown -a 取消 关机命令