Linux目录初识
通过前面的学习,我们已经能够独立安装完一个linux系统,那接下来我们来熟悉一下Linux系统里面的各个目录文件夹的大致功能:
主要的目录树的有/、/root、/home、/usr、/bin等目录。下面是一个典型的linux目录结构如下: (附图表)
/ 根目录
/bin 存放必要的命令
/boot 存放内核以及启动所需的文件
/dev 存放设备文件
/etc 存放系统配置文件
/home 普通用户的宿主目录,用户数据存放在其主目录中
/lib 存放必要的运行库
/mnt 存放临时的映射文件系统,通常用来挂载使用。
/proc 存放存储进程和系统信息
/root 超级用户的主目录
/sbin 存放系统管理程序
/tmp 存放临时文件
/usr 存放应用程序,命令程序文件、程序库、手册和其它文档。
/var 系统默认日志存放目录
Linux必备命令
默认进入系统,我们会看到这样的字符: [root@localhost ~]#,其中#代表当前是root用户登录,如果是$表示当前为普通用户。
我们了解linux由很多目录文件构成,那我们来学习第一个Linux命令:
cd命令, cd /home ;
解析:进入/home目录
cd /root 进入/root目录 ;
cd ../返回上一级目录;
cd ./当前目录;(.和..可以理解为相对路径;例如cd /hom/test ,cd加完整的路径,可以理解为绝对路径)
接下来继续学习更多的命令:
ls ./ 查看当前目录所有的文件和目录。
ls -a 查看所有的文件,包括隐藏文件,以.开头的文件。
pwd显示当前所在的目录。
mkdir创建目录,用法mkdir test ,命令后接目录的名称。
rmdir 删除空目录
rm 删除文件或者目录,用法 rm –rf test.txt (-r表示递归,-f表示强制)。
cp 拷贝文件,用法,cp old.txt /tmp/new.txt ,常用来备份;如果拷贝目录
需要加 –r参数。
mv 重命名或者移动文件或者目录,用法, mv old.txt new.txt
touch 创建文件,用法,touch test.txt,如果文件存在,则表示修改当前文件时间。
Useradd创建用户,用法 useradd wugk ,userdel删除用户。
Groupadd创建组,用法 groupadd wugk1 ,groupdel删除组。
find查找文件或目录,用法 find /home -name “test.txt”,命令格式为:
find 后接查找的目录,-name指定需要查找的文件名称,名称可以使用*表示所有。
find /home -name “*.txt” ;查找/home目录下,所有以.txt结尾的文件或者目录。
vi 修改某个文件,vi有三种模式:
命令行模式、文本输入模式、末行模式。
默认vi打开一个文件,首先是命令行模式,然后按i进入文本输入模式,可以在文件里写入字符等等信息。
写完后,按esc进入命令模式,然后输入:进入末行模式,例如输入:wq表示保存退出。
如果想直接退出,不保存,可以执行:q!, q!叹号表示强制退出。
cat 查看文件内容,用法 cat test.txt 可以看到test.txt内容
more 查看文件内容,分页查看,cat是全部查看,如果篇幅很多,只能看到最后的篇幅。可以使用cat和more同时使用,例如: cat test.txt |more 分页显示text内容,|符号是管道符,用于把|前的输出作为后面命令的输入。
echo 回显,用法 echo ok,会显示ok,输入什么就打印什么。
echo ok > test.txt ;把ok字符覆盖test.txt内容,>表示追加并覆盖的意思。
>>两个大于符号,表示追加,echo ok >> test.txt,表示向test.txt文件追加OK字符,不覆盖原文件里的内容。
初学者常见的命令就如上所示,当然还有很多深入的命令需要学习,后面的课程会讲解。
Linux用户权限管理
在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作。在系统中,通过UID来区分用户的权限级别,UID等于0,表示此用户具有最高权限,也就是管理员。其他的用户UID依次增加,通过/etc/passwd用户密码文件可以查看到每个用户的独立的UID。
每一个文件或者目录的权限,都包含一个用户权限、一个组的权限、其他人权限,例如下:
标红第一个root表示该文件所有者是root用户,第二个root代表该文件的所属的组为root组,其他用户这里默认不标出。
[root@node1 ~]# ls -l monitor_log.sh
-rw-r--r-- 1 root root 91 May 7 20:21 monitor_log.sh
[root@node1 ~]#
如果我们想改变某个文件的所有者或者所属的组,可以使用命令chown
chown –R test:test monitor_log.sh即可。
每个Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。
利用ls -l命令可以看到某个文件或目录的权限,它以显示数据的第一个字段为
准。第一个字段由10个字符组成,如下:
[root@node1 ~]# ls -l monitor_log.sh
-rw-r--r-- 1 root root 91 May 7 20:21 monitor_log.sh
[root@node1 ~]#
第一位表示文件类型,-表示文件,d表示目录;后面每三位为一组。
第一组:2-4位表示文件所有者的权限,即用户user权限,简称u
第二组:5-7位表示文件所有者所属组成员的权限,group权限,简称g
第三组:8-10位表示所有者所属组之外的用户的权限,other权限,简称o
从上面这个文件,我们可以看出,monito_log.sh文件对应的权限为:
root用户具有读和写的权限,root组具有读的权限,其他人具有读的权限。
为了能更简单快捷的使用和熟悉权限,rwx权限可以用数字来表示,分别表示为r(4)、w(2)、x(1)。
Monitor_log.sh权限可以表示为:644
如果给某个文件授权,命令为chmod:chmod 777 monitor_log.sh
Linux网络配置管理
熟悉了常用的命令和Linux权限,那接下来如何让所在的Linux系统上网呢?管理linux服务器网络有哪些命令呢?
Linux服务器默认网卡配置文件在/etc/sysconfig/network-scripts/下,
命名的名称一般为:ifcfg-eth0 ifcfg-eth1 ,
eth0表示第一块网卡,eth1表示第二块网卡,依次类推。一般DELL R720标配有4块千兆网卡。
修改网卡的IP,可以使用命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0 如果是DHCP获取的IP,默认配置如下:
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:0c:29:52:c7:4e
ONBOOT=yes
TYPE=Ethernet
如果是静态配置的IP,ifcfg-eth0网卡配置内容如下:
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0c:29:52:c7:4e
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.33.10
NETMASK=255.255.255.0
GATEWAY=192.168.33.1
网卡参数详解如下:
DEVICE=eth0 #物理设备名
ONBOOT=yes # [yes|no](重启网卡是否激活设备)
BOOTPROTO=static #[none|static|bootp|dhcp](不使用协议|静态分配|BOOTP协议|DHCP协议)
TYPE=Ethernet #网卡类型
IPADDR=192.168.33.10 #IP 地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.33.1 #网关地址
网卡配置完毕,重启网卡,命令: /etc/init.d/network restart 即可。
查看ip命令:ifconfig 查看当前服务器所有网卡的IP,可以单独指定,ifconfig eth0 查看eth0的IP地址。
网卡配置完毕,如果来配置DNS,首先要知道DNS配置在哪个目录文件下,vi /etc/resolv.conf 文件:
在该文件里面添加如下两条:
nameserver 202.106.0.20
nameserver 8.8.8.8
从上到下,分别表示主DNS,备DNS。配置完毕后,不需要重启网卡,DNS立即生效。
可以ping www.baidu.com 看看效果:
IP配置完毕后,我们可以通过远程工具来连接Linux服务器,常见的Linux远程连接工具有:putty、secureCRT(主流)、xshell、xmanger等工具。
下载安装secureCRT,打开工具,然后如图配置:
点击左上角quick connect快速连接,弹出界面,然后输入IP,用户名,端口默认是22,然后点击下方的connect连接,会提示输入密码,输入即可。
弹出输入密码框:
进入远程界面,与服务器真实登录一样,然后可以执行命令:
通过这几章的学习,我们已经熟练了Linux常用命令的操作,权限网络、网络配置、远程连接等知识,那接下来我们还能做什么呢?我们已经差不多入门了,接下来就是更进一步的服务配置,Linux系统到底用来做什么呢?接下来的章节将跟大家一起来学习。
Linux系统的应用,我们最开始介绍的时候简单介绍过,目前大中型企业都用它来承载web网站、数据库、虚拟化平台等,那接下来我们将在Linux系统安装各种服务和软件来实现Linux真正的价值。