Linux常见的21条面试命令
2024-01-01 06:50:42
文章目录
简单文件
查看+权限
- cp, cd, pwd, ls, mv, rm
- chmod
+-等
777
u=rw go=r, o
, :所有者权限,组权限,其他用户权限 - chown
- chgrp
文件搜索find()
find / -name file
:从根目录下搜索find / -user file
find /usr/bin
: 搜索具体目录下的find / -size
whereis pip
显示二进制文件、源码或者man的位置which pip
显示二进制文件或者可执行文件的完整路径
文件内容(查看查找处理)
cat
cat file
tac file
cat -n file
:显示文件行数more file
head -n +1000 file
tail -n +1000 file
:从1000行开始显示,显示1000行以后的cat filename | head -n 3000 | tail -n +1000
:显示1000行道3000行cat file | tail -n +3000 | head -n 1000
从3000行开始显示,显示1000行
tail
表示偏移量
head
表示总行数
grep
grep Aug /filename -A 5 -B 5
:展示上下5行内容
grep ^Aug /filename
:找以Aug开始的
grep [0-9] /file
grep Aug -R /目录
sed
sed 's/string1/string2/g test.txt'
:将txt文件中的string1替换成string2sed '/^$/d test.txt'
:删除文件所有空白行/^\s*$/
等于/^$/
是一个正则表达式
paste
paste file1 file2
:合并两个文件或者两栏目的内瓤paste -d '+' file1 file2
: 合并两个文件或两栏的内容,中间用’+'区分
sort
sort -r
:逆序排序sort -n
: 按照数字排序。否则就是字符串了
comm
# 比较,输出删除file1包含的内容
comm -1 file1 file2
# 比较,输出删除file1包含的内容
comm -2 file2 fil2
# 求并集
comm -3 file1 file2
系统
tmux
- 将会话放入到后台
ctrl-b d
- 查看当前tmux会话
tmux list-session
- 连接会话
tmux attach-session -t 0
- 删除所有会话
tmux kill-server -t 1
- 创建窗口
ctrl-b %: 右侧创建 "下侧创建
- 切换
ctrl-b 箭头
进程
内存
输入输出
标准输入:0
标准输出:1
错误输出:2
>
:覆盖
>>
:追加
2>
:错误重定向
&>
:标砖输入输出合并写入
常见的shell 命令
循环,判断,变量
# 统计列数
cols = head -n 1 file.txt | wc -w
for (( i = 1; i < $cols; i++ )); do
awk '{print $'"$i"'}' file.txt | xargs
done
函数
awk
awk '{print $2, $1}'
:输出第2行,第一行
行列转换
awk '
{
for (i=1; i<=NF; i++) {
if (NR == 1) {
arr[i] = $i;
} else {
arr[i] = arr[i] " " $i;
}
}
}
END {
for (i=1; i<=NF; i++) {
print arr[i];
}
}
' file.txt
grep
- -A
- -B
- -n
sed
sort
sort -r
:逆序
sort -n
:按照出现的词频
sort -k1
:按照第一列进行排序
uniq
wc
-l
:统计行数
-m
:字符数(包括空格和换行符)
-w
:单词数
-c
:字节数
L
:最长行的字符数
tr
tr 's' 't'
:替换
tr -d 'l'
删除
tr -s ' '
压缩重复字符
tr -s ' ' '\n' :将重复的空格压缩成\n
常见题目
词频统计
cat words.txt | tr -s '[:space:]' '\n' | sort | uniq -c | sort -nr -k1 | awk '{print $2, $1}'
转置文件
查看文件第10行
cat file.txt | tail +n 10 | head -n 1
找关键字的上下10行
grep string -A 5 -B 5 file.txt
删除大于50m的文件
find /var/mail/ -size +50M -exec rm {} \;
Linux如果内存占用过高怎么
top
:定位某一个进程
jmap
:打印堆信息,生成堆快照
jhat
:使用分析快照文件,查看是否存在内容泄漏:如果使用的对内存远远小于实际的占用内容,那么可能会出现内存泄漏的情况。
文章来源:https://blog.csdn.net/fuzekun/article/details/135320973
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!