常用Linux命令
2017-09-02 11:04
239 查看
(1) ls命令
ls –a列出目录所有文件,包括以.开始的隐藏文件
ls –A列出除.及 ..的其他文件
ls –r反序排列
ls –t以文件修改时间排序
ls –S以文件大小排序
ls –h以一度大小显示
ls –l除了文件明个之外,还将文件的权限、所有者、文件大小等信息详细列出来
(2) cd命令
进入要目录 cd /
进入“家”目录 cd ~
进入上一个工作目录 cd -
把上个命令的参数作为cd参数使用 cd !$
(3) pwd命令
查看当前路径 pwd
查看软连接的实际路径 pwd -P
(4) mkdir命令
可用选项:
-m对新建目录设置存取权限,也可以用chmod命令设置
-p可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好
当前工作目录下创建名为t的文件夹
mkdir t
在tmp目录下创建理解为test/t1/t的目录,若不存在,则创建
mkdir –p /tmp/test/t1/t
(5)rm命令
删除一个目录中的一个或多个文件或目录,如果没有使用-r选项,则rm不会删除目录(如果使用rm来删除文件,通常仍可以将该文件恢复原状)
(1)删除任何.log文件;删除前逐一询问确认
rm –I *.log
(2)删除test子目录及子目录中所有档案,并且不用一一确认
rm –rf test
(3)删除以-f开头的文件
rm -- -f*
(6)find命令
find pathname –options [-print –exec –ok …]
pathname : find命令所查找的目录路径,例如用.来表示当前系统,用/来表示系统根目录
-print : find命令将匹配的文件输出到标准输出
-exec : find命令对匹配的文件执行该参数所给出的shell命令,相应命令的形式为’command’{}
\:, 注意{}和\;之间的空格
-ok:和-exec的作用相同,只不过以一种更加安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行
-name按照文件名查找文件
-perm按文件权限来查找文件
-user按文件属主查找文件
-group按照文件所属的组来查找文件
-type查找某一类型的文件
b—块设备文件
d—目录
c—字符设备文件
l—符号链接文件
p—管道文件
f—普通文件
-size n : [c]查找文件长度为n块文件,带有c时表文件字节大小
-anim n :查找系统中最后N分钟访问的文件
-atime n :查找系统中最后n* 24小时访问的文件
-cmin n :查找系统中最后N分钟被改变文件状态的文件
-ctime n :查找系统中最后n* 24小时被改变文件状态的文件
-mmin n :查找系统中最后N分钟被改变文件数据的文件
-mtime n :查找系统中最后n*24小时被改变文件数据的文件
(用-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件)
-maxdepth n最大查找目录深度
-prune选项来指出需要忽略的目录,在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
-newer如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件
(1)查找48小时内修改过的文件
fnd –atime -2
(2)在当前目录查找以.log结尾的文件。“.”代表当前目录
find ./ -name ‘*.log’
(3)查找/opt目录下权限为777的文件
fnd /opt –perm 777
(4)查找大于1k的文件
fnd –size +1000c
find –size 1000c 查找等于1000字符的文件
(5)在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒)
find . –type f –mtime +10 –exec rm –f {} \;
(6)当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。按y键删除文件,按n键不删除
find . –name ‘*.log’ mtime +5 –ok –exec rm {} \;
(7)当前目录下查找文件名以password开头,内容包含“pkg”字符的文件
find . –name ‘passwd’ –exec grep “pkg” {} \;
(8)用exec选项执行cp命令
find . –name ‘*.log’ –exec cp {} test3 \;
(9)查找当前目录下每个普通文件,然后使用xargs来判断文件类型
find –type f –print | xargs file
(10)查找当前目录下所有以js结尾的并且其中包含’editor’字符的普通文件
find –type f –name “*.js” –exec grep –lf ‘ueditor’ {} \;
find –type f –name ‘*.js’ | xargs grep –lf ‘editor’
(11)利用xargs执行mv命令
find . –name “*.log” | xargs –I mv {} test4
(12)用grep命令在当前目录下的所有普通文件中搜索hostname这个词,并标出所在行
find . –name \*(转义)-type f –print | xargs grep –n ‘hostnames’
(13)查找当前目录中以一个小写字母开头,最后是4到9加上.log结束的文件
find . –name ‘[a-z’]*[4-9].log’ -print
(14)在test目录查找不在test4目录查找
find test –path ‘test3/test4’ –prune –o -print
(15)查找更改时间比文件log2012.log新但比文件log2017.log旧的文件
find –newer log2012.log ! –newer log2017.log
depth可以使find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份目录中的文件
find 命令从文件系统哦能否的跟目录开始,查找一个名为CON.FILE的文件。它将首先匹配所有的文件然后再进入自目录中查找
find / -name “CON.FILE” –depth -print
(7) grep命令
文本搜索命令
-A n --after-context显示匹配字符后n行
-B n --before-context显示匹配字符前n行
-C n –context显示匹配字符前后n行
-c –count计算符合样式的列数
-i忽略大小写
-l只列出文件内容符合指定的样式的文件名称
-f从文件中读取关键词
-n显示匹配内容的文件中行数
-R递归查找文件夹
Grep的规则表达式
^ #锚定行的开始如:’grep’匹配所有以grep开头的行
$ #锚定行的结束如:’grep$’匹配所有以grep结尾的行
. #匹配一个非换行的字符如:’gr.p’匹配gr后接一个任意字符,然后是p
* #匹配另个或多个先前字符如:’*grep’匹配所有一个或多个空格后紧跟grep的行
.* #一起用代表任意字符
[] #匹配一个指定范围内的字符,如’[Gg]rep’匹配Grep和grep
[^] #匹配一个不在指定范围内的字符,如:’[^A-FH-Z]rep’匹配不包含A-F和T-Z的一个字母开头,紧跟rep的行
\(..\) #标记匹配字符,如’\(love\)’,love被标记为1
\< #锚定单词的开始 如’\<grep’匹配包含以grep开头的单词的行
\> #锚定单词的开始 如’\<grep’匹配包含以grep结尾的单词的行
x\{m\} #重复字符x, m次,如:
‘0\{5\}’匹配包含5个0的行
x\{m,\} #重复字符x至少m次,
如:’o\{5,\}’匹配至少有5个o的行
x\{m,n\} #重复字符x至少m次,不多于n次,如’o\{5,10\}’匹配5~10个o
\w #匹配文字和数字字符,也就是[A-Za-z0-9],如:’G\w*p’匹配以G后跟零个或多个文字或数字字符,然后是p
\W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等
\b #单词锁定符,如:’\bgrep\b’只匹配grep
ls –a列出目录所有文件,包括以.开始的隐藏文件
ls –A列出除.及 ..的其他文件
ls –r反序排列
ls –t以文件修改时间排序
ls –S以文件大小排序
ls –h以一度大小显示
ls –l除了文件明个之外,还将文件的权限、所有者、文件大小等信息详细列出来
(1)按易读方式按时间范旭排序,并显示文件详细信息 ls -lhrt (2)按大小反序显示文件详细信息 ls -lrs (3)列出当前目录中所有以“t”开头的目录的详细内容 ls –l t* (4)列出文件绝对路径(不包含隐藏文件) ls | sed “s:^:’pwd’/:” (5)列出文件绝对路径(包含隐藏文件) find $pwd –maxdepth 1 | xargs ls –d
(2) cd命令
进入要目录 cd /
进入“家”目录 cd ~
进入上一个工作目录 cd -
把上个命令的参数作为cd参数使用 cd !$
(3) pwd命令
查看当前路径 pwd
查看软连接的实际路径 pwd -P
(4) mkdir命令
可用选项:
-m对新建目录设置存取权限,也可以用chmod命令设置
-p可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好
当前工作目录下创建名为t的文件夹
mkdir t
在tmp目录下创建理解为test/t1/t的目录,若不存在,则创建
mkdir –p /tmp/test/t1/t
(5)rm命令
删除一个目录中的一个或多个文件或目录,如果没有使用-r选项,则rm不会删除目录(如果使用rm来删除文件,通常仍可以将该文件恢复原状)
(1)删除任何.log文件;删除前逐一询问确认
rm –I *.log
(2)删除test子目录及子目录中所有档案,并且不用一一确认
rm –rf test
(3)删除以-f开头的文件
rm -- -f*
(6)find命令
find pathname –options [-print –exec –ok …]
pathname : find命令所查找的目录路径,例如用.来表示当前系统,用/来表示系统根目录
-print : find命令将匹配的文件输出到标准输出
-exec : find命令对匹配的文件执行该参数所给出的shell命令,相应命令的形式为’command’{}
\:, 注意{}和\;之间的空格
-ok:和-exec的作用相同,只不过以一种更加安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行
-name按照文件名查找文件
-perm按文件权限来查找文件
-user按文件属主查找文件
-group按照文件所属的组来查找文件
-type查找某一类型的文件
b—块设备文件
d—目录
c—字符设备文件
l—符号链接文件
p—管道文件
f—普通文件
-size n : [c]查找文件长度为n块文件,带有c时表文件字节大小
-anim n :查找系统中最后N分钟访问的文件
-atime n :查找系统中最后n* 24小时访问的文件
-cmin n :查找系统中最后N分钟被改变文件状态的文件
-ctime n :查找系统中最后n* 24小时被改变文件状态的文件
-mmin n :查找系统中最后N分钟被改变文件数据的文件
-mtime n :查找系统中最后n*24小时被改变文件数据的文件
(用-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件)
-maxdepth n最大查找目录深度
-prune选项来指出需要忽略的目录,在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
-newer如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件
(1)查找48小时内修改过的文件
fnd –atime -2
(2)在当前目录查找以.log结尾的文件。“.”代表当前目录
find ./ -name ‘*.log’
(3)查找/opt目录下权限为777的文件
fnd /opt –perm 777
(4)查找大于1k的文件
fnd –size +1000c
find –size 1000c 查找等于1000字符的文件
(5)在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒)
find . –type f –mtime +10 –exec rm –f {} \;
(6)当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。按y键删除文件,按n键不删除
find . –name ‘*.log’ mtime +5 –ok –exec rm {} \;
(7)当前目录下查找文件名以password开头,内容包含“pkg”字符的文件
find . –name ‘passwd’ –exec grep “pkg” {} \;
(8)用exec选项执行cp命令
find . –name ‘*.log’ –exec cp {} test3 \;
(9)查找当前目录下每个普通文件,然后使用xargs来判断文件类型
find –type f –print | xargs file
(10)查找当前目录下所有以js结尾的并且其中包含’editor’字符的普通文件
find –type f –name “*.js” –exec grep –lf ‘ueditor’ {} \;
find –type f –name ‘*.js’ | xargs grep –lf ‘editor’
(11)利用xargs执行mv命令
find . –name “*.log” | xargs –I mv {} test4
(12)用grep命令在当前目录下的所有普通文件中搜索hostname这个词,并标出所在行
find . –name \*(转义)-type f –print | xargs grep –n ‘hostnames’
(13)查找当前目录中以一个小写字母开头,最后是4到9加上.log结束的文件
find . –name ‘[a-z’]*[4-9].log’ -print
(14)在test目录查找不在test4目录查找
find test –path ‘test3/test4’ –prune –o -print
(15)查找更改时间比文件log2012.log新但比文件log2017.log旧的文件
find –newer log2012.log ! –newer log2017.log
depth可以使find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份目录中的文件
find 命令从文件系统哦能否的跟目录开始,查找一个名为CON.FILE的文件。它将首先匹配所有的文件然后再进入自目录中查找
find / -name “CON.FILE” –depth -print
(7) grep命令
文本搜索命令
-A n --after-context显示匹配字符后n行
-B n --before-context显示匹配字符前n行
-C n –context显示匹配字符前后n行
-c –count计算符合样式的列数
-i忽略大小写
-l只列出文件内容符合指定的样式的文件名称
-f从文件中读取关键词
-n显示匹配内容的文件中行数
-R递归查找文件夹
Grep的规则表达式
^ #锚定行的开始如:’grep’匹配所有以grep开头的行
$ #锚定行的结束如:’grep$’匹配所有以grep结尾的行
. #匹配一个非换行的字符如:’gr.p’匹配gr后接一个任意字符,然后是p
* #匹配另个或多个先前字符如:’*grep’匹配所有一个或多个空格后紧跟grep的行
.* #一起用代表任意字符
[] #匹配一个指定范围内的字符,如’[Gg]rep’匹配Grep和grep
[^] #匹配一个不在指定范围内的字符,如:’[^A-FH-Z]rep’匹配不包含A-F和T-Z的一个字母开头,紧跟rep的行
\(..\) #标记匹配字符,如’\(love\)’,love被标记为1
\< #锚定单词的开始 如’\<grep’匹配包含以grep开头的单词的行
\> #锚定单词的开始 如’\<grep’匹配包含以grep结尾的单词的行
x\{m\} #重复字符x, m次,如:
‘0\{5\}’匹配包含5个0的行
x\{m,\} #重复字符x至少m次,
如:’o\{5,\}’匹配至少有5个o的行
x\{m,n\} #重复字符x至少m次,不多于n次,如’o\{5,10\}’匹配5~10个o
\w #匹配文字和数字字符,也就是[A-Za-z0-9],如:’G\w*p’匹配以G后跟零个或多个文字或数字字符,然后是p
\W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等
\b #单词锁定符,如:’\bgrep\b’只匹配grep
(1)查找指定线程 Ps –ef | grep svn (2)查找指定进程个数 Ps –ef | grep svn –c (3)从文件中读取关键词 Cat test1.txt | grep –f key.log (4)从文件中递归查找以grep开头的行,并只列出文件 Grep –IR ‘^grep’ /tmp (5)查找非x开头的行内容 Grep ‘^[^x]’ test.txt (6)显示包含Ed或者at字符的内容行 Grep –E ‘ed|at’ test.txt
相关文章推荐
- 工作中常用的linux命令(1)
- Java问题排查常用linux命令
- 常用的Linux命令
- 总结一下自己常用的linux命令(实战or面试必备)
- 几个常用的linux命令(操作服务器时会用到)
- 常用linux命令
- 常用的linux命令
- 常用的linux命令(我常用的哈哈)
- IOS开发常用的linux命令
- 100个常用的linux命令
- 每天一个常用的linux命令(16)--wc
- 常用的Linux命令
- 每天一个常用的linux命令(17)--chmod
- 工作中常用的linux命令
- 工作中常用的linux命令
- 记录--常用的linux命令
- 性能测试常用的linux命令
- linux命令、软件的安装、卸载以及常用命令
- 积累的常用linux命令
- 我常用的linux命令