/etc/passwd文件与/etc/group文件

/etc/passwd文件
/etc/passwd文件为用户配置文件
以root用户为例:
root:x:0:0:root:/root:/bin/bash
第一个字段:用户名
第二个字段:密码占位符
第三个字段:uid(用户id)
第四个字段:gid(组id)
第五个字段:用户全面
第六个字段:用户家目录
第七个字段:用户的登录shell常用:/bin/bash;/sbin/nologin(不允许登录服务器)
/etc/group文件
/etc/group文件为组配置文件
以root用户为例:
root:x:0:
第一个字段:组名
第二个字段:组密码
第三个字段:gid(组id)
第四个字段:组内成员(用户名)多个用户名间以“,”分割

软连接与硬链接

硬连接

硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

软连接

另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

无论软连接还是硬链接都不会实际将文件复制一份,都只会占用很少的磁盘空间。

两种链接的区别:

硬链接文件有两个限制
1、不允许给目录创建硬链接;
2、只有在同一文件系统中的文件之间才能创建链接,而且只有超级用户才有建立硬链接权限。
对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。

这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。

那么我们就可以这样理解:硬连接指通过索引节点来进行的连接,其作用是允许一个文件拥有多个有效路径名,能够达到误删除的作用。

其原因是因为对应的文件的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它

的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。文件才会被真正删除。

注:保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index即I节点)。

软链接没有硬链接以上的两个限制,因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。但是软链接的缺点在于:因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

linux之管道命令

管道就是将输出在标准输出中的信息一次次处理最终打印在标准输出中,所以管道命令必须是接受标准输出的命令,比如grep、more、less、cat等。
例子:
ls /etc/| less利用管道命令使标准输出中的文件列表分页显示
ls | grep /etc *vi*列出etc目录下所有的包含vi字符的文件
管道命令的一些使用技巧:
rm -rf `ls | grep -v “aa”`删除所有文件名中不包含aa的文件及文件夹。注意,ls前是反引号,就是键盘1左边的那个键。

CentOS设置以光盘为YUM源

yum是CentOS下非常方便的一种软件安装工具,可以自动处理软件包的依赖关系,一键安装软件,非常方便。
操作步骤:
将系统光盘接入电脑

mount /dev/cdrom /mnt        //将光盘挂载到根目录下的mnt文件夹中
cd /etc/yum.repos.d          //进入到yum源配置文件存放目录
vi CentOS-Media.repo         //使用vi文本编辑器编辑光盘源配置文件


在如上图所示的位置加上光盘挂载的路径,同时把倒数第二行的enabled=0中的0改为1,保存文件

rm *(除了CentOS-Media.repo之外其余文件都按“y”确认删除)     //将除了光盘源配置文件之外的所有源配置文件删除。

此处如果不去除其他源配置文件的话执行yum命令的时候会因为无法连接网络而报错

yum list            //列出yum源中包含的软件包。

如果成功列出软件列表则证明配置成功,也可以直接安装一个软件包来测试配置是否成功。
例如:

yum install dhcp

 
 
 

linux常用命令

ls列出目录中的项目-a显示隐藏的文件-l详细列出文件信息
mkdir创建一个目录 -p 递归创建目录 例如:mkdir -p /www/one在根目录下不存在www目录的情况下创建www目录并在其中创建one目录
cd切换目录
rmdir删除一个空的目录(只能删除空目录)-p连同上级目录一并删除。
cat从文件第一行开始显示文件内容
tac从文件最后一行开始显示文件内容(倒过来)-F 监视文件的改变,一有变化就显示出来(在看错误日志的时候很有用)-n 接行数 指定显示最后几行内容
nl带行号显示文件内容
more一页一页显示文件内容
less与more相似但可以翻页
head只看开始几行-n后面接数字表示行数
tail只看结束的几行-n后面接数字表示行数
touch新建一个文件或者更新已有文件的修改时间
rm删除项目-f不询问是否删除-r删除目录
mv移动文件也可用于文件重命名 例如:将a.c重命名为a.cpp mv a.c a.cpp
cp复制项目 -p 将文件权限一同复制 例如:将根目录下的a.c复制到当前用户目录下并保留文件权限 cp -p /a.c ~/
mount挂载磁盘 例如:将sdb1挂载到根目录的data目录下 mount /dev/sdb1 /data命令结尾加-o loop挂载虚拟镜像文件
umount卸载磁盘 例如:将/data目录上挂载的磁盘卸载掉 umount /data
fdisk常用的磁盘分区工具-l查看当前接入的磁盘
df查看已挂载的磁盘 -h 以K,M,G为单位,提高信息的可读性。
mkfs为磁盘格式化 例如:将sdb1格式化为ext4文件系统 mkfs.ext4
su切换root身份但shell环境依然是普通用户的
su -连同身份和命令行一起切换到指定用户 例如:切换到root用户 su – root
echo $PATH查看当前环境变量
PATH=$PATH:/在环境变量中增加目录 例如将根目录下的root目录添加到环境变量中PATH=$PATH:\root
rpm CentOS软件包管理命令-i安装软件包-v显示指令执行过程-h以#形式显示安装进度-e删除软件包-U更新软件包-q查询软件包是否被安装-ql查询已安装包文件的安装位置-qlp查询未安装包文件会安装的位置-qf查询文件属于哪个安装包-qa查询已安装软件包的依赖性-qap查询未安装软件包的依赖性
chgrp接属组 接文件或目录名 修改文件所属群组 例如:chrgp user /root/s.out 将根目录下的root目录中的s.out文件的群组修改为user
chown接属主 接文件或目录名 改变文件所有者 -R 连同下级目录一并修改
chmod修改文件或目录权限 -R 连同下级目录一并修改。 例如:chmod -R 777 /root 将根目录下的root目录连同子目录的权限修改为777(所有用户都拥有该文件的全部权限)
ln为文件创建硬链接(源文件和链接文件大小相同)-s创建软连接(链接文件不占用磁盘空间)无论软连接和硬链接文件都和源文件保持同步变化。无论软连还是硬链都不会将源文件完整复制一份,只会占用很少的磁盘空间。
clear清屏
useradd 接用户名 添加用户(创建用户时自动创建私有组,可将其他用户加入私有组,如此则私有组转为公有组)
passwd 接用户名 更改用户密码
userdel接用户名 删除用户名-r删除该用户所有的文件(通常加r参数)
hostname 接要更改为的主机名 临时更改主机名
groupadd 接组名 创建一个组
groupdel 接组名 删除一个组
gpasswd 接用户名 接组名 -a将用户加入到组-d将用户从用户组删除
id 接用户名 查看该用户的信息
users 查询已登陆到主机的用户
ifconfig 查看网卡信息
nohup 在ssh客户端断开连接后依然运行命令
du获取当前目录大小 -h 以K,M,G为单位,提高信息的可读性。 -s不显示文件名只显示大小
umask 显示创建文件缺省权限,默认以反码模式显示,比如显示0022,则实际权限为755(后三位的掩码),最开头的一位代表suid和guid。 -S 参数以wrx的形式详细列出所有者、所有组和其他人所拥有的权限。
sestatus 查看selinux的状态
dmesg 命令用于显示开机信息,我们可以使用管道命令从中整理出当前计算机某一硬件的信息,比如加上| grep ttyS* 列出当前正在使用的串口信息,或是加上| grep usb* 列出当前计算机中的usb接口的信息。
lsblk 列出所有的分区,而且还能显示他们之间的依赖关系
blkid 列出所有分区的硬件识别码和文件系统类型。
dd if=/dev/zero of=test bs=1M count=1000 生成一个名为test大小为1000MB的文件。

Linux下使用fdisk工具为硬盘分区

为计算机新添加一块磁盘,想使用它,必须以此进行如下几个步骤的配置:为磁盘分区、给磁盘格式化、挂载磁盘。
磁盘分区
分区用到的fdisk工具是linux下非常常用的磁盘分区工具。
fdisk -l列出所有磁盘

其中盘1既是操作系统所在磁盘,可以看到已经有两个分区了。盘2是新增磁盘,没有分区信息。
“/dev/sdb”为新增磁盘的地址
fdisk /dev/sdb为新增磁盘进行分区操作。

输入m或者help获取帮助信息

主要的五个功能的帮助信息的汉化结果:

分区操作见下图

输入p查看刚刚分好的分区

输入w保存更改并退出

磁盘格式化
格式化使用mkfs命令
mkfs.ext4 /dev/sdb1使用mkfs工具以ext4格式格式化(也可更改为其他格式,比如ext3)/dev/sdb1(这个路径地址在上面查看分区信息的时候可以看到)

格式化成功后即可进行磁盘挂载操作。
磁盘挂载与卸载
磁盘挂载使用mount命令,卸载使用umount命令
磁盘挂载:
mount /dev/sdb1 /data挂载sdb1到根目录下的data目录下

没输出报错信息既是成功挂载,可以通过df命令来查看当前挂载的全部磁盘,可以看到刚刚挂载的磁盘(红框内)。

磁盘卸载:

没有报错信息既是成功卸载。