永远也记不住的linux命令

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_37924639/article/details/78791182

记录一些经常用到,但总也记不住用法的linux命令


ls

列出当前目录下的所有文件&文件夹,大概是除了cd之外最常用的命令了

常用选项:
-R 递归地列出当前目录及子目录下的文件
-a 列出的文件中包括隐藏文件

另外还有一个方便的功能:列出文件名中包含特定字符串的文件,支持正则表达式
例如列出当前目录下文件名中包含’.txt’的文件:ls *.txt*

sed

对文件中字符串进行筛选过滤,常用于筛选日志

sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

find

查找命令
在当前目录下查找名叫“haha”的文件:find . -name "haha"

常用选项:
-type: 根据文件类型来查找文件
-f 普通文件
-d 目录文件
-l 链接文件
-b 块设备文件
-c 字符设备文件
-p 管道文件
-s socket文件

grep

查找命令
在当前目录下查找内容包含“haha”的文件:grep -r haha ./

tar

压缩和解压的命令
将a.tar.gz解压到文件夹b中:tar -zxvf a.tar.gz -C /b

xargs

给其他命令传递参数的过滤器。用好了可以说是神器了,例如下面一条命令是用find查找/data目录下以.txt文件结尾的文件,并复制到/tmp下:
find /data/ -name "*.txt" | xargs cp -t /tmp
-t 指定粘贴的目标路径,xargs把find的结果作为参数传给cp命令。

常用选项:
-n1: 表示将参数一个一个传过去
-I: 使用-I指定一个替换字符串{},这个字符串在xargs扩展时会被替换掉,例如:

ls | xargs -I {} echo haha{}

这条命令会把在当前目录下所有文件和目录前加上“haha”打印出来,只是为了举例而举例orz

test

常用功能是查看文件或目录是否存在:

test -d xiajbxie && echo "found" || echo "not found"

查看文件夹xiajbxie是否存在,若存在打印found,不存在打印not found

ls组合套路:查找并统计文件数

查找当前目录下所有文件名包含’.txt’的文件,并统计数量
ls *.txt* | wc -l

rename:重命名文件

rename支持利用perl正则语法重命名文件
rename "s/\(.*\)/_brack/" *(*
上面命令的作用是将目录下包含括号的文件中的括号包括括号中的内容替换成_brack,例如test(复件)替换为test_brack

alias:设置指令别名

我理解是用户可以自定义一个指令用于执行一个比较难敲的指令,相当于快捷键的感觉。
例如自定义一个指令writelog来编辑存在某处的日志文件:

alias writelog='vim /home/yy/xiajbxie/log.txt'

以后只需在终端敲writelog,就可以直接编辑这个log.txt了。
alias命令只对当次登入有效,如果想让指令一直生效则需写入相应配置文件中。

清除DNS缓存

sudo /etc/init.d/nscd restart
或者:service nscd restart
或者:service nscd reload
如果nscd无法执行,先安装nscd

修改用户密码

sudo passwd usrname
其中usrname为用户名,之后按提示操作即可。

展开阅读全文

没有更多推荐了,返回首页