一.档案与目录管理

1.档案属性

2.chmod数字的表示方式

3.档案属性说明

1)、在linux里面,任何档案都具有三个权限
User,Group,Others

2)、以root身份登入linux后ls -al 查看档案

3)、档案属性:10个属性
如果档名之前有一个. 则代表这个档案为“隐藏档”,用ls -al可以连隐藏档都列出来
如果只输入ls ,则档名有加.的档案就不会被显示出来

4)、改变档案的权限
chgrp:改变档案所属群组
chown:改变档案所属人
chmod:改变档案的属性、SUID、等等的特性
示例:
①改变档案群组 chgrp -r users install.log
注:-r:进行递归(recursive)的持续变更,即连同次目录下的所有档案、目录都更新成为这个群组之意

②改变档案拥有者 chown -r bin install.log
注:chown -r 帐号名称 档案或目录

③改变档案的拥有者与群组 chown -r root:root install.log
注:chown -r 帐号名称:群组名称 档案或目录

④改变九个属性 chmod 777 .bashrc
r-4
w-2
x-1

5)、绝对路径和相对路径
您目前在/home这个目录下,如果想要进入/var/log这个目录时
①cd /var/log 绝对路径
②cd ../var/log 相对路径

.:代表当前目录,也可以使用./
..:代表上一层目录,也可以../来代表

4.档案与目录管理

注:连结档即快捷方式

1)、特殊目录
. 代表此层目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表目前使用者身份所在的家目录
~account 代表account这个使用者的家目录

2)、常见的处理目录指令
cd 变换目录
pwd 显示目前的目录
mkdir 建立一个新的目录
rmdir 删除一个空的目录

3)、示例
①pwd
cd /var/mail
pwd --->/var/mail
pwd -P --->/var/spool/mail
ls -l /var/mail
--->因为/var/mail是连接档,连结到/var/spool/mail,所以加上pwd -P的参数后,会不以连结文件的数据显示
而是显示正确的完整的路径

②mkdir
mkdir -[mp]
-m:设定档案的权限
-p:帮助你直接将所需要的目录递归建立起来
mkdir -p /home/bird/testing/test1
mkdir -m 711 test1

③rmdir
rmdir -p test1/test2/test3/test4
--->一次性删除所有空目录

4)、添加PATH路径
①PATH="$PATH":/root---->$表示后面接的是变量
②./ls--->设定是在同一个目录中
③ll--->等价于ls -l

5)、档案的常见操作
cp rm mv

6)、示例
①cp source destination
Ⅰ将家目录下的.bashrc复制到/tmp下并更名为bashrc
cd /tmp
cp ~/.bashrc bashrc-->>创建了指定目录bashrc
cp -i ~/.bashrc bashrc-->>加上-i参数,会在覆盖前询问是否确定
cp -f ~/.bashrc bashrc-->>加上-f参数,强制直接覆盖

Ⅱ在不加任何参数的情况下,档案的所属者会改变,连权限也跟着改变了
cp -a /var/log/wtmp wtmp_2-->>加上-a参数,整个资料完全一模一样

Ⅲ目录不能直接复制
cp -r /etc/ /tmp-->>档案与目录的权限会被改
cp -a /etc/ /tmp

Ⅳ建立一个连接档
cp -s bashrc bashrc_slink-->>复制成为符号连结文件,亦即快捷方式档案
cp -l bashrc bashrc_hlink-->>硬式连结的连结档建立,而非使用预设属性

Ⅴ目标档案与来源档案有差异时才会复制
cp -u ~/.bashrc /tmp/bashrc-->>比较常被用于“备份”的工作当中

Ⅵ一次性将多个数据复制到同一目录去
cp ~/.bashrc ~/.bash_hisroty /tmp

由于cp有种种档案属性与权限特性,所以在复制时必须清楚的了解到:
·是否需要完整的保留来源档案的信息
·来源档案是否为连接档
·来源档是否为特殊档案
·来源文件是否为目录

②rm -[fir] 档案或目录
-f force 强制移除
-i interact 互动模式,删除前询问
-r recursion 递归删除

Ⅰrm -i bashrc
Ⅱ删除一个非空目录:
rmdir test -->>删除不掉非空目录
rm -rf test -->>这样可以强制删除
Ⅲ删除一个带有-开头的档案
rm ./-aaa- -->>因为-是参数,不可直接删除

③mv -[fiu] source destination
-u update 更新
Ⅰmv bashrc mvtest
Ⅱmv mvtest mvtest2-->>更名
Ⅲmv bashrc1 bashrc2 mvtest2-->>将所有数据移动到该目录

④如何判别档案名和目录名:可以用 / 来分辨
Ⅰbasename /etc/sysconfig/network -->>network
-->>取得最后的档案名
Ⅱdirname /etc/sysconfig/network-->>/etc/sysconfig
-->>取得的目录名

⑤直接检视档案内容
cat:由第一行开始显示档案内容
tac:从最后一行开始显示
nl:显示的时候顺道输出行号

⑥示例
Ⅰ打印出行号
cat -n /etc/issue
cat -A /etc/xinetd.conf-->>-A会将[tab]按I显示,断行符以$显示

Ⅱnl -b a /etc/issue-->>-b a 无论是否为空行,都列出行号

⑦翻页查看文档的指令
more /etc/man.config
·空格键space-->>向下翻一页
·Enter-->>向下翻一行
·:f-->>立刻显示文件名及目前显示的行数
·q-->>代表立刻离开more,不再显示该档案内容
·/-->>向下搜索关键字

⑧less
·pagedown、空格键-->>向下翻动一页
·pageup-->>向上翻动一页
·?-->>向上搜索
·n-->>重复前一个搜索(反向重复前一个搜索)

⑨head /etc/man.config-->>预设的情况中显示前面十行
head -n 20 /etc/man.config-->>显示前20行
tail /etc/man.config-->>预设只显示后面10行

⑩linux底下三个主要的时间变动:
·modification time(mtime):档案的“内容数据”变更时,就会更新这个时间
·status time(ctime):权限与属性被改了,就会更新这个时间
·access time(atime):档案的内容被取用时,就会读取这个时间,例如用cat读取档案,就会更新atime了
Ⅰ新建一个空档案
cd /tmp
touch testtouch-->>新建空的档案
Ⅱ检查档案日期
ll bashrc;ll --time=atime;ll --time=ctime bashrc
-->>第一条:mtime
-->>第二条:atime
-->>第三条:ctime
Ⅲ修改atime和mtime时间
touch -d "2 days ago" bashrc-->>ctime 没变

Ⅳ修改具体时间为2005/07/15 2:02
touch -t 0507150202 bashrc

11)、umask 002
touch test3
mkdir test4
ll-->>umask的作用

12)、设定档案的隐藏属性chattr
chattr +i attrtest-->>新增属性i,i可以让一个档案不能被删除,改名,设定连结也无法写入或新增资料
chattr -i attrtest-->>删除属性i

13)、lsattr-->>显示档案隐藏属性

14)、更新数据库档案的方法:/usr/bin/updatedb

原文地址:https://www.cnblogs.com/chenshaoping/p/8568926.html