Linux常用命令大全<一>
文件操作
文件属性操作
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的内容
grep
和egrep
是Linux中用于文本搜索和匹配的命令,它们之间有一些区别。
grep
命令是最基本的文本搜索命令,它使用基本正则表达式(BRE)来匹配模式。BRE中有一些特殊字符(如*
、+
、?
等)需要进行转义才能匹配它们的字面意义。例如,要匹配一个或多个数字,您需要使用\([0-9]\)
。
egrep
命令是grep
的扩展版本,它使用扩展正则表达式(ERE)来匹配模式。ERE比BRE更强大,支持更多的元字符和操作符,同时不需要进行额外的转义。ERE中的一些特殊字符和操作符包括+
、?
、|
、()
等。例如,要匹配一个或多个数字,您只需使用([0-9])+
。
因此,egrep
命令更为灵活,更容易书写和阅读,特别是当需要使用更复杂的模式匹配时。但请注意,egrep
命令在执行时可能会稍微慢一些,因为它需要处理更复杂的正则表达式。
在实际使用中,grep
和egrep
命令可以根据需要互换使用。另外,还有一个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 显示信息级别
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!