关于Linux文件夹的几个常见概念
- 路径
对文件位置信息的描写叙述机制。是指从树型文件夹中的某个文件夹层次到其内某个文件的一条通路。分为相对路径和绝对路径;
- 工作文件夹
登入系统后。用户始终处于某个文件夹中,此文件夹即为工作文件夹。或称作当前文件夹
- 根文件夹
Linux树型文件夹结构的最顶层文件夹
- 用户“家”文件夹
也称用户主文件夹,一般是位于/home文件夹中跟username称相同的一个文件夹,用户登录系统后默认处于此文件夹中
路径相关
描写叙述:路径是从一个文件夹到还有一个文件夹或文件的通路,由各级文件夹的名称来标识
- 绝对路径
从根文件夹/開始到文件名称结束的路径
比如: /usr/local/tomcat7/logs/catalina.out
- 相对路径
不是从根文件夹開始的路径
比如:cd ../catalina.out
- 几个特殊符号
.代表当前路径
..代表上层文件夹
~代表用户根文件夹
~user 代表user的根文件夹
- 系统登录时候,用户会自己主动跳转到其home文件夹,root用户的主文件夹是/root,而其它用户(user)的默认主文件夹是/home/user
- 环境变量PATH
环境变量PATH的作用是提供给用户查找文件的可能路径
当新安装了套件时,可能须要将可运行文件的路径写入环境变量
查看PATH方法
echo $PATH
文件、文件夹操作命令
概要:
文件夹操作命令
ls pwd cd mkdir rmdir
文本文件查看命令
cat more less head tail
文件操作命令
file touch cp rm mv
文件内容统计命令
wc
文件链接命令
ln
1.文件夹操作命令
命令 | 功能 |
---|---|
ls | 显示指定文件夹和文件的信息 |
pwd | 显示当前文件夹名称 |
cd | 进入指定的文件夹 |
mkdir | 创建指定名称的文件夹 |
rmdir | 删除指定名称的文件夹 |
- ls命令
功能说明:
将指定文件夹内容输出到标准输出设备上;
假设不指定File 或Directory 參数。显示当前文件夹的内容
缺省情况下。ls 命令依照文件名称的字母顺序显示全部信息
当ls 命令显示文件夹内容时,它不显示名称以.(点)开头的文件项。除非使用了-a 或者-A 标志
命令格式:
ls [-aAdfFhilRS] 文件夹名
ls [–color={none,auto,never,always}] 文件夹名
ls [–full-time] 文件夹名
ls命令的经常使用选项
-A 列出全部条目,除了.(点)和..(点-点)
-a 列出文件夹中全部项,包含以.(点)開始的项
-l(L 的小写)显示方式、链接数目、全部者、组、大小(按字节)和每一个文件近期一次改动时间
d 此项为文件夹
b 此项为块特殊文件
c 此项为字符特殊文件
l 此项为符号链接
p 此项为一个先进先出(FIFO)特殊文件
s 此项为本地套接字
-此项为普通文件
-r反转排序顺序,适当的按字母逆向排序或者首先排序最旧的文件
-R递归列出全部子文件夹
-h 以更直观方式显示文件大小
–color=never 不要依照文件属性用不同的颜色
–color=always 显示颜色
–color=auto 让系统自行设置是否显示颜色
–full-time 以完整的时间模式输出
–time={atime,ctime} 输出訪问时间或者是改变权限的时间,而非是改动时间
- pwd命令
功能说明:
显示工作文件夹的路径名称(print working directory)
命令格式
pwd [-P]
pwd 命令将当前文件夹的全路径名称(绝对路径)写入标准输出设备;全部文件夹使用/(斜线)分隔;第一个/ 表示根文件夹。最后一个文件夹是当前文件夹
[-P]显示出实际路径,而非使用连接的路径
/var/mail是/var/spool/mail的连接文件
- cd命令
功能说明:
更改当前工作文件夹(change directory)
命令格式:
cd [相对路径或绝对路径]
使用说明:
用户必须具有指定文件夹中的运行许可权
假设未指定文件夹參数,cd 命令会将当前工作文件夹设置为登录文件夹
支持相对路径和绝对路径
应用实例:
cd ~user表示切换到user的主(home)文件夹
.(点)表示当前文件夹
..(点点)表示父文件夹
cd ~ 返回当前用户主文件夹
cd -返回用户上次所在的文件夹
- mkdir命令
功能说明:
创建一个或多个新的文件夹
命令格式:
mkdir [-mp] 文件夹名
使用说明:
每一个新文件夹包含标准项.(点)和..(点-点)
-p 创建丢失中间路径名称文件夹;假设没有指定-p 标志,则每一个新创建的文件夹的父文件夹必须已经存在
-m 设置新创建的文件夹的权限,无论默认权限
- rmdir命令
功能说明:
删除文件夹
命令格式:
rmdir [-p] 文件夹名
使用说明:
必须为空,而且必须具有父文件夹的写权限
-p 沿着參数指定的路径名除去全部文件夹
比如。假设要删除~/test、~/test/test1、~/test/test1/xyz,能够使用例如以下命令
rmdir –p ~/test/test1/xyz
2.文件操作命令
命令 | 功能 |
---|---|
file | 显示指定文件的类型 |
touch | 建立指定名称的文件或更新文件时间 |
cp | 拷贝文件或文件夹 |
rm | 删除文件或文件夹 |
mv | 移动文件或文件夹,文件或文件夹重命名 |
- file 命令
功能说明:
确定文件类型
命令格式:
file 文件名称
使用说明:
文件能够是常规文件、文件夹、FIFO(指定的管道)、块特殊文件、字符特别文件、符号链接或者套接字类型
对于长度为零的常规文件。将识别为空文件
对于符号链接文件,缺省情况下此链接后跟符号链接引用的文件
UTF,是Unicode Text Format的缩写。意为Unicode文本格式
- touch 命令
功能说明:
创建新文件
更新文件的訪问和改动时间
改动时间ctime (use –change time )
訪问时间atime(access)
格式:
touch [-opt] {File|Directory}
经常使用选项
-a 更改由File 变量指定的文件的訪问时间
-c假设文件不存在,则不要进行创建
-m更改File 的改动时间
-t Time使用指定时间而不是当前时间。
Time 变量以十进制形式[YYMMDDhhmm]指定
YY 指定年份的后两位数字
MM 指定一年的哪一月(从01 到12)
DD 指定一月的哪一天(从01 到31)
hh 指定一天中的哪一小时(从00 到23)
mm指定一小时的哪一分钟(从00 到59)
命令实例
- rm 命令
功能说明:
删除(链接)文件或文件夹
命令格式:
rm [opt] file/dir
使用说明:
假设要删除的文件是符号链接。则除去链接,可是符号链路引用的文件或文件夹仍在
经常使用选项
-f 在删除有写保护的文件前不提示
-i 删除每一个文件前提示
-r 当目标參数为文件夹时递归删除文件夹及其内容
-R 同-r
命令实例
- mv 命令
功能说明:
移动(并重命名)文件或文件夹
mv 命令能够覆盖现有文件
命令格式:
mv [opt] source destination
參数说明:
-f:强制直接转移不询问
-i:若目标文件已经存在询问是否覆盖
-u:若源文件已经存在,但源文件比較新,则更新
命令实例
- cp 命令
功能说明:
拷贝文件或文件夹
命令格式:
cp [-opt] [src_file|src_dir] [dst_file|dst_dir]
经常使用选项
-a 拷贝文件夹时使用。保留链接、文件属性、并递归地拷贝文件夹
-d 复制时保留链接
-f 假设指定的目标文件存在。先强行覆盖
-i 覆盖目标文件前须要用户先确认
-p 拷贝文件。包含其改动时间和訪问权限
-r 拷贝文件夹时可递归拷贝文件夹中的内容
-R 如同-r。但特殊文件将被又一次创建。而非复制
命令实例
命令实例图
3.文本文件查看命令
命令 | 功能 |
---|---|
cat | 显示文本文件内容 |
tac | 从最后一行開始显示。tac和cat字母顺序相反 |
nl | 显示的时候,输出行号 |
more | 分页显示文本文件内容 |
less | 分页显示文本文件内容,并可方便重复浏览 |
head | 显示文件首部内容 |
tail | 显示文件尾部内容 |
- cat 命令(concatenate)
功能说明:
显示文本文件内容
命令格式:
cat [-AEnTv] 文件名称
參数说明
-n 或–number 由1 開始对全部输出的行数编号
-v 将非打印字符显示为可视字符。除了跳格符、换行符和换页符;
-E 在每行末尾显示一个$(美元符号)
-T则将跳格字符显示为^I,与-v联合使用;-t=-vT
-A 等同于-vEt
功能1:
将指定文件从首行開始连续显示在屏幕,当文件过大时不适用
比如cat install.log
功能2:
将两个或多个文件连接到一起
格式:
catfile1 file2 …>filen :将file1, file2等的内容拷贝到新建文件filen中
命令实例
- tac 命令
功能说明:
从最后一行開始显示。tac和cat字母顺序相反
命令实例
- nl 命令
功能说明:
显示的时候,输出行号
命令格式:
nl [-bnw] 文件
參数说明:
-b:制定行号的指定方式
-b a:表示不论是否为空行,相同列出行号
-b t:假设有空行,空行不要列出行号
-n:列出行号的表示方法
-n ln:行号在字段的最左方显示
-n rn:行号在字段的最右方显示,不加0
-n rz:行号在字段的最右方显示,加0
-w:行号字段占用的位数
- more 命令
功能说明:
分页显示文本文件内容
命令格式:
more 文件名称
使用说明:
more 命令读取文件,并将内容屏显标准输出设备
此命令在每屏后暂停,并在屏幕底部打印单词More和显示内容百分比
回车键:more 命令将会再向下显示一行
空格键:more 命令显示文本的还有一屏。
- less 命令
功能说明:
分页显示文本文件内容。并可方便重复浏览
命令格式:
less 文件名称
使用说明:
less 命令的功能差点儿和more 命令一样。也是用来按页显示文件。不同之处在于less 命令在显示文件时同意用户既能够向前又能够向后翻阅文件
经常使用功能键
pageup
pagedown
/ 向下搜索
? 向上搜索
- head 命令
功能说明:
显示文件首部内容
命令格式:
head [–n Num] File…
选项说明:
-n 选项用来指定显示File的开头行数
使用说明:
显示一个文件或多个文件的前几行或前几个字节
缺省显示前10 行
输入文件必须是文本文件
- tail 命令
功能说明:
显示文件尾部内容
命令格式:
tail [-nf num] 文件
选项说明:
-n 选项用来指定从每一要显示的指定文件的开头的行数
+Num 显示从第Num行開始至文件尾的内容
-Num 显示从距文件尾Num行開始至文件尾的内容
-f 假设文件内容正在增长中,此选项则动态显示增长的内容,直到用户使用“Ctrl+C”结束
使用说明:
我们经常在看server的日志的时候会用到tail 命令
我们经常这样用
tail -f /usr/local/tomcat/logs/catalina.out
4.文件查找命令
命令 | 功能 |
---|---|
which | whereis指令会在特定文件夹中查找符合条件的文件; |
where | 从最后一行開始显示,tac和cat字母顺序相反 |
locate | 分页显示文本文件内容 |
find | 显示的时候。输出行号 |
- which 命令
功能说明:
查看可运行文件的路径
命令格式:
which [-a] 命令
经常使用选项:
-a 将全部可找到的命令列出,不仅仅列出第一个找到的命令
举例:
which pwd
which lsattr
- whereis 命令
功能说明:
查找“特定文件”
whereis指令会在特定文件夹中查找符合条件的文件;
命令格式:
whereis [选项] 文件列表
经常使用选项:
-b 仅仅查找二进制文件
-m 仅仅查找说明文件
-s 仅仅找源文件
-u 没有帮助文件的文件
命令实例
- locate 命令
功能说明:
用于查找符合条件的文件。它会去保存文件与文件夹名称的数据库内,查找合乎条件的文件或文件夹
命令格式:
locate 文件名称
使用说明:
须要先建立数据库。而后方可进行查找
updatedb命令用来生成最新的文件名称数据库,它会在文件夹/var/lib/mlocate/下生成mlocate.db 数据库
它的查找速度比find快,但更新数据库的过程本身会非常耗费时间
- find 命令
功能说明:
在文件夹结构中搜索文件,并运行指定的操作
命令格式:
find 起始文件夹查找条件[操作]
使用说明:
起始文件夹:find命令所查找的文件夹路径;比如可用.来表示当前文件夹,用/来表示系统根文件夹
查找条件:匹配机制,如能够依照文件名称、文件权限、改动时间等进行文件查找
操作:按指定条件查找后进行的特定处理方法。如将查找到的文件在屏幕上显示出来。或对其进行权限改动,或将查找到的文件删除等等
find命令的查找条件(1)
-name ‘字串’依照文件名称查找文件
-lname ‘字串’查找文件名称匹配的全部符号链接文件
-gid n 查找属于ID号为n的用户组的全部文件
-uid n 查找属于ID号为n的用户的全部文件
-group ’字串’查找属于同一用户组的全部的文件
-user ’字串’查找属于同一用户的全部文件
-empty 查找大小为0的文件
-path ’字串’查找路径名匹配所给字串的全部文件
-perm 权限查找具有指定权限的文件和文件夹。权限的表示能够如755,644
命令实例
find命令的查找条件(2)
-nogroup 查找无有效所属组的文件。即该文件所属的组在/etc/groups中不存在
-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在
-type 查找某一类型的文件
-size n [bck] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
-depth 在查找文件时,首先查找当前文件夹中的文件,然后再在其子文件夹中查找
命令实例
find命令的查找条件(3)
以时间为条件查找
-amin +n -n 按訪问时间查找。-n指n分钟以内,+n指n分钟曾经
-atime +n -n 按訪问时间查找;-n指n天以内,+n指n天曾经
-cmin +n -n 按创建时间查找
-ctime +n -n 按创建时间查找
-mmin +n -n 按改动时间查找
-mtime +n -n 按改动时间查找
-newer file 列出比file还新的文件
可运行的操作
-exec 命令{} \;对符合条件的文件运行所给的命令
{}表示命令的參数即为所找到的文件
命令的末尾必须以“\;”结束
-ok 命令{} \。同-exec。但会询问用户是否运行该命令
命令实例
find / -name g.txt -exec ls -l {} \;
find命令样例
在/etc文件夹下查找全部以rc开头的文件名称
find /etc -name “rc*” -print
查找系统中全部文件长度为0的普通文件,并列出它们的完整路径
find / -type f -size 0 -exec ls -l {} \;
在/etc下的全部以passwd开头的文件里查找是否有名为redhat的用户
find /etc –name “passwd*” –exec grep “redhat” {} \;
查找当前文件夹下全部以txt结尾且2分钟内没有被訪问过的文件
find . -name “*.txt” -amin +2 -print
四个不同搜索命令差别
which:
通过环境变量PATH指定路径进行搜索
whereis。locate:
通过存储系统文件信息的数据库
find:
直接搜索硬盘
5.文件与文件夹的默认权限与隐藏权限
命令 | 功能 |
---|---|
umask | 用来设置新建文件权限的掩码 |
chattr | 设置文件的隐藏属性 |
lsattr | 显示文件夹的隐藏属性 |
set UID | 特殊权限 |
set GID | 假设s的权限是在用户组 |
sticky Bit | 仅仅针对文件夹有效 |
- umask 命令
功能描写叙述:
用来设置新建文件权限的掩码
命令格式:
umask [模式]
使用说明:
模式为新建文件权限的掩码值
Linux系统中文件夹的默认权限是drwxrwxrwx,文件的默认权限是-rw-rw-rw-。因此。有下面公式:
新文件夹的权限= drwxrwxrwx-默认权限掩码
新文件的权限= -rw-rw-rw--默认权限掩码
基于安全原因,Linux系统不同意文件的默认权限有运行权
不带不论什么參数的umask命令显示当前的默认权限掩码值
新文件夹的权限= drwxrwxrwx-(d—-w–w-)
= drwxr-xr-x
新文件的权限= -rw-rw-rw--(—–w–w-)
= -rw-r–r–
- chattr 命令
- 功能说明:
设置文件的隐藏属性
命令格式:
chattr [+-=] [ASacdistu] 文件或文件夹
參数说明:
a:仅仅能添加数据。不能删除,仅仅有root才干设置
i:能够让文件“不能被删除、改名、设置连接,也无法写入或新增数据”
- lsattr 命令
功能说明:
显示文件夹的隐藏属性
命令格式:
lsattr [-aR] 文件或文件夹
參数说明:
-a:显示隐藏文件的属性
-R:连同子文件夹的数据一并列出
- set UID 命令
特殊权限
s与t:让一般用户在运行某些程序的时候。能够临时具有该程序拥有者的权限。
- set GID命令
功能说明:
假设s的权限是在用户组,称为Set GID,简称SGID
文件:假设SGID设置在二进制文件上,不论用户是谁,在运行改程序的时候。它的有效用户组将会变成改程序用户组的全部者。
文件夹:假设SGID设置在A文件夹上,则在该A文件夹内建立的文件或文件夹的用户组,将会是此A文件夹的用户组。
- sticky Bit 命令
功能说明:
仅仅针对文件夹有效
在具有SBit的文件夹下,用户若在该文件夹下具有w及x权限,则当用户在该文件夹下建立文件或文件夹时,仅仅有文件的拥有者与root有权利删除。
SUID/SGID/SBIT权限设置
SUID: 4
SGID: 2
SBIT: 1
格式:chmod xxxx filename
命令实例