1. mkdir命令
命令参数:
-m,--mode=模式,设定权限<模式>(类似chmod),而不是rwxrwxrwx减umask
-p,--parents可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
-v,--verbose每次创建新目录都显示信息
l 创建权限为777的目录
[root@client test]# mkdir -m 775 wade
l 创建一个递归目录
[root@client test]# mkdir -vpproject/{lib,bin,doc/{info,product},logs/{info,pro}}
[root@client test]# tree project/
project/
├── bin
├── doc
│ ├── info
│ └── product
├── lib
└── logs
├── info
└── pro
2. mv命令
命令格式:mv [选项] 源文件或目录 目标文件或目录
命令参数:
-b:若需覆盖文件,则覆盖前先行备份。
-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i:若目标文件 (destination)已经存在时,就会询问是否覆盖!
-u:若目标文件已经存在,且source比较新,才会更新(update)
-t :即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
l 文件改名
[root@client test]# mv log1.log log.log 将log1.log重命名为log.log
l 移动文件
[root@client test]# mv log.log wade 将log.log文件移到目录wade中
l 将文件log1.txt,log2.txt,log3.txt移动到目录test3中
[root@client test]# mv log1.txt log2.txt log3.txt test3
也可以使用-t参数
mv –t 目标目录 源文件
[root@client test]#mv –t test3 log1.txt log2.txt log3.txt
l 目录移动
[root@client test]# mv wade project 将目录wade移动到project目录下面,如果目录project不存在,将目录wade改名为project
3. find命令:
命令格式:findpathname -options [-print -exec -ok ...]
命令参数:
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command'{ } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
命令选项:
-name 按照文件名查找文件。
-perm 按照文件权限来查找文件。
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-mtime -n+n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 !file2 查找更改时间比文件file1新但比文件file2旧的文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件。d - 目录。c - 字符设备文件。p - 管道文件。
l - 符号链接文件。f - 普通文件。
l 根据关键字查找,查找当前目录下以“.log”结尾的文件
root@ubuntu:/test#ls -lF
total 120
-rw-r--r-- 1root root 1892 Aug 5 22:48 find.txt
-rw-r--r-- 1root root 63 Aug 1 20:52 log1.log
-rw-r--r-- 1root root 112 Aug 1 20:53 log2.log
drwxr-xr-x 2root root 4096 Aug 6 22:59 log.log/
-rw-r--r-- 1root root 72007 Aug 2 00:00 ping.txt
-rw-r--r-- 1root root 19575 Aug 1 21:29 process.txt
drwxr-xr-x 7root root 4096 Aug 6 15:58 project/
drwxr-xr-x 2root root 4096 Aug 3 22:05 test/
root@ubuntu:/test#find . -name "*.log"
./log2.log
./log1.log
./log.log
ex 按文件类型查找:查找文件类型为f,名字以“.log”结尾的文件
root@ubuntu:/test#find -type f -name "*.log"
./log2.log
./log1.log
ex 查找/etc一级目录下的目录文件并排序
root@ubuntu:/test#find /etc -type d -maxdepth 1|sort
ex 按大小查找文件
root@ubuntu:/test#find . -type f -size +1000c
./project/olboy/etc_file.txt
./find.txt
./process.txt
./ping.tx
ex find加xargs命令,来查找过滤文件删除日志文件
find ./ -type f -name “*.log” -mtime +7 |xargs rm –f
删除7天以前的以“.log”结尾的日志文件
也可以通过 find ./ -type f -name “*.log” -mtime +7 -exec rm -f {} \;
4.tar打包压缩文件
压缩打包文件:
-z,调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩
-j,调用bzip压缩文件
-c,建立新的归档文件
-v,显示处理过程中输出相关信息
-f,对普通文件进行操作
root@ubuntu:/test# ls
baudu.txt log1.log log.log process.txt test
find.txt log2.log ping.txt project
打包文件的命令:
例如将/test文件夹的下文件打包到/tmp(不加z只是打包,没有压缩)
tar –zcvf ./tmp/test.tar.gz(打包的名字) ./test/(需要打包文件的路径)
查看打包文件夹里面的文件:tar tf /tmp/test.tar.gz
排除打包文件用--exclude
打包压缩/test整个目录的文件(除/test/project文件外):
tar zcvf ./tmp/test1.tar.gz --exclude=./test/project ./test/
解压文件:
-x,从压缩文件中提取文件
-C,指定目录进行操作,如解压到指定目录
将/tmp/test1.tar.gz解压到/tmp/tar/文件下:
root@ubuntu:/# tar xvf ./tmp/test1.tar.gz -C ./tmp/tar/ 也可以在xvf前面加z表示该压缩是gzip压缩。
打包.bz的文件:root@ubuntu:/# tar jcvf./tmp/test.tar.bz ./test/
解压.bz的文件:root@ubuntu:/# tar xvf./tmp/test.tar.bz -C ./tmp/bz
5.wc命令
wc(word count)命令的功能统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
-c 统计字节数; -l 统计行数; -m 统计字符数; -w 统计字数。一个字被定义为由空白、跳格或者换行字符分割的字符串。
-L 打印最长行的长度。
6. stat命令
查看文件属性:
root@ubuntu:/test# stat wade.txt
File: 'wade.txt'
Size: 8 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 1179654 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2016-08-19 13:28:14.519079408 +0800
Modify: 2016-08-19 13:28:06.444333179 +0800
Change: 2016-08-19 13:28:06.444333179 +0800
7.cut命令
-b:以字节为单位进行分割
-c:以字符为单位进行分割
-d:自定义分隔符,要与-f一起用
-f:与-d一起使用,指定显示那个区域
-n:仅与-b一起使用,表示取消分割多字节字符
例如:
root@ubuntu:/test# cat pingTest.txt
PING baidu.com (220.181.57.217) 56(84) bytes of data.
64 bytes from 220.181.57.217: icmp_seq=1 ttl=128 time=63.9ms
64 bytes from 220.181.57.217: icmp_seq=2 ttl=128 time=63.8ms
l 提取pingTest.txt文件中每行的第3,第4,第5,以及第8个字节
root@ubuntu:/test# cat pingTest.txt |cut -b 3-5,8
NG i
bys
bys
l 提取pingTest.txt文件中的时间
root@ubuntu:/test# cat pingTest.txt |cut -d "="-f 4
PING baidu.com (220.181.57.217) 56(84) bytes of data.
63.9 ms
63.8 ms