每周linux学习(2)---- linux文件目录

来源:互联网 发布:sql删除dept外键约束 编辑:程序博客网 时间:2024/06/07 01:58
1、 cd 命令:进入指定的目录
    . 当前目录
.. 上一层目录
- 上次进入的目录
~ 返回当前用户的根目录
~account 返回account用户的根目录

2、mkdir 创建文件目录:
   mkdir -p 可以创建多层目录,如mkdir test/test1/test2
   mkdir -m 权限 目录: mkrdir -m 644 test 创建一个权限为644的目录test
   rmdir 删除空目录
   
3、使用ls命令查看目录文件信息,详细参数:
   -a  :全部的文件,包括隐藏文件及开头为.的文件
   -A  :全部的文件,包括隐藏文件但不包括. 与..这两个目录
   -d  :仅仅列出目录本身,而不是列出目录内的文件
   -f  :直接列出结果,而不进行排序
   -F  :根据文件目录等信息,给予附加的信息,如:*代表可执行,/代表目录,=代表 socket文件,|代表FIFO文件
   -h  :将文件容量已(GB,KB的方式显示)
   -i  :列出inode号码
   -l  :长格式输出,包括文件的属性和权限等资料
   -n  :列出uid和gid而非使用者与群组的名称
   -r  :将排序结果反响输出
   -R  :联通子目录内容一起列出来,等于该目录下的所有文件都会显示出来
   -S  :以文件容量大小排序,而不是文件名排序
   -t  :按照文件时间排序而不是文件名
   --color-never  不要根据文件特性给予颜色显示
   --color-always 总是显示颜色
   --color-auto 让系统自行根据设置来判断是否给予颜色
   --full-time 以完整时间模式输出
   --time=(atime,ctime) 输出access时间或改变权限属性时间,而非内容变更时间
   
4、使用复制,删除,移动命令:
   cp 复制文件或者目录:
       -a  与-pdr的意思一致
  -d  如果来源文件为连接文件的属性,则复制连接文件属性而非文件本身
  -f  强制的意思,若目标文件已经存在并且无法开启,则移除后再尝试一次。
  -i  如果目标文件已经存在时,再覆盖时会先询问动作的执行
  -l  进行硬式连结的连结文件建立,而非复制文件本身
  -p  连同文件的属性一起复制,并非使用预设属性
  -r  递归连续复制,用于目录的复制行为;
  -s  复制成为符号连结文件
  -u  如果目标比复制的源文件旧才更新目标文件.
  
  如果复制来源文件有两个以上,则目的文件一定要是目录才行
  
  
5、rm删除文件或目录命令:
        -f 忽略不存在的文件,不会出现警告信息(rm -f file强制删除)
-i 互动模式,再删除前会询问使用者是否进行删除操作(rm -i file)
-r 递归删除
6、mv移动文件与目录,或者更改文件名:
        -f  : 强制移动,目标文件存在就直接覆盖
-i  : 如果目标文件已经存在,就会询问是否覆盖
-u  : 如果目标文件已经存在,并且source比较新,才会更新。


7、basename和dirname获取文件名和目录名:
        basename /app/deskclock/Android.mk 结果为Android.mk
dirname /app/deskclock/Android.mk 结果为/app/deskclock

8、查看文件命令:
        cat  从第一行开始显示文件内容
   -A 相当于-vET,列出一些特殊字符而不是空白
-b 列出行号,仅仅针对非空白行做行号显示,空白行不显示行号
-E 将结尾的断行字元$显示出来
-n 列印处行号,连同空白行也列出
-T 将TAB键以^I显示出来
-v 列出一些看不出来的特殊字符
tac  从最后一行开始显示,是cat的倒写
nl  显示的时候,顺道输出行号
   -b :指定行号指定的方式,主要有两种:
   -b a :表示不论是否为空行,同样列出行号 = cat -n
-b t :如果有空行,空的那一行不要列出行号
-n :列出行号表示的方法,主要有三种:
   -n ln:行号在荧幕的最左方显示
-n rn:行号在右方显示,且不加0
-n rz:行号在自己的最右方显示,且加0
more  分页显示文件内容
less  与more类似,但是比more多了往前翻页的功能
head  只看头10行(默认)
   -n  从开头显示行数
tail  只看尾部10行(默认)
   -n  从尾部显示行数
-f  保持tail指令的侦测,直到输入CTRL+C中断侦测
od    以二进制的方式查看文件
   -t  后面接各种文件类型的输出:
   a  :利用预设的字符来输出
c  :使用ASCII字符来输出
d[size]  :利用十进制来输出资料,每个整数占用size Bytes;
f[size]  :利用浮点数值来输出资料,每个整数占用size Bytes;
o[size]  :利用八进制来输出资料,每个整数占用size Bytes;
x[size]  :利用十六进制来输出资料,每个整数占用size Bytes;
如:
od -t oCc Android.mk  以八进制位数列出存储值与ASCII的对照表
SIZE is a number.  For TYPE in doux, SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L
                for sizeof(long).  If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long 
double).

9、查看、修改文件修改、访问、属性变化时间:
    ls -l == ls -l --time=mtime; 查看文件内容修改时间
ls -l --time=atime 查看文件访问时间
ls -l --time=ctime 查看文件状态、属性更新时间
touch 修改文件修改、访问、属性变化时间:
   -a  仅修改access time;
-c  仅修改文件的时间,如果该文件不存在则不建立新文件。
-d  后面可以接受修改的日期而不用目前的日期,也可以使用--date="时间"
-m  仅修改mtime;
-t  后面可以接受修改的时间而不用目前的时间,格式[YYMMDDhhmm]

11、改变权限:
    chmod  , 更改的权限有三种类型,r,w,x,对应的权限分数分别是4,2,1,如果一个文件权限是:-rw-rw-r--意思就是具有664权限,
对于user具有rw权限,对于group具有rw权限,对于others具有r权限

12、除了基本的r,w,x权限外,在Linux的Ext2/Ext3文件系统上,我们可以设置其他的系统隐藏属性,可以通过chattr来设定,用lsattr来查看


13、文件预设权限:umask
    直接输入umask输出为数字型的权限设定分数;
输入umask -S以符号类型的方式显示权限

14、chattr设置文件隐藏属性:
    + 增加一个参数
- 移除一个参数
= 设置一定,且仅有后面接的参数

A:当设置了A这个属性时,存取时间atime将不会被修改,对于速度较慢的电脑有帮助;
S:一般文件是非同步写入磁盘的,加上此属性将会在修改后同步到磁盘修改。
a:设置此属性后,文件只能增加不能删除和修改,只有root用户才能设定此属性
c:这个属性设置后将会自动的将此文件压缩,读取时将自动解压缩
d:当dump程序被执行的时候,设置d属性将可使该文件不会被dump备份
i:可以设置文件不能被删除、改名、设置连接、写入、新增信息。
s:设置此属性的文件如果被删除,将会完全的移除处这个硬盘空间,无法补救
u:与s相反,如果文件删除了,还存在与硬盘空间,可以补救

15、lsattr 显示文件隐藏属性
    -a :将隐藏文件的属性也显示出来
-d :如果跟的是目录,仅列出目录本身的属性而非目录内的文件名
-R :联通子目录的资料一起列出来

16、使用file指令可以知道文件的基本资料


17、which  搜索执行命令所在的路径:
    -a 将所有PATH目录中可以找到的指令均列出

    whereis 搜索命令的文件名:
    -b 只找到binary格式的文件
-m 只找在说明文件manual路径下的文件
-s 只找source 来源文件
-u 搜寻不在上述三个项目中的其他特殊文件
locate 定位搜索包含字符串文件路径:
-i 忽略大小写的效果;
-r 后面可以接正则表达式的显示方式

18、find 查找文件:
    与时间有关的参数:
    -atime:文件访问时间
-ctime:文件状态、属性更新时间
-mtime:文件内容更新时间:
     n  n为数字,表示在n天之前的一天之内被更改内容的文件;
 +n 列出在n天之前(不含n本身)被更改的文件
 -n 列出在n天之内(含n本身)被修改的问及那
-newer file:列出比file还要新的文件名

与使用者或群组名称有关的参数:
-uid n : n为数字,表示使用者的账号id
-gid n : n表示群组名称的ID
-user name : name为使用这个账号
-group name: name为群组的名称
-nouser : 寻找文件的拥有者不存在/etc/passwd的人
-nogroup : 寻找文件的拥有群组不存在与/etc/group的文件

与文件权限及名称有关的参数:
-name filename : 根据filename 文件名搜索文件
-size [+-]SIZE : 搜索比SIZE大或小的文件(SIZE有两种规格,1是c代表byte,k代表1024bytes,find -size +50k代表比50kb大的文件)
-type TYPE:搜索文件类型为TYPE的,主要有:一般正规文件(f),装置文件(b,c),目录(d),连接文件(l),socket(s),FIFO(p)等属性
-perm mode:搜索文件权限等于mode的文件,如具有-rw-rw-rw的权限mode值为666
-perm -mode:搜索文件权限包括mode的权限,如mode为666,则-rwx-rwx-rw的文件也被筛选
-perm +mode:搜索文件权限包含任一mode的权限文件,如果搜索666mode文件,那么-rw-r-r的也会显示出来因为包含rw的权限
0 0
原创粉丝点击