@TOC
了解Linux
开机登陆
开机会启动很多程序。它们在Windows中叫做“服务”(service),在Linux中叫做“守护进程”(daemon)。
最高权限账户为root(超级管理员),可以操作一切。
关机
在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
关机指令为:shutdown
sync # 将数据由内存同步到硬盘中。
shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机
shutdown –h now # 立马关机
shutdown –h 20:25 # 系统会在今天20:25关机
shutdown –r now # 系统立马重启
shutdown –r +10 # 系统十分钟后重启
reboot # 就是重启,等同于 shutdown –r now
halt # 关闭系统,等同于shutdown –h now 和 poweroff
注意
不管是重启系统 还是关闭系统,先要运行命令sync
,把内存中的数据写到磁盘中。
系统目录结构
在Linux 系统中一切皆文件,根目录 /
,所有的文件都挂在这个节点下。
在命令窗口中输入 ls /
/bin : 该目录存放着最经常使用的命令(Binary)
/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)
/dev :存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的(Device(设备))。
==/etc:该目录用来存放所有的系统管理所需要的配置文件和子目录。==
==/home:用户的主目录,在Linux中,每个用户都有一个自己的目录==
/lib: 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。(不要动)
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
==/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。==
/proc: 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
==/root:该目录为系统管理员,也称作超级权限者的用户主目录。==
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/srv:该目录存放一些服务启动之后需要提取的数据。
/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs 。
==/tmp:这个目录是用来存放一些临时文件的。用完即丢的文件,可以放在这个目录下,安装包!==
==/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。==
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
常用的基本命令
目录管理
路径
cd
:切换目录命令cd..
:返回上级目录cd../..
:返回两级目录ls
:列出目录- -a 参数:all,查看全部的文件,包括隐藏文件
- -l 参数:列出所有的文件,包括文件的属性和权限,不显示隐藏文件
- -al (Linux命令可以组合使用)
pwd
: 显示当前所在目录mkdir
:创建一个目录mkdir -p text1/text2/text3
:创建多级目录rmdiv
:删除目录(仅能删除空文件)rmdir -p text1/text2
:递归删除多个目录cp
:复制文件(cp 原文件 目标文件)cp -r 原目录 目标目录
:复制原目录下所有子目录及文件rm
:移除文件或目录(危险操作)- -f 忽略不存在的文件,不会出现警告,强制删除!
- -r 递归删除目录!
- -i 互动,删除询问是否删除
rm -rf /
:删除系统中所有文件,删库跑路!mv
:移动文件或目录、重命名
- -f 忽略不存在的文件,不会出现警告,强制删除!
基本属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件的权限做了不同的规定。
在Linux系统中,我们可以使用ls -l
或 ll
命令来显示一个文件的属性以及文件所属的用户和组。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
d
表示是目录-
表示是文件l
表示为链接文档 ( link file )b
表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );c
表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
紧接着的字符中,三个为一组,且均为rwx
的三个参数的组合。其中,
r
代表可读(read)w
代表可写(write)x
代表可执行(execute)-
代表没有权限
每个文件的属性由左边第一部分的10个字符来确定:
从左至右用0-9这些数字来表示。- 第0位确定文件类型
- 第1-3位确定属主(该文件的所有者)拥有该文件的权限
- 第4-6位确定属组(所有者的同组用户)拥有该文件的权限
- 第7-9位确定其他用户拥有该文件的权限。
其中:
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
在以上实例中,boot 文件是一个目录文件,属主和属组都为 root。
修改文件属性
1、chgrp:更改文件属组
1 | chgrp [-R] 属组名 文件名 |
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2、chown:更改文件属主,也可以同时更改文件属组
1 | chown [–R] 属主名 文件名 |
==3、chmod:更改文件9个属性(重要)==
你没有权限操作此文件!
1 | chmod [-R] xyz 文件或目录 |
Linux文件属性有两种设置方法,一种是数字(常用的是数字),一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
文件的权限字符为:rwxrwxrwx
,其中,我们可以使用数字来代表各个权限:
==r:4 w:2 x:1==
- 可读可写不可执行 rw- 6
- 可读可写可执行 rwx 7
chomd 777
文件赋予所有用户可读可执行
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的。
查看文件内容
Linux系统中使用以下命令来查看文件的内容:
- ==
cat
由第一行开始显示文件内容,用来读文章,或者读取配置文件啊,都使用cat名== tac
从最后一行开始显示,可以看出 tac 是 cat 的倒着写- ==
nl
显示的时候,输出行号== - ==
more
一页一页的显示文件内容,(空格代表翻页,enter 代表向下看一行, :f 行号)== less
与 more 类似,但是比 more 更好的是,他可以往前翻页.(空格下翻页,pageDown,pageUp键代表翻动页面!退出 q 命令,查找字符串 /要查询的字符向下查询,向上查询使用?要查询的字符串,n 继续搜寻下一个,N 上寻找!)head
只看头几行 通过 -n 参数来控制显示几行tail
只看最后几行 -n 参数 目标几行
网络配置目录: cd /etc/sysconfig/network-scripts
ifconfig
命令查看网络配置.
Linux 链接
- 硬链接:A–B,假设B是A的硬链接,那么它们两个指向同一个文件。允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到一些重要文件上,防止误删(也可以备份吧)。
- 软链接:类似Windows下的快捷方式,原文件删除,软连接不能访问。
创建链接命令 ln
软连接命令:ln -s /
1 | [root@localhost home]# touch f1 |
这里有两个命令:touch
:创建一个文件echo
:输入字符串
vim编译器
vim是从vi发展过来的一个文本编译器。查看、编辑、保存内容。
用户刚刚启动 vi/vim,进入了命令模式(一般模式)。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。
以下是常用的几个命令:i
切换到输入模式(编辑模式),以输入字符。x
删除当前光标所在处的字符。:
切换到底线命令模式,以在最底一行输入命令。Esc
如果是编辑模式,需要先退出编辑模式。
在命令模式下按下 :
(英文冒号)就进入了底部命令模式。光标就移动到了最底下,可以在这里输入一些底线命令
此命令模式下,基本的命令有:wq
w 保存文件 q 退出程序
当然,还有很多命令可以了解……