一、系统
一个Linux操作系统,由三个重要的部分组成。内核、Shell、 文件系统
- Kernel
内核,管理硬件设备、内存、进程、交互空间、文件系统、系统程序等。 - Shell
Shell是用户和kernel之间的接口,它也是一个命令解释器,当用户在linux界面发出一个指令时,命令先传到shell,然后在将这个指令翻译成计算机可以识别的二进制语言,然后传给计算机内核,告诉他要做什么事情。计算机内核将结果返还给shell, shell翻译 成人所熟悉的语言,将结果展示出来
默认普通用户会显示$符号,root账号会显示#符号- 查看用户默认使用的shell:echo $SHELL
- 查看用户当前使用的shell:ps
常见的几种Shell:
- Bourne shell ( sh ) 是一个快捷方式,已经被/bin/bash所取代
- Korn shell ( ksh) 语法与Bourne shell相同,同时具备了Cshell的易用特点
- C shell ( csh) 使用的是“类C”语法,csh是 具有C语言风格的一种shell
- Bourne- again shell ( bash ) 大多数Linux系统默认使用的Shell,是Bourne shell的一个免费版本,它是最早的Unix Shell
- FileSystem
文件系统,将硬件和软件都映射成文件,统一进行管理。
Ubuntu系统中常见的目录及作用:
目录 | 作用 |
---|---|
/ | 根目录,所有目录的父目录 |
/bin | 包含普通用户和系统管理员可以共享的各种通用程序 |
/boot | 包含系统引导程序GRUB及其配置文件、linux内核文 件vmlinuz和磁盘内存映像文件initrd.img等重要引导文件 |
/dev | 包含系统支持的所有设备文件 |
/etc | 包含系统管理和维护方面的所有配置文件 |
/home | 包含所有普通用户的家目录 |
/lost+found | 用于存储fsck命令在检测与修复文件系统时删除的文件和目录 |
/media | 包含移动存储介质的挂载点 |
/mnt | 包含所有自定义的文件系统的挂载点,可以挂载任何文件系统 |
/opt | 应用程序等附加软件的安装目录 |
/proc | 虚拟文件目录,系统关闭时为空目录,系统运行时进程文件系统根目录,其中的部分文件系统分别对应当前正在运行的进程,可用于访问当前进程的地址空间 |
/root | 超级用户root的家目录 |
/sbin | 超级用户管理员的常用工具、如管理和维护、系统引导和恢复命令集合 |
/srv | 分担了var目录的一-些功能, 保存了一些网络服务所需的数据文件 |
/sys | 和proc-样是虚拟目录,系统各种设备配置信息的根目录 |
/tmp | 临时文件目录,用于存储系统运行过程生成的临时文件 |
/usr | 既可以作为根目录下的一个子目录,其中保存系统提供的各种共享数据(用户命令、库函数、头文件、文档等),又可以作为一个单独的文件系统,可以认为是对根目录的一个递归目录,使得文件系统具有更大的灵活性 |
/var | 该目录和usr类似,首先是根目录下的子目录,也可以作为单独的文件系统,用于存储各种可变长的数据文件(如日志文件)、暂存文件或待处理的临时文件 |
二、路径
在系统中,使用点(. )来表示当前目录,使用点点(… )来表示当前目录的上一级目录,也就是其父目录
路径的特点:
- 一个路径可以唯一 表示一个目录或者文件
- 多级路径直接可以使用/进行分割,例如
test/a/b/hello.txt
- 路径中的第一个位置如果出现了/,那么这个/代表的是根目录,例如
*/* home/briup/hello.txt
系统中的路径可以分为俩种,绝对路径和相对路径:
1.绝对路径
Linux系统中,以系统中根目录开头的路径,都是绝对路径
例如: /bin 、/home/briup、 /opt等
例如,查看/home/briup 目录中的hello.txt文件
cat /home /br iup/hello. txt
2.相对路径
在当前路径下,去描述另一个路径,就可以使用相对路径,它表示的俩个路径的相对位置。当前路径,就是当前输入执行命令的路径,在当前路径下,去表示另一个路径的相对位置。
例如,当前路径在/home/briup下,查看另一个/home/test目 录中的hello.txt文件
cat . ./test/hello. txt
三、密码
- 普通用户修改密码:
passwd
命令输入老密码和新密码即可,密码输入时,是不显示当前输入的内容的。 - 设置root (超级用户)用户密码:(sudo命令表示临时使用最高权限【 root账号权限】进行操作)
sudo passwd root
先输入当前用户的密码,然后再输入root用户的新密码 - 当前用户,切换到root用户:
su
命令,su默认就是切换到root账号,然后输入root账号的密码即可 - 在root用户下,退回到原来的用户:(普通用户和root用户的命令提示符有所不同)
exit
命令
四、用户
- 创建一个新的用户swift,家目录为/home/swift,用户登录后使用bash
sudo useradd -mk /home/ swift -s /bin/bash swift
- 给新建的swift用户设置密码:
sudo passwd swift
- 切换到swift用户:
su - swift
- 使用sudo命令测试:
sudo clear
因为swift用户不在sudo这个用户组中,所以无法使用sudo命令 - 切换到briup账号,使用sudo命令,将用户swift添加到sudo组中
sudo gpasswd -a swift sudo
- 切换到swift用户,查看是否已经在sudo组中,并且测试sudo命令是否可用.
$su - swift $id $sudo clear
- 切换到start用户,使用sudo命令,将swift用户从sudo组中删除
$su -start $sudo gpasswd -d swift sudo
- 使用sudo命令,删除swift用户,并删除swift用户对于的家目录/home/swift,并且是强制删除
sudo userdel - r -f swift
五、命令
(1)命令格式
Command [ option(s)] [ argument[s]]
- command: 命令关键字
- options: 可以有多个选项
- arguments: 可以有多个参数
注意事项:
- 中间用空格隔开
- 单行命令一般不超过256个字符
- 大小写敏感
(2)常用的几个命令:
- clear清屏
- pwd显示当前工作目录
- cd切换目录
cd直接输入cd会自动切换到当前用户的家目录。- 相对路径
cd ../test
- 绝对路径
cd /home/test
- 相对路径
- Is显示当前目录下的内容列表
Is -a
显示隐藏文件和隐藏目录,也就是以点(.)开头的文件和目录
ls-R
递归显示目录中的内容
Is -t
显示目录中的内容列表,并使用时间排序,默认是按着名字排序
ls -l
显示详细信息
ls-a-l
这些参数可以多个一起使用
ls -al
参数可以分开也可以合在一起写
ls-F
显示文件的类型,目录/ 可执行文件*普通文件
注意: -rw- rw-r-- 1 start start 199 7月16 12:16 a .txt
从左到右文件类型
普通文件是-
目录是d、链接文件是、块设备文件是b、字符设备文件是c、命令管道 文件是p、sock文件是s
rw- rw-r–权限设置,这里是分三组,分别为拥有者权限、同组人权限、其他人权限71链接号
start拥有者
start拥有组
199文件大小
7月16 12 :16最后修改时间
a .txt 文件名字
六、权限
使用ls-l
命令,可以查看文件或目录的相关权限
(1)针对用户的权限
- r读权限
- w写权限,对目录来说,可生成文件与子目录或删除文件与子目录
- x执行权限,对目录来说,可查找该目录下内容
-
表示没有任何权限
rw-
表示当前文件对拥有者的权限
r--
表示当前文件对同组人的权限
---
表示当前文件对其他人的权限
(2)在添加或者删除某个权限的时候:
- u表示拥有者
- g表示同组人
- 0 表示其他人
- a表示所有人