##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
来源:oschina
链接:https://my.oschina.net/u/4297414/blog/4754623