博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 笔记
阅读量:6892 次
发布时间:2019-06-27

本文共 4719 字,大约阅读时间需要 15 分钟。

hot3.png

常用命令: 

编译器使用:ed sed vi vim emacs 
vim 
命令模式 
编辑模式 
i 光标所在点插入模式 
I 行首插入模式 
a 光标所在点退一格插入模式 
A 行尾插入模式 
o 下一行插入模式 
O 上一行插入模式 
0 跳到行首 
$ 跳到行尾 
G 文件末尾行首 
gg 文件头行首 
3G 文件第三行 
w 跳1个单词 
u 返回|撤销 
ctrl+r redo 
d 删除一行 
x 删除一个字符 
yy 复制一行 
p 粘贴 
r 替换命令,替换光标所在位置的字符 
6i 插入6行 
:set nu :set nonu 
cut -d: -f1 /etc/passwd ; 以:截取/etc/passwd文件 并显示第一列 
cut -d: -f2-4 -c1-5 /etc/passwd ; 显示以:为分割,第2行到第4行 第1个字符到第5个字符 
cut -d: -f7 /etc/passwd |sort |uniq|wc -l; 
sort -t: +2 -n /etc/passwd ; 以:截取文件,并以第二个字符排序 
sort -n -r -t:+2; 
du |sort -n -r |head -n 3|cut -f2; 
tail -n 5 /etc/passwd; 
grep -R 
grep -l -R 
grep -v -l -R -c 
netstat -tunlp|grep 8080 //查看端口 
grep -v bash /etc/passwd;显示不包含bash的行 
grep -A5 -B5 bash /etc/passwd;显示包含bash的上5行和下5行 
wc /etc/passwd; 
wc -l |-w|-c /etc/paawd ;显示文件行|字符|字节数

正则表达式:

grep  'b.*'  /etc/passwd ;搜索文件以b开头的字符

任意一个字符

*  任意多个任意字符   *  a* 任意多个a

* 反义符 

^k 以k开头 
k$ 以k结尾

\
``` 以s开头中间两个单词以k结尾^a\{18\} 以a开头 重复18次 ```grep '.\{40,\}' /usr/share/dict/wprds 查询文件中超过40以上字符的单词
grep  'bash$' /etc/passwd

grep -v ‘^#’ /etc/passwd |grep -v ‘^$’ 查看文件,去掉#开头和空行 

grep ‘^[abc]’ /etc/passwd;查找以a、b、c开头 
grep ‘^[a-c]’ /etc/passwd;查找a到c开头 
grep ‘^[^a-c]’ /etc/passwd;查找不是a到c开头 
a? 表示一个或零个单独的a 
a+ 表示a、aa、乃至多个a 
a{n}重复了n次的a

ls >/tmp/1.list 标准正确输出重定向 

ls /ops 2> /tmp/1.list 标准错误输出重定向 
cat > /tmp/2.list 
find / -name cc >/tmp/3.list 2>&1 ;标准正确输出和标准错误输出到/tmp/3.lits,类似于 
find / -name cc &>/tmp/3.list 
cat << E ;等待输入E结束,或者ctrl+d 结束键盘输入 
tr “a-z” “A-Z” ;标准输入小写变大写 
tr “a-z” “A-Z” < /etc/passwd ;标准输入重定向,把passwd文件由大写变成小写 
cat > 1.list << EEE 
ls -l /dev | grep ‘^d’|wc -l ;显示/dev 目录下有多少个文件夹 
ls -l /dev | grep ‘^d’|tee 1.log |wc -l 
ls -l /dev | grep ‘^d’|tee /dev/pts/0|wc -l 
tr ’ “a-z” “m-n” ’ ’ “u-z” “s-y”’ < /etc/passwd ;把文件a-z替换成u-z,m-n替换成u-z 
tr ’ “a-z” “m-n” ’ ’ “u-z” “s-y”’ < /etc/passwd |mail -s “this si my text” bo-chen1@hnair.com;把替换过的文件已邮件的方式发送给bo-chen1用户,主题为”this is my text”。 
ab -n 1000 -c 1000  ;压力测试 模拟1000次客户端访问 
mtr www.baidu.com 
traceroute www.baidu.com 
netstat -antup 
ps aux 
ESTABLISHED 3次握手成功之后,开始工作 
LISTEN 建立连接中 
TIMEOUT 访问超时 
DDOS攻击(某个IP不断发起访问请求,可以查看netstat 状态,多为listen状态)。 
CC攻击(某个IP不断访问摸个网页,可以查看发起访问的IP,多为同个IP)。 
syn-flood 洪水攻击,冒充用户身份发起访问,查看netstat多为timeout。 
arp攻击,冒充网关 
iptraf tcpdump wireshark 抓包工具 
arping 10.37.2.1 ;通过IP地址定位网卡。 
如果网络慢,通过arping 网关,发现有多个IP回应,肯定有冒充的忘关,我们可以强制绑定IPmac,如下:arp -s mac ip;绑定ip mac地址 
iptables -l 
iptables -F;清除防火墙规则 
kill -l 
killall httpd ;把httpd所有的子进程杀掉 
skill -9 oracle ;把oracle用户的所有进程杀掉 
skill -9 pts/2 ;把pts/2终端的所有进程杀掉 
pkill -u oracle 
进程状态: 
R running 
S seelping 
T stop 
D deepseelping 
Z 僵尸进程

通过&可以把进程丢到后台运行,通过jobs可以查看后台的任务,通过kill %n 杀掉后台第n个任务,通过fg 可以把后台任务拿到前台运行,也可以通过bg把前台正在运行任务丢到后台运行。可以通过nohup 参数使一个进程不依赖当前父进程,nohup updatedb & ,即使退出当前shell当前的进程也会继续运行不依赖父进程。

进程优先级: 

NI nice值-20—+19(由高到底) 
可以在top 命令按r修改进程优先级的NI值 
可以在top 命令按 k杀掉进程 
可以在top 命令按 n修改显示列数 
可以在top 命令按 ?显示帮助 
可以在top 命令按 <>反页

ps aux 

/proc proc虚拟文件,反应内存实时信息 
mpstat -P 1 1 10 //查看cpu1负载 
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 ;修改内核文件,只有/proc/sys/net/ 下可修改,且不支持vi编辑。 
内核参数文件修改:vi /etc/sysctl.conf 
使修改的内核参数立即生效:sysctl -p 
查看所有的内核参数:sysctl -a 
使系统加载内核文件:sysctl -f /tmp/a.sysctl -p 
/var/log/messages 系统运行日志 
/var/log/secure 系统安全日志 
/var/log/wtmp 系统安全日志(二进制) 
/var/log/xferlog 系统ftp日志 
/var/log/boot 系统启动日志 
/var/log/dmesg 内核日志

bash使用详解: 

shell分类: 
ash 
bsh ——>经gun组织改写成bash,大部分linux使用 
csh(使用c语言编写)——>tcsh——>目前被sun souirs平台使用 
ksh——>目前被IBM AIX平台使用 
变量: 
可以通过 set查看所有变量 
echo PS1;当前终端变量,可以通过manbash查看语法export全局变量设置,例如:exportPATH=PS1;当前终端变量,可以通过manbash查看语法export全局变量设置,例如:exportPATH=PATH:/usr/bin 
每执行一个shell脚本系统默认会打开一个bash进程为之服务 
bash快捷键: 
Tab 自动补齐 
ctrl+c 结束当前任务 
ctrl+z 当前任务暂停,放到后台 
ctrl+s 停止屏幕输出 
ctrl+q 恢复屏幕输出 
ctrl+l 清屏 
ctrl+d 标准输入结束

.bash_logout 用户退出资源文件 

ctrl +r 搜索history命令历史 
unset 删除一个变量 
alias 、 unalias 
运算符: 
!6 调用history第6条命令 
!!上一个命令 
!$上一个命令的最后一个参数 
echo * 任意多个文件名 
echo ??? 表示3个字母的文件名 
echo [abc]* 表示文件名开头可能是a、b、c的任何文件名 
echo [^abc]* 
echo {a,b,c} 表示枚举出a,b,c的文件名 
cd ~oracle 跳转到oracle用户主目录 
%n 第n个任务 
aaa() 申明函数aaa 
[root ~]# aaa()

{ echo 1 mkdir -p /tmp/a echo end } [root@localhost ~]# aaa 1 end \ 脱义符 $ 表示$是一个普通字符

[ -f /etc/passwdd ] && echo ok ;表示第一个表达式为真,第二个表达式才会执行 

[ -f /etc/passwdd ] || echo ok ; 表示第一个表达式为假,第二个表达式才会执行 
[ -d /tmp ] && echo ok ;/tmp目录存在则输出ok 
[ -x /tmp/install.sh ] && echo ok ;/tm/install.sh可执行则输出ok; -w -r 可读

用户配置文件执行优先级:/etc/profile 

~/.bash_profile 
~/.bashrc 
~/etc/bashrc 
profile在登录的时候会自动执行,bashrc在bash启动的时候会执行 
su oracle;执行了bashrc 
su - oracle;执行了profile和bashrc

rhel7 服务管理命令变化: 

6: service httpd start|stop|restart|reload|status 
7: systemctl start|stop|restart|reload|status httpd.service 
允许、禁止服务自启动: 
6: chkconfig httpd on|off 
7: system enable|disable httpd.service 
列出服务: 
6: chkconfig –list 
7: systemctl list-unit-files –type=service 或 ls /etc/systemd/system/*.wants/ 
添加服务: 
6: chkconfig httpd –add 
7: systemctl daemon-reload

转载于:https://my.oschina.net/u/3862440/blog/2032389

你可能感兴趣的文章
OO第四阶段总结
查看>>
javascript总结02
查看>>
创建windows服务
查看>>
用main函数传参做简单的计算器的代码
查看>>
python中struct.unpack的用法
查看>>
体绘制(Volume Rendering)概述之4:光线投射算法(Ray Casting)实现流程和代码(基于CPU的实现)...
查看>>
Python实践之(七)逻辑回归(Logistic Regression)
查看>>
PAT (Advanced Level) 1107. Social Clusters (30)
查看>>
【开源社群系统研发日记五】ThinkSNS+ 是如何计算字符显示长度的
查看>>
Nodejs日志管理log4js
查看>>
python获取昨日日期
查看>>
海康威视 - 萤石云开放平台 js 版
查看>>
关于分销平台
查看>>
jquery实用的一些方法
查看>>
质数方阵
查看>>
jQuery $.each用法
查看>>
C语言结构体指针成员强制类型转换
查看>>
基于域的无线安全认证方案
查看>>
Thread类常用方法
查看>>
几乎所有编程语言的hello, world程序(3)
查看>>