Linux操作系统介绍与基础命令

1.1.早期介绍

Linux起源于一个学生的简单需求。芬兰赫尔辛基大学Linus Torvalds,Linux的作者与主要维护者,在其上大学时所买得起的唯一软件是Minix. Minix是一个类似Unix,被广泛用来辅助教学的简单操作系统。Linus对Minix不是很满意,于是决定自己编写软件。他以学生时代熟悉的Unix作为原型, 在一台Intel 386 PC上开始了他的工作。他的进展很快,受工作成绩的鼓舞,他将这项成果通过互连网与其他同学共享,主要用于学术领域。有人看到了这个软件并开始分发。每当出现新问题时,有人会立刻找到解决办法并加入其中,很快的,Linux成为了一个操作系统。值得注意的是Linux并没有包括Unix源码。它是按照公开的POSIX标准重新编写的。Linux大量使用了由麻省剑桥免费软件基金的GNU软件,同时Linux自身也是用它们构造而成。Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?git 为 Linux 而生。

事实上,与其说Unix是个操作系统,不如说是一部口述历史. 一种文化,一种哲学. 所有哲学浓缩为一条铁律,那就是各地编程大师奉为圭臬(guī niè)的"K.I.S.S"原则:Keep It Simple,Stupid!

保持简单,并且一目了然!

1.2.Linux特征

Linux是一套免费使用和自由传播的操作系统内核,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统内核。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统内核。

  • 特点

开放性:特别是遵循开放系统互连(OSI)国际标准。

多用户:操作系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互 不影响。

多任务:计算机同时执行多个程序,而同时各个程序的运行互相独立。

  • Unix和Linux和Ubuntu的关系是什么?

    Unix是内核,Linux是在Unix发展基础上的操作系统,Ubuntu是Linux操作系统中的具体某一个。

    Linux允许多个用户同时使用系统,而且每个用户可以运行多个程序,稳定,安全,高效,是我们开发人员

    布署应用的首选. 一个操作系统的学习是多方面的,深层次的,可以是一个linux管理员,浅一点只要掌握

    基本的登录登出,文件/目录的增删改查,对于我们而言了,主要是从一个开发者的角度去进行了解,在

    Linux系统上进行开发布署应用应该掌握哪些知识.

1.3. / (根目录)下的目录介绍

bin 部分系统可执行文件目录

dev 设备文件

        该目录存放的是linux的外部设备,如硬盘,分区,键盘,鼠标,usb等。

usr unix system resources 操作系统的文件

        /usr/local 相当于c:/program files,一般存放系统自带的,但是供所有用户使用的。最庞大的目录,要用 到的应用程序和文件几乎都在这个目录

        /usr/include: linux下开发和编译引用程序所需要的头文件。

        /usr/local: 本地增加的命令和库。

        /usr/sbin: 超级用户的一些管理程序

        /usr/src:源代码

        /usr/bin: 众多的而应用程序,二进制可执行程序

        /usr/share:共享文件

        /usr/lib:常用的动态链接库和软件包的配置文件。

var

        可变文件目录 ​ 用户信息 ​ apache的www目录

etc 配置文件目录

查看文件内容使用:cat 文件路径 ​

查看文件内容使用:more 文件路径 ​

1./etc/passwd 用户信息 ​

这些用户中的绝大多数是系统或服务正常运行所必需的用户,我们把这种用户称为系统用户或伪用户。系统用户是不能登录系统的,但是这些用户同样也不能被删除,因为一旦删除,依赖这些用户运行的服务或程序就不能正常执行,会导致系统问题。 ​

用":"作为分隔符,划分为 7 个字段

 root:x:0:0:root:/root:/bin/bash

用户名称:密码标志:用户 ID(UID):用户的组 ID(GID):用户的简单说明:用户的家目录:登录之后的Shell

系统是通过 UID 来识别不同的用户和分配用户权限的

0:超级用户 UID,

1~499:系统用户(伪用户)UID。 ​

2./etc/shadow 密码信息

1970-01-01 00:00:00 是格林威治时间 ​

时间戳:当前时间到格林威治时间的秒数

划分为 9 个字段

root:$6$KoTdD9KR$4Z7gieoQ9hU.8RlcuIqrWscLoB2q2JjqJRtY0H8dYYzgHpr.plqmYtEiKgwQQd2qIS9qySZOLj2FTFqhsCYM/:18337:0:99999:7:::

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

使用date -d "1970-01-01 18337 days"命令可以查看最后一次修改时间 ​:

        Mon Mar 16 00:00:00 CST 2020 ​

密码有效期 99999,也就是 223 年,可认为是永久生效 ​

3./etc/group 组信息 ​

分为4个字段

root:x:0:

组名:密码:GID:该用户组中的用户列表

如果该用户组是这个用户的初始组,则该用户不会写入这个字段,第四个字段没有写入 root 用户,因为 root 组是 root 用户的初始组。

4./etc/gshadow 组密码信息 ​

        root:*:: ​

组名:加密密码:组管理员:组附加用户列表 ​

5./etc/sudoers 写在sudoers文件内的用户可以临时使用sudo提升为管理员权限 ​ 

        root大老板 临时使用大老板的权利,得到大老板的承认。sudoers ​

6./etc/profile 核心配置 ​

7./etc/skel 创建了新用户之后,复制的家文件

opt 安装软件目录 第三方安装包

        解压即安装的软件 例如jdk

home 用户家目录 /home/ubuntu

root 超级用户家目录

lib 存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件

lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些零散文件

media ubuntu系统自动挂载的光驱、usb设备,存放临时读入的文件

mnt 作为被挂载的的文件系统得挂载点。

proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息,这里存放所有标志位文件的进程。

sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序,如系统管理,目录查询等关键命令文件。

srv 存放系统所提供的服务数据

sys 系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。

tmp 这个目录用来存放一些临时的文件,所有用户对此目录都有读写权限。

2.1.命令行语法

Command [options] [arguments]

注意:

1.命令一定使用空格进行分割

2.命令一定严格区分大小写。

3.单行命令一般不超过256个字符

2.2.基础命令

pwd

查看当前所在路径

$ pwd

cd

切换到指定目录中

$ cd
$ cd ~
$ cd /
$ cd ../
$ cd dir1
$ cd .. 返回上一级目录

如果没有写目录路径则进入到家目录,路径可以是以/开头的绝对路径,也可以是不以/开头的相对路径。

以/作为根目录

以~

cd ~ 相当于 cd /root

如果是普通用户,cd ~ 相当于cd /home/当前用户名

以.作为当前目录

以..作为上一级目录

ls

查看当前目录下的目录或者文件 ​ ls 路径 ​ 查看指定路径下的文件目录或者文件 ​ -a 查看所有文件和隐藏文件

$ ls -a

-A 查看所有文件和隐藏文件,除了.和..

$ ls -A

-l 长格式列出所有的文件和目录

$ ls -l

d rwx r-x r-x 4 user nobody 1024 Feb 22 09:20 test

drwxr-xr-x4usernobody1024 Feb 22 09:20test
文件类型拥有者权限同组人权限其他人权限链接号拥有者拥有组最后一次修改时间文件名

第一个字段:文件属性字段 ​

        文件属性字段总共有10个字母组成;第一个字符代表文件的类型。 ​

        字母“-”表示该文件是一个普通文件

        字母“d”表示该文件是一个目录,字母"d",是dirtectory(目录)的缩写 ​ 注意:目录或者是特殊文件,这个特殊文件存放其他文件或目录的相关信息

        字母“l”表示该文件是一个链接文件。字母"l"是link(链接)的缩写,类似于windows下的快捷方式

        字母“b”的表示块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊 的文件。没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘 等。最小数据传输单位为一个数据块(通常一个数据块的大小为512字节)

        字母为“c”表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设 备,如键盘、字符终端等,传输数据的最小单位为一个字节。

        字母为“p”表示该文件为命令管道文件。与shell编程有关的文件。

        字母“s”表示该文件为sock文件。与shell编程有关的文件。 ​

        第1字符的后面9个字母表示该文件或目录的权限位。 ​

         r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute) ​

        其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。 ​

第二字段:链接占用的节点 ​

第三字段:文件(目录)拥有者 ​

第四字段:文件(目录)拥有者所在的组 ​

第五字段:表示文件大小 ​

第六字段:文件(目录)最近访问(修改)时间

​第七字段:文件名

cat

预览文件内容,一次性展示整个文件的内容

$ cat /etc/passwd

more

预览文件内容,会以一页一页的显示,逐页阅读 空格翻页,回车换行,q退出

$ more /etc/passwd

touch

可以创建文件或者更改最近访问时间 如果文件不存在,创建文件,如果文件存在,修改最后一次访问的时间

$ touch 文件名
$ touch test1
#查看文件修改时间
$ stat test1

man

查看指定命令手册

$ man ls

输入回车向下翻一行

输入空格向下翻一页

输入q退出手册

sudo

临时提升权限 如果没有使用sudo的权限,需要root用户操作/etc/sudoers文件,添加用户

/etc/sudoers文件默认是只读的,对root来说也是,因此需先添加sudoers文件的写权限,命令是: 即执行操作:chmod u+w /etc/sudoers

$ vi /etc/sudoers

其配置文件位于/etc/sudoers中。在/etc/sudoers文件中,添加

用户名 ALL=(ALL)ALL

注意:

如果出现sudo: unable to resolve host iZuf69b3ukcunchz57pmf8Z错误,需要修改host配置

使用管理员身份编辑

 $ vi /etc/hosts

将对应用户的host那么添加到localhost后即可

127.0.0.1 localhost iZuf69b3ukcunchz57pmf8Z

sudo !! 执行上次命令

clear

清除屏幕内容

$ clear

history

列出历史命令

$ history

2.3.文件操作

创建目录/文件夹

  • 在当前目录创建一个目录 - mkdir 目录名

# 在当前目录创建一个目录
$ mkdir web210x-test
  • 在当前目录创建多个目录 - mkdir 目录名 目录名

# 在当前目录创建多个目录
$ mkdir a b
$ mkdir ~/a ~/b
  • 在指定目录创建一个目录 - mkdir /目录名1/目录名2

    $ mkdir /home/c
  • 级联创建层次目录 - mkdir -p 目录1/目录2

$   mkdir -p e/f
$ mkdir -p ~/b/c

递归创建目录,即使上级目录不存在,会按目录层级自动创建目录

移动

  • mv 要移动的目录或文件,移动到的路径,将一个目录或文件移动到另一个地方

# 将a目录移动到b目录里

$ mv /a /b
  • 如果是移动文件,并且还是将文件到同一个目录,相当于给重命名

$ mv test1 test2
  • 常用的

# 将html文件转移到apache服务器

$ mv ~/test/index.html /var/www/html/test/

复制/拷贝

cp 命令既可以复制文件,也可以复制目录。

  • 复制文件

# 创建文件
$ touch copy.txt
# 把源文件不改名复制到 b 目录下
$ cp copy.txt b
  • 如果需要改名复制,命令如下:

#改名复制
$ cp copy.txt b/copy123.txt
  • 如果复制的目标位置已经存在同名的文件,则会提示是否覆盖,例如:

$ cp -i copy.txt b
# 目标位置有同名文件,所以会提示是否覆盖
cp: overwrite 'b/copy.txt'? y
  • 接下来我们看看如何复制目录,其实复制目录只需使用“-r”选项即可,例如:

#建立测试目录
$ mkdir movie
#目录原名复制
$ cp -r /home/movie b
$ cp -r ./movie b

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。 相当于 -d、-p、-r 选项的集合。 ​

-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。 ​

-f:覆盖已经存在的目标文件而不给出提示。 ​

-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。 ​

-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。 ​

-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。 ​

-l:不复制文件,只是生成链接文件。

删除

  • rmdir 目录

# 创建一个目录
$ mkdir test
# 删除一个空目录 
$ rmdir test
# 强制删除级联目录
$ rm -rf test
  • rm 文件

# 删除文件
$ rm test2
  • rm -R 目录

# 创建级联目录
$ mkdir -p test1/test2
# 递归删除非空目录中的内容
$ rm -R test1

查找

# 在根目录下查找.txt文件
$ find / -name '*.txt' 
# 在根目录中搜索文件test, 并显示此文件所在目录的路径名
$ find / -name test    

归档

# 将day02文件夹压缩到当前目录下,压缩包名称为xxx.tar.gz
$ tar –zcvf xxx.tar.gz ./c
# tar: Removing leading `/' from member names 使用绝对路径报错
$ tar -zcvPf b.tar.gz /home/c

解档

$ tar -zxvPf xxx.tar.gz

2.4.文件权限

在 Linux 命令中,chmod用于修改文件或者目录的权限。对于文件或者目录的普通权限,共有 3 种,分别为:

  • r:读取;

  • w:写入;

  • x:执行。

权限范围及代号

文件及目录的权限范围,包括:

u:User,即文件或目录的拥有者;

g:Group,即文件或目录的所属群组;

o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;

a:All,即全部的用户,包含拥有者、所属群组以及其他用户。

权限的代号包括:

r:读取权限,数字代号为4;

w:写入权限,数字代号为2;

x:执行或切换权限,数字代号为1;

-:不具任何权限,数字代号为0;

[ +-= ] 含义

+: 增加权限

-: 撤销权限

=: 设定权限

使用chmod修改用户权限

chmod u/g/o/a +/-/= rwx 文件

chmod mode filename :权限模式:

$ chmod g-r file1  //file1文件组员没有读权限 
​
$ chmod u+x,go+r file1 //file1文件用户添加执行权限,组员和其他人有读的权限 
​
$ chmod a=rw file1    //chmod ugo=rw file1 全部用户都有读写权限
​
$ chmod g+w index.html   //为index.html添加同组人权限 
​
$ chmod -R o=rwx dir //级联生效-R

八进制数的形式标识:权限值模式

$ chmod 555 dante     //a=rx 
​
$ chmod 644 dante      //u=rw,go=r 
​
$ chmod 755 dante      //u=rwx,go=rx 
​
$ chmod 777 index.html 
​
$ chmod -R 777 /var/www/html/you    //权限把控,信息安全

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值