广东住房与城乡建设厅网站,成都网站建设网,营销平台推广,Wordpress找不到外观选项走近Linux系统
开机登录
开机会启动许多程序。它们在Windows叫做服务#xff08;service#xff09;#xff0c;在Linux就叫做守护进程#xff08;daemon#xff09;。
开机成功后#xff0c;它会显示一个文本登录界面#xff0c;这个界面就…走近Linux系统
开机登录
开机会启动许多程序。它们在Windows叫做服务service在Linux就叫做守护进程daemon。
开机成功后它会显示一个文本登录界面这个界面就是我们经常看到的登录界面在这个登录界面中会提示用户输入用户名而用户输入的用户将作为参数传给login程序来验证用户的身份密码是不显示的输完回车即可
一般来说用户的登录方式有三种
命令行登录ssh登录远程登录Xshell图形界面登录
最高权限账户为 root可以操作一切
linux中没有错误就代表操作成功
关机
在linux领域内大多用在服务器上很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的除非特殊情况下不得已才会关机。
关机指令为shutdown
sync # 将数据由内存同步到硬盘中。shutdown # 关机指令你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机shutdown –h 10 # 这个命令告诉大家计算机将在10分钟后关机shutdown –h now # 立马关机shutdown –h 20:25 # 系统会在今天20:25关机shutdown –h 10 # 十分钟后关机shutdown –r now # 系统立马重启shutdown –r 10 # 系统十分钟后重启reboot # 就是重启等同于 shutdown –r nowhalt # 关闭系统等同于shutdown –h now 和 poweroff最后总结一下不管是重启系统还是关闭系统首先要运行 sync 命令把内存中的数据写到磁盘中。
系统目录结构
1、一切皆文件
2、根目录/所有的文件都挂载在这个节点下
登录系统后在当前命令窗口下输入命令
ls /你会看到如下图所示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mcrQz6bP-1621569071853)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\1619766908581.png)]
树状目录结构Linux的一切资源都挂载在这个 / 根节点下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OYWD7cch-1621569071854)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\1619766924632.png)]
以下是对这些目录的解释
/binbin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot 这里存放的是启动Linux时使用的一些核心文件包括一些连接文件以及镜像文件。/dev dev是Device(设备)的缩写, 存放的是Linux的外部设备在Linux中访问设备的方式和访问文件的方式是相同的。/etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home用户的主目录在Linux中每个用户都有一个自己的目录一般该目录名是以用户的账号命名的。。自己的文件基本上就是在这里存放。/lib这个目录里存放着系统最基本的动态连接共享库其作用类似于Windows里的DLL文件。/lostfound这个目录一般情况下是空的当系统非法关机后这里就存放了一些文件。/medialinux系统会自动识别一些设备例如U盘、光驱等等当识别后linux会把识别的设备挂载到这个目录下。/mnt系统提供该目录是为了让用户临时挂载别的文件系统的我们可以将光驱挂载在/mnt/上然后进入该目录就可以查看光驱里的内容了。/opt这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLEmysql数据库则就可以放到这个目录下。默认是空的。/proc这个目录是一个虚拟的目录它是系统内存的映射我们可以通过直接访问这个目录来获取系统信息。不用管/root该目录为系统管理员也称作超级权限者的用户主目录。/sbins就是Super User的意思这里存放的是系统管理员使用的系统管理程序。/srv该目录存放一些服务启动之后需要提取的数据。/sys这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。/tmp这个目录是用来存放一些临时文件的用完即丢的文件如安装包。/usr这是一个非常重要的目录用户的很多应用程序和文件都放在这个目录下类似于windows下的program files目录。/usr/bin 系统用户使用的应用程序。/usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序。/usr/src 内核源代码默认的放置目录。/var这个目录中存放着在不断扩充着的东西我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。/run是一个临时文件系统存储系统启动以来的信息。当系统重启时这个目录下的文件应该被删掉或清除。/www存放服务器网站相关的资源环境网站的项目
常用的基本命令必掌握
目录管理
绝对路径和相对路径
我们知道Linux的目录结构为树状结构最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中通过解除挂载可以移除它们。
在开始本教程前我们需要先知道什么是绝对路径与相对路径。
绝对路径
路径的写法由根目录 / 写起例如/usr/share/doc 这个目录。
相对路径
路径的写法不是由 / 写起例如由 /usr/share/doc 要到 /usr/share/man 底下时可以写成cd …/man 这就是相对路径的写法啦
cd切换目录
./当前目录
cd…返回上一级目录
处理目录的常用命令
接下来我们就来看几个常见的处理目录的命令吧
ls: 列出目录cd切换目录pwd显示目前的目录mkdir创建一个新的目录rmdir删除一个空的目录cp: 复制文件或目录rm: 移除文件或目录mv: 移动文件与目录或修改文件与目录的名称
你可以使用 man [命令] 来查看各个命令的使用文档如 man cp。
ls 列出目录
在Linux系统当中 ls 命令可能是最常被运行的。
语法
[rootwww ~]# ls [-aAdfFhilnrRSt] 目录名称选项与参数
-a 全部的文件连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)-l 长数据串列出包含文件的属性与权限等等数据(常用)
将目录下的所有文件列出来(含属性与隐藏档)
[rootwww ~]# ls -alcd 切换目录
cd是Change Directory的缩写这是用来变换工作目录的命令。
语法
cd [相对路径或绝对路径](绝对路径都是以/开头相对路径对于当前项目该如何寻找…/上一级
# 回到上一级
[rootkuangshen kuangstudy]# cd ..# 回到根目录
[rootkuangshen kuangstudy]# cd /# 表示回到自己的家目录亦即是 /root 这个目录
[rootkuangshen kuangstudy]# cd ~pwd ( 显示目前所在的目录 )
pwd 是 Print Working Directory 的缩写也就是显示目前所在目录的命令。
[rootkuangshen kuangstudy]#pwd [-P]选项与参数-P 显示出确实的路径而非使用连接(link) 路径。
# 单纯显示出目前的工作目录
[rootkuangshen ~]# pwd
/root# 如果是链接要显示真实地址可以使用 -P参数
[rootkuangshen /]# cd bin
[rootkuangshen bin]# pwd -P
/usr/binmkdir 创建新目录 )
mkdir [-mp] 目录名称
选项与参数
-m 配置文件的权限喔直接配置不需要看默认权限 (umask) 的脸色-p 帮助你直接将所需要的目录(包含上一级目录)递归创建起来
# 进入我们用户目录下
[rootkuangshen /]# cd /home# 创建一个 test 文件夹
[rootkuangshen home]# mkdir test# 创建多层级目录
[rootkuangshen home]# mkdir test1/test2/test3/test4
mkdir: cannot create directory ‘test1/test2/test3/test4’:
No such file or directory # 没办法直接创建此目录啊# 加了这个 -p 的选项可以自行帮你创建多层目录
[rootkuangshen home]# mkdir -p test1/test2/test3/test4# 创建权限为 rwx--x--x 的目录。
[rootkuangshen home]# mkdir -m 711 test2
[rootkuangshen home]# ls -l
drwxr-xr-x 2 root root 4096 Mar 12 21:55 test
drwxr-xr-x 3 root root 4096 Mar 12 21:56 test1
drwx--x--x 2 root root 4096 Mar 12 21:58 test2
rmdir ( 删除空的目录 )
rmdir [-p] 目录名称
选项与参数**-p **连同上一级『空的』目录也一起删除 ****
# 看看有多少目录存在
[rootkuangshen home]# ls -l
drwxr-xr-x 2 root root 4096 Mar 12 21:55 test
drwxr-xr-x 3 root root 4096 Mar 12 21:56 test1
drwx--x--x 2 root root 4096 Mar 12 21:58 test2# 可直接删除掉没问题
[rootkuangshen home]# rmdir test# 因为尚有内容所以无法删除
[rootkuangshen home]# rmdir test1
rmdir: failed to remove ‘test1’: Directory not empty# 利用 -p 这个选项立刻就可以将 test1/test2/test3/test4 依次删除。
[rootkuangshen home]# rmdir -p test1/test2/test3/test4
注意这个 rmdir 仅能删除空的目录你可以使用 rm 命令来删除非空目录后面我们会将
cp ( 复制文件或目录 )
[rootwww ~]# cp 原来的地方 新的地方
[rootwww ~]# cp [options]source1 source2.... directory
# 找一个有文件的目录我这里找到 root目录
[rootkuangshen home]# cd /root
[rootkuangshen ~]# ls
install.sh
[rootkuangshen ~]# cd /home# 复制 root目录下的install.sh 到 home目录下
[rootkuangshen home]# cp /root/install.sh /home
[rootkuangshen home]# ls
install.sh# 再次复制加上-i参数增加覆盖询问
[rootkuangshen home]# cp -i /root/install.sh /home
cp: overwrite ‘/home/install.sh’? y # n不覆盖y为覆盖
rm ( 移除文件或目录 )
rm [-fir] 文件或目录
选项与参数
-f 就是 force 的意思忽略不存在的文件不会出现警告信息-i 互动模式在删除前会询问使用者是否动作-r 递归删除啊最常用在目录的删除了这是非常危险的选项
# 将刚刚在 cp 的实例中创建的 install.sh删除掉
[rootkuangshen home]# rm -i install.sh
rm: remove regular file ‘install.sh’? y
# 如果加上 -i 的选项就会主动询问喔避免你删除到错误的档名# 尽量不要在服务器上使用 rm -rf / 系统中所有的文件就被删除了删除跑路就是这么操作的
mv ( 移动文件与目录或修改名称 )
[rootwww ~]# mv [-fiu] source destination
[rootwww ~]# mv [options] source1 source2 ... directory
选项与参数
-f force 强制的意思如果目标文件已经存在不会询问而直接覆盖-i 若目标文件 (destination) 已经存在时就会询问是否覆盖-u 若目标文件已经存在且 source 比较新才会升级 (update)
# 复制一个文件到当前目录
[rootkuangshen home]# cp /root/install.sh /home# 创建一个文件夹 test
[rootkuangshen home]# mkdir test# 将复制过来的文件移动到我们创建的目录并查看
[rootkuangshen home]# mv install.sh test
[rootkuangshen home]# ls
test
[rootkuangshen home]# cd test
[rootkuangshen test]# ls
install.sh# 将文件夹重命名然后再次查看
[rootkuangshen test]# cd ..
[rootkuangshen home]# mv test mvtest
[rootkuangshen home]# ls
mvtest
重命名
[rootkuangshen home]# mv test mvtest
基本属性
看懂文件属性
Linux系统是一种典型的多用户系统不同的用户处于不同的地位拥有不同的权限。为了保护系统的安全性Linux系统对不同的用户访问同一文件包括目录文件的权限做了不同的规定。
在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组如
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UbRb5JCQ-1621569071857)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\1619769814945.png)]
实例中boot文件的第一个属性用d表示。d在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
当为[ d ]则是目录当为[ - ]则是文件若是[ l ]则表示为链接文档 ( link file )若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 )若是[ c ]则表示为装置文件里面的串行端口设备例如键盘、鼠标 ( 一次性读取装置 )。
接下来的字符中以三个为一组且均为『rwx』 的三个参数的组合。
其中[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
要注意的是这三个权限的位置不会改变如果没有权限就会出现减号[ - ]而已。
每个文件的属性由左边第一部分的10个字符来确定如下图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KBKEiTxM-1621569071858)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\1619770272998.png)]
从左至右用0-9这些数字来表示。
第0位确定文件类型第1-3位确定属主该文件的所有者拥有该文件的权限。第4-6位确定属组所有者的同组用户拥有该文件的权限第7-9位确定其他用户拥有该文件的权限。
其中
第1、4、7位表示读权限如果用r字符表示则有读权限如果用-字符表示则没有读权限
第2、5、8位表示写权限如果用w字符表示则有写权限如果用-字符表示没有写权限
第3、6、9位表示可执行权限如果用x字符表示则有执行权限如果用-字符表示则没有执行权限。
对于文件来说它都有一个特定的所有者也就是对该文件具有所有权的用户。
同时在Linux系统中用户是按组分类的一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
在以上实例中boot 文件是一个目录文件属主和属组都为 root。
修改文件属性
1、chgrp更改文件属组
chgrp [-R] 属组名 文件名
-R递归更改文件属组就是在更改某个目录文件的属组时如果加上-R的参数那么该目录下的所有文件的属组都会更改。
2、chown更改文件属主也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名属组名 文件名
3、chmod更改文件9个属性 (必须要掌握
chmod [-R] xyz 文件或目录
Linux文件属性有两种设置方法一种是数字一种是符号。
Linux文件的基本权限就有九个分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据文件的权限字符为『-rwxrwxrwx』 这九个权限是三个三个一组的其中我们可以使用数字来代表各个权限各权限的分数对照表如下
r:4 w:2 x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的例如当权限为[-rwxrwx—] 分数则是
owner rwx 421 7group rwx 421 7others — 000 0
chmod 770 filename
文件内容查看
概述linux系统中使用以下命令来查看文件的内容
cat 由第一行开始显示文件内容tac 从最后一行开始显示可以看出 tac 是 cat 的倒着写nl 显示的时候顺道输出行号more 一页一页的显示文件内容less 与 more 类似但是比 more 更好的是他可以往前翻页head 只看头几行tail 只看尾巴几行
你可以使用 *man [命令]*来查看各个命令的使用文档如 man cp。 cat 由第一行开始显示文件内容 ifconfig: 查看网络配置ip地址
# 查看网络配置: 文件地址 /etc/sysconfig/network-scripts/
[rootkuangshen ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICEeth0
BOOTPROTOdhcp
ONBOOTyes
在 more 这个程序的运行过程中你有几个按键可以按的 空白键 (space)代表向下翻一页 Enter 代表向下翻『一行』 /字串 代表在这个显示的内容当中向下搜寻『字串』这个关键字 :f 立刻显示出档名以及目前显示的行数 q 代表立刻离开 more 不再显示该文件内容。 more只能往下翻不能往上翻
less运行时可以输入的命令有
空白键 向下翻动一页[pagedown]向下翻动一页[pageup] 向上翻动一页/字串 向下搜寻『字串』的功能?字串 向上搜寻『字串』的功能n 重复前一个搜寻 (与 / 或 ? 有关)N 反向的重复前一个搜寻 (与 / 或 ? 有关)q 离开 less 这个程序
head 取出文件前面几行
head [-n number] 文件
选项与参数-n 后面接数字代表显示几行的意思
默认的情况中显示前面 10 行
拓展Linux 链接概念
Linux 链接分两种一种被称为硬链接Hard Link另一种被称为符号链接Symbolic Link。
情况下ln 命令产生硬链接。
硬连接
硬连接指通过索引节点来进行连接。在 Linux 的文件系统中保存在磁盘分区中的文件不管是什么类型都给它分配一个编号称为索引节点号(Inode Index)。在 Linux 中多个文件名指向同一索引节点是存在的。比如A 是 B 的硬链接A 和 B 都是文件名则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同即一个 inode 节点对应两个不同的文件名两个文件名指向同一个文件A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
硬连接的作用是允许一个文件拥有多个有效路径名这样用户就可以建立硬连接到重要文件以防止“误删”的功能。其原因如上所述因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接只有当最后一个连接被删除后文件的数据块及目录的连接才会被释放。也就是说文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软连接
另外一种连接称之为符号连接Symbolic Link也叫软连接。**软链接文件有类似于 Windows 的快捷方式。**它实际上是一个特殊的文件。在符号连接中文件实际上是一个文本文件其中包含的有另一文件的位置信息。比如A 是 B 的软链接A 和 B 都是文件名A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同A 和 B 指向的是两个不同的 inode继而指向两块不同的数据块。但是 A 的数据块中存放的只是 B 的路径名可以根据这个找到 B 的目录项。A 和 B 之间是“主从”关系如果 B 被删除了A 仍然存在因为两个是不同的文件但指向的是一个无效的链接。
[rootkuangshen /]# cd /home
[rootkuangshen home]# touch f1 # 创建一个测试文件f1
[rootkuangshen home]# ls
f1
[rootkuangshen home]# ln f1 f2 # 创建f1的一个硬连接文件f2
[rootkuangshen home]# ln -s f1 f3 # 创建f1的一个符号连接文件f3
[rootkuangshen home]# ls -li # -i参数显示文件的inode节点信息
397247 -rw-r--r-- 2 root root 0 Mar 13 00:50 f1
397247 -rw-r--r-- 2 root root 0 Mar 13 00:50 f2
397248 lrwxrwxrwx 1 root root 2 Mar 13 00:50 f3 - f1
从上面的结果中可以看出硬连接文件 f2 与原文件 f1 的 inode 节点相同均为 397247然而符号连接文件的 inode 节点不同。
# echo 字符串输出 f1 输出到 f1文件
[rootkuangshen home]# echo I am f1 file f1
[rootkuangshen home]# cat f1
I am f1 file
[rootkuangshen home]# cat f2
I am f1 file
[rootkuangshen home]# cat f3
I am f1 file
[rootkuangshen home]# rm -f f1
[rootkuangshen home]# cat f2
I am f1 file
[rootkuangshen home]# cat f3
cat: f3: No such file or directory
通过上面的测试可以看出当删除原始文件 f1 后硬连接 f2 不受影响但是符号连接 f1 文件无效
依此您可以做一些相关的测试可以得到以下全部结论
删除符号连接f3,对f1,f2无影响删除硬连接f2对f1,f3也无影响删除原文件f1对硬连接f2没有影响导致符号连接f3失效同时删除原文件f1,硬连接f2整个文件会真正的被删除。