在学习Linux之前我们首先得了解他,然后再去学习、运用,熟练掌握他.......
介绍
Linux的核心理念:万物皆目录
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,
Linux基于纯命令的操作系统,安装在服务器上面的,保存的数据都是以一个一个文件存在的,运行程序都是可执行文件夹,文件,类似于和我们磁盘上面的c盘一样的结构?
Linux的历史
Linux 最初是由芬兰赫尔辛基大学学生 Linus Torvalds 由于自己不满意教学中使用的 MINIX 操作系统, 所以在 1990 年底由于个人爱好设计出了 LINUX 系统核心。后来发布于芬兰最大的 FTP 服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux 本身也逐渐发展壮大起来,之后 Linux 在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统。
为什么叫Linux呢?
Linux的吉祥物是企鹅(英文名:Tux),具前辈口中传下来的话说Torvalds前辈在小时候被企鹅咬过,因此印象非常深刻,具体的也不做过多的了解。
Linux格式
格式是:【命令关键字(需要操作什么功能)】【参数不限(格式:- 参数缩写)】
Linux的版本
Linux的版本分为两种:
- 内核版本:内核版本是指在 Linus 领导下的内核小组开发维护的系统内核的版本号
- 发行版本:发行版本是一些组织和公司根据自己发行版的不同而自定的,但他们都使用了 Linux 内核
Linux快捷键
所谓快捷键就是使用键盘上某一个或某几个键的组合完成一条功能命令,减少操作步骤,从而达到提高操作速度的目的。所以在学习Linux之前有必要先了解一些Linux的快捷键。
1.【tab】键
在Linux所有的shell中,[tab]是最常用的也是Linux的bash shell中最棒的功能;它具有命令补全和档案补全的功能。如果不使用[tab]键,那就别说自己懂Linux!
2.[ctrl] +c 强制终止当前的进程? ?
如果在Linux下,输入了错误的指令或参数,有时候这个命令就会在系统中跑不停,可以用【ctrl+c】来终止
3.[ctrl+d]键? ?两个功能,一是代表键盘输入的结束;二是用来取代exit命令。例如要离开文字接口,可以直接按下[ctrl+d]键
4.[ctrl+L]键? ?这个 很实用,清屏,跟clear命令式等效的
5.[ctrl +K]键? 删除 从光标到行末的所有字符
6.[ctrl+U]键? ?清除当前行与[ctrl+K]相反,删除从光标到行首的所有字符
7.[ctrl+A] 键? 移动光标到行首
8.[ctrl+E]键? ?移动光标到行尾
9:--help:??调出命令帮助文档 带哪些参数做什么事情 10:man :调出命令的详细信息
一.用户权限管理
内置了一个超级管理员 他的用户名字叫root, 只要Linux支持的,想干什么就干什么。如果在公司有幸掌握了root密码,公司的root密码非常重要,属于重要机密,需要妥善保管!
cd 目录更换? 加空格? ?/ 根目录
?逐一介绍上面目录:
系统启动必须:
/ boot :存放安装系统的引导文件,整个操作 Linux 的硬核(启动 Linux 时使用的一些核心文件、一些连接文件、镜像文件)。?
/lib:存放第三方的依赖文件 jar包。
/etc:存放系统管理所需要的所以配置文件和子目录。
/sys:
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统?sysfs?。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
指令集合:
/ bin:bin 是 Binaries (二进制文件) 的缩写, 存放着最常用的程序和指令
/sbin:s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序,只有系统管理员能使用的程序和指令
外部文件管理:
/dev:存放设备文件读取位置
/media:Linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下
?/mnt:存放临时文件系统挂载点(驱动)
临时文件:
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run
/lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件
/tmp:存放临时文件存储
账户:
/root: 存放管理员目录
/home:用户的主目录,以用户的账号命名的
/usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录
运行过程中要用:
/var:存放一般放经常修改的文件,包括日志文件
/proc:存放内存中正在运行的进程
扩展用的:
/opt:opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的
/srv:该目录存放一些服务启动之后需要提取的数据
在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件:
/etc:?上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin:?这是系统预设的执行文件的放置目录,比如?ls?就是在 /bin/ls?目录下的。
值得提出的是,/bin, /usr/bin?是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin?则是给 root 使用的指令。
/var:?这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log?目录下,另外 mail 的预设放置也是在这里。
创建不可能把root超级管理员给别人用吧,就可以创建普通组和系统组 ,创建的用户都是放到普通组里面,系统组里面放的是root目录下的,就能操作你的系统。
组的操作:
groupadd? 创建组
groupmod 修改组
- 修改组id语法:groupmod -g? 新的id? 组名
- 修改组name语法:groupmod -n 旧的name 新的name
groupdel? ?删除组? (删除组的时候要把要删除组里面的用户全部清理掉,比较人性化)
- 语法:groupdel 组名
newgrp:临时切换主组 ,不改变/etc配置文件 (newgrp? 组? root)
cat /etc/group:查看所有组信息
cat /etc/group|grep 组名:用于查找某个用户组
groups: 查看当前登录用户的组内成员
groups test :查看test用户所在的组,以及组内成员
?关于useradd参数信息:
-u:指定UID,这些UID必须是大于大于500,并没有其他用户占用的UID。
-g:指定默认组,可以是GID或者GROUPNAME,同样也必须真时存在。
-G:指定额外组
-c:指定用户的注释信息(也就是用户的描述,标识是用来干什么的)
-d:指定用户的home的目录
用户的操作
1.添加用户
(useradd 用户名)? 创建一个默认的用户? 默认创建一个与他同名的组 并且在home文件创建工作文件夹
useradd-u :指定用户id? ? (useradd -u? 新的id? 用户name)
useradd-g:指定用户的基本组? (useradd -g 组名 用户name)
useradd-c:指定用户的注释信息 标注他是干什么的?
useradd-d<登入目录> :指定用户登入时的起始目录 /home/username
useradd-s:指定用户的shell脚本 可以给用户添加一个脚本,下次这个用户登录的时候需要验证这个脚本
useradd-G:指定用户的附加组? 一个用户可以存在多个组内 例如:存在系统组的也可以存在于普通组。
useradd-D:查看当前用户创建的默认设置? (useradd -D name)
2.修改用户属性
usermod-u:修改用户id? ?(usermod -u 新的id? 用户name)id没有被占用
usermod-g:修改用户的主组? (usermod -g? ?组? ?用户name)
usermod-s:修改默认shell
usermod-c:修改注释信息
usermod-L?:锁定用户密码,使用户密码无效
usermod-U:解除密码锁定
usermod-e:指定用户账户过期时间
usermod -l<帐号名称>:修改用户账户名称
3.删除用户?
userdel username 删除用户,但不会删除此用户工作目录 (userdel? 用户name)
userdel-r:删除用户以及用户的工作目录? (userdel -r? 用户name)
rm -rf? /home/目录: 删除工作目录
4.查看用户
id 用户名? :查看用户的id
cat /etc/passwd:查看所有的用户信息
cat /etc/passwd|grep: 用户名,用于查找某个用户
su :切换用户
exit:回滚root
在Linux当中,自己创建用户是被锁定的,需要对用户进行解锁才能访问,我们想要他登录,他就得需要一个密码。管理员用户root目录下的可以修改普通用户的密码,但是普通用户只能修改自己本身的密码。普通用户只限于操作自己的用户目录(很好的实现了用户的隔离)。
whoami:查看当前使用的哪一个用户。
root用户改自己密码不受密码规整限制,因为他是大哥,想改就改。但是改了不记得就重装系统吧,但是普通用户修改密码就得规范的更改了,下面有介绍,root密码改了就要牢记,忘记了就没什么好办法了,只能重装系统了。
passwd :修改普通用户自己的密码(规范:必须有大小写字母,特殊字符,数字,8位以上的长度)
passwd? -l :锁定用户,就禁用了,就登录不上了。
passwd? -u:解锁用户
passwd? -uf:强制解锁用户
passwd -d:删除用户密码
passwd -e:强制用户下次登录修改密码 普通用户先输入原密码 再输入新密码,原密码和新密码不能有两位相似(密码严格)。?
chage:查看用户密码时间的效期
?二.文件内容操作
常用命令cd和ls
pwd?:查看当前在哪一个目录。
clear:清空屏幕
cd?: 对目录做切换
cd - :切换到上一次目录。
cd~ :跳到自己的 home 目录
cd ..?:上一层目录
cd?/?: 根目录
ls?:列出当前目录下有哪些文件哪些文件夹?
ls -a?:显示所有文件 包含隐藏文件。
ls -l?:显示一个文件额外的信息。(重要)
ls -R?:目录递归显示
ls -s?:按照文件从大到小的顺序去排序展示
ls -t?:按照最后修改时间去做排序
创建文件
mkdir :用于创建目录
mkdir-p:确保目录名称存在,不存在的就建一个
mkdir-v:打印日志 可以配上-p使用 首字母d代表目录(文件夹),-代表文件
touch:touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。(有多个参数,需要可以去搜索)
stat:查看文件详细信息(文件名、大小、IO读写速度、驱动、节点、权限、所属用户id,所属组的id、修改时间)
修改文件
mv:修改文件名和后缀,移动文件位置
mv -T :挪动文件,并且可以在挪动的时候改名字(mv -T 文件名? 挪到路径/更改的文件名)
mv-i:如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。(交互式)
mv -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件(强制式 慎重使用)
mv -n: 不要覆盖任何已存在的文件或目录
mv -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
删除目录:
Linux rm(英文全拼:remove)命令用于删除一个文件或者目录
rm? -i :删除前逐一询问确认。(建议使用这个交互式)
rm? -f :即使原档案属性设为唯读,亦直接删除,无需逐一确认。(删除无法撤回,慎重)
rm? -r :将目录及以下之档案亦逐一删除 递归删除。
文件编辑命令
vim || vm? 一模一样的使用都是用来编辑文件
vi? 文件名? 如果这个文件不存在他会帮我们创建这个文件夹 三种模式 Esc切换
- 命令模式? ?每个按键有自己代表的具体意义,不能作为字符输入。相当于其他两个模式的中间介? ?dd删除首行? ?uu回滚本行
- 输入模式? 在命令模式输入i进入输入模式? ?带有insert输入模式
- 底线命令模式? 在命令模式按下shift +:??不保存退出(!q) 保存退出(wq)底下一个:表示底线命令模式
查看文件内容:cat 从头到位,?tac从尾到头查看。
监听和修改文件
head -n? ?行数 文件 :查看头部几行
tail -n 行数 文件:从尾部查看一个文件
tail -f? 文件 :监听文件,实时定位报错(重要)
nl:文件名//nl?
more 文件:分页展示 查看一个很大的文件的时候,会刷过去,一个窗口只支持那么多内容
less 文件:可以一行一行的上下移动? 按下q退出CTRL+c退出 其实也是命令模式
文件权限? 默认(755)
1.文件权限针对三类对象进行定义
owner? 属主 ,缩写u
group? 属组? ,缩写g
other? ?其他? ,缩写o
2.每个文件针对每类访问者定义了三种主要权限
r :Read 读? ?(针对文件:读取文件内容)(针对目录:查看目录下的文件列表)
w :Write? 写?(针对文件:修改文件内容) (针对目录:删除创建目录下的文件)
x :eXecute? 执行? (针对文件:对除二进制程序的文件以外没意义)(针对目录:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限))
另X:针对目录加执行权限,文件不加执行权限(因文件具有执行权限有安全隐患)
3.用户获取文件权限的顺序
先看是否为所有者,如果是,则后面的权限不看。再看是否是所属组,如果是,后面的权限不看。
4.如何查看文件权限
首先ll命令看打印文件的详细信息
?看用户权限前11位分为五部份? 拆分成 1、3、3、3、1
?第一部份:d代表着目录 -代表文件。
第二部份:属主的权限
第三部份:属组的权限
第四部份:其他用户权限
第五部份:是否启用facl
权限组合 | 二进制 | 八进制 | - - - | 000 | 0 | - - x | 001 | 1 | - w - | 010 | 2 | - w x | 011 | 3 | r - - | 100 | 4 | r - x | 101 | 5 | r w - | 110 | 6 | r w x | 111 | 7 |
?
一直会更新..............
|