就业班第一周作业

是由 Patrick Volkerding 开发的 [GNU/Linux]发行版,于 1993 年创建,最初基于 Softlanding Linux System。典型代表系统是SUSE Linux Enterprise Server (SLES) , OpenSuse桌面。SuSE 以 Slackware Linux 为基础,最初是德国的 SuSE Linux AG 公司发布的 Linux 版本,1994 年发行了第一版,早期只有商业版本,2004 年被 Novell 公司收购后,成立了 OpenSUSE 社区,推出了自己的社区版本 OpenSUSE。SuSE L在欧洲较为流行,在我国国内也有较多应用。值得一提的是,它吸取了 Red Hat Linux 的很多特质。SuSE 可以非常方便地实现与 Windows 的交互,硬件检测非常优秀,拥有界面友好的安装过程、图形管理工具,对于终端用户和管理员来说使用非常方便。
目前Ubuntu 基于知名的 Debian Linux 发展而来,界面友好,容易上手,对硬件的支持非常全面,是目前最适合做桌面系统的 Linux 发行版本,而且 Ubuntu 的所有发行版本都免费提供。以及deepin(深度),mint也是基于debian系列发展而来。
Red Hat(红帽公司)创建于 1993 年,是目前世界上资深的 Linux 厂商,也是最获认可的 Linux 品牌。Red Hat 公司的产品主要包括 RHEL(Red Hat Enterprise Linux,收费版本)和 CentOS(RHEL 的社区克隆版本,免费版本)、Fedora Core(由 Red Hat 桌面版发展而来,免费版本)。
它是Unix/Linux的基本哲学之一。不仅普通的文件,目录、字符设备、块设备,套接字符等在Unix/Linux上都是以文件被对待;虽然类型不同,但提供的是同一套操作接口,对资源的访问统一的表现方式为对文件的访问。
程序和可执行文件一般都功能单一,短小精干,所以程序一般都不是很复杂,保证了Linux的高效运行。
通过多个简单程序的组合方式实现复杂功能,在保证简单功能 高效性的同时,复杂的程序也必然是高效性的。
Linux通常使用字符界面,相对比较单一,资源消耗小,出现的问题都可以通过命令来排错,修改系统的配置,一切简单明了。
LInux以及各种应用的配置文件都是存放在文本配置文件中,配置文件时的文本形式,只需要任意一款文本编辑器修改即可。
根目录位于目录结构的最顶层,用斜线(/)表示。
目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、dmesg、kill、login、rm、ping、chomd、bash、cat、echo、ls、 mail、vi等。
目录存放系统核心文件以及启动时必须读取的文件,包括Linux内核的二进制映像。
目录保存着外部设备代码的文件,这些文件比较特殊,实际上它们都指向所代表的外围设备,如终端、磁盘驱动器、光驱、打印机等。你可以访问这些外部设备,与访问一个文件或一个目录没有区别。如该目录下的子目录/dev/cdrom表示光驱目录;子目录/dev/console表示控制台;子目录 /dev/fd表示软驱;子目录/dev/hd表示硬盘上的一个分区;lp0表示打印机;ttyS0表示系统的串口设备;dsp表示系统的音箱设备。例如在系统中键入“cd /dev/cdrom”,就可以看到光驱中的文件;键入“cd /dev/mouse”即可看鼠标的相关文件。
目录是整个Linux系统的中心,其中包含所有系统管理和维护方面的配置文件,如dhcpd.conf、host.conf、logrotate.conf、man.config、mke2fs.conf、modprobe.conf、resolv.conf、sysctl.conf、syslog.conf(或rsyslog.conf)、xinetd.conf和yum.conf等,其他的配置文件分别位于单独的子目录中。通常应注意备份这个目录中的重要配置文件,以便需要是能够快速的恢复系统。
目录下存放必要的运行库,主要是编程语言的库。典型的 Linux 操作系统中包含了C、C++和 Fortran 的库文件。用这些语言开发的应用程序可以使用这些编程语言库文件。这使软件开发者能够利用那些预先写好并通过测试的函数。库文件包含了标准的C库/lib/libc.so.,数学库libm.so.,共享的动态链接库/lib/ld/so以及目录/bin和/sbin下用到的其他共享库。/lib/modules目录存放系统的核心模块,某些可被模块化的部分并不需要在编译系统核心时放入核心本体,避免本体过于庞大而导致效率降低。
该目录是默认的文件系统临时装载点,这是一个通用的安装点,可以临时安装任何文件系统或远程资源。系统管理员执行 mount命令完成装载工作。在系统中,该目录包含了光驱、磁盘和软驱的挂载点。
该目录是默认的文件系统临时装载点,这是一个通用的安装点,可以临时安装任何文件系统或远程资源。系统管理员执行 mount命令完成装载工作。在系统中,该目录包含了光驱、磁盘和软驱的挂载点。
目录用来安装附加软件包,用户调用软件包程序放在目录/opt/package_name/bin下,package_name是安装软件包的名称。
超级用户root的主目录(在Linux系统中,斜杠字符“/”是整个系统的根目录,而非超级用户的主目录。)
目录/sbin、/usr/sbin和/usr/local/sbin存放了该目录启动系统时需执行的程序,如管理工具、应用软件和通用的根用户权限命令等内容。如包含getty、init、update。
这是个最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录了。具体来说:

​ /usr/sbin:给超级用户使用的一些管理程序就放在这. /usr/doc:这就是Linux文档的大本营。

​ /usr/include:Linux下开发和编译应用程序需要的头文件在这里找。

​ /usr/lib:存放一些常用的动态链接共享库和静态档案库。

​ /usr/local:这是提供给一般用户的/usr目录,在这安装软件最适合。

​ /usr/src:Linux开放的源代码,就存在这个目录,爱好者们别放过哦!

​ /usr/games 存放着XteamLinux自带的小游戏;

​ /usr/bin 用户和管理员的标准命令;

​ /usr/sbin 存放root超级用户使用的管理程序;

​ /usr/src Linux开放的源代码;

​ /usr/share 用于存放一些共享的数据,比如音乐文件或者图标等等
用于存放很多不断变化的文件,例如日志文件等。包含了日志文件、计划性任务和邮件等内容。

​ /var/cache 应用程序缓存目录。

​ /var/crash 系统错误信息。

​ /var/games 游戏数据。

​ /var/log 日志文件。

​ /var/mail 电子邮件。

​ /var/tmp 临时文件目录。
步骤1、进入vim /etc/profile

步骤2、在底部新增加 export HISTTIMEFORMAT="%F_%T""

步骤3、输入history 显示历史命令时间
步骤1、进入vim .bash_profile

步骤2、在底部新增加 export HISTTIMEFORMAT="%F_%T"" ,保存退出即可
  • 短选项:UNIX 风格选项,-c 例如:-l, -h
#例如:ls -a
[root@CentOS8 ~ ]#ls -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  .config  .dbus    Documents  .esd_auth      initial-setup-ks.cfg  .local    Music     .pki    .ssh     Templates  .viminfo
..  .bash_history    .bash_profile  .cache   .cshrc   Desktop  Downloads  .ICEauthority  .lesshst              .mozilla  Pictures  Public  .tcshrc  Videos     .Xauthority
  • 长命令:GNU风格选项,–word 例如:–all, –human
#例如:ls --all
[root@CentOS8 ~ ]#ls --all
.   anaconda-ks.cfg  .bash_logout   .bashrc  .config  .dbus    Documents  .esd_auth      initial-setup-ks.cfg  .local    Music     .pki    .ssh     Templates  .viminfo
..  .bash_history    .bash_profile  .cache   .cshrc   Desktop  Downloads  .ICEauthority  .lesshst              .mozilla  Pictures  Public  .tcshrc  Videos     .Xauthority
  • BSD风格选项: 一个字母,例如:a,使用相对较少

2、常用命令

1)echo

​ 作用:显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加
上换行号。

语法:echo OPTION CAMMAND

选项:

  • -E (默认)不支持\解释功能
  • -n 不自动换行
  • -e 启用 \ 字符的解释功能
#输出字符串
[root@CentOS8 ~ ]#echo "hello world"
hello world

#输出变量
[root@CentOS8 ~ ]#echo hostname
CentOS8

#不换行输出
[root@CentOS8 ~ ]#echo -n hostname
CentOS8[root@CentOS8 ~ ]#

#换行制表输出
[root@CentOS8 ~ ]#echo -e "m\ta\ng\te"
m   a
g   e

#带颜色输出字符串
[root@CentOS8 ~ ]#echo -e "\e[1;36mmagedu.com\e[0m"
magedu.com

2)Screen

​ Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

  • 会话恢复

​ 只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。

  • 多窗口

​ 在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。

  • 会话共享

​ screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。

#Centos7安装screen
[root@Centos7 ~]#yum -y install screen
#Centos8安装screen
[root@Centos8 ~]#yum -y install screen
  • 常用Screen命令
screen -S [str] 新建一个session
screen -ls 列出当前所有的session
screen -r [str] 回到session
screen -d [str] 远程detach某个session
screen -d -r [str] 而技术当前session并回到str这个session
  • 启动screen
[root@CentOS8 ~ ]#screen
  • 结束screen
[root@CentOS8 ~ ]#exit
  • 新建一个screen
[root@CentOS8 ~ ]#screen -S bak
  • ping www.magedu.com 中断会话窗口
  • 查看后台运行,ping一直在运行

3)date

​ date 命令可以显示或者设置当前日期和时间,它还可用于以指定的格式显示或计算日期。超级用户(root)可以使用它来设置系统时钟。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类 UNIX 系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970 年 1 月 1 日 0 时 0 分 0 秒起流逝的秒数。

  • Linux的两种时钟:
  • 系统时钟:由Linux内核通过CPU的工作频率进行计算
  • 硬件时钟:主板上bios中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根据它来设定系统时间(注意:系统启动时根据硬件时间设定系统时间的过程可能存在时区换算,这要视具体的系统及相关设置而定)
  • 显示时间
#显示系统时间
[root@CentOS8 ~ ]#date
Tue Jul 12 18:28:01 CST 2022
#显示硬件时间
[root@CentOS8 ~ ]#clock
2022-07-12 18:28:40.061162+08:00
#只显示日期
[root@CentOS8 ~ ]#date +'%F'
2022-07-12
#只显示时间
[root@CentOS8 ~ ]#date +'%T'
18:39:05
#显示从1970年1月1日以来有多少秒
[root@CentOS8 ~ ]#date +%s
1657623208
  • 修改时间
#修改时间为2022年7月13日
[root@CentOS8 ~ ]#date -s "2022-7-13 0:0:0"
Wed Jul 13 00:00:00 CST 2022
#修改系统时间以硬件时间为校准
00:01:10[root@CentOS8 ~ ]#hwclock -s
18:58:07[root@CentOS8 ~ ]#date
Tue Jul 12 18:58:08 CST 2022
  • 显示时区
[root@CentOS8 ~ ]#timedatectl
               Local time: Tue 2022-07-12 18:35:30 CST
           Universal time: Tue 2022-07-12 10:35:30 UTC
                 RTC time: Tue 2022-07-12 10:35:29
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
              NTP service: inactive
          RTC in local TZ: no
  • 修改时区

4)ifconfig

​ ifconfig(configure a network interface)命令是系统管理员命令,用于查看和配置网络接口。

  • 显示所有网络接口信息,不论是否激活
[root@CentOS8 ~ ]#ifconfig
ens33: flags=4163  mtu 1500
        inet 168.168.168.169  netmask 255.255.255.0  broadcast 168.168.168.255
        inet6 fe80::20c:29ff:fead:2ec0  prefixlen 64  scopeid 0x20
        ether 00:0c:29:ad:2e:c0  txqueuelen 1000  (Ethernet)
        RX packets 28024  bytes 18147853 (17.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 14282  bytes 1650243 (1.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 50  bytes 4220 (4.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 50  bytes 4220 (4.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:4d:d6:57  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 查看指定网络接口
[root@CentOS8 ~ ]#ifconfig ens33
ens33: flags=4163  mtu 1500
        inet 168.168.168.169  netmask 255.255.255.0  broadcast 168.168.168.255
        inet6 fe80::20c:29ff:fead:2ec0  prefixlen 64  scopeid 0x20
        ether 00:0c:29:ad:2e:c0  txqueuelen 1000  (Ethernet)
        RX packets 28150  bytes 18156676 (17.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 14335  bytes 1655995 (1.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 启动和关闭网卡

  • 配置IP地址

#配置ip地址、子网掩码、广播地址
[root@CentOS8 ~ ]#ifconfig lo 168.168.168.100 netmask 255.255.255.0 broadcast 168.168.168.255
[root@CentOS8 ~ ]#ifconfig
lo: flags=73  mtu 65536
        inet 168.168.168.255  netmask 255.255.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 50  bytes 4220 (4.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 50  bytes 4220 (4.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 启用和关闭ARP协议
#启用arp
[root@CentOS8 ~ ]#ifconfig ens33 arp
#关闭arp
[root@CentOS8 ~ ]#ifconfig ens33 -arp

5)export

​ export 命令用于设置或显示环境变量。在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。

  • 参数说明
  • -f 代表[变量名称]中为函数名称。
  • -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
  • -p 列出所有的shell赋予程序的环境变量。
  • 列出环境变量
[root@CentOS8 ~ ]#export -p
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HISTTIMEFORMAT="%F_%T   "
declare -x HOME="/root"
declare -x HOSTNAME="CentOS8"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
  • 定义环境变量
#定义临时变量,查看history可以显示时间
[root@CentOS8 ~ ]#export HISTTIMEFORMAT="%F_%T""   "
#定义当前用户永久变量
[root@CentOS8 ~ ]#cat .bash_profile
export HISTTIMEFORMAT="%F_%T""   "
#定义所有用户永久变量
[root@CentOS8 ~ ]#vim /etc/profile
export HISTTIMEFORMAT="%F_%T""   "

Original: https://www.cnblogs.com/luokaixian/p/16464479.html
Author: 陈平安的IT之旅
Title: 就业班第一周作业

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/607283/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • CentOS7 安装高版本gcc, g++, gfortran等工具

    SCL(Software Collections)是一个CentOS/RHEL Linux平台的软件多版本共存解决方案,为用户提供一种方便、安全地安装和使用应用程序和运行时环境的多…

    Linux 2023年6月7日
    078
  • 系统复位到操作系统启动的简要流程图

    多核下,处理器由系统复位到操作系统启动的简要流程图; 其中第一列为处理器核初始化过程, 第二列为芯片核外部分初始化过程, 第三列为设备初始化过程, 第四列为内核加 载过程, 第五列…

    Linux 2023年6月14日
    086
  • Flask的环境配置

    from flask import Flask​ 通过专门的配置文件,读取配置项,适用于配置项较多 settings.py class Config(object):    DEB…

    Linux 2023年6月8日
    088
  • SQL查询语句–统计

    — 1、日统计查询填补 i->为时间差的天数 2022-05-10为终止时间 SET @i :=- 1; SELECT date_format( DATE_SUB( ’20…

    Linux 2023年6月14日
    075
  • Redis与Memcached的区别

    Redis与Memcached的区别:如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list…

    Linux 2023年5月28日
    061
  • boost::bind 不能处理函数重载 (error: no matching function for call to ‘bind’)

    最近任务多、工期紧,没有时间更新博客,就水一期吧。虽然是水,也不能太失水准,刚好最近工作中遇到一个 boost::bind 的问题,花费了半天时间来定位解决,就说说它吧。 问题背景…

    Linux 2023年6月6日
    082
  • python reportlab 生成table学习笔记

    利用python report生成table表格,需要定义表格的数据,表格的样式,最后利用doc.build方法生成文件。 在reportlab中文手册中描述table方法: Ta…

    Linux 2023年6月14日
    082
  • Redis 的 5 个常见使用场景

    在这篇文章中,我们将阐述 Redis 最常用的使用场景,以及那些影响我们选择的不同特性。 最常用的一种使用Redis的情景是会话缓存(session cache)。用Redis缓存…

    Linux 2023年5月28日
    098
  • docker:nginx+confd动态生成配置

    docker:nginx+confd动态生成配置当我们项目越来越多时手动去服务器修改nginx配置是一件很麻烦而且可能出错的事情。我们可以通过 nginx+confd+&#…

    Linux 2023年6月13日
    067
  • Docker Manager for Docker Swarm deploy

    一、Swarm概述 Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机。Swa…

    Linux 2023年6月14日
    099
  • bash 中 echo & printf

    首先列一下今天收获的消息 sh是: Bourne Shell(/usr/bin/sh或/bin/sh) bash是: Bourne Again Shell(/bin/bash) p…

    Linux 2023年6月6日
    084
  • linux自动备份mysql数据库

    备份脚本记录一下–(单个数据库) 2021-11-15 1.新建shell脚本:vim **.sh #!/bin/bashCKUP=/data/backup/db #获…

    Linux 2023年5月27日
    0100
  • java处理http请求之Apache httpClient入门教程

    说明 本文示例代码基于 4.5.13 版本 转载请注明出处:https://www.cnblogs.com/qnlcy/p/15378446.html 一、项目介绍 Apache …

    Linux 2023年6月6日
    076
  • JAVA设计模式-适配器模式

    JAVA设计模式-适配器模式 介绍 适配器模式是一种结构型模式,它主要解决接口之间的兼容问题。当我们需要使用某个类的接口时,但是这个类的接口目前并不符合我们使用需求,不能直接使用,…

    Linux 2023年6月6日
    094
  • WEB自动化-11-数据驱动

    11 数据驱动 数据驱动是测试框架中一个非常好的功能,使用数据驱动,可以在不增加代码量的情况下生成不同的测试策略。下面我们来看看在Cypress中的数据驱动使用方法。 11.1 数…

    Linux 2023年6月7日
    0107
  • Linux Netlink学习笔记

    Netlink是用户程序与内核通信的socket方法,通过Netlink可以获得修改内核的配置,常见的有获得接口的IP地址列表、更改路由表或邻居表。旧版本的内核提供很多从内核获取信…

    Linux 2023年6月6日
    0103
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球