1.目录与路径
1.绝对路径:一定由根目录 / 写起
2.相对路径:不是由 / 写起,转换路径的时候用 ..
- . 代表当前目录
- .. 代表上层目录
- - 代表前一个工作目录
- ~ 代表自己的家目录
- ~user 代表到user这个人的家目录
3.目录的先关操作和路径变量
- cd 变换目录
- pwd 显示当前所在目录
- mkdir 建立一个新目录
mkdir -m 目录名称 :建立档案的权限,直接设定 如:mkdir -m 777 test
mkdir -p 目录名称 :递归建立目录 如:mkdir -p test/test1/test2
- rmdir 删除一个里面是空的空目录
- 环境变量path:当我们在执行一个指令的时候,系统会按照path定义的 路径搜索档案,先搜索到的指令先被执。
2.管理文件与目录
管理文件与目录就是”显示属性“、”复制“、”删除文件“及”移动文件或者目录“
ls 显示档案名称、属性等
参数说明
- -a 全部的档案都列出(连同隐藏档案)
- -A 全部文件,与隐藏文件,但不包含.和..这两个文件
- -d 仅列出目录本身,而不是列出目录内的文件数据
- -f 直接列出结果,不进行排序(ls 默认以文件名排序)
- -F 根据文件、目录等信息,附加数据结构,如*表示可执行文件,;/表示目录;=表示套接字;|表示FIFO文件
- -h 列出文件大小(GB、MB、KB)
- -i 列出inode的值
- -l 列出长数据串,包含文件属性
- -n 列出UID与GID,而非用户与用户组的名称
- -r 将排序结果反向输出
- -R 与字母链路内容一起列出来
- -S 以档案大小列出来
- -t 按时间书序排出
- --color=never 不要显示颜色
- --color=always 均显示颜色
- --color=auto 由系统自行判断
cp 拷贝文档
cp[-drsu][源文件][目标文件]
- -a 相当于pdr
- -d 若源文件为连接文件的属性,则复制连接文件属性而非文件本身
- -f force的意思,若有重复或其他疑问时,不询问用户,强制复制
- -i 若目标文件已经存在,在覆盖时先询问是否真的操作
- -l 建立硬链接的文件,而非文复制文件本身
- -p 与文件的属性一起复制,而非使用默认属性
- -r 递归持续复制,用于目录的复制操作
- -S 复制成符号连接文件(symbolic link)即快捷方式
如:cp -f test test1
rm 删除文档
rm[-fir][文件名]
参数说明:
- -f 就是force的意思,强制删除
- -i 交互模式,在删除之前,新闻用户是否操作
- -r 递归模式,常用在目录的删除中
mv 移动文档
mv [-fiu][源文件][目的文件]
参数说明
- -f force ,强制的意思,强制直接移动而不询问
- -i 若目标文件(destination)已经存在,就询问是否覆盖
- -u 若目标文件已经存在且源文件比较新,才会更新(update)
- basename 提取路径的最后一个文件夹或者文件名(编程用)。如basename/usr/local/etc
- dirname 提取最后一个文件夹或者文件夹前面的路径,与basename相反
如:mv test/temp temp2
3.查看文件内容
cat 由第一行开始显示档案内容
cat[-nAE]
参数说明
- -A 相当于-vET整合参数,可列出一些特殊字符
- -E 将结尾的换行符$显示出来(^M$为换行符号,Linux以$为换行符号,至于^|则是<tab>按键
- -n 显示行号
- -T 将tab按键以^|显示出来
- -v 列出一些看不出来的特殊符号
tac 从最后一行开始显示,可以看出tac是cat倒着写
nl 显示的时候顺道输出行号
nl [-bnw]文件
- -b 指定行号指定的方式,主要有两种
-b a 表示不论是否有空行,也同样列出行号
-b t 如果有空行,空行不要列出行号
- -n 列出行号表示的方法有三种
-n ln 行号在屏幕的最左方显示
-n rn 行号在屏幕的最右方显示,且不加0
-n rz 行号在字段的最右方显示,且加0
- -w 行号字段占用的位数
more 一页一页的显示档案内容
按键 | 命令 | 进行的工作 |
Space Page down | more/less | 向下翻页 |
Page up | less | 向上翻页 |
Home | less | 到第一页 |
End | less | 到最后一页 |
/string | more/less | 向下搜索string字符串 |
?string | more/less | 向上搜索字符串 |
n,N | less | n:与/或?同向搜索;N:与/或?反向搜索 |
q | more/less | 结束这次显示 |
:f | more/less | 立即显示文件名及当前显示的行数 |
less 与more类似,但是可以往前翻页
head 只看头几行
tail 只看尾几行
od 以二进制的方式读取档案内容
touch 修改文件时间与创建新文件 touch 1.txt
最常用的情况就是:
1.建立一个空文件
2.将某一个文件的日期修改为当前日期(mtime atime ctime)
- touch filename(已经存在)的文件,三个时间都会修改
- a 修改atime
- c 修改3个时间
- -d 后面可以接日期,也可以使用--date=“日期或者时间”
- -m 仅修改mtime
- -t 后面可以接时间,格式为[YYMMDDhhmm]
- modification time(mtime修改时间):当文件内容修改时,就会更新这个时间,内容是指文件的内容而不是文件的属性
- status time (ctime 状态时间):当改文件的状态改变时,就更新这个时间
- access time(atime 访问时间):当读取文件内容时,就更新时间
4.文件与目录的默认权限与隐藏权限
umask:改变预设的检录档案或者目录时的属性
- umask 002 改变属性
- 建立文件默认权限是666 -rw-rw-rw-
- 建立的文件夹的默认权限是777 drwxrwxrwxrwx
chattr改变档案的 特殊属性
cahttr[+-=][ASacdistu][档案或者目录结构]
参数说明:
- +-=:分别为[+增加][-减少][=设定]属性的意思
- i:可以让一个档案[不能删除、改名、设定连接也无法写入或者新增数据]对于系统安全性有相当大的帮助
chattr -i 1.txt:不能删除修改,改名等
file:查看一个档案的类型
lsattr显示档案的特殊属性
5.搜索文件
which:查看可执行档案的位置
which[a][文件名称](寻找执行文件)
a:将所有可以找到的命令全部列出,而不是仅列出第一个找到的命令
whereis:查看档案的位置
whereis[-bmsu][目录名称](寻找特定文件)
参数说明:
-b:只找binary的档案
-m:只找在说明文件manual路径下的档案
-s:只找source来源档案
-u:没有说明档的档案
locate:配合数据库查看档案位置
local[目录名称]
查询一个系统的数据库
updatedb:进行数据库的更新
find:实际搜索硬盘去查询文件的名称
find[path][option][action]
参数说明:
1.与时间有关的参数:
- -atime n :在n天之前的一天内访问过的文件
- -ctime n :在n天之前的一天内修改过状态的文件
- -mtime n : 在n天之前的一天内修改过内容的文件
- -newer file :比file还要新的档案就列出来
2.与用户或用户组有关的参数:
- -uid n:寻找拥有者ID为n的档案
- user name:寻找群组ID为n 的档案
- -gid n: 寻找群组ID为n 的档案
- group name:寻找群组内名称为name的档案
- -nouser:查找文件拥有者不在/etc/passwd中的文件
- -nogroup:查找文件的拥有组阻碍/etc/group中的文件
- -name file:寻找档案名为file的文件名称(可以使用万用字符)
3.与文件权限及名称有关的参数
- -name filename:搜索文件名为filename的文件
- -size[+-]SIZE:搜索比SIZE大或者小的文件
- -type TYPE:搜索文件类型TYPE为f, b, c, s, p, l , d
- -perm[+-+mode:根据文件属性搜索,+表示包含任何一个属性就显示,-表示必须全部包含mode属性才显示,没有+-表示必须等于mode属性才显示
4.附加操作
- -exec command command为其他命令,来处理搜索结果
- {}:表示由find查找到的内容,\;表示-exec命令结束