linux 常用命令整理

  • 常用命令

.当前目录

..上级目录

cp a.txt b.txt 复制并命名

cp -r /home/test /root/test2   复制目录

mv a.txt /home/b.txt  移动并重命名

rm -rf a.txt 删除当前目录下的a.txtrf强制删除不提示,rm -rf /整个系统删除慎用

mkdir -p /home/mtx/study  若不存在创建目录

touch a.txt  新建文件

./jmeter 执行当前目录下的文件

pwd

  • 文件编辑

vi ./a.txt  编辑 vim高级编辑

i进入编辑模式

Esc 退出编辑模式

在非编辑模式下

Ctrl+f: 向上翻页

Ctrl+b: 向下翻页

Ctrl+d: 向上翻半页

Ctrl+u: 向下翻半页

G:移动光标到文件最后

:0 回车:移动光标到文件第一行

:set number :显示行号

:1,$ s/info 52/err 77/g    从第一行到最后一行,将所有的’info 52’替换为’err 77’

:s/info 52/err 77/g    将当前行的的’info 52’替换为’err 77’

^:移动到行首

$:移动到行尾

yy:复制选中内容

p:粘贴

dd:删除光标所在行

/abc:搜索文件中包含abc的行

:wq :保存退出

  • 文件查看

cat a.txt 一次查看所有信息

more a.txt 分屏查看,按空格下一页,按b上一页面

less a.txt 分屏查看,按空格下一页,按b上一页面
tail -100 a.txt 查看文件后100

tail -f a.txt 实时查看文件尾

head -100 a.txt  查看前100

  • 包管理工具yum(相当于苹果的app store)

从指定的服务器自动下载prm包且安装,自动处理依赖关系,且一次性安装所有依赖的软件包,无须繁琐地一次次下载、安装

yum list:列表所有的包(已安装+可安装)

yum list installed:列表已安装的包

yum search 包名:查找指定包

yum install -y 包名:安装指定包(-y 遇到询问自动确认yes

yum remove 包名:删除指定包

yum update 包名:更新指定包

  • 文件压缩、解压缩

zip -r test.zip test 将当前test文件夹压缩为test.zip

unzip test.zip  解压test.zip到当前目录

unzip test.war 解压test.war到当前目录

tar cvf test.tar.gz test 将当前test文件夹压缩为test.tar.gz

tar xvf test.tar.gz test.tar.gz解压到当前目录

tar tvf test.tar.gz  不解压直接查看test.tar.gz包含的文件列表

zcat test.tar.gz 直接查看test.tar.gz压缩包里的内容

  • l权限控制

chmod +x ./lcx.txt 对当前目录下的lcx.txt文件加执行权限

chmod +x ./* 对当前目录下的所有文件加执行权限

chmod -x ./lcx.txt 去掉当前目录下的lcx.txt的执行权限

chmod 777 ./lcx.txt 对当前目录下的lcx.txt文件设所有人有rwx读写执行权限

chown root:root ./lcx.txt 将当前目录下的lcx.txt拥有者改为rootroot用户

chown -R root:root ./* 将当前目录及子目录下文件拥有者改为rootroot用户

chattr +i  禁止修改和删除文件

chattr -i   取消限止

lsattr   查看权限

man 帮助

  • 文件搜索

find / -name lcx*.txt 从根目录下全局搜索lcx*.txt文件

find / -amin -10 在根目录下全局搜索10分钟内访问过的文件(access time

find / -mmin -10 在根目录下全局搜索10分钟内修改过的文件(modify time

find / -atime -1 在根目录下全局搜索24小时内访问过的文件(access time 

find / -mtime -1 在根目录下全局搜索24小时内访问过的文件(modify time 

find / -ctime -1 在根目录下全局搜索24小时内改变过的文件(change time

find / -user fred 查找用户fred下的文件

find / -size +1000c 查找大于1000字节的文件(c:字节,kKB,M:MB,G:GB

find / -size -1000k 查找小于1000KB的文件(c:字节,kKB,M:MB,G:GB

  • 系统命令

ip addripconfig:查看ip信息

systemctl restart/start/stop network   网卡重启/启动/关闭 

systemctl start/stop/status firewalld.service防火墙启动/关闭/查看启动状态

ps -ef|grep tomcat   查看进程并过滤tomcat进程

top -n 10  及时显示进程状态

du -sh 查磁盘空间

kill -9 <pid>|grep <pid> 杀掉进程,pid为进程号

history 查看历史命令

nohup ./xxx.sh & 在后台执行xxx脚本

netstat -anp|grep 3306 查看系统中3306端口所属进程

netstat -nlpt  实时监控网络信息

netstat -i -c 1 每隔一秒一次

rz 本地上传文件

  • 设置别名

文件 .bashrc里 设置完生效source .bashrc

alias logs='cd /data/logs/slbbiz'

alias seeser='sh /data/tools/seeser.sh'

显示所有别名:alias -p

  • Linux高频面试题目

awk [options] ‘pattern{action}’ file1,file2  #options分隔符,默认为空格;$2列数,从1开始;处理有规律的列

awk '{print $2,$6}' lcx.log|cut -b 2-37^C  打印文件lcx.log中的空格分隔的第二、六列并只显示2-37个字节内容

awk -F '#' '{print $1}' lcx.log 打印文件lcx.log中的以“#”分隔的第二、六列并只显示2-37个字节内容 

sort排序:

sort-r反向排序(reverse,默认正向;-n按数字排序(number

uniq统计相临行的重复次数,-c显示出现次数

1、某文件有多列数据,空格隔开,统计第n列单词,打印出现频率最高的前5个单词

awk '{print $7}' info.log |sort|uniq -c|sort -rn|head -5

sed :在线流编辑器(只输出到相应的终端),不改变文件内容 格式sed[option][n1,n2]function;行操作包括增删改查

N1,n2

-n:只显示被处理过的行

-i:直接修改读取的文件内容,而不是输出到终端

a:新增一行内容,新增到下面一行

c:替换行,替换n1,n2之间行

d:删除行,

i:插入行,i插入到下面一行

p:打印,通常p会与sed -n一起运行,只打印处理过的行

s:替换同vi里类似,eg:  1,20s/old/new/g

打印2-4行内容:sed -n '2,4p' info.log

删除2-4行内容:sed '2,4d' info.log

在第一行后新增一行,只显示处理过的行:sed -n '1a lcx add' info.log

搜索并打印包含lcx的行:sed -n '/01.208/p' info.log

替换原文本(-i,将所有(glcx替换成liucxsed -i 's/lcx/liucx/g' info.log

2、统计日志中调用前五的进程数

awk '{print $7}' info.log|awk -F '.' '{print $6}'|uniq -c|sort -rn|head -5

3grep过滤前面结果中的数据;对文件及结果过滤处理,可以重复利用

查看包含指定字符串的行:grep 'Failed to' error.log

-n显示行号:grep -n 'Failed to' error.log

-B n显示匹配字符串的行及前n:grep -B 5 'Failed to' error.log

-A n显示匹配字符串的行及后n行:grep -A 5 'Failed to' error.log

-C n显示匹配字符串的行及前后各n行:grep -C 5 'Failed to' error.log

-v不包含某些字符串的行

 

 

 

原文地址:https://www.cnblogs.com/liuchunxiao83/p/12738505.html