Linux温习(三)Linux文件和文件夹管理
关于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/xyz2.文件操作命令
| 命令 | 功能 | 
|---|---|
| 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.out4.文件查找命令
| 命令 | 功能 | 
|---|---|
| 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
 命令实例
 
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号