Linux初探

Linux初探

1.Linux的发行版本

Linux的发行版本包含社区版本和商业版本,又根据不同版本之间软件管理的方式进行分类,以下是常见的发行版本。

RPM软件管理的社区版本:Fedora,CentOS,openSUSE

RPM软件管理的商业版本:RHEL(Red Hat),SUSE

DPKG软件管理的社区版本:Debian,B2D

DPKG软件管理的商业版本:Ubuntu

2.安装Linux的流程

以下以CentOS 7安装流程为例。

2.1 如何找到系统安装镜像。

方法一:直接搜索引擎搜索需要安装的Linux发行版本的名字,然后进入官网进行下载。不过因为网站处于国外,访问速度会受到影响。

方法二:https://developer.aliyun.com/mirror/访问阿里巴巴镜像网站下载,这里同步了国外的镜像文件,访问和下载速度真不错。

2.2安装过程

准备工作,下载安装vmware软件。因为这是个虚拟机软件,我们就可以直接将镜像安装在这个软件当中,最后就会生成一个虚拟机。

安装好vmware之后,开始进行以下步骤。

1.打开虚拟机,选择文件——新建虚拟机,然后就会出现这样一个画面。这里我们选择默认典型就可以点击下一步。


image-20201125133848816.png

2.下一步之后会出现这样的提示,我们选择稍后安装操作系统。然后进行下一步。


image-20201125134400674.png

3.此时会出现这样的界面,选择栏里面选择Linux操作 系统,版本选择为CentOS 7 64位。接着下一步。


image-20201125134637729.png

4.接着位虚拟机取一个名字,然后在选择安装位置,如下图。再接着下一步。

image-20201125134813504.png

5.接着选择需要分配的磁盘大小,选项默认即可,再点击下一步。

image-20201125134926736.png

6.点击完成,就可以在vmware软件里面发现的新虚拟机。不过现在我们还没有选择操作系统,这里选择编辑虚拟机设置选项。进入设置。

image-20201125135142107.png

7.设置里面有很多参数可以进行配置,这里其他选项可以保持默认,以后熟悉了可以再来进行个性化配置。这里选择CD/DVD,使用ISO映像文件,路径选择为刚才镜像文件下载的地址,点击确定后开启虚拟机。便可以正式开始安装系统。


image-20201125135628595.png

8.选择Install CentOS 7,回车后等待进行下一步安装 。


image-20201125140049842.png

9.选择语言,可以根据自己需要选择,然后选择时间,点击DATE&TIME进入到时间选择,这里选择Asia/ShangHai。接着点击左上角Done按钮返回。


image-20201125140228426.png
image-20201125140413027.png
image-20201125140517475.png

10.再接着选择SOFTWARE SELECTION。进去到安装选项,选择Minimal Install(最小化)安装即可。点击Done按钮返回上级


image-20201125140629131.png

11.选择INSTALLATION DESTINATION,进去选择磁盘,并在红箭头处选择默认自动分区。点击Done按钮返回上级


image-20201125141148683.png

12。选择Begin Installation开始安装,并顺便创建root密码一个普通用户账号。


image-20201125141251908.png

image-20201125141313585.png
image-20201125141422041.png

3配置history命令

配置history命令使其可以观察到命令的具体执行时间。

HISTSIZE:命令历史记录的条数

HISTFILE:指定历史文件,默认为~/.bash_history

HISTFILESIZE:命令历史文件记录历史的条数

HISTTIMEFORMAT="%F %T whoami" 显示时间和用户

HISTIGNORE="str1:str2*:…" 忽略str1命令,str2开头的历史

HISTCONTROL:控制命令历史的记录方式

以上变量可以 export 变量名="值" 形式存放在 /etc/profifile 或 ~/.bash_profifile

[图片上传失败...(image-cc0658-1606288472603)]

4.Linux哲学思想

一切都是一个文件(包括硬件)

小型,单一用途的程序

链接程序,共同完成复杂的任务

避免令人困惑的用户界面

配置数据存储在文本中

5Linux常用命令

5.1 echo

echo 命令可以将后面跟的字符进行输出

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

​ 选项

​ -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)

5.2 date

date命令可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记 。

若是不以加号作为开头,则表示要设定时间,而时间格式MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数。

语法格式:date [选项] [+输出形式]

常用参数:

-d datestr 显示 datestr 中所设定的时间 (非系统时间)
-s datestr 将系统时间设为 datestr 中所设定的时间
-u 显示目前的格林威治时间
--help 显示帮助信息
--version 显示版本编号
[root@iz2zed4h7bg5dihzfqhmn9z ~]$date
Wed Nov 25 14:43:47 CST 2020

5.3 ifconfig

ifconfig命令的英文全称是“network interfaces configuring”,即用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

语法格式:ifconfig [参数]

常用参数:

add<地址> 设置网络设备IPv6的IP地址
del<地址> 删除网络设备IPv6的IP地址
down 关闭指定的网络设备
up 启动指定的网络设备
IP地址 指定网络设备的IP地址
[root@iz2zed4h7bg5dihzfqhmn9z ~]$ifconfig 
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.18.0.1  netmask 255.255.0.0  broadcast 172.18.255.255
        ether 02:42:8e:2b:af:b6  txqueuelen 0  (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

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.24.185  netmask 255.255.240.0  broadcast 172.17.31.255
        ether 00:16:3e:30:c6:6e  txqueuelen 1000  (Ethernet)
        RX packets 5199196  bytes 826089839 (787.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3708001  bytes 483656901 (461.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 87699  bytes 81689120 (77.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 87699  bytes 81689120 (77.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

5.4 screen

screen命令为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常中有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。

语法格式:screen [参数]

注意:使用该命令之前需要先安装该工具 yum install -y screen

常用参数:

-A 将所有的视窗都调整为目前终端机的大小
-d<作业名称> 将指定的screen作业离线
-m 即使目前已在作业中的screen作业,仍强制建立新的screeN作业
-r<作业名称> 恢复离线的screen作业
-R 先试图恢复离线的作业,若找不到离线的作业,即建立新的screen作业
-s<shell> 指定建立新视窗时,所要执行的shell
-S<作业名称> 指定screen作业的名称
-v 显示版本信息
-x 恢复之前离线的screen作业
-ls 显示目前所有的screen作业
-list 显示目前所有的screen作业
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业

5.5 ls

ls 命令是Linux下最常用的指令之一。ls命令为英文单词 list 的缩写,正如英文单词 list 的意思,其功能是列出指定目录下的内容及其相关属性信息。

默认状态下,ls命令会列出当前目录的内容。而带上参数后,我们可以用ls做更多的事情。作为最基础同时又是使用频率很高的命令,我们很有必要搞清楚ls命令的用法,那么接下来一起看看吧!

语法格式: ls [选项] [文件]

常用参数:

-a 显示所有文件及目录 (包括以“.”开头的隐藏文件)
-l 使用长格式列出文件及目录信息
-r 将文件以相反次序显示(默认依英文字母次序)
-t 根据最后的修改时间排序
-A 同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)
-S 根据文件大小排序
-R 递归列出所有子目录
[root@iz2zed4h7bg5dihzfqhmn9z ~]$ls -al
total 184
dr-xr-x---. 11 root root  4096 Nov 23 21:40 .
dr-xr-xr-x. 21 root root  4096 Nov 17 21:38 ..
-rw-r--r--   1 root root    22 Nov 16 19:42 aaa.txt
-rw-r--r--+  1 root root    17 Nov 17 08:17 aa.txt
-rw-------   1 root root 21206 Nov 25 14:49 .bash_history
-rw-r--r--.  1 root root    18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root   176 Dec 29  2013 .bash_profile
-rw-r--r--   1 root root   214 Nov 19 17:23 .bashrc
-rw-r--r--   1 root root   292 Nov 13 09:04 bc
drwx------   3 root root  4096 Aug 18  2017 .cache
-rw-r--r--   1 root root    22 Nov 16 19:41 cat.log
-rw-r--r--.  1 root root   100 Dec 29  2013 .cshrc
-rw-------   1 root root  1383 Nov 14 19:07 dead.letter
drwxr-xr-x   3 root root  4096 Nov 19 19:34 docker-ce-stable
drwx------   2 root root  4096 Jun 27 09:33 .elinks
-rw-r--r--   1 root root  1573 Nov 15 09:32 file11.txx
-rw-r--r--   1 root root   849 Nov 15 09:27 file23.txt

5.6 export

export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。

一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。

语法格式: export [参数]

常用参数:

-f 代表[变量名称]中为函数名称
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中
-p 列出所有的shell赋予程序的环境变量

参考实例

列出当前所有的环境变量:

[root@iz2zed4h7bg5dihzfqhmn9z ~]$export -p
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="iz2zed4h7bg5dihzfqhmn9z"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 计算机的组成 冯诺依曼体系 一般而言,计算机的组成遵循着“冯诺依曼体系结构”。这种结构的体现实质上是一种存储程序的...
    ELF_Conan阅读 3,772评论 0 1
  • Linux操作系统架构 查看你的Linux中安装的shell 输出结果示例: 查看你的Linux当前使用的shel...
    littledust阅读 3,089评论 0 1
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,187评论 2 33
  • 一、Shell:提供用户输入的命令解释器 一张图就能很明确地表明Shell的作用。 二、Shell下的基本命令操作...
    曲谐_阅读 3,244评论 0 0
  • 一、计算机的简述 电子计算机,也叫做电脑(computer),是一种用于高速计算的电子计算机器。通过计算机,可以实...
    晓_1e1b阅读 1,098评论 0 0