Linux档案与目录管理
Linux档案与目录管理
1. 目录与路径
1.1 相对路径与绝对路径
1.2 目录的相关操作: cd, pwd, mkdir, rmdir
cd [相对路径或绝对路径]
cd ~ [用户]: 切换家目录
cd ~tom/ :切换到tom家目录
cd ~/tom :切换到当前家目录下的tom文件夹
cd - :返回前一个工作目录(可以连续使用,其实就是两个目录之间的切换)
. 代表此层目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表『目前用户身份』所在的家目录
~cenyu 代表 account 这个用户的家目录(account 是个账号名称)
pwd [-P]
显示当前所在目录(print working directory)
接收参数: -P(大写) 显示确实的路径,而不是连接的路径
mkdir [-mp] 目录名称
创建新目录,接收两个参数
-m :配置文件的权限,是直接设定的 mkdir -m 711 test1
-p :帮助你直接将所需的目录递归建立起来 mkdir -p test1/test2/test3 此处会把原本不存在的test2文件也创建出来
rmdir [-p] 目录名称
删除空的目录,不能删除非空目录
接收参数-p:表示连同上层空的目录也一起删除 rmdir -p test1/test2/test3
1.3 关于执行文件路径的变量: $PATH
$PATH 环境变量,$表示后面接的是变量,可以直接调用的命令都必须添加在环境变量里面去
echo $PATH :显示出环境变量里已经存在的文件。
不同文件之间用冒号(:)分隔
PATH="$PATH":绝对路径
往PATH里面定义一个环境变量 PATH="$PATH":/root root文件被添加到PATH里面
2. 档案与目录管理
2.1 档案与目录的检视: ls
ls [-aAdfFhilnrRSt] 目录名称
档案与目录的检视,接收的参数很多
-a :全部的档案,连同隐藏档一起列出来
-d :仅列出目录本身,不管目录下面的档案数据
-h :将档案容量以人类易读的方式列出来
-l :长数据串行,包含文档的属性和权限等等
ls [--time={atime,ctime}] 目录名称
--time=atime :显示访问时间
--time=ctime :显示创建时间
2.2 复制、删除与移动: cp, rm, mv
cp [选项] /path1/xx /path2/yy
若yy是一个文件夹,则将xx复制到yy文件夹下;
若yy不存在,则将xx复制到path2下面,并从命名为yy
cp [-asfilprsu] 来源文件(source) 目标文件(destination)
-p :连同档案的属性一起复制过去,而非使用默认属性(备份常用);
-r :递归持续复制,用于目录的复制行为;(常用)
-d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非档案本身;
-a :相当于 -pdr 的意思,至于 pdr 请参考下列说明;(常用)
rm [-fir] 档案或目录
-f :忽略不存在的档案,不会发出警告;
-i :互动模式,在删除前会询问一下
-r :递归删除!最常用也是最危险的
mv [-fiu] source destination
移动文件到另外一个文件,source可以是多个
-f :force强制的意思,如果目标档案已经存在,不会询问直接覆盖
-i :若目标档案 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标档案已经存在,且(source)比较新,才会更新(update)
2.3 取得路径的文件名与目录名称
basename 完整文件名(包含目录名称和文件名)
获取完整文件名中的最后的档案名
dirname 完整文件名
获取完整文件名中的目录
3. 档案内容查阅:
3.1 直接检视档案内容: cat, tac, nl
cat [-AbEnTv] 文件名
concatenate,将文件全部显示在该条命令下面,从第一行显示到最后一行,适合小文件,大文件的话只会显示最后一屏
-n :打印出行号,连同空白行也会有行号
-b :打印出行号,空白的不会打印
tac 文件名
反向列示,同cat,不同的是,这个查看是从文档的最后一行倒着显示到第一行
nl [-bnw] 文件名
添加行号打印,同cat -n
3.2 可翻页检视: more, less
more 文件
一页一页的显示档案信息,往下翻的时候有几个命令需要注意一下:
空格键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;
:f :立刻显示出文件名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该档案内容;
b 或 [ctrl]-b :代表往回翻页,不过这动作只对档案有用,对管线无用。
less 档案
也是一页一页的显示,只不过功能比more的功能更多一些,首先推荐这个
空格键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字符串 :向下搜寻『字符串』的功能
?字符串 :向上搜寻『字符串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!),从上到下
N :反向的重复前一个搜寻 (与 / 或 ? 有关!),从下到上
q :离开 less 这个程序;
3.3 资料撷取: head, tail
head [-n number] 档案
取出前面几行
-n :后面接数字,代表显示几行的意思。
head -n 20 /etc/man.config 显示该文件中的前20行,默认情况是前10行
head -n -100 /etc/man.config 去掉后100行的所有。
tail [-n number] 档案
取出档案的后面几行,默认显示最后10行
-n :后面接数字,代表显示几行的意思。
tail -n +100 /etc/man.config 100行以后的信息都会被显示出来
3.4 非纯文本档: od
od [-t TYPE] 档案
用来显示非纯文本文件,-t后面可以接参数
a:利用默认字符串输出 c:利用ASCII输出
3.5 修改档案时间与建置新档: touch
档案的三个是时间:
modification time (mtime): 最近内容修改的时间,默认显示的时间
status time (ctime): 最近权限和属性被修改的时间
access time (atime): 最近访问设备的时间
touch [-acdmt] 档案
修改档案的时间,最常用的是:1.建立一个空的档案;2.将某个档案日期修订为目前(mtime 和 atime)
-a :仅修订atime
-c :仅修改档案的时间,若档案不存在则不建立新档案
-d :后面可以接欲修订的日期而不用目前的时间,也可以使用 --date="日期或时间"
touch -d "2 days ago" bashrc 时间变为两天前,ctime没有变,其他有变
-m :仅修改 mtime ;
-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]
touch -t 0709120202 bashrc ctime没有变,其他的有变
touch testtouch 修改三个时间都是当前时间,若文件不存在,则创建这个新文件
4. 档案与目录的默认权限与隐藏权限
4.1 档案预设权限:umask
umask的功能:
目录的文件权限最高是777,文件预设没有可执行权限所以最大为666;但是umask默认的值是022,
umask是权限过滤符,文件或者目录的权限减去umask的值,就是目录和文件新创建时默认的权限值了
umask=数值
为umask赋值,更改了文件和目录新创建时的默认权限
4.3 观察文件类型:file
file 档案
观察文件类型,可以查看档案是属于哪个类型的:ASCII,data档案,或者binary
file ~/.dashrc
5. 指令与档案的搜寻:
5.1 脚本文件名的搜寻:which
which [-a] command
用来查找指令的完整文件名放在什么地方,默认只在PATH中的文件中查找
-a :将所有由PATH目录中可以找到的指令均列出,而不止第一个被找到的指令名称
which -a ls
5.2 档案档名的搜寻:whereis, locate, find
whereis [-bmsu] 档案或目录名
用来搜索档案的,直接查找的出具库,所以会很快
-b :只找binary格式的档案
-m :只找在说明文件manual路径下的档案
-s :只找source来源档案
-u :搜索不在上述三个项目中的其他特殊档案
locate [-ir] keyword
用来搜索档案
-i :忽略大小写的差异;
-r :后面可接正规表示法的显示方式
updatedb
whereis和locate是直接查找数据库里面的,但是数据库档案一天更新一次,所以当天的文件是查找不到的,
这个时候只要更新一个数据库就可以了,通过这个指令用来更新
find [PATH] [option] [action]
find查找比较慢,是通过在硬盘上查找的。
[PATH] 用来指定路径,默认是在当前所在路径查找
[option] 属性,指出按照什么属性来查找,比如按照时间,名称,大小等查找
1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明
-mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的档案;
-mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的档案档名;
-mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的档案档名。
-newer file :file 为一个存在的档案,列出比 file 还要新的档案档名
其他略过
[action] 值,属性下对应的值
6. 极重要!权限与指令间的关系:
6.1、让用户能进入某目录成为『可工作目录』的基本权限为何:
可使用的指令:例如 cd 等变换工作目录的指令;
目录所需权限:用户对这个目录至少需要具有 x 的权限
额外需求:如果用户想要在这个目录内利用 ls 查阅文件名,则用户对此目录还需要 r 的权限。
6.2、用户在某个目录内读取一个档案的基本权限为何?
可使用的指令:例如本章谈到的 cat, more, less 等等
目录所需权限:用户对这个目录至少需要具有 x 权限;
档案所需权限:使用者对档案至少需要具有 r 的权限才行!
6.3、让使用者可以修改一个档案的基本权限为何?
可使用的指令:例如 nano 或未来要介绍的 vi 编辑器等;
目录所需权限:用户在该档案所在的目录至少要有 x 权限;
档案所需权限:使用者对该档案至少要有 r, w 权限
6.4、让一个使用者可以建立一个档案的基本权限为何?
目录所需权限:用户在该目录要具有 w,x 的权限,重点在 w 啦!
6.5、让用户进入某目录并执行该目录下的某个指令之基本权限为何?
目录所需权限:用户在该目录至少要有 x 的权限;
档案所需权限:使用者在该档案至少需要有 x 的权限
Linux档案与目录管理的更多相关文章
- 鸟哥的linux私房菜 - 第5/6/7/9章(在线求助 man page、Linux档案权限与目录配置、Linux档案与目录管理、压缩与打包)
第五章.在线求助 man page X window与文本模式的切换 Ctrl+Alt+F1~F6:文字接口登入tty1~tty6终端机: Ctrl+Alt+F7:图形接口桌面. 注销当前用户:exi ...
- Linux 档案与目录管理
『 cd /etc 』这个情况,这也就是所谓的『绝对路径』,他是从根目录连续写上来的一个情况,所以不论你在哪一个路径现执行这一个指令,都会将你移动到该路径下.那如果我是使用『 cd etc 』呢?那表 ...
- linux杂记(七)linux档案与目录管理指令
1.目录的相关操作:cd,pwd,mkdir,rmdir 路径(PATH): 绝对路径:路径的写法[一定由根目录/写起],例如/usr/share/doc这个目录 相对路径:路径的写法[不是由/写起] ...
- 01 Linux档案与目录管理
1. 目录与路径 1.1绝对路径和相对路径 绝对路径:一定有根目录/写起,例如:/usr/share/doc 相对路径:不是由根目录/写起,例如:由/usr/sha ...
- 鸟哥私房菜基础篇:Linux 档案与目录管理习题
猫宁!!! 参考链接:http://linux.vbird.org/linux_basic/0220filemanager.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-什么是绝对路径与相对 ...
- linux档案和目录管理(后续)
资料来自鸟哥的linux私房菜 四:档案和目录的预设权限和隐藏权限 umask:预设权限,相比与chomd的4,2,1权限,档案满分为666,目录满分为777,umask可以预设消除部分权限,比如一个 ...
- linux 私房菜 CH7 Linux 档案与目录管理
路径 ``` . 此层目录 .. 上一级目录 前一个工作目录 ~ 当前用户的家的目录 ``` 变换目录 cd 显示目录 pwd [-P] -P 显示出确实的路径,而非使用链接 (link) 路径. 创 ...
- linux:档案与目录管理
几个常见的目录处理命令: cd(change directory):变更目录 pwd(print working directory):显示当前目录[目录为连结档,则只显示连结档的路径]([-P]不以 ...
- Linux学习(四)档案与目录管理
1. 目录与路径 1.1 相对路径与绝对路径 1.2 目录的相关操作: cd, pwd, mkdir, rmdir 1.3 关于执行文件路径的变量: $PATH2. 档案与目录管理 2.1 档 ...
随机推荐
- 【工业串口和网络软件通讯平台(SuperIO)教程】八.SuperIO通讯机制与设备驱动对接的说明
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 通讯机制说明 通讯的总体机制采用呼叫应答方式,就是上位机软件主动发送请求数据命令,下位机终端接 ...
- Netty(二)入门
在上篇<Netty(一)引题>中,分别对AIO,BIO,PIO,NIO进行了简单的阐述,并写了简单的demo.但是这里说的简单,我也只能呵呵了,特别是NIO.AIO(我全手打的,好麻烦). ...
- js(jquery)解决input元素的blur事件和其他非表单元素的click事件冲突的方法
HTML结构:很简单,就一个input,一个div,能说明问题就OK了: <input type="text" value="默认值"><br ...
- 基于git diff进行的eslint代码检测
缘起 在项目中, 通常都会使用代码检测工具来规范团队的代码风格, 比如eslint.随着代码的不断增加, eslint进行代码检测的时间也越来越久.每次检测的时候, 需要检测的文件和实际检测的文件极度 ...
- H5中的touch事件
touch中共有touchstart.touchmove和touchend三个事件: touchstart:触摸开始的时候触发 touchmove:手指在屏幕上滑动的时候触发 touchend:触摸结 ...
- iOS 支付宝的使用
支付宝相关资源下载地址:支付宝开放平台 在移动支付功能处下载. 一.使用官方的Demo 需要配置基本信息: 打开“APViewController.m”文件,对以下三个参数进行编辑. 二.集成支付宝 ...
- iOS程序逆向Mac下常用工具——Reveal、HopperDisassemble、IDA
原文在此 一.Reveal 1 一般使用 Reveal是ITTY BITTY发布的UI分析工具,可以很直观的查看App的UI布局.如下图所示: Reveal是需要付费的,需要89美元, ...
- Android自定义控件(二)
这一篇主要来讲一下自定义控件中的自定义viewgroup,我们以项目中最常用的下拉刷新和加载更多组件为例 简单介绍一下自定义viewgroup时应该怎么做. 分析:下拉刷新和加载更多的原理和步骤 自定 ...
- Mac上idea快捷键
名称 快捷键 代码提示 ctrl + space 自动修正 alt + enter 查看调用链call hierarchy ctrl + H 查找文件 双击shift 查找类 command + N ...
- git之四
1.管理修改 Git与其他版本控制系统相比,Git跟踪并管理的是修改,而非文件. 为什么说Git管理的是修改,而不是文件.接下来做测试,我们对readme.txt修改,追加一行内容: echo &qu ...