一、变量
什么是变量:变化的量
key=value //键值对儿
1.声明变量
[root@haha ~]# haha=111
[root@haha ~]# echo "$haha"
111
[root@haha ~]# echo '$haha'
$haha
单引号:所见即所得,不解析变量及其他特殊符号
双引号:解析变量和特殊符号
2.变量的作用
编辑脚本
[root@haha ~]# vim jb.sh (一般脚本都用.sh来识别)
#!/bin/bash
name1="阿珍"
name2="阿强"
place="翻斗大街托儿所"
guanxi="好基友"
echo "${name1}和${name2}从小一起玩耍"
echo "一起进${place},从${place}到小铁盒一直是${guanxi}。"
echo "${name1}乖巧懂事,学习成绩优异,是班里的班长。"
echo "${name2}活泼好动,对一切事物充满好奇,却无法安静地坐下来写作业,成绩较差。"
echo "老师说:“${name1}是好学生,${name2}是差生,大家要向${name1}学习,不要和${name2}混在一起。”"
echo "${name1}替${name2}打抱不平说:“老登你快滚蛋”"
执行脚本
[root@haha ~]# sh jb.sh
3.系统的环境变量
查看系统环境变量
[root@haha ~]# env
XDG_SESSION_ID=1
HOSTNAME=haha
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=10.0.0.1 5517 22
SSH_TTY=/dev/pts/0
QT_GRAPHICSSYSTEM_CHECKED=1
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/var/lib/snapd/snap/bin:/root/bin
PWD=/root
LANG=zh_CN.UTF-8
oldboy=3
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop
SSH_CONNECTION=10.0.0.1 5517 10.0.0.100 22
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/0
DISPLAY=localhost:10.0
_=/usr/bin/env
LANG系统语言
[root@haha ~]# mkdirr 1
-bash: mkdirr: 未找到命令 //中文报错
[root@haha ~]# LANG=en_US.UTF-8 //修改成英文
[root@haha ~]# mkdirr 1
-bash: mkdirr: command not found //英文报错
PATH变量
作用:快捷命令,在任何路径下都可以使用命令
[root@haha ~]# echo $PATH //查看PATH值
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
案例演示:
[root@haha ~]# mv /usr/bin/cat /opt/
[root@haha ~]# cat jb.sh
-bash: cat: 未找到命令
[root@haha ~]# PATH="$PATH:/opt/"
[root@haha ~]# cat jb.sh
#!/bin/bash
name1="阿珍"
alias 系统别名
【【【 alias + 名称 =“命令” 】】】
例:
alias ckwk="cat /etc/sysconfig/network-scripts/ifcfg-eth0"
[root@haha ~]# ckwk
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=eth0
UUID=6083d416-be6b-4efb-9459-1021d85c8a6f
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.215
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5
查看系统别名
[root@haha ~]# alias
alias ckwk='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
取消别名
【【【 unalias + 名称 】】】
例:
[root@haha ~]# unalias ckwk
环境变量的配置文件(永久变量)
vim /etc/profile
将要添加的永久变量写入文件后方
写入后需要再执行一下这个文件,更新配置信息
source /etc/profile //更新配置信息
设置好后不管重启还是重连都可以继续使用
例:
vim /etc/profile
在文件里面写入
export haha="1" //export设置全局变量
alias ckwk='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
source /etc/profile
重新连接
[root@haha ~]# ckwk
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=eth0
UUID=6083d416-be6b-4efb-9459-1021d85c8a6f
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.215
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5
发现仍然管用
变量的配置文件
全局变量设置(所有用户都可以使用)
/etc/profile 优先级第三
/etc/bashrc 优先级第四
局部变量设置(用户自己使用)
~/.bash_profile 优先级最高
~/.bashrc 优先级第二
二、查看历史打印命令记录
history //查看历史命令
清空个人历史命令记录
1:
history -c
2:
> .bash_history
三、开机自动执行脚本
/etc/profile.d/
将脚本移动到该目录下,每次开机都会自动执行这个目录里面的所有脚本
四、软件安装
yum安装:自动获取依赖信息,推荐使用
rpm安装:不自动获取依赖,需要自己找
编译安装:make 不推荐使用
二进制安装:推荐使用(一般大型软件使用这种方式:MySQL,es....)
1.yum安装
【【【 yum -y install 软件名 】】】
查看yum应用商店
ll /etc/yum.repos.d/
总用量 44
-rw-r--r--. 1 root root 2523 7月 18 15:32 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 10月 23 2020 CentOS-CR.repo
-rw-r--r--. 1 root root 649 10月 23 2020 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 10月 23 2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 10月 23 2020 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 10月 23 2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 10月 23 2020 CentOS-Vault.repo
-rw-r--r--. 1 root root 616 10月 23 2020 CentOS-x86_64-kernel.repo
-rw-r--r--. 1 root root 664 7月 18 15:32 epel.repo
卸载软件
【【【 yum -y remove 软件名 】】】
“应用商店”搜索软件
[root@haha ~]# yum list | grep nginx
collectd-nginx.x86_64 5.8.1-2.el7 epel
munin-nginx.noarch 2.0.75-1.el7 epel
nginx.x86_64 1:1.20.1-10.el7 epel
nginx-all-modules.noarch 1:1.20.1-10.el7 epel
nginx-filesystem.noarch 1:1.20.1-10.el7 epel
nginx-mod-devel.x86_64 1:1.20.1-10.el7 epel
nginx-mod-http-image-filter.x86_64 1:1.20.1-10.el7 epel
nginx-mod-http-perl.x86_64 1:1.20.1-10.el7 epel
nginx-mod-http-xslt-filter.x86_64 1:1.20.1-10.el7 epel
nginx-mod-mail.x86_64 1:1.20.1-10.el7 epel
nginx-mod-stream.x86_64 1:1.20.1-10.el7 epel
pagure-web-nginx.noarch 5.13.3-10.el7 epel
pcp-pmda-nginx.x86_64 4.3.2-13.el7_9 updates
python2-certbot-nginx.noarch 1.11.0-1.el7 epel
sympa-nginx.x86_64 6.2.72-3.el7 epel
本地安装
yum -y localinstall 软件包路径
下载本地安装包
vim /etc/yum.conf
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0 //将这个改成1 将下载的.rpm保存在上方/var/cache/yum/的路径里 (找不到可以用find查询)
2.rpm安装
rpm -ivh ./*.rpm
==
yum -y localinstall ./*.rpm
-i //就是install
-v //显示安装过程
-h //人类可读
3.编译安装
./configure 安装路径 with.... //安装的路径、安装的软件模块
make && make install
4.二进制安装
绿色安装打开即用
五、系统日志目录
1.系统日志
[root@haha ~]# ll /var/log/messages
-rw-------. 1 root root 652960 7月 23 15:01 /var/log/messages
您在 /var/spool/mail/root 中有新邮件
[root@haha ~]# tail -10 /var/log/messages
Jul 23 11:21:32 wuyonggang systemd: Reloading.
Jul 23 11:30:18 wuyonggang systemd: Reloading.
Jul 23 11:30:18 wuyonggang yum[3691]: Installed: 1:nginx-1.20.1-10.el7.x86_64
Jul 23 11:32:24 wuyonggang sz[3738]: [root] nginx-1.20.1-10.el7.x86_64.rpm/ZMODEM: 601657 Bytes, 185021 BPS
Jul 23 11:52:00 wuyonggang systemd: Starting Cleanup of Temporary Directories...
Jul 23 11:52:00 wuyonggang systemd: Started Cleanup of Temporary Directories.
Jul 23 12:01:01 wuyonggang systemd: Started Session 41 of user root.
Jul 23 13:01:02 wuyonggang systemd: Started Session 42 of user root.
Jul 23 14:01:01 wuyonggang systemd: Started Session 43 of user root.
Jul 23 15:01:01 wuyonggang systemd: Started Session 44 of user root.
2.访问日志(SSHD)
[root@haha ~]# tail -10 /var/log/secure
Jul 23 10:44:01 wuyonggang sshd[3501]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 23 10:47:04 wuyonggang sshd[3501]: pam_unix(sshd:session): session closed for user root
Jul 23 10:47:05 wuyonggang sshd[3527]: Accepted password for root from 10.0.0.1 port 58259 ssh2
Jul 23 10:47:06 wuyonggang sshd[3527]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 23 10:48:19 wuyonggang sshd[3527]: pam_unix(sshd:session): session closed for user root
Jul 23 10:48:20 wuyonggang sshd[3551]: Accepted password for root from 10.0.0.1 port 58307 ssh2
Jul 23 10:48:21 wuyonggang sshd[3551]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 23 11:11:41 wuyonggang sshd[3551]: pam_unix(sshd:session): session closed for user root
Jul 23 11:11:43 wuyonggang sshd[3604]: Accepted password for root from 10.0.0.1 port 59430 ssh2
Jul 23 11:11:43 wuyonggang sshd[3604]: pam_unix(sshd:session): session opened for user root by (uid=0)
3.硬件自检日志
[root@haha ~]# tail -10 /var/log/dmesg
[ 4.271258] AVX2 version of gcm_enc/dec engaged.
[ 4.271261] AES CTR mode by8 optimization enabled
[ 4.287545] Adding 2097148k swap on /dev/sda2. Priority:-2 extents:1 across:2097148k FS
[ 4.324615] usbcore: registered new interface driver btusb
[ 4.336317] XFS (sda1): Mounting V5 Filesystem
[ 4.401292] alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
[ 4.406138] ppdev: user-space parallel port driver
[ 4.412528] alg: No test for __generic-gcm-aes-aesni (__driver-generic-gcm-aes-aesni)
[ 5.008753] XFS (sda1): Ending clean mount
[ 5.324408] type=1305 audit(1721619344.080:4): audit_pid=741 old=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:auditd_t:s0 res=1
六、硬件信息目录/proc/
1.cpu
[root@haha ~]# cat /proc/cpuinfo
processor : 0 //几个核心
vendor_id : GenuineIntel
cpu family : 6
model : 183
model name : Intel(R) Core(TM) i9-14900HX //型号和频率
stepping : 1
microcode : 0x11d
cpu MHz : 2419.202
cache size : 36864 KB
physical id : 0 //第几个cpu
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 32
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 arat umip pku ospke gfni vaes vpclmulqdq movdiri movdir64b md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
bogomips : 4838.40
clflush size : 64
cache_alignment : 64
address sizes : 45 bits physical, 48 bits virtual
power management:
查看cpu信息命令
[root@haha ~]# ls cpu
2.内存
[root@haha ~]# cat /proc/meminfo
MemTotal: 995672 kB //总内存大小
MemFree: 512032 kB //空闲容量【已被程序占用了,但程序还没有使用它】
MemAvailable: 665344 kB //可用的内存容量【还没有被使用】
Buffers: 2076 kB //内存缓冲区【写的操作暂时存放地点】
Cached: 275772 kB //内存缓存区 【读的操作暂时存放的地点】
SwapCached: 0 kB //交换分区swap
**** 重点 ****
读缓存 写缓冲
**** 重点 ****
查询内存命令
[root@haha ~]# free -h
total used free shared buff/cache available
Mem: 972M 166M 461M 7.6M 344M 659M
Swap: 2.0G 0B 2.0G
3.磁盘
[root@haha ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.6M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda3 58G 2.3G 56G 4% /
/dev/sda1 197M 110M 88M 56% /boot
tmpfs 98M 0 98M 0% /run/user/0
[root@haha ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 476M 0 476M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.6M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda3 xfs 58G 2.3G 56G 4% /
/dev/sda1 xfs 197M 110M 88M 56% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
05-完