目录结构
-
/lib
- 系统开机所需要最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
-
/lost+found
- 意外关机或者系统崩溃产生的碎片文件 可以复原
-
/etc
- 所有系统管理所需要的配置文件和子目录。
-
/usr(全称:Unix System Resource,即Unix系统资源的缩写)
- 存放系统软件资源的目录。类似于Windows下的program.files目录
-
/bin (usr/bin、/usr/local/bin)
- bin是Binary的缩写,这个目录存放着经常使用的命令
-
/sbin (usr/sbin、/usr/local/sbin)
- s就是super user的意思,这里存放的是系统管理员使用的系统管理程序
-
**/home **
- 存放普通用户的主目录,在Linux中的每个用户都有一个自己的目录,一般该目录一用户的账号名命名
-
**/root **
- 该目录为系统管理员,超级权限者的用户目录
-
/boot
- 存放的启动Linux时使用的一些核心文件,包括一些链接文件和镜像文件
-
/proc
- 虚拟目录,是系统内存的映射,访问这个目录来获取系统信息。
-
/srv
- service 的缩写,该目录是存放一些服务启动之后需要提取的数据
-
/sys
- Linux2.6内核的一个很大变化,该目录安装了2.6内核中新出现的一个文件系统
-
/tmp
- 存放临时文件
-
/dev
- 类似于 windows的设备管理器,把所有的硬件用文件的形式存储
-
**/media **
- 挂载目录 软盘或光盘
-
**/mnt **:挂载目录,挂载U盘或者移动硬盘(挂载即盘符)
-
/opt
- 这是给主机额外安装软件所摆放的目录。如安装 ORACLE数据库就可放到该目录下。默认为空。
-
/usr/local
- 这是另个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
-
**/var **
- 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
-
/selinux [security-enhanced linux] 类似 360
- Selinux是一种安全子系统,它能控制程序只能访同特定文件。
文件处理命令
命令格式:命令 [-选项] [参数] 中括号表示可选项
-
ls 显示目录文件
ls -a 查看隐藏文件
ls -l 长显示,显示文件或者目录详细信息包括大小 修改时间
(-l显示的文件详细信息分别是:十个字符,硬链接数,所有者,所属组,文件大小,文件最后修改时间,文件名)
(其中,十个字符。第一个字符代表文件类型,-代表文件,d代表目录,l代表软链接文件;后九位代表了所有者u,所属组g,其他人o对于该文件的权限;权限符号,r读,w写,x执行)
ls -d 显示该目录本身的属性
ls -h 更加人性化显示 比如字节转换为MB,GB 不用自己算
ls -i 查询文件inode号(inode存储文件的详细信息) 信息编号,类似于人的身份证号码
-
mkdir 创建目录
mkdir -p 可以递归创建,可以在没有一级目录的情况下新创建二级目录
-
touch 文件名 在当前目录下创建空文件
touch[绝对路径+文件名] 指明绝对路径,在绝对路径处创建文件 -
cd 目录名 切换到指定目录
cd …(两个点) 回到上一级目录
-
pwd 显示当前所在路径
-
rmdir 删除空目录,但是只能删除没有文件的空目录
-
cp 复制文件 或者目录
语法:cp [原文件目录] [目标目录]
cp -r 复制目录
cp -p 保留原文件属性
cp -rp 复制目录并且保留原文件属性 -
mv 移动 / 改名(在同一个目录下为改名)
-
rm 删除文件或者目录
rm -f 强制删除 不再询问
rm -r 删除目录,一般是rm -rf 连着用rm -rf 使用时一定要谨慎 切记 !!!
使用时一定要谨慎 切记 !!!
rm -rf /系统直接全部被删除!!!control+C退出选项 (防止删除一个目录的时候,内部包含的文件会出现多个确认选项)
-
cat 文件名 显示文件内容 只适合短的文件内容
cat -n 文件名 显示行号,给文件内容的每一行标号
cat -A 文件名 显示隐藏字符
tac 文件名 逆序显示文件内容 倒着来 不支持-n -
more 文件名 一页一页显示文件内容,适合长的文件内容
空格或者f 翻页,回车(Enter)按行翻, q或者Q 退出
-
less 文件名 一页一页显示文件内容,只不过这条命令可以往回翻页, page up向上翻页,↑箭头向上翻一行
其他操作和more命令一样,在less命令中 可以按/+需要查找文件内容的关键字查询内容,高亮内容即为含有关键字的内容,按n(表示next)可以查看下一个含有关键字的内容 -
head 文件名 显示文件最前几行,具体几行加n,head -n 行数 文件名, 没有指定默认10行
-
tail 文件名 显示文件最后几行,具体几行加n,tail -n 行数 文件名,没有指定 默认10行
tail -f动态显示文件末尾内容
-
ln -s 原文件 目标文件 创建软链接
关于软链接:
软链接的作用和Windows中的快捷方式是差不多的。他只不过是指向源文件安装路径的符号链接,所以大小也很小。而且它的文件类型是lrwxrwxrwx,看似三种用户都可以拥有所有权限。其实真正拥有的权限是源文件所决定的权限 。 -
ln 原文件 目标文件 创建硬链接
关于硬链接:
硬链接就是把源文件拷贝到目标位置,而他与cp -p 最大的一点区别就是他可以同步更新,源文件有变化,硬链接文件也会同时发生变化,但是如果源文件丢失或者被删除,硬链接也并不会消失。可以通过i节点来区分,源文件和硬链接文件的i节点是一样的,所以他们会同步更新,但是他不能跨分区放置硬链接比如:/分区 硬链接 不能放到/boot 分区 ,而且不能对目录使用。
权限管理命令
- chmod {u,g,o,a} {+,-,=} {r,w,x} 文件名或者目录名
u :所有者 ,g :所属组,o :其他人,a :所有用户
例如:chomd g+x,o+r /tmp/testfile
就是把testfile文件的所有组增加执行权限,其他人增加读权限
chomd a=rwx /tmp/testfile
就是testfile文件的所有用户增加读写执行权限
权限位的数字表示:
- chmod 权限位数字 文件名 修改文件权限
首先需要知道 r=4 w=2 x=1
例如:rwxrw-r- - 它的权限位数字表示就是 764 chmod 764 123.txt
具体算法:
r+w+x=4+2+1=7
r+w=4+2+0=6
r=4+0+0=4 - chmod-R 权限位数字 文件名 把一个目录下的所有子目录的操作权限全部修改为同样的
- 创建用户命令
useradd 用户名 创建普通用户
passwd 用户名 创建用户密码
su - 用户名 切换用户 - 注意:可以删除一个文件的原因,不是因为对于这个文件有写权限,而是因为对于这个文件所在目录有写权限。
此处插入权限图片
-
chown 所有者名 文件或者目录名 改变文件或者目录所有者
-
umask -S 以rwx形式显示当前新建文件的缺省权限
mkdir 一个目录之后,进行ls -ld 发现他的权限为 drw xr-x r-x
但是在touch 一个文件之后,进行ls -l 发现他的权限为-rw-r- -r- -
这是因为在Linux系统里面把任何新建的文件都会把可执行权限去掉,其实umask值还没变,只不过是因为他是文件,所以没有x -
umask
umask 指令直接输入之后会显示 0022,其中 0代表特殊权限
022代表 777与022之间的一种逻辑与的关系,他会进行逻辑比对,两者重复的不能保留,把没有的写下来
文件搜索命令
find
语法:**find 搜索范围 匹配条件 **
模糊查询可使用通配符(*表示不限个字符 ?表示单个字符)
-
find 搜索范围 -name 关键字 在特定路径下搜索文件名作为关键字的文件或者目录
-
find 搜索范围 -iname 关键字 不区分大小写搜索
-
**find 搜索范围 -size 数据块 **
根据文件大小查找。数据块前面加+表示查找大于这个大小的文件,-表示查找小于这个大小的文件,不加不减表示查找等于这个大小的文件。其中数据块1=0.5k。例如:find /tmp -size +204800
-
find 搜索范围 -size 数据块 -a/-o -size 数据块
-a:两个条件同时满足
-o:两个条件满足任意一个即可 -
**find 搜索范围 -user 所有者名 ** 根据所有者查找
-
**find 搜索范围 -group 所属组名 ** 根据所属组查找
-
**find 搜索范围 -amin 时间 ** 查找时间以内被访问过的文件和目录,a:access 访问
**find 搜索范围 -cmin 时间 ** 查找时间以内被修改过属性(权限、所有者、所属组等)的文件和目录 ,c:change
**find 搜索范围 -mmin 时间 ** 查找时间以内被修改过内容的文件和目录 ,m:modify
-
**-exec 所作操作 {} \ ; ** 查找到文件之后并且对其进行各种操作, {} \ 不能丢
例如:find [搜索范围] -name [关键字] -exec ls - l {} \ ; 查找到文件之后并且对其进行查看ls操作。
-
-ok 所作操作 {} \ ; 用于询问确认,一般在删除操作的时候使用
比如:find -user yangyang -ok rm {} \ ; 删除yangyang用户的文件,他会挨个询问你是不是确定删除
-
**-type ** 根据不同类型查找
f:文件
d:目录
l:软链接eg:find [搜索范围] -name [关键字] -a -type f 在范围内搜索特定关键字的文件
-
**find [搜索范围] -inum [i节点值] ** 根据i节点查询
获取i节点方法:ls -i (i节点值相当于文件的身份证号码,独一无二。硬链接和源文件i节点值一样)
locate
-
**locate [文件名] ** 在文件资料库中查找 速度更快
updatedb 更新整个文件资料库,因为locate并不是实时的
备注:如果存放的文件在/tmp 临时文件存放处下面,locate就找不到,因为文件资料库不存储临时文件内容 -
locate -i [文件名] 不区分大小写查找
-
which 命令名 查找该命令存放位置,可以看到命令可以使用的使用者是谁,也可以查看命令别名
eg:which rm 会显示 alias rm=’ rm -i ’
我们所使用的rm只不过是别名,不是真正的rm命令,真正的命令其实是rm -i,所以才会询问是否真的删除,而rm是不会询问的比如:/bin/rm /tmp/yangyang ,文件直接删除而不会询问是否删除。