传统IDC 部署网站.md
chown命令
chown 用来更改1个文件或者目录的所有者或者所属组
-R 级联更改1个目录下所有的目录和文件
-v 显示详细的处理信息
例如:
chown user1:users 1.txt
chown user1.users 1.txt
useradd 添加用户的命令,如 useradd user1 添加user1用户,同时也会添加1个user1组
查看添加的用户 tail -2 /etc/passwd
查看是用来查看1个文件最后几行的命令。
用法:tail 1.txt (查看后10行) ; tail -5 1.txt (查看后5行)
tail -n 5 1.txt
与tail对应的是head,查看头几行内容
查看1个用户属于哪一个组:
id username 查看,其中1个用户会有2个组,1个是主组,1个是附属组
groupadd users1
tail -2 /etc/group
history 查看命令历史
!ls 执行命令历史中,距离现在最近的以ls开头的命令
软链接和硬链接
在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。
数字表示有多少个文件或目录使用了与该文件相同的inode
硬链接:
硬连接的作用是允许一个文件拥有多个有效路径名,以防止“误删”的功能。只删除一个硬连接并不影响索引节点本身和其它的连接,只有当最后一个硬连接被删除后,文件的数据块及目录的连接才会被释放。
inode 门牌号 会议室有2个门,门牌号一致
任何目录下都有 .和… 2个隐藏目录
其中, .是该目录本身, …是该目录的上一级目录
任务目录的 inode号至少是2,目录自身和.
结论: 1个目录的(ls -l)第2列的数字,其实就是该目录下面有几个子目录(含隐藏目录)
常识: 目录无法做硬链接
不允许给目录创建硬链接;
只有在同一文件系统中的文件之间才能创建链接。
手动对文件做硬链接: ln 1.txt 2.txt
补充:rm删除1个文件或者目录,删除目录的时候需要加-r -f是一个强制删除选项,不加f系统会询问是否删除
ln不能作为备份。
ln -s软链接
软连接 Symbolic Link,也称符号连接。软链接文件更加类似于 Windows 的快捷方式。它实际上是一个特殊标记过的文本文件,其中包含的有另一文件的位置信息。
// 只能对已存在的文件创建硬连接
# link old.file hard.link
link: cannot create link `hard.link' to `old.file': No such file or directory
# echo "This is an original file" > old.file
# cat old.file
This is an original file
# stat old.file
File: `old.file'
Size: 25 Blocks: 8 IO Block: 4096 regular file
Device: 807h/2055d Inode: 660650 Links: 2
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
...
// 文件有相同的 inode 号以及 data block
# link old.file hard.link | ls -li
total 8
660650 -rw-r--r-- 2 root root 25 Sep 1 17:44 hard.link
660650 -rw-r--r-- 2 root root 25 Sep 1 17:44 old.file
// 不能交叉文件系统
# ln /dev/input/event5 /root/bfile.txt
ln: failed to create hard link `/root/bfile.txt' => `/dev/input/event5':
Invalid cross-device link
// 不能对目录进行创建硬连接
# mkdir -p old.dir/test
# ln old.dir/ hardlink.dir
ln: `old.dir/': hard link not allowed for directory
# ls -iF
660650 hard.link 657948 old.dir/ 660650 old.file
总结,
硬链接:ln 源文件 目标文件
软链接:ln -s(soft)源文件 目标文件
硬链接
硬链接是指通过索引节点inode来进行链接。
linux系统中每个文件对应一个inode,并且允许多个文件名指向用一个inode。这种情况的文件就成为硬链接。
它的作用之一就是允许一个文件拥有多个入口,防止重要数据误删。
软链接
软链接也称为符号链接,相当于windows中的快捷方式。文件类型为L,是一个特殊的文件。文件中包含了另一个文件的路径信息内容。
软链接用法示例
mv命令 改名或者移动位置
软链接:
ln -s 1.txt 2.txt
注意:做软链接的时候,源文件(左边的)要用绝对路径,防止该软链接文件路径变化时,找不到目标文件。
ln -s /root/1.txt /tmp/2.txt
实验1
[oracle@Linux]$ touch f1 #创建一个测试文件f1
[oracle@Linux]$ ln f1 f2 #创建f1的一个硬连接文件f2
[oracle@Linux]$ ln -s f1 f3 #创建f1的一个符号连接文件f3
[oracle@Linux]$ ls -li # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1
从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为9797648,然而软连接文件的inode节点不同。
实验2
[oracle@Linux]$ touch f1 #创建一个测试文件f1
[oracle@Linux]$ ln f1 f2 #创建f1的一个硬连接文件f2
[oracle@Linux]$ ln -s f1 f3 #创建f1的一个符号连接文件f3
[oracle@Linux]$ echo "I am f1 file" >>f1
[oracle@Linux]$ cat f1
I am f1 file
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
I am f1 file
[oracle@Linux]$ rm -f f1
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
cat: f3: No such file or directory
通过上面的测试可以看出:当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效
软链接更像是快键方式。
软链接的作用:
1)方便访问1个文件
2)一个文件我想在多个地方都能访问到
/tmp/abc/1.txt /root/123/1.txt
硬链接不能跨磁盘和跨分区。
3)磁盘扩容
举例:系统里面有2个分区:/123 /abc 其中/123/ /abc,其中/123块用满,还要写一个文件写道 /123/aaa(要写进去 意味着 /123/这个分区要写满,并且还不够。)此时看到/abc还有很多空间,所以我们就想到了要借用一下/abc/的空间,如何借用?用软链接搞定。
/123/aaa -->mv 到 /abc/aaa ->通过/123/aaa可以访问到,ln -S /abc/aaa /123/aaa --> 再写数据到aaa,实际上写到了/abc/aaa,同时可以通过/ 123/aaa能访问。
yum工具
yum
安装软件包的一个工具,特点:可以联网,还可以方便地解决依赖。
依赖:yum安装a文件,结果需要b文件,安装b文件有需要c文件。yum可以同时将a、b、c都安装上。
例子:yum install net-tools
yum install -y net-tools 下载完成直接安装,不用询问是否安装
net-tools包含ifconfig命令、netstat命令
ifconfig命令查看ip地址
ifconfig -a 查看所有网卡
netstat -lnp查看监听的端口
yum install -y xxx 安装软件包
yum remove xxx 卸载软件包
yum list 查看所有的包,最右侧是仓库的名字,如果是@开头,则这个软件包已经安装。
yum grouplist
yum groupinstall -y xxx 安装group
用yum找1个命令是由哪个包安装来的: yum provides //wget
yum provides //ifconfig
rpm工具
yum可以安装rpm包,并解决依赖。
rpm只能安装rpm包,不能下载和解决依赖。
挂载光驱:虚拟机下方的小光驱图标,连接,mount /dev/cdrom /mnt/ ;
cd /mnt/Packages/ 可以看到很多红色的文件,就是rpm文件
yum install -y yum-utils 安装1个工具
使用1个命令yumdownloader
如: yumdownloader wget 可以下载wget的rpm软件包
rpm -ivh vim-enhanced-7.4.160-5.el7.x86_64.rpm 没有依赖
可以使用yum安装本地的rpm文件,解决依赖问题
yum localinstall vim-enhanced-7.4.160-5.el7.x86_64.rpm
rpm安装rpm安装包: rpm -ivh xxx.rpm
rpm卸载rpm安装包:rpm -e xxx.rpm
rpm-qa 查询系统已经安装过的所有rpm包
查看一个包有无安装: rpm -q 包名,如 rpm -q vim-enhanced
rpm -qa |grep vim (grep命令是用来过滤指定关键词的)
rpm -ql 包名,可以列举出该包都安装了哪些文件(会列出该文件在系统里的路径)。
rpm -qf /usr/bin/wget 可以反查询,查1个文件是由哪个rpm包安装来的。
补充:
which 命令查看1个文件在哪里。