Linux常用命令总结

1. mkdir命令

命令参数

-m,--mode=模式,设定权限<模式>(类似chmod),而不是rwxrwxrwx减umask

-p,--parents可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录; 

-v,--verbose每次创建新目录都显示信息

创建权限为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的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

文件改名

[root@client test]# mv log1.log log.log 将log1.log重命名为log.log

移动文件

[root@client test]# mv log.log wade 将log.log文件移到目录wade中

将文件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

目录移动

[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 - 普通文件。

根据关键字查找,查找当前目录下以“.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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值