centos 7 各个目录作用 (sbin 只能管理员使用)

/bin/ 存放系统命令的目录,普通用户和超级用户都可以执行 (centos 7 中取消)
/sbin/ 保存和系统环境设置的相关命令,只有超级用户可以使用这些命令进行系统环境变量设置(centos7 取消)
/usr/bin/ 存放系统命令目录
/usr/sbin/ 存放根文件不必要的管理系统命令
/boot/ 系统启动目录
/dev/ 设备文件保存位置
/etc/ 配置文件保存位置
/home/ 用户家目录
/lib/ 系统调用的函数库保存位置 (centos 7 中取消)
/lost +found / 当系统意外奔溃或机器意外关机,而产生的文件碎片放在这里,每个分区中都有

/mnt/ 挂载目录
/media/ 挂载目录 挂载媒体设备
/opt/ 第三方安装的软件保存位置
/proc / 虚拟文件系统,该目录中的数据并不保存到硬盘当中。而是保存内存当中的。主要保存系统内核,进程等。
/sys/ 虚拟文件系统 ,和/proc 目录相似。都是保存在内存当中的。主要保存内核相关信息
/root/ 超级用户家目录 普通用户家目录都在/home/下 超级用户 直接在/下
/src/ 服务数据目录 一些系统服务启动之后,可以在这和个目录中保存所需要的数据
/tmp/ 临时数据
/usr/ 系统软件资源目录 ,注意usr不是user 的缩写 而是 unix softwre resource 缩写
/var/ 动态数据保存位置 主要保存缓存 ,日志以及软件运行所产生的文件

文件时间
ls -l 查看的是文件的修改时间
linux 中有4种时间

atime : 访问时间 ( 查看内容 )
mtime : 修改时间 修改内容
ctime : 改变时间 改变文件属性 如大小 权限
dtime : 删除时间 文件被删除的时间

文件类型 主要有这几种

ls -l 文件名 //看第一个字符

  •  普通文件
    

d 目录文件
b 设备文件(块设备)存储设备硬盘
c 设备文件(字符设备) 打印机 终端
l 连接文件

[root@localhost ~]# ll
total 28892
-rwxr--r--. 1 root root        0 Sep 24 01:02 1
drwxr-xr-x. 2 root root       55 Sep 10 05:59 192.168.0.134
-rw-------. 1 root root     1244 Aug 12 08:08 anaconda-ks.cfg
-rw-r--r--. 1 root root      928 Sep 10 05:56 index.html
-rw-r--r--. 1 root root      928 Sep 10 05:56 index.html.1
-rw-r--r--. 1 root root    10240 Sep 16 01:43 sss.tar
drwx------. 2 tom  tom        73 Sep 21 23:42 ssw
-rw-r--r--. 1 root root    20480 Sep 16 01:46 sxd.tar
-rw-r--r--  1 root root  9867092 Sep 28 09:15 sxd.tar.gz
-rw-r--r--. 1 root root 19671632 Sep 10 05:57 VNC-Server-6.3.1-Windows.exe

file 查看文件详细信息

[root@localhost ~]# file ssw
ssw: directory
[root@localhost ~]# file sss.tar
sss.tar: data

文件管理

cd 切换目录命令
. 当前目录
… 上一级目录

  •   上次目录
    

**文件的创建 复制 移动 删除 操作 **

创建
touch 文件名

root@localhost tmp]# touch file{1..50}
[root@localhost tmp]# ls
file1   file12  file15  file18  file20  file23  file26  file29  file31  file34  file37  file4   file42  file45  file48  file50  file8
file10  file13  file16  file19  file21  file24  file27  file3   file32  file35  file38  file40  file43  file46  file49  file6   file9
file11  file14  file17  file2   file22  file25  file28  file30  file33  file36  file39  file41  file44  file47  file5   file7

创建目录 mkdir

mkdir 目录名

[root@localhost tmp]# mkdir /tmp/{dir4,dir5}
[root@localhost tmp]# ls
dir4  dir5

复制 cp
主要参数
-r :递归处理
-v : 显示过程

[root@localhost dir4]# cp  -r sxd   /tmp
[root@localhost dir4]# cd /tmp
[root@localhost tmp]# ls
dir4  dir5  sxd

**移动 **
MV
mv file1 /tmp/ 将file1 移动到/tmp/下

删除
rm

-r 递归
-f 强制
-v 过程

如 rm -rf /tmp

查看文件内容

文本文件 (cat less more head tail tailf grep …)
/etc/profile // 设置系统环境变量

cat
-n 显示行号
-A 包括控制字符

cat 文件名
head -n 显示文件前几行
tail -n 显示文件后几行
grep 主要用于文档过滤 在此不详细说明

linux 链接概念

软链接 : 软链接文件相当于win中的快捷方式 权限为777 作用是指向源文件 ,大小很小 (可以跨分区)
硬链接: 与源文件同步更新 不能对目录 (不能跨分区)

创建软链接

[root@localhost tmp]# ln -s 1    2
[root@localhost tmp]# ls
1  2  dir4  dir5  sxd
[root@localhost tmp]# ll
total 0
-rw-r--r-- 1 root root  0 Sep 29 09:46 1
lrwxrwxrwx 1 root root  1 Sep 29 09:46 2 -> 1
drwxr-xr-x 5 root root 41 Sep 29 08:51 dir4
drwxr-xr-x 2 root root  6 Sep 29 08:49 dir5
drwxr-xr-x 3 root root 16 Sep 29 09:15 sxd

创建硬连接

[root@localhost tmp]# ln 1 3
[root@localhost tmp]# ll
total 0
-rw-r--r-- 2 root root  0 Sep 29 09:46 1
lrwxrwxrwx 1 root root  1 Sep 29 09:46 2 -> 1
-rw-r--r-- 2 root root  0 Sep 29 09:46 3
drwxr-xr-x 5 root root 41 Sep 29 08:51 dir4
drwxr-xr-x 2 root root  6 Sep 29 08:49 dir5
drwxr-xr-x 3 root root 16 Sep 29 09:15 sxd

硬连接其实就是同一个文件具有多个别名,具有相同inode
1.文件具有相同的inode 和data block
2.不能对目录进行创建 只能对文件创建硬连接
3.删除一个硬连接并不影响其他具有相同inode号的文件

软链接文件具有自己inode ,及具有自己的文件。只是这个文件存放的内容是另一个文件的路径名,因此软链接具有自己的inode和 data block
1.软链接文件可以对文件或目录创建
2.创建软链接文件时 link 不会增加

文件权限

U : 属主
G :属组
O :其他人
读  :r   4
写  :w   2
执行 :x   1

设置权限
chown
chown 属主 文件名

chgrp
chgrp 属组 文件名

更改权限

chmod 使用字母
chmod u+x file1 // 属主增加执行权限
chmod a=rwx file 1 // 所有人都有读写执行权限

chmod 使用数字
chmod 644 file1

r w x 对文件和目录的意义
文件
r: 可以获取文件的数据
w :可以修改文件内容
x :可以运行该文件为进程
目录
r:可以使用ls 获取其下所有文件列表
w:可以修改目录文件列表 删除或者创建
x :可cd 进去此目录
注意 : 目录w权限必须和x 配合使用 单独无法使用该权限

基本权限

setfacl 命令用于管理文件的acl 规则 可以针对单一文件或者目录来进行读,写,执行权限
setfacl 参数 文件名
-m 添加acl权限
-x 删除权限

添加权限

[root@localhost tmp]# getfacl  1
# file: 1
# owner: sxd
# group: root
user::rwx
group::rwx
other::rwx

[root@localhost tmp]# setfacl -m u:sxd:rwx 1
[root@localhost tmp]# getfacl  1
# file: 1
# owner: sxd
# group: root
user::rwx
user:sxd:rwx
group::rwx
mask::rwx
other::rwx

设置默认权限
[root@localhost tmp]# setfacl -m m::r 1
[root@localhost tmp]# getfacl 1
# file: 1
# owner: sxd
# group: root
user::rwx
user:sxd:rwx                    #effective:r--
group::rwx                      #effective:r--
mask::r--
other::rwx

注意 默认权限是该文件最大权限  凡是比这大的权限都不能使用。

删除文件所有acl权限
setfacl -b file1

在这里插入代码片

umask

umask表示要系统要减掉的权限

[root@localhost tmp]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 29 10:52 sxd
drwxr-xr-x 2 root root 6 Sep 29 10:52 sxd1
[root@localhost tmp]# umask
0022

系统默认umask值为0022 第一位为特殊权限 暂且不管
注意 :所创文件一般都没有执行权限 ,只有目录被减去了022 权限

修改 umask值
临时修改
umask 要修改的值
永久修改
修改其配置文件
VI /etc/profile
if [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then
umask 002
else
umask 022
fi
然后source /etc/profile 使配置文件立即生效

高级权限的类型
suid 4
sgid 2
sticky 1

SUID : 是一种对二进制程序进行设置的特殊权限,可以二进制程序的执行者临时拥有属组的权限
( 仅对拥有执行权限的二进制程序有效)
如果属主 原有执行权限,显示为小写 s 否则 显示大写S
SGID 主要实现如下两种功能
让执行者临时拥有属组权限 (仅拥有执行权限的二进制程序进行设置)
在某个目录中创建的文件 自动继承该目录的用户组(只可以对目录进行设置)
Sticky 特殊权限为可以确保用户只能删除自己的文件,而不能删除其他用户的文件
如果其他用户原本有执行权限显示为 t 否则显示为大写T

 设置方法
  chmod  u+s   文件
  chmod   g+s  文件
  chmod    o+t    文件
数字 设置方法
   chmod   4777文件
   chmod   7777 文件
   chmod   2770  文件


  例如一
   passwd 命令
[sxd@localhost /]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

该文件U上有s  说明赋予了suid权限  使执行者临时拥有属主权限
 所以普通用户可以修改密码

[root@localhost sxd]# ll /tmp
total 0
drwxrwxrwt 2 root root 28 Sep 29 20:55 sxd

在/tmp 下 有sticky权限
表名在其目录下用户只能删除自己的文件

[root@localhost sxd]# ll
total 0
-rwxrwxrwx 1 sxd sxd 0 Sep 29 20:53 123
-rw-rw-r-- 1 dxs dxs 0 Sep 29 20:55 456

列如   123  的权限尽管为777
[root@localhost sxd]# su dxs
[dxs@localhost sxd]$ ll
total 0
-rwxrwxrwx 1 sxd sxd 0 Sep 29 20:53 123
-rw-rw-r-- 1 dxs dxs 0 Sep 29 20:55 456
[dxs@localhost sxd]$ rm -rf 123
rm: cannot remove ‘123’: Operation not permitted

文件属性 chattr

charrt 命令用户设置文件隐藏权限
charrt [参数] 文件
lsattr 命令用户显示文件的隐藏权限

文件查找

1.which 主要查找可执行文件(在环境变量中查找)
which 是通过PATH环境变量到该路径内可 执行文件,所以基本功能是寻找可执行文件

[root@localhost sxd]# which  cd
/usr/bin/cd

检查PATH环境变量中是否有cd所在目录 给予显示

2.whereis 和locate 寻找特定文件(通过 数库查找) locate数据库在/var/lib/mlocate里面数据查找的

find

语法 find 路径 参数

可以按照 文件名 文件大小 目录深度 时间 文件所有者 文件类型 文件权限

1.按照文件名查找

find  /  -name  ifcfg     在跟目录下查找 ifcfg

find  /etc     -iname    sxd               在etc下查找sxd  -i忽略字母大小写

2.按文件大小查找

find   /etc   -size  +4M   查找超过4m的文件
find   /etc   -size  4M      查找等于4m的文件
find   /etc   -size  -4M     查找小于4m的文件

3.查找目录深度

find  /etc/  -maxdepth 1      查找最大深度为1的文件

4.按时间查找
atime 访问过的时间
mtime 修改的时间
ctime 文件权限修改的时间

    find   /etc/   -mtime -1        查找一天以内的文件

5.按文件所有者查找

find  /etc  -user   u1      查找属主为u1的文件
find   /etc  -gourp  g1     查看属组是g1的文件
find   /etc/   -nouser     查找没有所有者的文件

6.按文件类型查找

find  /etc/   -type  f     dds    查找文件类型为普通的文件
find  /etc/  -type    d     sxd    查找名字为sxd 的目录

7.按文件权限查找

find  /etc/    -perm 664   查找文件权限为664 的文件

10-06 11:24