09-Linux系统简介

一、Linux

  • Linux是一套免费使用和自由传播的操作系统内核,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统内核。

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

​ Keep It Simple,Stupid!

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

特点

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

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

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

二、(根目录)下的目录介绍

请添加图片描述

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

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

usr unix system resources 操作系统的文件

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

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

​ /usr/src:源代码

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

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

var

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

etc 配置文件目录

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

三、Linux命令

3.1.命令行语法

​ Command [options] [arguments]

​ 注意:

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

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

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

3.2.用户相关命令
查看当前用户

​ who am i

添加用户:
$ adduser 用户名
$ adduser user1
#查看用户信息
$ cat /etc/passwd
#查看组信息
$ cat /etc/group
添加组
$ addgroup 组名
$ addgroup group1
#查看组信息
$ cat /etc/group
新建用户指定组
$ adduser --gid 1001 user2
#查看用户信息
$ cat /etc/passwd
#查看组信息
$ cat /etc/group
更改用户到某个组
#usermod  修改用户信息
$ usermod -g 1002 user1
$ usermod --gid 1002 user1
#创建了user3用户,属于user3组。
$ adduser user3
#修改user3用户属于user1组(1000)
$ usermod --gid 1000 user3
删除空余的组
$ groupdel user1
$ groupdel user2
#在/etc/group查看
$ cat /etc/group
#删除组,如果某个账号使用该群组,则不能删除。
更改密码
#root用户更改其他用户的密码
$ passwd user1
#更改自己的密码
$ passwd  
#root更改密码没有规则限制,并且不用输入旧密码。
#普通用户修改自己的密码,先输入旧密码,再输入新密码,在确认密码,新密码有规则限制。
切换用户

Linux su(英文全拼:switch user)命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

  • 切换到超级管理员身份
$ su
  • 切换到用户
$ su 用户名

从root切换到其他用户不用输入密码,从其他用户切换到root用户或其他用户需要输入密码;只切换用户,不切换shell环境。读取的变量配置方式为 non-login shell 的方式,这种方式很多原本的变量不会被改变, 尤其PATH 这个变量。

login shell:取得 bash 时需要完整的登陆流程的,就称为 login shell。举例来说,我们登陆 tty1 ~ tty6 时,需要输入用户的账号与密码,此时取得的 bash 就称为“ login shell ”;

non-login shell:取得 bash 接口的方法不需要重复登陆的举动,比如我们登陆 Linux 后, 启动终端Terminal,此时那个终端接口并没有需要再次的输入账号与密码,那个 bash 的环境就称为 non-login shell了。又或者你在原本的 bash 环境下再次使用 bash 这个命令,建立了一个bash子进程,同样的也没有输入账号密码, 那第二个 bash (子程序) 也是 non-login shell 。

$ su - 用户名

切换用户,切换shell环境。完整的切换到新使用者的环境,连同 PATH/USER/MAIL 等变量都转成新用户的环境,彻底切换,切换家目录,切换环境变量,直接切换到用户的家目录,每个用户都有一个家目录,有用户变量可以通过

$ echo $PATH

显示当前PATH环境变量,该变量的值由一系列以冒号分隔的目录名组成。执行程序时,shell自动跟据PATH变量的值去搜索该程序。

  • 身份切换,执行命令时临时提升权限
$ sudo 其他命令
$ sudo chmod 777 hello.html

​ 使用 root 的身份来运行命令

​ 并非所有人都能够运行 sudo , 而是仅有规范到 /etc/sudoers 内的用户才能够运行 sudo 这个命令。

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

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

​ 用户名 ALL=(ALL)ALL

​ 注意:

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

​ 使用管理员身份编辑

 $ vi /etc/host

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

127.0.0.1 localhost iZuf69b3ukcunchz57pmf8Z

删除用户
$ userdel -r 用户名

-r删除所有的信息,删除用户的相关数据,而用户的数据有:
用户账号/口令相关参数:/etc/passwd, /etc/shadow
使用者群组相关参数:/etc/group, /etc/gshadow
用户个人文件数据: /home/username, /var/spool/mail/username.

用户相关信息
$ id

id 这个命令则可以查询某人或自己的相关 UID/GID 等等的信息

2.3.基础命令
pwd

查看当前所在路径

$ pwd
cd

切换到指定目录中

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

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

​ 以/作为根目录

​ 以~

​ cd ~ 相当于 cd /root

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

​ 以.作为当前目录

​ 以…作为上一级目录

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配置(iZuf69b3ukcunchz57pmf8Z为用户名称)

​ 使用管理员身份编辑

 $ vi /etc/hosts

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

127.0.0.1 localhost iZuf69b3ukcunchz57pmf8Z

sudo !! 执行上次命令

clear

清除屏幕内容

$ clear
history

列出历史命令

$ history
2.4.文件操作
创建目录/文件夹
  • 在当前目录创建一个目录 - mkdir 目录名
# 在当前目录创建一个目录
$ mkdir web2000-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 	
# 在home目录下查找.txt文件
$ find /home -name '*.txt' 
归档
# 将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.5.文件权限

在 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值