厚基础Linux——学习笔记(一)
这里笔者创建一个命令清单,该清单将随着我的学习持续更新。由于每个命令都博大精深,这里的介绍都属于扫盲性质,只介绍基本用法。
命令清单
- a
- b
- c
- d date
- e echo, export
- f
- g
- h history
- i ifconfig
- j
- k
- l
- m
- n
- o
- p
- q
- r
- s screen
- t
- u
- v
- w
- x
- y
- z
本期命令
经过第一周的学习,对一些命令进行总结。
history
history是bash的内置命令,用于记录在bash中执行过的命令。这个命令主要帮我解决两个问题。
问题一:命令执行记录需要详细的执行时间
HISTTIMEFORMAT变量,可以控制history命令的时间格式。
为使该配置永久生效,将该变量写入/etc/profile文件。
问题二:某些命令带有隐私信息,不希望被记录下来
希望删除历史命令中的敏感信息,如26,27,28
history -c
可以完全删除。
history -d
一次只能删除一行
history -d 26
history -d 27
history -d 28
HISTCONTROL
该变量默认值为 ignoredups,忽略重复命令
配置为ignorespace时,忽略所有空白开头的命令
配置为ignoreboth时,相当于ignoredups,ignorespace的组合
配置该变量,敏感信息使用空格打头,即可不被记录。可以看到图中空格命令未被记录下来。
echo
echo的英文含义是回音,顾名思义,它的基本功能是输出你向它输入的信息。它不止可以解析文本,还能解析变量,解析特殊含义的文本。
解析文本
最基本功能,输入普通文本,输出普通文本。
解析变量
当字符串内带有变量时,三种引号显示不同的结果
’ '单引号,不对变量进行解析,原样输出。
" "双引号,对变量进行解析后输出
` ` 反引号,可以对命令的结果进行输出
解析特殊含义文本
echo 共有3个选项-E,-n,-e,默认为-e模式,压缩掉特殊含义,手动指定-e时,可以得到特殊效果。如echo -e “\a”,可以输出系统提示音。
screen
当执行一个时间较长的任务时,如果连接终端的工具挂掉,则会前功尽弃。为了让在服务器上的任务不受远程终端死活的影响,我们可以使用screen工具,它还可以用于远程协助。
操作系统可能不自带screen,需要进行安装。
远程终端解耦
执行screen命令,进入终端,该终端可以在远程连接工具退出后继续执行。
ctrl + a + d :临时退出,后台执行。
如果键盘不好,可以先按 ctrl + a 再按 ctrl + d ,防止错误中断。
临时退出后可看到后台有一个终端仍在执行。使用screen -r命令可回到指定终端。若有多个终端,可使用screen -r 终端号指定终端。
远程协助
screen还可以用于远程协助,同一主机,同一用户下,工程师A终端1可以创建一个screen终端,让工程师B从终端2访问到该screen终端。
工程师kel创建终端起名kel,执行命令screen -S kel
工程师zhou尝试进入kel的终端,执行命令screen -x kel
两个终端已完全同步
screen终端同样可以执行exi永久关闭。
date
date是基本命令,可以查看时间,修改时间,支持各种自定义格式输出时间。
修改时间
使用date -s +字符串修改时间
可以使用ntpdate从服务器同步时间来修改;或是通过clock命令,使用硬件时间修改。
ifconfig
查看本机网络接口的命令
使用ifconfig 网卡名称 查看网络基本信息。
export
bash设置的变量只在当前shell有效,使用export命令可使该变量成为该shell的全局变量。
定义变量 user=kel
创建子shell,发现变量不生效
执行export user=zhou,再创建子shell,发现变量有效,退出到第一层shell,发现变量无效,仍然是原来的值。