1.LINUX的常见的文件类型有那些?说说他们的功能(面试基础知识点)
- : 普通文件 文本,二进制,压缩包,图片都是常见的文件
b : 块设备 存储设备,硬盘,u盘,磁盘分区,按块读取
c : 字符设备 键盘,串口,终端,按单个字符读写
d : 目录文件 文件夹
s : 套接字文件 进程间通信IPC,单向数据传输
p : 管道文件 本地进程间通信IPC,多用于数据库服务
l : 软连接 类似windows快捷键,指向另一个文件
2.怎么查看所有文件包含隐藏文件?
ls -a
3.如何建立软连接和硬链接和软链接?他们的区边是什么?
#软硬链接的区边就是加不加s,ln -s 是软连接,ln 是硬链接
ln -s 源文件或目录 目标软连接名 ---软连接
ln 源文件 目标软连接名 ---硬链接
(1)文件链接
ln -s /etc/a1.txt /etc/file1
(2)目录链接
ln -s /etc/a1 /etc/file2
区边:
1.软连接就是快捷方式。 -----一般用在升级系统的时候切换软链接。
2.硬链接就是同一个文件两个名字。 ----一般用在数据备份,防止误删文件名导致数据的丢失。
3.硬链接可以删除原文件,而软链接不可以,删掉软链接就不能使用了。
4.文件的权限如何设置?如果给特定的用户设置创建文件的时候是rw-------,创建目录是rwx-----这怎么设置?
我们在这里要知道,umask默认为022,所以用户创建目录的权限默认为755,创建的文件默认为644.
目录的原始权限:777 这是内核写死的无法改变,我们只能修改umask来修改权限
文件的原始权限:666 这是内核写死的无法改变,我们只能修改umask来修改权限
777 - umask=755
666 - umask=644
1.临时设置
[aplex@web-prod-01 ~]$ umask 077 //修改umask的值,这是临时修改的
[aplex@web-prod-01 ~]$ mkdir a12 //创建目录来检验
[aplex@web-prod-01 ~]$ ll -d a12
drwx------. 2 aplex aplex 6 9月 9 14:55 a12
[aplex@web-prod-01 ~]$ touch a12.txt // 创建文件来检查
[aplex@web-prod-01 ~]$ ll a12.txt
-rw-------. 1 aplex aplex 0 9月 9 14:57 a12.txt
[aplex@web-prod-01 ~]$
2.永久设置
我们需要知道~/.bashrc的作用是什么。
~/.bashrc : 当用户打开交互式 Bash Shell(终端)的时候,这个文件会被自动读取执行,用来配置当前用户的 bash 环境,我们在切换用户的时候也会加载当地这个配置。
[root@a1 /]# echo "umask 022" >> /home/user1/.bashrc
[root@a1 /]# su - user1
[root@a1 /]# source ~/.bashrc
5.文件的特殊权限有哪些?,又有什么作用呢?
suid(4000): 功能:任何人执行这个文件时,临时以文件属主身份运行,执行结束权限收回。
作用范围:只对二进制文件生效
sgid(2000): 执行时,进程临时拥有文件所属组的权限
作用范围:对文件、目录都有效,目录场景考的最多
sbit(1000): 用户只能删除 / 重命名自己创建的文件;不能删除别人的文件,root 不受限制
作用范围: 只对目录生效,文件无效
#设置SUID
chmod 4755 test.sh
#设置SGID目录
mkdir /share;chmod 2775 /share
#设置粘滞位
mkdir /public;chmod 1777 /public
#查看特殊权限
6.文件的输入和输出(注重一下这里,shell脚本中经常使用,尤其在日志消息)
标准输出: 1>
标准错误输出: 2>
读取文件: cat /etc/a1 或者 cat < /etc/a1
重定向:
1.cat >> /root/file
2.cat << haha ---结束标记为haha
3.cat >> /etc/a1.txt << EOF --结束标记为EOF
7.文件传输有哪些,有什么作用?
cp:在本主机进行拷贝文件
mv:在本主机进行文件和目录的转移
scp: 给不同主机进行传输,操作系统要一样。
rsync:是linux系统下的数据镜像备份工具,是一个可实现全量及增量的本地或远程数据镜像备份的优秀工具,rsync的增量同步是只同步发生变化的数据因此数据传输效率很高,rsync有三大传输方式。
(1).主机本地间的数据传输(类似与cp)
(2).借助ssh等通道来传输数据(类似于scp)
(3).以守护进程(socket)的方式送数据
8.怎么使用守护进程sync进行文件的传输操作?
1.关闭防火墙
systemctl stop firewalld
2.关闭selinux
vi /etc/selinux/config
SELINUX=disbale //只需要把这个改为disbale就可以了
3.设置IP地址
只要能ping通即可
4.配置yum仓库
1.可以配置本地仓库
2.也可以配置网络仓库
5.下载rsync
yum install rsync-daemon
6.配置服务
服务端
vi /etc/rsyncd.conf --这是下载rsync后自带的配置文件目录
配置文件里面
uid = rsync --这是传输文件所使用的文件,默认都是nobody
gid = rsync --这是传输文件所使用的组,默认都是nobody
use chroot= no --是否允许用户迁到其他用户
max connections = 20 --最大连接数
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[data]
comment = it's my test data!
path = /rsync_data --读取哪个用户
ignore errors
read only = false
list = false --是否能查看里面的其他东西
hosts allow = 192.168.168.0/24 --允许那些网段
hosts deny = 0.0.0.0/32
auth users = rsync_backup --认证的账户
secrets file = /etc/rsyncd.passwd --密码信息的存放位置
配置文件外
mkdir -p /rsync_data --创建共享目录
useradd rsync -s /sbin/nologin -M --创建用户rsync不能登录
chown rsync:rsync /rsync_data --给目录配置所属者和所属组
echo "rsync_backup:123456" > /etc/rsyncd.passwd 设置账户和密码
chmod 600 /etc/rsyncd.passwd --给与权限
systemctl start rsyncd
客户端(在同一网段的其他主机上)
yum install rsync -y
rsync -avz /root/index.html rsync_backup@192.168.168.128::data --检测如果交互成功就没有问题。