Linux的哲学思想
(1)一切皆文件
在Linux的角度来,所有设备都是文件,比如常见的块存储、套接字、字符设备、管道设备等,与设备对话都是靠这个特殊文件来实现。
(2)小型,单一用途的程序
Linux的外围设备是通过许许多个单一功能的小程序来组成。
(3)链接程序,共同完成复杂的任务
通过众多单一功能的程序来完成一个复杂的程序。
(4)避免令人困惑的用户界面
Linux作为服务端的程序,重在稳定,而不是展示非常花哨的图像,稳定和节约资源比什么都重要。
(5)配置数据存储在文本中
所有在内存的东西都是无法持久化保存,想要实现持久化保存,就需要将配置落到磁盘来存储。
常用的几个Linux的功能介绍
第一个就是echo,这个命令可以实现回显出来目标内容,它可以配合管道就行实现传递采参数
基本用法:echo 【长格式|短格式选项】 【需要回显的字符串】-n 在输出结束不显示换行符-e 开启解析反斜杠-E 默认选项,关闭解析反斜杠在-e选项开启时候,可以用以下的几个作为参数,可以实现一些功能\\\\ 输出反斜杠\\a 提示一次警告的响声\\b 回退,会将全面的一个字符删除\\c 后面的字符串将不会继续输出\\e 后面的的一个字符将不会输出\\f 直接将后面的字符串直接输出到下一行的同一个位置\\n 输出一个新行\\t 输出一个制表符\\v 输出垂直制表符同\\f
第二个就是screen工具
在日常使用Linux过程中往往会执行非常冗长的脚本任务,在执行期间如果因为网络或者其他原因导致终端终端,所执行的任务也会随之终端,这样就会存在结果不一致的问题。为了应对这种情况有两个工具可以实现即使关闭终端任务脚本不会随之关闭。这两个工具就是Screen和tmux,tmux是加强版的screen
screen是位于epel源中的软件包,tmux位于baseos源中,这里我们使用tmux做为介绍对象
首先安装tmux软件包
这里我们介绍tmux简要使用方法
基本用法
- 直接使用tmux命令,可以直接进入登陆shell
- 也可以在创建会话时,直接定义SESSION NAME
查看当前的tmux进程信息 - 也可以通过其他会话接入会话
实现同屏同时观看和操作 - 也可以实现单个会话暂离会话
- 快捷键介绍
终止一个终端窗口(需确认)
快捷键:exit 或 先按ctrl+b, 放开后再按 &
在当前窗口的基础上再打开一个新的窗口
快捷键:先按ctrl+b, 放开后再按c
暂时退出当前会话
快捷键:先按ctrl+b, 放开后再按 d
查看面板编号
快捷键:先按ctrl+b, 放开后再按q
关闭所有分屏后的窗口,即合并为一个窗口
快捷键:先按ctrl+b, 放开后再按!
快捷命令总结:
tmux new -s 会话名 新起一个会话
tmux ls 查看现有的会话
tmux a 进入最近的会话
tmux a -t 会话名 进入指定会话
tumx kill-session -t 会话名 干掉指定会话
control+b 唤起tmux(命令前缀)
o 光标切换分屏窗口
c 创建新窗口
w 查看所有窗口
" 横分面板
% 竖分面板
, 修改窗口名
? 查看所有命令,q退出
q 显示面板号,快速输入面板号可以选择相应面板
d 挂起当前会话
s 查看所有会话,q退出
$ 修改会话名称
p 切换窗口
: 命令行模式
第三个就是重要的date命令,这个命令即可以显示,也可以转换,同时也可以设定时间
date命令
主要有以下参数
-d 显示时间字符串
-s 设定时间
-u 使用UTC时间
输出格式
%% a literal %
%a 简写的周名称
%A 本地全周名称
%b 简写月名称
%B 全名月名称
%c 显示本地时间 (格式:Mon 29 Mar 2021 11:40:22 PM CST)
%d 本月的几号 (e.g., 01)
%D 是%m%d%y组合
%e 本月的几号类似%_d
%F 全格式日期 %Y-%m-%d
%g 年份的后两位(see %G)
%G 年份的全格式类似 %V
%h 类似%b
%H 24小时制度 (00..23)
%I 12小时制度 (01..12)
%j 本年度的第几天 (001..366)
%k 空格填充类似%_H ( 0..23); same as %_H
%l 小时,空格填充 ( 1..12); same as %_I
%m 月份 (01..12)
%M 分钟(00..59)
%n 开启新行
%N 纳秒 (000000000..999999999)
%p 上下午(AM或者PM)
%P 上下午(am或者pm)
%q 本年第几个季度 (1..4)
%r 十二小时的时间 (e.g., 11:11:04 PM)
%R 二十四小时的时间,类似 %H:%M
%s 时间戳,从1970-01-01 00:00:00 UTC
%S 秒 (00..60)
%t 一个制表符
第四个命令是ifconfig,ifconfig是早期的命令,随着新一代的技术ip,ifconfig会逐渐的废弃
官方也开始建议逐渐使用ip addr或者ip link去替代这个命令
简单的几个命令使用,ifconfig -s 查看当前网络连接错误报文的情况。
ifconfig 可以加如下的参数:add<地址> 设置网络设备IPv6的IP地址。del<地址> 删除网络设备IPv6的IP地址。down 关闭指定的网络设备。<hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。io_addr<I/O地址> 设置网络设备的I/O地址。irq<IRQ地址> 设置网络设备的IRQ。media<网络媒介类型> 设置网络设备的媒介类型。mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。mtu<字节> 设置网络设备的MTU。netmask<子网掩码> 设置网络设备的子网掩码。tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。up 启动指定的网络设备。-broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。-pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。-promisc 关闭或启动指定网络设备的promiscuous模式。[IP地址] 指定网络设备的IP地址。[网络设备] 指定网络设备的名称。
例子:
增加网卡的接口地址
删除多余的子接口
第五个命令就是export
Linux export 命令用于设置或显示环境变量。
在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。
history时间戳设定
在默认的设定中,查看命令历史history只能查看到编号,并不能查看到具体的命令执行时间
为了方便的查看上次执行命令的时间,可以通过变量设定将history中设定时间戳,需要编辑/etc/bashrc文件末尾添加
HISTTIMEFORMAT=”%Y%m%d-%H%M%S:”
export HISTTIMEFORMAT
保存退出后,重新source 该文件
可以实现查看history看到时间戳