+-等
777
u=rw go=r, o
, :所有者权限,组权限,其他用户权限find / -name file
:从根目录下搜索find / -user file
find /usr/bin
: 搜索具体目录下的find / -size
whereis pip
显示二进制文件、源码或者man的位置which pip
显示二进制文件或者可执行文件的完整路径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 Aug /filename -A 5 -B 5
:展示上下5行内容
grep ^Aug /filename
:找以Aug开始的
grep [0-9] /file
grep Aug -R /目录
sed 's/string1/string2/g test.txt'
:将txt文件中的string1替换成string2sed '/^$/d test.txt'
:删除文件所有空白行/^\s*$/
等于/^$/
是一个正则表达式paste file1 file2
:合并两个文件或者两栏目的内瓤paste -d '+' file1 file2
: 合并两个文件或两栏的内容,中间用’+'区分sort -r
:逆序排序sort -n
: 按照数字排序。否则就是字符串了# 比较,输出删除file1包含的内容
comm -1 file1 file2
# 比较,输出删除file1包含的内容
comm -2 file2 fil2
# 求并集
comm -3 file1 file2
tmux
ctrl-b d
tmux list-session
tmux attach-session -t 0
tmux kill-server -t 1
ctrl-b %: 右侧创建 "下侧创建
ctrl-b 箭头
标准输入:0
标准输出:1
错误输出:2
>
:覆盖
>>
:追加
2>
:错误重定向
&>
:标砖输入输出合并写入
# 统计列数
cols = head -n 1 file.txt | wc -w
for (( i = 1; i < $cols; i++ )); do
awk '{print $'"$i"'}' file.txt | xargs
done
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
sort -r
:逆序
sort -n
:按照出现的词频
sort -k1
:按照第一列进行排序
-l
:统计行数
-m
:字符数(包括空格和换行符)
-w
:单词数
-c
:字节数
L
:最长行的字符数
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}'
cat file.txt | tail +n 10 | head -n 1
grep string -A 5 -B 5 file.txt
find /var/mail/ -size +50M -exec rm {} \;
top
:定位某一个进程
jmap
:打印堆信息,生成堆快照
jhat
:使用分析快照文件,查看是否存在内容泄漏:如果使用的对内存远远小于实际的占用内容,那么可能会出现内存泄漏的情况。