目录
1.shell
linux常用目录:
2.命令格式
3.man 帮助
4.提示符
5.echo输出字符串或变量值
6.date显示及设置系统的时间或日期
7.重启系统
8.关闭系统
9.登录注销
10.wget 下载文件
11.ps 查看系统的进程
12.top动态监视进程信息和系统负载等信息
13.lsof查询指定服务进程的 PID 值
14.kill终止某个指定 PID 的服务进程
15.系统状态检测
1 、 ifconfig用于获取网卡配置与网络状态
2 、uname查看系统内核与系统版本等信息
3、free显示当前系统中内存的使用量信息
4、who查看当前登入主机的用户终端信息
5、 history用于显示历史执行过的命令
16.工作目录切换
1、 pwd显示用户当前所处的工作目录例: pwd
2、cd切换工作路径
3、 ls显示目录中的文件信息
17.文本文件编辑
1 、cat查看纯文本文件内容
2 、more查看纯文本文件内容(逐屏)
3 、head查看纯文本文档的前 N 行
4 、tail查看纯文本文档的后 N 行或持续刷新内容
5 、wc用于统计指定文本的行数、字数、字节数
18.文件目录管理
1 、touch用于创建空白文件或设置文件的时间
2 、mkdir用于创建空白的目录
3 、cp用于复制文件或目录
4 、mv用于剪切文件或将文件重命名
5 、rm删除文件或目录(空目录或非空目录)
6 、dd按照指定大小和个数的数据块来复制文件或转换文件
7.linux 的文件类型
19.打包压缩与搜索
1、tar于对文件进行打包压缩或解压
2 、find按照指定条件来查找文件
20.配置网卡信息
21.配置 Yum 软件仓库
22.周期性的计划任务
23.用户身份及目录
练习 1 :swap 分区扩展练习
练习 2 :本地 yum 的配置
练习 3 :虚拟内存修改
1.shell
实际上 Shell 是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此, Shell 有自己的编程语言用于对命令的编辑,它允许用户编写由 shell 命令组成的程序。 Shell 编程语言具有普 通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的 Shell 程序与其他应用程序具有同样的效果。

linux常用目录:



[root@oel7 ~]# cat /etc/shells
 /bin/sh
 /bin/bash
 /usr/bin/sh
 /usr/bin/bash
 /bin/tcsh
 /bin/csh
 [root@oel7 ~]# echo $SHELL   
 /bin/bash

2.命令格式
命令名称 [参数] [对象]
 注意:命令区分大小写
 [root@oel7 ~]# cat /etc/redhat-release
 Red Hat Enterprise Linux Server release 7.9 (Maipo)
 [root@oel7 ~]# ls -l /boot
3.man 帮助
[root@oel7 ~]# man tail
 其中空格为向下,/为下查找, n 为继续查找,?向上查找
4.提示符
[root@oel7 ~]# echo $PS1
 [\u@\h \W]\$
 登录的用户名 +短主机名+当前打开的目录(此目录会改变),$表示登录用户是普通用户
 假设我们需要设置的主机名为 server.jeames.wang, 那么段主机名为 server, 长主机名为 server.jeames.wang
 vi /etc/hosts 中编辑
 88.88.88.88    server.jeames.wang    server
/etc/hostname 中编辑
 server
 hostnamectl set-hostname <newhostname>
 注: hostname 为短主机名, hostname -f 为长主机名
 5.echo输出字符串或变量值
 
在终端输出字符串或变量值
 例:
 echo how are you
 echo $PATH
 echo $SHELL
 6.date显示及设置系统的时间或日期
 
 [root@oel7 ~]# date -R
 Wed, 15 Feb 2023 07:16:47 +0800
[root@oel7 ~]# date
 Wed Feb 15 07:16:55 CST 2023
[root@oel7 ~]# date -s "14:32"
 Wed Feb 15 14:32:00 CST 2023
[root@oel7 ~]# timedatectl
 Local time: Wed 2023 -02-15 07:18:03 CST
 Universal time: Tue 2023-02-14 23:18:03 UTC
 RTC time: Tue 2023-02-14 23:18:01
 Time zone: Asia/Shanghai (CST, +0800)
 NTP enabled: no
 NTP synchronized: no
 RTC in local TZ: no
 DST active: n/a
 设置时区:timedatectl  set -timezone UTC
 了解 GMT,CST,UTC 是什么鬼?
 1.  UTC(世界标准时间)
 协调世界时,又称世界标准时间或世界协调时间,简称 UTC(从英文“Coordinated Universal Time”
 /法文“Temps
 Universel Coordonné” 而来),是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽 量接近于格林尼治标准时间。
2.GMT(格林尼治平时)
 格林尼治 平时(又称格 林 尼治平均 时间或 格林尼 治 标准时间 ,旧译 格林威 治 标准时间 ;英语 : Greenwich MeanTime ,GMT )是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本 初子午线被定义在通过那里的经线。由于地球每天的自转是有些不规则的,而且正在缓慢减速,因此 格林尼治时间已经不再被作为标准时间使用。现在的标准时间,是由原子钟报时的协调世界时( UTC )。
3.CST(北京时间)
 北京时间,China Standard Time ,中国标准时间。在时区划分上,属东八区,比协调世界时早 8 小 时,记为 UTC+8。
7.重启系统
立即重启:reboot 、init 6 、shutdown -r now
 14 :30 重启系统 shutdown -r 14:30
 取消重启 shutdown -c
8.关闭系统
shutdown -h now
 init 0
 poweroff
 halt
14 :30 关闭系统:shutdown -h 14:30
 取消关闭:shutdown -c
9.登录注销
 ctrl+alt+F2 可进入控制台,多用户多任务的系统
 [u1@oel7 ~]$ whoami
 u1
 exit
 logout
10.wget 下载文件
在终端中下载文件
 例: wget 下载链接
11.ps 查看系统的进程
查看系统的进程:例: ps -aux、 ps -ef
12.top动态监视进程信息和系统负载等信息
 q 退出 top
13.lsof查询指定服务进程的 PID 值
 例: lsof -p pid值
 14.kill终止某个指定 PID 的服务进程
 
 
终止某个指定 PID 的服务进程
 kill [参数] [进程 PID]
 例: kill -9 12363
 killall [参数] [进程名称]
 终止某个指定名称的服务所全部进程
 例: killall httpd
15.系统状态检测
 1 、  ifconfig用于获取网卡配置与网络状态
 
 例:  ifconfig

2 、uname查看系统内核与系统版本等信息
 例:  uname
 查询内核版本号
 uname -r
查看发行版的版本号
 cat /etc/redhat-release

3、free显示当前系统中内存的使用量信息
例: free 、free -h
4、who查看当前登入主机的用户终端信息
例: who、w

last:查看所有系统的登录记录
5、 history用于显示历史执行过的命令
 例: history
 !20:重复使用命令,历史命令会被保存到用户家目录中的.bash_history 文件中, Linux 系统中以点 . 开头的文件均代表隐藏文件。
 清空历史命令: history -c
16.工作目录切换
1、  pwd显示用户当前所处的工作目录
 例: pwd
 
 
2、cd切换工作路径
 例:
 切换当前登录用户的家目录
cd
 切换到 etc 目录
 cd /etc/
 切换到当前目录的父目录
 cd ..
 从当前目录切换到上二层目录下的 etc 目录
 cd ../../etc
补充:
 绝对路径:以根(/)目录开始的路径
 例: cd /etc
 cd /var/db/sudo/lectured
 相对路径:不以根(/)目录开始的路径
 例: cd ../../etc
 特殊目录
 切换到根目录
 cd /
 切换当前目录
 cd .
 切换到父目录
 cd ..
 切换到上一次操作过的目录
 cd -
 切换到登录用户的根目录
 cd
 切换到登录用户的根目录
 cd ~
3、 ls显示目录中的文件信息
 例:
 显示当前目录中的文件信息
 ls
 显示/boot 目录中的文件信息
 ls /boot
显示 tmp 目录中的文件信息
 ls ../tmp
 以长格式显示当前目录中的文件,包含隐藏文件
 ls -al
 显示当前目录中的文件,包含隐藏文件、当前目录及父目录
 ls -a
 显示当前目录中的文件,包含隐藏文件,不包含当前目录及父目录
 ls -A
 查看目录属性信息
 ls -ld
 显示当前目录中的文件,按时间升序排序
 ls -ltr
 显示当前目录中的文件,按文件大小升序排序
 ls -lSr
 显示当前目录中的文件,如果是目录后面加/
 ls -F
17.文本文件编辑
 1 、cat查看纯文本文件内容
 
 例:
 cat filename
 cat initial -setup-ks.cfg
 cat -ninitial-setup-ks.cfg
2 、more查看纯文本文件内容(逐屏)
 例:
 more filename
 more initial -setup -ks.cfg
 按空格显示下一屏信息
 按回车一行一行信息向下显示
 使用 q 退出 more
3 、head查看纯文本文档的前 N 行
 例:
 head initial -setup -ks.cfg
 head -n 6initial-setup-ks.cfg
4 、tail查看纯文本文档的后 N 行或持续刷新内容
 例:
 tail initial -setup -ks.cfg
 tail -n 5initial-setup-ks.cfg
举例:
 第一个窗口
 tail -f /root/initial -setup-ks.cfg
 第二个窗口
 echo how are you >>/root/initial -setup -ks.cfg
 5 、wc用于统计指定文本的行数、字数、字节数
 
 例:
 wc initial -setup -ks.cfg
 wc -l initial -setup -ks.cfg
 wc -w initial -setup -ks.cfg
 wc -cinitial-setup-ks.cfg
18.文件目录管理
 1 、touch用于创建空白文件或设置文件的时间
 
 例:
 创建空文件
 touch aa.txt
 查看文件时间及设置文件时间
 stat aa.txt
 touch -d "2019-12-08 12:20:20"aa.txt
2 、mkdir用于创建空白的目录
 例:
 在当前目录创建 a1 目录
 mkdir a1
 在根目录创建 a1 目录
 mkdir /a1
 在/tmp 目录创建 a1 目录
 mkdir /tmp/a1
 创建多层目录
 mkdir -p a/b/c/d
 3 、cp用于复制文件或目录
 
 例:
 将当前目录下的 aa.txt 文件复制到/tmp 目录下
 cp aa.txt /tmp
 将当前目录下的 a 目录复制到/tmp 目录下
 cp -r a /tmp
 将当前目录下的 aa.txt 文件复制到/tmp 目录下,   并保留 aa.txt 文件的属性 cp -p aa.txt /tmp
4 、mv用于剪切文件或将文件重命名
 例:
 移动(剪切)
 mv aa.txt /tmp
 mv a /tmp
 重命名
 mv a.txtabc.txt
5 、rm删除文件或目录(空目录或非空目录)
 例:
 rm -rf abc
 rm -f abc.txt
 rmc.txt
6 、dd按照指定大小和个数的数据块来复制文件或转换文件
 例:
 利用 dd 创建一个 10M 文件
 dd if=/dev/zero of=/root/size bs=1M count=10
 du -h size
 dd 命令来压制出光盘镜像文件
 dd if=/dev/cdrom of=RHEL -server-7.0-x86_64-LinuxProbe.Com.iso
 7.linux 的文件类型
 
 1、普通文件   文本文件   二进制文件
 ls -l
 文件属性的第一个字符是  “ - ”
 2、目录文件
 ls -l
 文件属性的第一个字符是  “ d ”
 3、设备文件
 字符设备文件
 ls -l
 文件属性的第一个字符是  “ c ”
 例:
 ls -l /dev/zero
 块设备文件
 ls -l
 文件属性的第一个字符是  “ b ”
 例:
 ls -l /dev/sba
 4、链接文件
 ls -l
 文件属性的第一个字符是  “ l ”
 例:
 ls -l /dev/rtc
 19.打包压缩与搜索
 
 
1、tar于对文件进行打包压缩或解压
 例:
 anaconda -ks.cfg 和 initial-setup -ks.cfg 文件打包,包的名称为 a.tar
 tar -cvf a.tar anaconda -ks.cfg initial -setup -ks.cfg
 查看 a.tar 包中的文件
 tar -tvf a.tar
 解包
 tar -xvf a.tar
 打包并压缩
 tar -zcvf b.tar.gz anaconda -ks.cfg initial -setup -ks.cfg
 查看 b.tar.gz 包中的文件
 tar -ztvf b.tar.gz
 解包
 tar -zxvf b.tar.gz
 解包至指定位置
 tar -zxvf b.tar.gz -C /tmp
 tar -jcvf c.tar.bz2 initial -setup -ks.cfg anaconda -ks.cfg
 tar -jtvf c.tar.bz2
 tar -jxvf c.tar.bz2 -C /tmp/
 2 、find按照指定条件来查找文件
 
 例:
 在/etc 目录下查找 passwd 文件
 find /etc -name passwd
 在/etc 目录下查找权限为 777 的文件
 find /etc -perm 777

算数字表示法 764 、642 、153 、731 所对 应的字符表示法
764 rwxrw-r--
 642 rw-r---w- 153 --xr-x -wx
 731 rwx -wx --x
 666 rw-rw-rw-
20.配置网卡信息
 配置网络服务的工作其实就是在编辑网卡配置文件
 vim /etc/sysconfig/network-scripts/ifcfg-ens33
 ➢ 设备类型: TYPE=Ethernet
 ➢ 地址分配模式: BOOTPROTO=static
 ➢ 网卡名称: NAME=eno16777736
 ➢ 是否启动: ONBOOT=yes
 ➢ IP 地址: IPADDR=192.168.10.10
 ➢ 子网掩码: NETMASK=255.255.255.0
 ➢ 网关地址: GATEWAY=192.168.10.1
 ➢ DNS 地址: DNS1=192.168.10.1
 21.配置 Yum 软件仓库
 
 cd /etc/yum.repos.d/
 rm redhat.repo
 vim /etc/yum.repos.d/server.repo
 内容如下:
 [server]
 name=linux
 baseurl=file:///run/media/root/RHEL -7.6%20Server.x86_64
 enabled=1
 gpgcheck=0
 测试:
 yum repolist
 如果显示以下信息,表示 yum 搭建成功
 repolist: 5,152
 22.周期性的计划任务
 
 我们希望 Linux 系统能够周期性地、有规律地执行某些具体的任务,那么 Linux 系统
 中默认启用的 crond 服务简直再适合不过了创建、编辑计划任务的命令为  “crontab -e” ,查看当前计
划任务的命令为 “crontab -l”

例:
每周一、三、五的凌晨 3 点 25 分
25 3 * * 1,3,5
每周一至五的 1 点
0 1 * * 1-5
*/2 表示每隔 2 分钟
5 * * * * Command 每小时的第 5 分钟执行一次命令
30 18 * * * Command 指定每天下午的 6:30 执行一次命令
30 7 8 * * Command 指定每月 8 号的 7 :30 分执行一次命令
30 5 8 6 * Command 指定每年的 6 月 8 日 5 :30 执行一次命令
30 6 * * 0 Command 指定每星期日的 6:30 执行一次命令
每天的下午 4 点、 5 点、 6 点的 5 min、 15 min、25 min、 35 min、45 min、 55 min 时执行命 令。
5 ,15 ,25 ,35 ,45 ,55 16 ,17 ,18 * * * Command
23.用户身份及目录
useradd 命令用于创建新的用户, 格式为 “useradd [选项] 用户名” 。
userdel 命令用于删除用户,格式为 “userdel [选项] 用户名” 。
可以使用 useradd 命令创建用户账户。使用该命令创建用户账户时,默认的用户家目录会
被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户 同名的基本用户组。

例:
useradd -d /home/user05 -s /bin/bash -u 9999 -N user05
groupadd 命令用于创建用户组, 格式为 “groupadd [选项] 群组名” 。
为了能够更加高效地指派系统中各个用户的权限,在工作中常常会把几个用户加入到同 一个组里面,这样便可以针对一类用户统一安排权限
例: groupadd g1
练习 1 :swap 分区扩展练习
 swap 分区间没有分配, 内存大于 32G ,swap 分区至少要有 16,此处我们分配 18G,方法如 下:
 a.创建大小为 18G 的交换文件:
 [root@test /]# dd if=/dev/zero of=/swapfile bs=1024 count=18874368
b.格式化 swaps 分区
 [root@test /]# mkswap /swapfile
c.开启 swap 分区
 [root@test /]# swapon /swapfile
d.再次查看 swap 空间
 [root@test /]# free -m
 [root@test /]# cat /proc/swaps
注意:要想开机也是增加后的大小,   编辑/etc/fstab 在末端添加如下行,这个一定要做
 cat /etc/fstab
 /swapfile swap swap defaults 0 0
 练习 2 :本地 yum 的配置
  
 
[root@test ~]# mkdir /cdrom
 [root@test ~]# mount -o loop /rhel -server-5.4-x86_64-dvd.iso  /cdrom
 vi /etc/yum.repos.d/dvd.repo
 添加:
 [RHEL]
 name=RedHat
 baseurl=file:///cdrom/Server
 gpgcheck=0
 gpgkey=file:///etc/pki/rpm-gpg/RPM -GPG-KEY-redhat-release
 enabled=1
## 清空并重载yum
 yum clean all
 yum makecache
练习 3 :虚拟内存修改
 /dev/shm 这个目录是 linux 下一个利用内存虚拟出来的一个目录,这个目录中的文件都是保存在 内存中,而不是磁盘上。其大小是非固定的,即不是预先分配好的内存来存储的。  /dev/shm 的容量默
 认最大为内存的一半大小,使用 df -h 命令可以看到。但它并不会真正的占用这块内存,如果 /dev/shm/下没有任何文件,它占用的内存实际上就是 0 字节。
[root@localhost ~]# df -h /dev/shm/
 文件系统        容量  已用  可用 已用% 挂载点
 tmpfs            63G     0   63G    0% /dev/shm
此处修改共享内存大小
 vi /etc/fstab 修改对应/dev/shm 项 defaults,size=86016M
 tmpfs /dev/shm/ tmpfs defaults,size=86016M 0 0
##重新挂载
 [root@localhost ~]# mount -o remount /dev/shm
 [root@localhost ~]# cat /etc/fstab | grep shm
 tmpfs /dev/shm/ tmpfs defaults,size=49152M 0 0
[root@localhost ~]# df -h /dev/shm/
 文件系统        容量  已用  可用 已用% 挂载点
 tmpfs            84G     0   84G    0% /dev/shm





![[小林coding]4.1TCP三次握手四次挥手笔记_1012](https://img-blog.csdnimg.cn/5bcbeaef2f7041a4b3928bc713f95dd8.png)





![2023年全球及中国光伏硅片行业产量、市场竞争格局及趋势分析[图]](https://img-blog.csdnimg.cn/img_convert/4e0c65914f143890ce35f0e62689848d.png)





