Linux.001 Linux系统安装与基本命令

一 Linux发展史(了解)

Unix 作者 肯·汤姆逊  1970-1-1  计算机元年

Linux操作系统  内核(kernel)作者 林纳斯·托瓦斯 类Unix系统。http://www.kernel.org/下载最新的内核代码的内核,但是不能直接使用。

内核版本号由三个数字组成:r.x.y。r代表目前发布的内核版本;x为偶数时代表版本稳定,奇数时代表是开发中的版本;y表示错误修补的次数。如red hat的Linux的内核版本是2.4.18

Linux用户通过shell界面与内核进行交互,内核驱动硬件工作。

Linux发行版指的是Linux操作系统内核+应用软件的集合,如redhat,centos。Linux的企业版Redhat是收费的,社区版是不收费的

二 Linux系统安装与登录

1 安装虚拟机

1)新建虚拟机:选择centos 64位的;处理器:勾选Intel那一项;其他照常。

2)安装系统:开启虚拟机进入系统安装界面,选择第一项install。

安装时,更改时区位亚洲上海并更正时间——需要安装基础设施服务器或者GNOME——确定网卡存在——安装位置:

安装位置选择手动分区——/是根分区,swap分区是虚拟内存区,2048M。在/根分区下建立一个/boot(根下boot)分区,500M,用于存放Linux系统所需启动引导文件目录。实际上就是两个分区。分区之后也是需要进行格式化的。

         /      sda3

Sda1

swap

       /boot   (该分区属于/)

              Sda2

各个分区详情:

分区

分区大小

文件分区类型

文件系统类型

Swap

2048M

LVM

swap

/boot

500M

标准分区

Ext4

/ (根分区)

剩余所有空间

标准分区

Ext4

安装过程中设置root账号的密码,如果密码弱的话需要点击两次完成。账户有两种类型:管理员(超级账户)root,普通用户。安装完成后,点击重启系统以登录。

2 登录操作系统

2.1 登录界面

CentOS Linux 7 (core):当前CentOS版本为Linux 7;

Kernel 3.10.0-229.el7.x86-64 on an x86-64.     //0-229代表小补丁的次数,el 7指的是Linux 7,x86-64指的是支持的CPU类型,on an X86-64指的是安装的主机CPU属于X86-64;e后面是小写的L。3代表core的版本号,10是偶数代表是稳定版本,如果是奇数代表是开发中的版本。

Localhost:主机名;           Login:输入当前登录账户名;

Password:输入当前登录账户的密码,输入时密码不会显示,就像什么都没输入一样。

界面可能会出现一个报错,如sda2:write same failed 。这是因为raid卡会自动将磁盘设置为raid0,raid1,或者raid5,而我们用的是虚拟机,没有raid卡,所以才会报错。真实操作时不会报错。

2.2 登录成功后:【root@localhost ~】#

Root:用户名; @:分隔符; ~代表当前处于家目录;localhost:主机名;#:root账号的命令提示符;$:普通账号的命令提示符。

2.3 Linux的目录介绍

Linux中的目录相当于Windows系统中的文件夹。

目录名称

功能介绍

/ 根目录

总目录

/etc

存储服务的配置文件

/dev

存储设备文件

/boot

存储系统启动相关文件

/root

Root用户的家目录

/usr

第三方软件所在目录

/var

存放系统变量文件

/proc

存放当前系统内存中的数据

/run

存放当前系统运行的相关文件

/tmp

存放系统临时文件

/home

普通用户的家目录

/bin与/sbin

存放当前系统使用的命令

/lib与/lib64

存放当前系统用的一些库文件

lost+found

存放损坏和丢失的文件

基本命令

1 常用命令

1.1 查看当前操作系统的版本:

cat   /etc/redhat-release  //cat用来查看当前路径下文件的内容

cat   文件名             //查看当前目录下文件的内容

1.2 常用的命令

1)clear 清屏;可以使用Ctrl+l 来实现clear的功能;

2)使用Tab键可以进行命令法人补全以及补全文件的路径,Q进行退出;

3)Ctrl+c 用于终止当前运行的命令;

4)使用键盘上的上下键可以回滚历史命令

1.3 防火墙的查看与关闭

1)查看当前防火墙状态    #systemctl status firewalld  

//如果防火墙处于active(running)状态,说明防火墙处于开启状态。

2)关闭防火墙            #systemctl stop firewalld   

//关闭后,用systemctl status firewalld查看,可见防火墙状态为inactive(dead)状态。Loaded后面的disable代表开机不自启

3)禁止防火墙开机启动    #systemctl disable firewalld   

1.4 SELinux的查看与关闭

    1)查看SELinux的状态:#getenforce  //如果状态为enforcing或passive代表selinux已经开启

    2)通过编辑配置文件关闭SELinux

#nano空格/etc/selinux/config 找到SELinux=enforcing,把它改为SELinux=disabled。然后按Ctrl+x退出,然后按y保存,然后按回车键退出nano。

#reboot重启 ,重启后再次用#getenforce查询SELinux状态。如果状态为disabled则代表SELinux关闭成功。

关机并拍摄虚拟机快照。关机:#halt -p ,poweroff,init 0 ,shutdown空格–h。

1.5 关机与重启命令

命令

选项

功能

halt

-p

关闭计算机时关闭电源

poweroff

-p

关闭计算机时关闭电源

shutdown

-h

关闭计算机时关闭电源

-r

重启计算机

-c

取消已在执行的关机动作

reboot

系统重启

Init

0  

关机

6

重启

1.6 Linux的启动分为7个运行级别

级别

说明

0

关机

1

单用户

2

多用户级别(无NFS)

3

多用户级别(字符界面,是默认级别)

4

未定义

5

图形化、多用户

6

重启

2 文件管理命令

2.1 对目录进行管理

2.1.1 查看路径与切换路径

pwd 用来查看当前工作路径;         cd  目录名 //切换当前的工作路径;

cd空格.   //切换至当前目录          cd  ..      //切换至上层目录

cd -      //切换至上次的工作目录    cd       //后面什么都不跟就是回到家目录

绝对路径:从/开始的完整路径;相对路径:相对于当前所在目录的路径。

2.1.2 查看目录与目录内容

1)ls 查看当前目录下的内容,要查看非当前目录下的内容就要写绝对路径。

如果目录下没有内容,用ls查看后不会有任何答复

2)ls  –a  查看当前目录下的所有内容,包含隐藏的内容。在Linux中,所有名称以“.”开头的目录或文件,被称为隐藏目录或文件。

白色

普通文件

蓝色

目录

绿色

可执行文件

淡蓝色或天青色

连接文件

红色

压缩文件或损坏文件

3) ls   –l  以长格式显示显示当前目录下的文件或目录属性  简写为ll。结果中:

开头有十个”-“。第一个”-“代表的文件类型:

-

普通文件

b(block)

块设备文件

d(directory)

目录

p(panel)

管道文件

c(character)

字符设备文件

l (link)

连接文件

连接文件:一个文件是另一个文件的快捷方式,分为硬连接和软连接。硬连接与源文件共享iNode,源文件删除后硬连接文件依然有效;软连接与源文件不共享iNode,源文件删除后软连接就失效。

文件系统怎么存储文件:由i节点(存文件属性及文件所在的block块位置),block块(存文件)和超级块(记录没使用的i节点与block还剩多少)组成。

a) 创建连接文件 ln (也是在当前目录下创建吗?如果不是当前目录下是不是也要写绝对路径?)

软连接:ln  -sf   源文件    连接文件          //f代表强制创建,会覆盖之前的;

硬连接:ln  -f    源文件    连接文件,

b) 查看当前目录下某文件的iNode号: #ls   –i   文件名

设备文件:Linux将所有的硬件设备识别为文件存储在/dev下

字符设备:顺序存储设备,比如磁带

块设备:随机存储设备,比如硬盘

  • 后面的九个”-“代表文件的权限:
  1. 用户身份识别:属主u为文件的所有者,属组g为文件的所有组(用户组),其他人o为除去文件的属主与属组所剩的人,所有人a包括属主、属组和其他人
  2. 权限识别:读  r  4           写  w   2      执行  s   1

    因此,后面的九个”-“代表属主对该文件的权限,属组对对该文件的权限,其他人对该文件的权限, 每个角色有三个”-“。

  • 文件后面有个点的代表这个文件归SELinux管。
  • 数字代表文件的硬连接数。
  • 再后面是属主 属组 文件大小   //  #ll  –h能具体看见单位,以人性化形势显示。
  • 文件的最后修改时间  文件名/目录名

总结ll 或ll –h的显示结果代表:

    文件类型+属主权限+属组权限+其他人权限.+硬连接数+文件属主+属组+文件大小+文件修改时间+文件名

4)在当前目录下创建目录    

mkdir    目录名   //在当前目录下创建目录,如果不是当前目录下就要写上绝对路径

mkdir    –pv    多级目录

//创建多级目录,v代表查看创建目录的效果  

例1:mkdir    –pv    ./a/b/c     //这个是在当前目录下创建了多级目录a

例2:mkdir    –pv    /a/b/c     //这个是在根目录下创建了多级目录a

注:mkdir后面最好跟绝对路径,mkdir  /etc/aa,//代表在etc下创建aa文件夹,/etc这个目录本身就存在,只是aa不存在,所以不用加-p参数

5)查看当前目录下某目录属性:ll –d +目录名

6)删除当前目录下的目录:

rmdir  目录名      //只能删除空目录,即这个目录下没有东西

rm     –rf    目录名/文件名 (空格  目录名/文件名) )             

//直接删除目录或文件,包括里面的内容,慎用。删除多个文件或目录时直接在后面加上

rm –rf *     //删除当前目录下的所有内容,千万不能瞎整

rm –rf f*    //删除当前目录下所有以f开头的文件或目录

rm –rf+绝对路径  //可以删除路径下的文件

7)转移当前目录下的某目录(剪切):

mv    目录       /目标目录     //不是当前目录下也要写绝对路径。

mv    原目录名   新目录名

//可以使用 mv 对文件或目录重命名,对里面的内容无影响。

8)复制某目录  

cp    –r   目录名    /目标目录     

//当前目录下?如果不是当前目录下也要写绝对路径?

cp    原文件/目录   新的文件/目录,

//使用cp对文件或目录进行重命名,对于目录,要在命令后加上 –r参数才行。

2.2 对当前目录下的文件进行管理

1)创建文件(笔记中的多数命令,默认是在当前目录下的命令格式,如果要改其他目录下的就加绝对路径)  

touch   文件名        //修改文件时间戳,如果文件不存在则创建一个

touch   目录/文件名   //在目录下创建文件

touch   目录/.文件    //在目录下创建隐藏文件

nano   文件名       //编辑一个文件,如果文件不存在,则创建该文件并编辑其内容。退出nano,Ctrl+x退出,是否保存退出:Y是 N 否,此时不分大小写;保存文件名:Enter

vim    文件名 (以后讲)

echo   文件内容 > 文件名        //将指定输出内容重定向到指定文件

echo   内容                     //将指定内容输出到屏幕显示;

echo >  //输出重定向,将原本要输出至屏幕的内容重定向到其他文件中(覆盖)   

echo >>  //输出重定向,将原本要输出至屏幕的内容重定向到其他文件中(追加)

2)查看当前目录下的文件内容

cat   文件名         //只适用于查看内容较少的小文件

cat   –n   文件名    //查看文件时显示文件行号

less     文件名      //查看文件内容,键盘上下键用来上下查看内容,按Q退出

more    文件名     //查看文件内容 more /etc/profile,Enter是向下翻页,B用于向上翻页,Q是退出

head   –n行数    文件名        //查看文件前几行

tail     –n行数    文件名       //查看文件后几行

head   –n3   f1 | tail   –n1      // | 管道符,前一个命令的输出作为后一个命令的输入,该命令为查看f1 的第三行

tail    –f      //循环查看,

tail    -f    /var/log/messages   //看Linux系统日志文件,可能会不断地出现动态日志, 用Ctrl+c就能停止。

3)删除当前目录下的文件

rm     文件名             //给出提示,删除文件

rm    –v     文件名       //-v显示删除的动态结果

rm    –rf     文件名       //没有提示,直接删除文件或目录

4)转移当前目录下的文件(剪切)——mv    文件   目标目录       

例: mv /tem/f1 /tem/f2  

//把tem里面的f1重命名为f2,其他命令以此类推。对非当前目录下的文件进行处理时,一定得写绝对路径。

mv   文件名   新文件名      //对文件重命名

5) 复制当前目录下的文件

cp    文件     目标目录

cp    文件名   新文件名     //对文件重命名

3 其他命令

3.1 时间

1) date                          //显示当前系统的时间

date   >  f1                //把系统时间输入到f1

date   ”变量”     //以指定的格式显示当前系统时间,加号与双引号之间不要有空格

date   月日时分秒年     //修改当前系统时间。月日时分年都为两位,中间没有空格。

date   –d   “-1year  +9day”             //查看一年前的九天后是星期几。用不到。

2) 显示硬件时间  

hwclock              //在芯片里存储,可能和系统时间不一样,但是可以改成一样的

hwclock   – hctosys   //将系统时间改为硬件时间

3) 选择时区 tzselect

4)设置系统时间及日期或时区

timedatectl               //能看到本地时间与标准时间以及时区

timedatectl   set-ntp     //将系统时间同步至NTP,有网时才能成功

NTP( network time protocol) 网络时间协议    //让所有电脑时间统一,搭建NTP服务器,所有人都使用该服务器时间。Windows的NTP就是www.time.windows.com

timedatectl    set-timezone    时区        //设置时区

5)查看日历:cal

3.2 查看二进制文件

1)  #strings +二进制(binary)文件名   

系统使用的命令大多数都是一个可执行程序,这些程序都是二进制文件存储在/bin (普通用户)和/sbin(超级用户)/usr/bin ;/usr/sbin 目录下。usr——Unix soft resource

注意:退出目前用户登录:exit

  1. #file  文件名/目录  

    //确定文件/目录类型。二进制文件是cat看不了的,会出现乱码。

3)#stat   文件名/目录                             //查看文件/目录的详细属性信息

3.3 特殊符号

|  管道符   //前一个命令的输出作为后一个命令的输入

“”双引号   //双引号内的内容,普通归普通,特殊归特殊

‘’单引号   //单引号内的内容都作为普通字符

`` 反引号(和~在一个按键上)   //反引号内的内容都作为命令

例:  a=ls

echo “$a”   输出的是字母 ls

echo ‘$a’   输出普通字符 $a

echo  `$a`    输出运行ls的结果

注1:= 是赋值操作符,a=1,把1赋值给变量a,变量是用来存储数据的

注2:echo   $a    //调用变量a的值


转载请注明出处,谢谢!

猜你喜欢

转载自blog.csdn.net/qq_35550345/article/details/87913670