N63044-第一周

#课程大纲
第一天
一、计算机基础和linux安装
1、计算机基础(100分钟) 免费试学
2、服务器硬件组成(72分钟)
3、操作系统相关技术和Unix历史(63分钟)
4、Linux各种版本的安装(116分钟)
第二天
二、计算机基础和帮助
1、Linux远程连接和基本操作(57分钟) 免费试学
2、Linux的终端和运行命令(64分钟)
3、linux命令格式(41分钟)
4、Linux常用命令(55分钟)
5、ASCII和Unicode编码及各种符号用法(53分钟)
6、linux查看帮助用法(65分钟)
7、Linux的目录结构和文件类型(46分钟)

1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

slackware:SUSE Linux Enterprise Server (SLES) , OpenSuse桌面
debian: ubuntu,deepin(深度),mint
redhat: RHEL: RedHat Enterprise Linux, 每18个月发行一个新版本
CentOS: Community Enterprise Operating System 兼容RHEL的格式
中标麒麟:中标软件
Fedora:每6个月发行一个新版本
Alpine: 一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,只有5M左右大小
ArchLinux:轻量简洁,遵循K.I.S.S.原则( keep it simple and stupid ),Manjaro
Gentoo:极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件
LFS:Linux From scratch 自制Linux,只是一个说明书
Android:kernel+busybox(工具集)+java虚拟机
Linux 分支参考网站:http://futurist.se/gldt/
Linux发行版排名: https://distrowatch.com/dwres.php?resource=popularity
Linux 发行版体验: https://distrotest.net/

2、安装Centos7.9和ubuntu操作系统,创建一个自己名字的用户名,并可以正常登录。

Centos7.9

[root@centos7 home]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@centos7 home]# useradd linxiaodong
[root@centos7 home]# passwd linxiaodong
Changing password for user linxiaodong.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@centos7 home]# su - linxiaodong

ubuntu18.04.5

root@ubuntu1804:~# cat /etc/os-release 
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
root@ubuntu1804:~# adduser linxiaodong
Adding user `linxiaodong' ...
Adding new group `linxiaodong' (1001) ...
Adding new user `linxiaodong' (1001) with group `linxiaodong' ...
The home directory `/home/linxiaodong' already exists.  Not copying from `/etc/skel'.
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for linxiaodong
Enter the new value, or press ENTER for the default
	Full Name []: linxiaodong
	Room Number []: 63
	Work Phone []: 18824116910
	Home Phone []: 18824116910
	Other []: linxiaodong
Is the information correct? [Y/n] y
root@ubuntu1804:~# su - linxiaodong
linxiaodong@ubuntu1804:~$

3、配置环境变量,实现执行history的时候可以看到执行命令的时间。

[root@centos8 profile.d]#cat /etc/profile.d/env.sh
PS1='\[\e[1;36m\][\u@\h \W]\$\[\e[0m\]'
export EDITOR=vim
export HISTTIMEFORMAT="%F %T "
[root@centos8 profile.d]#history |head
    1  2021-12-20 13:02:08 reboot
    2  2021-12-20 13:02:08 cat /etc/shadow
    3  2021-12-20 13:02:08 lsblk 
    4  2021-12-20 13:02:08 tty
    5  2021-12-20 13:02:08 who am i
    6  2021-12-20 13:02:08 who a b
    7  2021-12-20 13:02:08 who a a
    8  2021-12-20 13:02:08 who
    9  2021-12-20 13:02:08 w
   10  2021-12-20 13:02:08 ps -a |grep bash  

4、总结Linux哲学思想。

一切都是一个文件(包括硬件)
小型,单一用途的程序
链接程序,共同完成复杂的任务
避免令人困惑的用户界面
配置数据存储在文本中

5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令

5.1 lscpu命令可以查看cpu信息,cat /proc/cpuinfo也可看查看到

[root@centos8 ~]#lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  1
Socket(s):           2
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               60
Model name:          Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz
Stepping:            3
CPU MHz:             3292.377
BogoMIPS:            6584.75
Hypervisor vendor:   VMware
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            6144K
NUMA node0 CPU(s):   0,1
[root@centos8 ~]#cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 60
model name	: Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz

5.2 查看内存大小

[root@centos8 ~]#free
              total        used        free      shared  buff/cache   available
Mem:        1996212     1277336      229340       18424      489536      529020
Swap:       2097148     1116672      980476
[root@centos8 ~]#cat /proc/meminfo 
MemTotal:        1996212 kB
MemFree:          228016 kB
MemAvailable:     527700 kB
Buffers:             384 kB
Cached:           410000 kB

5.3查看硬盘和分区情况

[root@centos8 ~]#lsblk 
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  200G  0 disk 
├─sda1        8:1    0  100G  0 part /
├─sda2        8:2    0   50G  0 part /data
├─sda3        8:3    0    2G  0 part [SWAP]
├─sda4        8:4    0    1K  0 part 
└─sda5        8:5    0    1G  0 part /boot
sr0          11:0    1  8.6G  0 rom  /run/media/wang/CentOS-8-3-2011-x86_64-dvd

5.4查看内核版本

[root@centos8 ~]#uname -r
4.18.0-240.el8.x86_64

5.5查看操作系统发行版本

CentOS8 查看发行版本

[root@centos8 ~]#cat /etc/redhat-release 
CentOS Linux release 8.3.2011
[root@centos8 ~]#^C
[root@centos8 ~]#cat /etc/os-release 
NAME="CentOS Linux"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"

ubuntu查看发行版本

linxiaodong@ubuntu1804:~$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

5.6日期和时间

5.6.1 date 显示和设置系统时间
[root@centos8 ~]#date +%s
1639985936
[root@centos8 ~]#date -d @`date +%s`
Mon Dec 20 15:39:00 CST 2021
[root@centos8 ~]#date -d @1639985803 +%F_%T
2021-12-20_15:36:43
[root@centos8 ~]#date -d @1639985803
Mon Dec 20 15:36:43 CST 2021
[root@centos8 ~]#date -d "2021-12-20" +%s
1639929600
5.6.2 clock,hwclock: 显示硬件时钟
-s, --hctosys #以硬件时钟为准,校正系统时钟
-w, --systohc #以系统时钟为准,校正硬件时钟

范例:

[root@centos8 ~]#ll /usr/sbin/clock
lrwxrwxrwx. 1 root root 7 Jul 22  2020 /usr/sbin/clock -> hwclock
5.6.3 时区
/etc/localtime

范例:

[root@centos8 ~]#timedatectl list-timezones 
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
[root@centos8 ~]#timedatectl set-timezone Asia/Shanghai 
[root@centos8 ~]#timedatectl status
               Local time: Mon 2021-12-20 16:49:31 CST
           Universal time: Mon 2021-12-20 08:49:31 UTC
                 RTC time: Mon 2021-12-20 08:49:27
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
              NTP service: inactive
          RTC in local TZ: no
[root@centos8 ~]#ll /etc/localtime 
lrwxrwxrwx. 1 root root 35 Dec 14 21:33 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai
5.6.4 显示日历
[root@centos8 ~]#cal -y
                               2021                               

       January               February                 March       
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                1  2       1  2  3  4  5  6       1  2  3  4  5  6
 3  4  5  6  7  8  9    7  8  9 10 11 12 13    7  8  9 10 11 12 13
10 11 12 13 14 15 16   14 15 16 17 18 19 20   14 15 16 17 18 19 20
17 18 19 20 21 22 23   21 22 23 24 25 26 27   21 22 23 24 25 26 27
24 25 26 27 28 29 30   28                     28 29 30 31         
31                         
[root@centos8 ~]#cal -m
    December 2021   
Mo Tu We Th Fr Sa Su
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31                                                         

5.7 关机和重启

关机:
halt
poweroff
重启:
reboot
-f: 强制,不调用shutdown
-p: 切断电源
关机或重启:shutdown

shutdown [OPTION]... [TIME] [MESSAGE]
-r: reboot
-h: halt
-c:cancel
TIME:无指定,默认相当于+1(CentOS7)
now: 立刻,相当于+0
+#: 相对时间表示法,几分钟之后;例如 +3
hh:mm: 绝对时间表示,指明具体时间

范例:

[root@centos8 ~]#shutdown -r +60 
Shutdown scheduled for Mon 2021-12-20 18:08:02 CST, use 'shutdown -c' to cancel.
[root@centos8 ~]#shutdown -c
[root@centos8 ~]#shutdown 18:00
Shutdown scheduled for Mon 2021-12-20 18:00:00 CST, use 'shutdown -c' to cancel.
[root@centos8 ~]#shutdown -c

5.8 用户登录信息查看命令

whoami: 显示当前登录有效用户
who: 系统当前所有的登录会话
w: 系统当前所有的登录会话及所做的操作

[root@centos8 ~]#whoami
root
[root@centos8 ~]#who
root     pts/0        2021-12-20 17:06 (10.0.0.1)
[root@centos8 ~]#w
 17:10:30 up 5 min,  1 user,  load average: 0.00, 0.06, 0.03
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.0.0.1         17:06    6.00s  0.05s  0.01s w

5.9 文本编辑

nano 工具可以实现文本的编辑,上手容易,适合初学者
gedit 工具是图形工具
范例: 创建登录提示文件 /etc/motd
参考网站: https://www.bootschool.net/ascii-art

[root@centos8 ~]#cat /etc/motd
[root@centos8 ~]#exit

Connecting to 10.0.0.151:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.


//                          _ooOoo_                               //
//                         o8888888o                              //
//                         88" . "88                              //
//                         (| ^_^ |)                              //
//                         O\  =  /O                              //
//                      ____/`---'\____                           //
//                    .'  \\|     |//  `.                         //
//                   /  \\|||  :  |||//  \                        //
//                  /  _||||| -:- |||||-  \                       //
//                  |   | \\\  -  /// |   |                       //
//                  | \_|  ''\---/''  |   |                       //
//                  \  .-\__  `-`  ___/-. /                       //
//                ___`. .'  /--.--\  `. . ___                     //
//              ."" '<  `.___\_<|>_/___.'  >'"".                  //
//            | | :  `- \`.;`\ _ /`;.`/ - ` : | |                 //
//            \  \ `-.   \_ __\ /__ _/   .-` /  /                 //
//      ========`-.____`-.___\_____/___.-`____.-'========         //
//                           `=---='                              //
//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        //
//            佛祖保佑       永不宕机     永无BUG                    //

Web console: https://centos8.magedu.org:9090/ or https://10.0.0.151:9090/

Last login: Mon Dec 20 17:06:42 2021 from 10.0.0.1

5.10 会话管理

5.10.1 screen

利用screen 可以实现会话管理,如:新建会话,共享会话等
注意:CentOS7 来自于base源,CentOS8 来自于epel源
范例:安装 screen

#CentOS7 安装screen
[root@centos7 ~]#yum -y install screen
#CentOS8 安装screen
[root@centos8 ~]#dnf -y install epel-release
[root@centos8 ~]#dnf -y install screen

screen命令常见用法:
创建新screen会话
screen –S [SESSION]
加入screen会话
screen –x [SESSION]
退出并关闭screen会话
exit
剥离当前screen会话
Ctrl+a,d
显示所有已经打开的screen会话
screen -ls
恢复某screen会话
screen -r [SESSION]

5.10.2 tmux

Tmux 是一个终端复用器(terminal multiplexer),类似 screen,但是更易用,也更强大
Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离,功能如下
它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。
它可以让新窗口"接入"已经存在的会话。
它允许每个会话有多个连接窗口,因此可以多人实时共享会话。
它还支持窗口任意的垂直和水平拆分
安装:

yum install tmux -y

窗格快捷键

Ctrl+b %:划分左右两个窗格
Ctrl+b ":划分上下两个窗格
Ctrl+b <arrow key>:光标切换到其他窗格。<arrow key>是指向要切换到的窗格的方向键,比如切换
到下方窗格,就按方向键↓
Ctrl+b ;:光标切换到上一个窗格
Ctrl+b o:光标切换到下一个窗格。
Ctrl+b {:当前窗格左移
Ctrl+b }:当前窗格右移
Ctrl+b Ctrl+o:当前窗格上移
Ctrl+b Alt+o:当前窗格下移
Ctrl+b x:关闭当前窗格
Ctrl+b !:将当前窗格拆分为一个独立窗口
Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小
Ctrl+b Ctrl+<arrow key>:按箭头方向调整窗格大小
Ctrl+b q:显示窗格编号

上下分窗格

tmux split-window
ctrl+b,"

左右分窗格

tmux split-window -h
ctrl+b,%

在这里插入图片描述

5.11 echo 基本用法

echo 命令可以将后面跟的字符进行输出
功能:显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加
上换行号
语法:

echo [-neE][字符串]

选项:
-E (默认)不支持 \ 解释功能
-n 不自动换行
-e 启用 \ 字符的解释功能
显示变量

echo "$VAR_NAME#用变量值替换,弱引用
echo '$VAR_NAME#变量不会替换,强引用

启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
\a 发出警告声
\b 退格键
\c 最后不加上换行符号
\e escape,相当于\033
\n 换行且光标移至行首
\r 回车,即光标移至行首,但不换行
\t 插入tab
\ 插入\字符
\0nnn 插入nnn(八进制)所代表的ASCII字符
\xHH插入HH(十六进制)所代表的ASCII数字(man 7 ascii)
范例:

[root@centos8 ~]#echo -e 'a\x0Ab'
a
b
[root@centos8 ~]#echo -e '\033[43;31;1;5mmagedu\e[0m'
magedu
[root@centos8 ~]#echo -e '\x57\x41\x4E\x47'
WANG
[root@centos8 ~]#echo $\PATH
$PATH
[root@centos8 ~]#echo \
> echo
echo
[root@centos8 ~]#echo \\
\
[root@centos8 ~]#echo \\\
> echo
\echo
[root@centos8 ~]#echo \\\\
\\
[root@centos8 ~]#echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@centos8 ~]#echo '$PATH'
$PATH

6、描述Linux发行版的系统目录名称命名规则以及用途。

/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
b: block device,随机访问
c: character device,线性访问
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr: universal shared, read-only data
bin: 保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位使用
lib64:只存在64位系统
include: C程序的头文件(header files)
share:结构化独立的数据,例如doc, man等
local:第三方应用程序的安装位置 bin, sbin, lib, lib64, etc, share
/var: variable data files
cache: 应用程序缓存数据目录
lib: 应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据
lock: 锁文件
log: 日志目录及文件
opt: 专用于为/opt下的应用程序存储可变数据
run: 运行中的进程相关数据,通常用于存储进程pid文件
spool: 应用程序数据池
tmp: 保存系统两次重启之间产生的临时数据
/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值