unix目录文件
① UNIX下如何显示文件夹以及文件夹内所有文件的大小
-sk . 或 -sh . ,也可以把点号换成目录路径,可统计整个目录下所有文件的大小总和
ls -l|tr -s " "|cut -f5,8 -d ' ' 只显示每个文件的大小,也可以用awk实现
② 查看unix系统根目录下有哪些子目录
^查看的方法楼上都说了:
1)你切换到根,使用cd /;
2)list目录列表,使用ls -l | grep '^d'比较给力(不是目录的被过滤了,虽说根下一般没有文件);
关于unix标准文件系统需要的目录,推荐看下Filesystem Hierarchy Standard,解释比较完整
http://www.pathname.com/fhs/
③ unix find命令在根目录下查文件夹
find ./ | grep '关键字'
加个|通道符就可以了
==
脚本解释:用find ./ 可列出当前文件夹下所有
==
find ./
结果
./
./a
./a/b
./a/b/c
./a/b/c/SB6D2003A0
./a/b/c/PA4D1712A0
./a/b/c/PA4C1559A0
./a/b/c/SB8E0768A0
./a/b/c/PB6D1881A0
./a/b/c/SB6D1524A0
./a/b/c/SB6E1651A0
find ./|grep 1524
结果:
./a/b/c/SB6D1524A0
④ UNIX目录与文件
用ls-a命令是区分不了目录文件和普通文件的,它是用来显示隐含文件的。你可以用ls-l命令内来查看,比如有下面容内容:
#ls-l
总用量31976
-rw-r--r--1rootroot8892008-05-21anaconda-ks.cfg
-rwxr-xr-x1rootroot1402008-05-25a.sh
………………
drwxr-xr-x7rootroot40962005-12-16vmware-tools-distrib
-rwxr--r--1rootroot182008-05-20x.sh
每行第一个字符用来标识文件类型,第一个字符为“-”代表普通文件,为“d”代表目录文件。
⑤ unix查看目录下所有文件(不含路径)
^只要档案名
ls -al | awk '$1 ~ /^-/{print $NF}'
如果要加入统计档案的数目,如是
ls -la | awk '$1 ~ /^-/{s++;print $NF}END{print "total:", s}'
⑥ 关于UNIX下 直接进目录的命令
1.1 ls
[语法]: ls [-RadCxmlnogrtucpFbqisf1] [目录或文件......]
[说明]: ls 命令列出指定目录下的文件,缺省目录为当前目录 ./,缺省输出顺序为纵向按字符顺序排列。
-R 递归地列出每个子目录的内容
-a 列出所有文件,包括第一个字符为“.”的隐藏文件
-d 若后面参数是目录,则只列出目录名而不列出目录内容,常与-l选项连
用以显示目录状态。
-C 输出时多列显示
-x 横向按字符顺序排列
-m 输出按流式格式横向排列,文件名之间用逗号(,)分隔
-l 长列表输出,显示文件详细信息,每行一个文件,从左至右依次是:
文件存取模式 链接数 文件主 文件组 文件字节数 上次修改时间
其中文件存取模式用10个字母表示,从左至右的意义如下:
第一个字母表示文件种类,可以是以下几种情况:
d 为目录文件
l 为链接
b 为块文件
c 为字符型文件
p 为命名管道(FIFO)
- 为普通文件
后面9个字母分别表示文件主、同组用户、其他用户对文件的权力,用r表示可读,w 表示可写,x 表示可执行。如果是设备文件,则在文件字节数处显示:主设备 从设备。
-n 与-l选项相同,只是文件主用数字(即UID)显示,文件组用数字
(即GID)表示
-o 与-l选项相同,只是不显示文件组
-g 与-l选项相同,只是不显示文件主
-r 逆序排列
-t 按时间顺序排列而非按名字
-u 显示时间时使用上次访问时间而非上次修改时间
-c 显示时间时使用上次修改i节点时间而非上次修改时间
-p 若所列文件是目录文件,则在其后显示斜杠(/)
-F 在目录文件后加’/’,在可执行文件后加’*’
-b 文件名中若有非打印字符,则用八进制显示该字符
-q 文件名中的打印字符用’?’表示
-i 显示节点号
-s 显示文件长度时使用块长度而非字节长度
-f 将后面的参数解释为目录并列出其中的每一项
-1 每行仅列一项
[例子]:
ls 列出当前目录下的文件
ls -al /bin 以长列表的形式列出目录 /bin 下的所有文件,包括隐藏文件
⑦ unix中复制一个文件夹和文件夹中的所有文件,用什么指令
cp命令
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的命令一样,功能非常强大。
语法: cp [选项] 源文件或目录 目标文件或目录
说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各选项含义如下:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
$ cp - i exam1.c /usr/wang/shiyan1.c
该命令将文件exam1.c拷贝到/usr/wang 这个目录下,并改名为 shiyan1.c。若不希望重新命名,可以使用下面的命令:
$ cp exam1.c /usr/ wang/
$ cp - r /usr/xu/ /usr/liu/
将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中。mv命令
用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同DOS下的ren和move的组合。
语法:mv [选项] 源文件或目录 目标文件或目录
说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
命令中各选项的含义为:
- I 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
- f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。
如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户在不经意的情况下用mv命令破坏另一个文件,建议用户在使用mv命令移动文件时,最好使用i选项。
需要注意的是,mv与cp的结果不同。mv好象文件“搬家”,文件个数并末增加,而cp对文件进行复制,文件个数增加了。
例1:将/usr/xu中的所有文件移到当前目录(用“.”表示)中:
$ mv /usr/xu/ * .
例2:将文件wch.txt重命名为wjz.doc
$ mv wch.txt wjz.doc
rm命令
在linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用rm命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
rm命令的一般形式为:
rm [选项] 文件…
如果没有使用- r选项,则rm不会删除目录。
该命令的各选项含义如下:
- f 忽略不存在的文件,从不给出提示。
- r 指示rm将参数中列出的全部目录和子目录均递归地删除。
- i 进行交互式删除。
使用rm命令要格外小心。因为一旦一个文件被删除,它是不能被恢复的。例如,用户在输入cp,mv或其他命令时,不小心误输入了rm命令,当用户按了回车键并认识到自己的错误时,已经太晚了,文件已经没有了。为了防止此种情况的发生,可以使用rm命令中的 i选项来确认要删除的每个文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件将被保留。在下一个例子中,用户要删除文件test和example。然后会被要求对每个文件进行确认。用户最终决定删除example文件,保留test文件。
$ rm - ii test example
Remove test ?n
Remove example ?y
⑧ unix系统v的目录项包含哪些内容
不同文件系统的inode内容不太一样,但通常都含有以下信息: struct inode { int i_mode; 文件类型(目录、块设备、字符设备、普通文件、权限等) char i_nlink; 文件硬链接数 char i_uid; 属主ID(UID) char i_gid; 属主组ID(GID) char i_size0; 文件大小 char *i_size1; 文件所使用的磁盘块的实际数目 int i_addr[8]; 块地址数组 int i_atime[2]; 最近一次访问时间 int i_mtime[2]; 最近一次修改时间 int i_ctime[2]; 最近inode更改时间 };
⑨ 在UNIX中 怎么删除该目录中所有文件夹,以及文件夹下所有文件 谢谢
首先需要知道的是 文件夹不为空的时候是无法删除的。所以删除文件夹之前需要把其中的文件都删除
可以这样子操作
第一步 删除文件夹下的所有的文件
rm -f ./*/*
第二步 删除文件夹
rmdir *
⑩ UNIX 下目录也是文件,那目录文件存放在哪里,存放目录文件的目录的目录文件存放在什么目录里
有个最大的总目录,写在硬盘的最开始的位置,他是特殊的。普通的目录只是普通的文件,和其他文件一样随便存放在硬盘的块区上,只是存放格式比较特殊,不过还是总目录告诉操作系统,这是个目录的,以目录的方法读这个块区上的数据。