Linux常用命令大全<一>

发布时间:2023年12月28日

文件操作

文件属性操作

chmod

改变文件读写执行权限

chown

改变所有者

  • chown fzk:fzk:冒号前表示用户,冒号后表示所在组。
  • chown :fzk:只改变所在组

chgrp

改变所在组

stat

文件状态,文件的权限,存储信息(大小,磁盘块的数量,索引结点的数量等),文件的访问、修改时间等。

rename

文件重命名

basename

文件名

dirname

文件目录名

文件内容操作

vim

  • j 下一行

  • k 上一行

  • 0 回到行首

  • $ 回到行尾

  • gg到开头

  • G到最后一行

  • i进入编辑模式

  • esc 然后进入命令模式。 :q 关闭, / 进行查找(n下一个,N上一个, esc + :nohgsearch停止匹配),:wq关闭并且保存 :!q强制退出

  • d 删除

  • dd 删除一行

  • y复制, p粘贴

  • 数字 + 上下左右 ,表示向上下左右x(行列)

  • u 就是ctrl + z

grep

查找文件

  • -i:忽略大小写。
  • -c:输出匹配行的数量
  • -A x:向上显示几行x行
  • -B x:向下显示x行
  • -n: 显示行号
  • -v 显示不包含的所有行 reverse的含义。
  • grep ^$ -vn file1.txt: 显示file1.txt中所有内容,并且进行编号。^$表示空字符串的正则表达式
  • -e 使用扩展的正则表达式,不用进行转义了。

egrep

  • |
  • ‘a+’
  • ‘^#’:以#开头
  • ‘a$’:以a结尾
  • ‘^a.*0$’: 以a开头,以0结尾的行
  • ‘ab[cd]’: abc或者abcd
  • (ab){3}包含3个以及以上的ab的内容

grepegrep是Linux中用于文本搜索和匹配的命令,它们之间有一些区别。

grep命令是最基本的文本搜索命令,它使用基本正则表达式(BRE)来匹配模式。BRE中有一些特殊字符(如*+?等)需要进行转义才能匹配它们的字面意义。例如,要匹配一个或多个数字,您需要使用\([0-9]\)

egrep命令是grep的扩展版本,它使用扩展正则表达式(ERE)来匹配模式。ERE比BRE更强大,支持更多的元字符和操作符,同时不需要进行额外的转义。ERE中的一些特殊字符和操作符包括+?|()等。例如,要匹配一个或多个数字,您只需使用([0-9])+

因此,egrep命令更为灵活,更容易书写和阅读,特别是当需要使用更复杂的模式匹配时。但请注意,egrep命令在执行时可能会稍微慢一些,因为它需要处理更复杂的正则表达式。

在实际使用中,grepegrep命令可以根据需要互换使用。另外,还有一个grep -E的选项,它等同于egrep命令,可以直接在grep命令中使用扩展正则表达式。

less

  • 上下换页(j下一行,k上一行)
  • 空格翻页,b上一页

cat

  • -n : 显示行号
  • 重定向>>

head

  • -n 显示行数
  • -c显示头脑不内容的字符数
  • head -n 5 | cat -n : 显示行号,并且只显示前5行
  • head -n 5 | nl:同上

tail

  • -n +20 20:分别表示从第20行开始,以及显示最后20
  • -f :可以追踪最近添加的内容
  • -c +20 20:从第几个自己显示、最后几个字节

split

cut

默认按照table作为分隔符

  • -d指定分隔符
  • -f 1:提取第1列

paste

  • -d 指定分隔符

join

两个文件连接

diff

比较两个文件的不同

wc

行数,字数,字节数

  • -w
  • -l
  • -c: 字节数

sort

按照首字母进行排序,按照行进行排序。

  • -t分隔符,默认为空格
  • -k 第几列
  • -n 按照数字进行排序
  • -r 逆序排序

uniq

去除重复行,必须是连续的重复行

  • -c 打印重复的次数

  • -d只打印有重复的记录

  • -u只打印重复的记录

diff

逐行比较两个文件的差异

  • -y进行比较: | 表示差异,> <表示多了一行,少了一行

  • patch

patch file1.txt file.patch

sed

流编辑器,对文件某一行进行增删查改

  • -n ‘3,5p’ file.txt 打印3到5行
  • -n ‘/an/p’ file.txt : //之间内容是正则表达式
  • ‘2,3d’:删除2到3行
  • '/an/d’删除含有an的行
  • ‘2a nice’ 在第二行后面增加
  • ‘2i 1323’ 在二行前面插入
  • ‘2c fdadfa’ 把第二行进行替换
  • '2,5c data’替换data这一行
  • ‘3s/abc/efg/g’ : 三/的替换,s开头表示替换,g结尾表示全局。把第三行abc替换成efg
  • -e ‘s/abc/efg/g;s/efg/abc/’:使用分号进行分割。
  • -i 进行文件的替换,相当于flush

awk

对文本的列进行编辑,是一个编程语言,但是一般只是用来输出

  • -F : ‘{print $1, “\t” ,$3}’ /etc/passwd : 用来指定每一列的分隔符,然后双引号加上制表符,使用逗号进行分割
  • -F : ‘$3>=500{print $1, $3}’ 进行判断

文件压缩

tar

tar -zxvf 文件 -C dir : 解压

tar -zcvf 文件 -C dir :压缩

tar -tf :显示压缩文件中的文件

zip

  • -dv 增加一个文件到 files.zip newFile.txt
  • unzip解压 -l
  • -t 检测是否损坏
  • -v 查看压缩比例
  • -d 指定解压目录

gzip

  • -dv :解压文件
  • 压缩比例能到60%
  • -l 显示压缩信息
  • -k 原文件不被删除
  • -t 查看是否被损坏

命令操作

whereis

显示命令相关的文件。执行文件,帮助文件等

which

显示是命令是哪个环境下的。

which java会显示usr/local/java/ 表示是在这个文件中的可执行文件

man

帮助,不多说

info

帮助,不做说

whatis

命令的简单描述

磁盘

du

  • -s 文件夹
  • -h 人类容易看的格式

df

  • -T 列出类型
  • -i : inode的使用情况

sync

缓冲区的数据写入到磁盘。非正常断电,很有用。

mount

  • -t ext4:查看挂载信息
  • linux一般会默认挂载到 /media/或者/mnt目录中
  • 如果不挂载,在/dev/目录下也会有对应的u盘信息,只不过无法访问。(一切皆文件,硬件和接口也是文件)
  • -o ro /dev/sdb /mnt /udisk以只读的方式挂载
  • umount 解除挂载
  • 可以有多个挂载点。比如把/dev/vda1挂载到/media/root/上,就可以访问这个文件夹,像访问/一样了。

umount

  • -v 设备名称
  • -v 挂载点

操作系统相关

uname

显示系统信息

  • -a显示系统所有相关信息
  • -m显示计算机硬件架构
  • -n显示主机名称
  • -v内核版本

etc/os-release

操作系统的发性版本

hostname

显示或者设置系统的主机名称

  • /etc/hosts
  • /etc/hostname
  • -I 显示IP地址

dmesg

显示开机信息

  • /var/log/demsg
  • dmesg | grep -i memory
  • dmesg | grep -i dma
  • dmesg | grep -i usb
  • dmesg | grep -i tty
  • -x 显示信息级别在这里插入图片描述
文章来源:https://blog.csdn.net/fuzekun/article/details/135273555
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。