Linux常用命令记录

一、grep命令

grep -r pattern files :递归查找
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep -E "pattern1 | pattern2" files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

二、sort命令

# 按照第二列排序
sort -n -t' ' -k 2 facebook.txt
# 先按照第二列,再按照第三列排序
sort -n -t' ' -k 2 -k 3 facebook.txt

-b   忽略每行前面开始出的空格字符。
-c   检查文件是否已经按照顺序排序。
-d   排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f   排序时,将小写字母视为大写字母。
-i   排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m   将几个排序好的文件进行合并。
-M   将前面3个字母依照月份的缩写进行排序。
-n   依照数值的大小排序。
-o<输出文件>   将排序后的结果存入指定的文件。
-r   以相反的顺序来排序。
-t<分隔字符>   指定排序时所用的栏位分隔字符。
-k   选择第几列

三、awk命令

awk -F ':' '{if ($1 > 5) print $0}' demo.txt

$n	当前记录的第n个字段,字段间由FS分隔
$0	完整的输入记录
ARGC	命令行参数的数目
ARGIND	命令行中当前文件的位置(从0开始算)
ARGV	包含命令行参数的数组
FILENAME	当前文件名
FS	字段分隔符(默认是任何空格)
IGNORECASE	如果为真,则进行忽略大小写的匹配
NF	一条记录的字段的数目
NR	已经读出的记录数,就是行号,从1开始

四、sed命令

Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

# 在testfile文件的第四行后添加一行
sed -e 4a\newLine testfile 
# 删除某些行
cat res.txt | sed '2,5d'
# 全局替换文件关键字
sed -i "s/aaa/bbb/g" res.txt
sed -i "s?aaa?bbb?g" res.txt
sed -i 's?#meta_dir#?'"${meta_dir}"'?g' res.txt

参数说明:
-e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
-f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
-h或--help 显示帮助。
-n或--quiet或--silent 仅显示script处理后的结果。
-V或--version 显示版本信息。
-i	直接编辑原文件

动作说明:
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

五、find命令

将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:

find . -name "*.c"

查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们:

find /var/log -type f -mtime +7 -ok rm {} \;

六、压缩解压命令(tar、gzip、zip、rar)

(1) .tar
打包:tar -cvf FileName.tar DirectionName
解包:tar -xvf FileName.tar

(2) .tar.gz
压缩:tar -zcvf FileName.tar.gz DirectionName
解压:tar -zxvf FileName.tar.gz

(3) .gz
压缩:gzip -k FileName.txt
解压:gzip -d FileName.txt.gz

(4) .zip
压缩:zip FileName.zip DirName
解压:unzip FileName.zip

(5) .rar
压缩:rar -e FileName.rar
解压:rar -a FileName.rar

七、mount命令

# 格式化磁盘
mkfs -t ext4 /dev/sdb1
# 挂载分区到目录
mount /dev/sdb1 /mnt

八、diff命令

diff a.log b.log  -y -W 50

-y或--side-by-side  以并列的方式显示文件的异同之处。
-W<宽度>或--width<宽度>  在使用-y参数时,指定栏宽。

九、more和less命令

这两个都比vim更快,适合超大文件读取。less比more命令具有更多优点,比如支持向上下翻页和搜索。

more命令:

Enter 向下n行,需要定义。默认为1行
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
q 退出more
-d 打开后显示提示
+n 显示指定行号

less命令:

-N 显示每行的行号
空格键 滚动一页
回车键 滚动一行
b 向后翻一页
d 向后翻半页
u 向前滚动半页
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦