Linux小白进化之路1

学习Linux也有一阵子了,这过程中磕磕撞撞的,遇到了问题,也解决了一些问题,学习的路子是曲折的,想总结点啥的,让刚刚学习Linux的不会望而生畏。

  为什么我们要学Linux?

           简而言之就一句话,还不是为了生活!

  Linux的核心思想:

                                           一切皆文件  !

 如何学Linux?

    首先你要有一台Linux,那我们就来说安装Linux需要准备些什么,1.一个安装虚拟机的软件,个人推荐VMware Workstation Pro,2.一个安装镜像,Linux发行版本这么多 ,个人推荐centos7,国内可以选择在阿里云镜像下载,下载链接 http://mirrors.aliyun.com.

        万事俱备以后,我们就可以开始安装Linux了,第一步打开VM,选择创建新的虚拟机,我们选择自定义

       先一直下一步按照默认 到选择操作系统的时候,我们选择Linux,版本为centos 64位,然后后面的网络选择桥接网络,在虚拟磁盘选择200G,反正虚拟的没关系,接下来又是默认一路点,然后咱们将光盘挂载上,接下来点击开机。

      centos安装详解:

       首先点第一个,进入安装教程,首先键盘和语言就选择默认英语,以后难免要一天到晚看英文习惯就好,

       

   Linux小白进化之路1    Linux小白进化之路1

第一个是时间 点进去选择中国上海,二三默认 ,下来第四个是光盘默认挂载就好,第五个是安装选择,以后工作都是最小安装,一开始咱们可以选择图形化安装,下来第六个是磁盘分区,可以选择I will configure partitioning, 也就是我们自己选择分区,首先要选择给/分容量,然后给/boot分容量,1G足够 主要是引导系统启动的分区,剩下就是选择swap分些容量,这个主要是给系统增加临时内存的,剩下就是第八个网络设置将Linux小白进化之路1

选择高级设置,将第一个自动连接网卡打勾,Linux小白进化之路1

接下来这个就是咱们的root密码设置了,这个以后是要经常打交道的东西,也就是我们常说的最高权限管理员,还有一个是设置普通用户密码,接下来就是等系统安装完毕了。

安装完成:

Linux小白进化之路1

这个就是centos图形化界面了,不过我们平常都不用这个界面,一般都在命令行揭秘奥操作,切换到命令行界面很简单,Ctrl+Alt+F2~F6,如何知道我们在第几个终端呢,我们可以敲第一个命令了tty 是查看登录平台数量及用户的命令,何为终端呢,我们见过最常见的就是键盘鼠标显示器了 这些都是设备终端,而咱们centos拥有虚拟终端,tty(teletypewriters),tty是可有N个,会了切换终端后,接下来我们就要了解一个东西了

  什么是shell

 shell是Linux系统的用户界面,提供给用户和内核进行交互操作的一种借口,这是能将我们输入的命令送到系统内核去执行,也被我们称之为Linux的命令解释器,通俗的说就是人和计算机之间翻译的工具,我们常用的就是bash(Bourne-Again Shell(bash)GNU计划中重要的工具软件之一,目前也是Linux

标准的shell,与sh兼容CentOS默认使用,显示当前使用的shell,输入echo ${SHELL}
显示当前系统使用的所有shell输入 cat /etc/shells
Linux小白进化之路1
这个就是咱们的命令提示符,后面的#号就是分辨我们的身份  # :管理员    $: 普通用户
  命令的种类
  在shell中可执行的命令有两类
        内部命令:由shell自带的,而且通过某命令形式提供
        外部命令:外部命令:在文件系统路径下有对应的可执行程序文件
     内部命令我们如何找到呢,这里有一个命令,enable 这个命令可以查看我们已启用有多少内部命令,既然是可以启用的,自然就能禁用命令,还是这个命令,enable -ncommand (command就是你要选择禁用的命令) ,然而再次启用也简单enable 跟上你要启用的命令就可以解除禁用了。如何知道你都禁用了什么命令呢,enable -n 便可以查看被你所禁用的命令列表,如何分辨命令类型呢,输入type  就可以查看命令的类型,which 查看命令的路径,既然了解这么多,那我们就要了解一个东西,那就是Hash 缓存表的概念, 系统初始 hash 表为空 ,当外部命令执行时,默认会 从 PATH 路径下寻找该命令,找到后会将这条命令的路径记录到hash 表中,当再次使用该命令时, shell 解释器首先会查看 hash 表 存在将执行之,如果不存在,将会去PATH 路径下寻找 。利用 hash 缓存表可大大提高命令的调用速率,hash 常见用法    hash 显示 hash 缓存 
                                                                                  hash – d name 清除 name 缓存 
                                                                                   hash – r 清除缓存
  了解了这些 接下来我们要知道别名,什么是别名,别名就是 定义别名NAME 其相当于执行命令 VALUE alias NAME='VALUE',在命令行中定义的别名,仅对当前 shell 进程有效 • 如果想永久有效,要定义在配置文件中
配置文件在哪呢,就在后面的路径上 不过有两种情况 ,仅对当前用户 ~/. bashrc 
                                                                                        对所有用户有效: / etc / bashrc
编辑配置给出的新配置不会立即生效 • bash 进程重新读取配置文件 source /path/to/ config_file  
既然可以定义别名 自然也能撤销别名,撤消别名: unalias 
                                                                         unalias [- a] name [name ...]       - a :取消所有别名

 接下来我们要了解命令的格式:命令格式 • COMMAND [OPTIONS...] [ARGUMENTS...] 

                                                              选项:用于启用或关闭命令的某个或某些功能 

                                                                短选项: - c 例如: - l, - h 
                                                                长选项: -- word 例如: -- all, -- human - readable 
                                                                                 hash – r 清除缓存

                                                                 参数:命令的作用对象,比如文件名,用户名等 

                                                              注意: – 多个选项以及多参数和命令之间使用空白字符分隔 – 取消和结束命令执行: Ctrl+c , Ctrl+d – 多个命令可以用 ; 符号分开 – 一个命令可以用 \ 分成多行

  简单命令:

  接下来我们要了解一下一些简单的命令:

    date  (查看系统时间) 可以增加一些选项

        [[email protected] ~]# date "+%Y年%m月%d日 %H时%M分%S秒 星期2"
2018年05月15日 15时59分43秒 星期2
[[email protected] ~]# date "+%F %T"
2018-05-15 16:00:07
[[email protected] ~]# date +%s

1526371345 这里可以提一下 这1526371345 是什么意思呢  这在Linux里叫做时间戳是按照秒数来算的 我们可以除一下一年的秒数31536000再减一下年数,正好就是1970年1月1号,最懒的解释 就是很多编程语言起源于UNIX系统,而UNIX系统认为1970年1月1日0点是时间纪元,所以为我们常说的UNIX时间戳是以1970年1月1日0点为计时起点时间的。

接下来我们也要了解一下系统时间和主板时间      
          clock/hwclock
  command 查看硬时间
-s 硬时间写入软时间
-w 软时间写入硬时间

接下来咱们也要了解一下开关机的命令init 
init 0 关机
init 6 重启
   关机
init 0
poweroff
shutdown 
shutdown -h +0
+xx 几分钟后关机
20:00  
whoami  显示当前的用户名
who am i  显示当前的用户名,终端,登录时间(来源IP)
who 显示当前系统的所有登录信息

w   详细显示当前系统的所有登录信息         

 ★history 
  command 查看当前的历史记录
  !XX 执行某条历史记录

  !!重复执行上一条历史

随着以后命令越来越多咱们有一个很好的东西也是快捷键可以用

tab 键命令补全 内部命令: 外部命令: bash 根据 PATH 环境变量定义的路径,自左而右在每个路径搜寻以给 定命令名命名的文件,第一次找到的命令即为要执行的命令 用户给定的字符串只有一条惟一对应的命令,直接补全 否则,再次 Tab 会给出列表

路径补全 把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开 头的文件名 如果惟一:则直接补全 否则:再次 Tab 给出列表

再多的一些简单命令我就写个总汇不一一介绍了: who (查看当前平台及用户) runlevel (查看当前运行级别) whoami (当前登录用户)lsblk (查看磁盘,块设备)free (查看内存) -m/g(以MB/GB为单位) nano (修改文本)  ls (显示目标列表) -a (显示所有文件,包含隐藏文件) -R (递归)-s (已文件大小排序) -t (以时间排序)  -d (详细指定目录自己的属性信息,而不是显示子文件,子目录信息) cat (查看文本文件) rz (批量上传文件到linux服务器“不能上传文件夹”)sz (批量上传文件到windows服务器) cp (复制一个或多个文件到目录目标)   -r (复制目录到目标) -d (保留链接属性)pwd (显示当前用户工作目录的绝对路径) -P (如果当前所在位置是软链接目录,则显示源路径)echo(显示文字) ${A}123 (前提A=某个数) logout (注销当前用户) date +%Y-%m-%d-%H-%M-%S(显示系统时间格式 年-月-日-时-分-秒)   这些都是一些简单使用的小命令 为什么我要这样写呢,不把命令功能写全呢,因为太多了,每个命令都有很多选项,有些命令几十个选项,但是不用怕,因为我要给大家介绍一个东西

     帮助:

  什么是帮助,简而言之就是当我们遇到困难的时候就要找帮助啦,centos也有帮助让我们来看看                          获取帮助的能力决定了技术的能力!
  多层次的帮助

第一个帮助  --help选项 • 显示用法总结和参数列表 • 使用的大多数,但并非所有的 • 示例: date --help Usage: date [OPTION]... [+FORMAT] or: date [-u|--utc| -- universal] [MMDDhhmm[[CC]YY][. ss]] [] 表示可选项 CAPS或 <> 表示变化的数据 ... 表示一个列表 x |y| z 的意思是“ x 或 y 或 z “ -abc的 意思是- a -b –c { }  表示分组

 man命令 • 提供命令帮助的文件 • 手册页存放在/ usr/share/man • 几乎每个命令都有man 的“页面” • man页面分组为不同的“章节” • 统称为 Linux手册 • man命令的配置文件:/ etc/   man.config | man_db.conf MANPATH /PATH/TO/SOMEWHERE: 指明man 文件搜索位置 • man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND 命令的手册 页并显示

 man 章节 • 

1: 用户命令 • 

2: 系统调用 • 

3: C 库调用 • 

4: 设备文件及特殊文件 • 

5: 配置文件格式 • 

6: 游戏 • 

7: 杂项 • 

8: 管理类的命令 • 

9:Linux 内核 API

 man命令 • man命令的操作方法:

使用less 命令实现 space,

 ^v, ^f, ^F: 向文件尾翻屏 b, 

^b: 向文件首部翻屏 d, ^d: 向文件尾部翻半屏 u,^u: 向文件首部翻半屏 RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行 y or ^Y or ^P or k or ^K :向 文件首部翻一行 q: 退出 #:跳转至第# 行 1G: 回到文件首部 G:翻至文件尾部

  man搜索 • /KEYWORD: 以KEYWORD 指定的字符串为关键字,从当前位置向文件尾部搜索

不区分字符大小写;

 n: 下一个 N:上一个 • ?KEYWORD: 以KEYWORD 

指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写; n: 跟搜索命令同方向,下一个 N:跟搜索命令反方向,上一个

这就是man的帮助了 下次见