Linux基础篇(7)小白如何学习Linux?初识shell之系统命令基础及时间服务器(下)

##Linux基础篇

前言:

若盛开 清风自来 心若浮沉 浅笑安然 

这句话出自三毛的随笔 原句是∶

岁月极美 在于它必然的流逝 春花 秋月 夏日 冬雪 你若盛开 清风自来 心若浮沉 浅笑安然 

译文是如果你足够优秀  一切都会好起来的 有平稳的心态 坦然面对世事 

心态是一种意境 得之坦然失之则淡然 

笑口常开 好彩自然来!

不要把失去当成理所应当 从自身找找原因 当你足够优秀 摆正你的心态 一切问题也就不再是问题 好好提升自己 让自己越来越优秀 成为那朵散发魅力的花 

一、bash解释器特性

1)命令和文件自动补全 注意:Tab只能补全命令和文件

[root@web02 ~]# ls /etc/sysconfig/network-scripts/ifcfg-ens33

2)快捷键

Ctrl+c          ## 终止前台运行的程序

Ctrl+d          ## 退出 等价=exit

Ctrl+l           ## 清屏

Ctrl+a          ## 光标移到命令行的最前端

Ctrl+e          ## 光标移到命令行的后端

Ctrl+r           ## 搜索历史命令 利用关键词

Alt+.             ## 引用上一个命令的最后一个参数 等价于!$

3)历史命令

   1.查看历史命令

   [root@xxx ~]# history


   2.清空历史命令

   [root@xxx ~]# history -c


   3.历史命令保存文件:cat ~/.bash_history


   4.历史命令默认保存1000条 可以修改/etc/profile中的HISTSIZE=2000


   5.查找历史命令并运行

    (1)光标上下键

    (2)Ctrl+r                                           ## 搜索历史命令(输入一段某条命令的关键字:必须是连续的)

    (3)!220                                             ## 执行历史命令中第220条命令

    (4)!字符串                                         ## 搜索历史命令中最近一个以xxxx字符开头的命令 例如!ser

    (5)!$          2                                       ## 引用上一个命令的最后一个参数

      [root@xxx home]# ls /root /home

      [root@xxx home]# cd !$

      cd /home

      [root@xxx home]# ls /root /home

      [root@xxx home]# touch !$/file1

      touch /home/file1

4)别名

# alias          ##查看当前的别名

ll='ls -l --color=tty' 

# alias egon='ls /etc/sysconfig/network-scripts/'                    ## 建立别名

# unalias fly

[root@fly ~]# grep root /etc/passwd                                     ## 默认有颜色

[root@fly ~]# alias grep

alias grep='grep --color=auto'

二、命令查找优先级

bash shell 查找命令顺序:

第一优先级:用绝对路径或相对路径执行的命令

第二优先级:别名指定的命令

第三优先级:Bash内部命令

第四优先级:$PATH环境变量定义的目录查找顺序中找到的第一个命令

三、查看帮助信息

1)man手册

(1)简单使用

man 命令


(2)详解如下

man 手册名 例如man ls

搜索:/-h    n N


技巧一:按章节来查找 常用的是1(命令用法)5(文本规范)8(系统管理命令)

/usr/bin/passwd                              命令 修改用户密码  man 1 passwd

/etc/passwd                                     保存用户信息的文件 man 5 passwd 

/etc/exports                                     man exports            man 5 exports


技巧二:按关键字搜索(适合记不住手册的全名时使用)

man -k "_selinux"                                ## 手册名或者手册描述中包含关键字_selinux

注:从whatis数据库里找 (# makewhatis)


技巧三:在所有章节中查询

# man -a passwd

# man -f passwd

2) --help

命令 --help


示例1

[root@xxx ~]# ls --help

Usage: ls [OPTION]... [FILE]...


ls 常见选项

-a                                  ## all 查看目录下的所有文件 包括隐藏文件

-l                                   ## 长列表显示

-h                                  ## human 以人性化方式显示出来

-d                                  ## 只列出目录名 不列出其他内容

-t                                   ## 按修改时间排序

-r                                   ## 逆序排序

-i                                    ## 显示文件的inode号(索引号)

3)参考文档\配置模块文件

[root@iZm5e59rizbgmmp4net6zbZ ~]# ls /usr/share/doc/pam-1.1.8/ 

[root@iZm5e59rizbgmmp4net6zbZ ~]# firefox /usr/share/doc/pam-

1.1.8/html/Linux-PAM_SAG.html

4)官方手册

5)baidu google

七、常用命令

设置主机名

[root@xxx ~]# hostnamectl set-hostname fly                             ## 退出重新进入即可看到

设置时间

[root@fly ~]# date --help


查看时间

# date "+%Y_%m_%d %H-%M-%S"


设置时间

#date -s "2018-05-17 09:51:50"



写入到硬件时钟

注意:这里说的是系统时间 是Linux由操作系统维护的

硬件时钟是指主机板上的时钟设备 也就是通常在BIOS画面设定的时钟 硬件时间存放于CMOS中 

系统时钟则是指kernel中的时钟 当Linux启动时 Linux操作系统将时间从CMOS中读到系统时间变量中 之后系统时钟即独立运作 所有Linux相关指令与函数都是读取系统时钟的设定

Linux系统设置硬件时钟时 提供两种时区选择 一种为本地时区 此时硬件时间与系统时间相同;另一种为UTC时区 此时硬件时间存的是UTC时间 系统初始化时会转换为本地时间后再设置为系统时钟的时间


以后修改时间通过修改系统时间实现 为了保持系统时间与CMOS时间的一致性 Linux每隔一段时间会将系统时间写入CMOS 由于该同步是每隔一段时间(大约是11分钟)进行的 在我们执行date -s后 如果马上重启机器 修改时间就由可能没有被写入CMOS 这就是问题的原因


如果要确保修改生效可以执行如下命令


hwclock -w

这个命令强制把系统时间写入CMOS

注意:要使系统时间准确 最好还是使用ntp方式 ps:centos7用chrony替换ntp


使用ntpdate命令从网络同步时间 再同步到硬件时钟

ntpdate命令是使用NTP协议来从网络同步时间的命令 NTP=Network Time Protocol 网络时间协议


ntpdate 0.cn.pool.ntp.org

date

hwclock -w


ps:阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址

ntp1.aliyun.com

ntp2.aliyun.com

ntp3.aliyun.com

ntp4.aliyun.com

ntp5.aliyun.com

ntp6.aliyun.com

ntp7.aliyun.com

重启

shutdown -r 10                                  ## 十分钟后重启

shutdown -r 0                                    ## 立即重启

shutdown -r now                               ## 立即重启

init 6                                                   ## 立即重启

reboot                                                ## 立即重启

关机

shutdown -h 10                                       ## 十分钟后关机

shutdown -h 0                                         ## 立刻关机

shutdown -h now                                    ## 立刻关机

halt                                                          ## 立刻关机

poweroff                                                  ## 立刻关机

取消正在进行的关机或重启

showdown -c

注销登录的账号

exit

logout

Ctrl+d

猜你喜欢

转载自blog.51cto.com/14993780/2554586