LINUX常用命令(2)--持续更新

	**Linux中许多常用命令是必须掌握的,希望可以帮助你们**

1、基本操作

LINUX关机,重启

#关机
shutdown -h now

#重启
shutdown -r now

添加用户,配置sudo权限

#添加用户
useradd 用户名
passwd 用户名

#添加sudo权限
vim /etc/sudoers
#修改文件里面的
#root ALL=(ALL)   ALL
#用户名 ALL=(ALL)  ALL

设置固定ip

ifconfig em1 192.168.132.1 netmask 255.255.255.0

查看系统,CPU信息

#查看系统内核信息
uname -a

#查看系统内核版本
cat /proc/version

#查看当前用户环境变量
env
或者
cat /proc/cpinfo

#查看有几个逻辑cpu,包括cpu型号
cat /proc/cpinfo | grep physical | uniq -c

后台运行命令

#后台运行,并且有nohup.out输出
nohup xxx &

#后台运行,不输出任何日志
nohup xxx > /dev/null &

nslookup(用于查询DNS记录…),查看域名路由表

nslookup google.con

last,最近登录信息列表

#最近登录的5个账号
last -n 5

查看进程启动路径

cd /proc/xxx(进程号)
ls -all
#cwd对应的是启动路径

查看进程树找到服务器进程

ps auwxf

2、磁盘,文件,目录相关操作

打开只读文件修改后需要保存时(不用切换用户)

#在normal模式下
:w !sudo tee %

vim操作

vim的几种模式
1、正常模式:可以使用快捷命令,或按:输入命令行
2、插入模式:可以输入文本,在正常模式下按i、a、o等都可以进入插入模式
3、可视模式:正常模式下,移动光标可以选择文本。
4、替换模式:正常模式下,按R进入。

#normal模式下,g表示全局,x表示查找的内容,y表示替换后的内容
:%s/x/y/g

#normal模式下
0  # 光标移到行首(数字0)
$  # 光标移至行尾
shift + g # 跳到文件最后
gg # 跳到文件头

#显示行号
:set nu

#去除行号
:set nonu

查看磁盘,文件目录基本信息

#查看磁盘挂载情况
mount

#查看磁盘分区信息
df

#查看目录及子目录大写
du -H -h

#查看当前目录下各个文件,文件夹占了多少空间,不会递归
du -sh *

wc命令

#查看文件里有多少行
wc -l filename

#查看文件里有多少word
wc -w filename

#文件里最长的一行是多少字
wc -l filename

#统计字节数
wc -c

3、常用压缩,解压缩命令

压缩命令

tar czvf xxx.tar

zip -r xxx.zip

解压缩命令

tar zxvf xxx.tar

#解压到指定文件夹
tar zxvf xxx.tar -C /xxx/yyy/

unzip xxx.zip

cp,scp,mkdir

#复制
cp xxx.log

#复制并强制覆盖同名文件
cp -f xxx.log

#复制文件夹
cp -r xxx(源文件夹) yyy(目标文件夹)

#远程复制
scp -P ssh端口 username@10.10.10.101:/home/username/xxx /home/xxx

# 级联创建目录
mkdir -p /xxx/yyy/zzz

# 批量创建文件夹, 会在test,main下都创建java, resources文件夹
mkdir -p src/{test,main}/{java,resources}

比较俩个文件

diff -u 1.txt 2.txt

查看,去除特殊字符

#查看特殊字符
cat -v xxx.sh

#去除特殊字符
sed -i 's/^M//g’ env.sh  去除文件的特殊字符, 比如^M:  需要这样输入: ctrl+v+enter

find检索命令

# 在目录下找后缀是.mysql的文件
find /home/eagleye -name '*.mysql' -print

# 会从 /usr 目录开始往下找,找最近3天之内存取过的文件。
find /usr -atime 3 –print
  
# 会从 /usr 目录开始往下找,找最近5天之内修改过的文件。
find /usr -ctime 5 –print

# 会从 /doc 目录开始往下找,找jacky 的、文件名开头是 j的文件。  
find /doc -user jacky -name 'j*' –print

# 会从 /doc 目录开始往下找,找寻文件名是 ja 开头或者 ma开头的文件。
find /doc \( -name 'ja*' -o- -name 'ma*' \) –print

#  会从 /doc 目录开始往下找,找到凡是文件名结尾为 bak的文件,把它删除掉。-exec 选项是执行的意思,rm 是删除命令,{ } 表示文件名,“\;”是规定的命令结尾。 
find /doc -name '*bak' -exec rm {} \;

4、网络相关

查看什么进程使用了该端口

lsof -i:port

iptables

# 查看iptables状态
service iptables status

# 要封停一个ip
iptables -I INPUT -s ***.***.***.*** -j DROP

# 要解封一个IP,使用下面这条命令:
iptables -D INPUT -s ***.***.***.*** -j DROP
备注: 参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。

#开启9090端口的访问
/sbin/iptables -I INPUT -p tcp --dport 9090 -j ACCEPT 

# 防火墙开启、关闭、重启
/etc/init.d/iptables status
/etc/init.d/iptables start
/etc/init.d/iptables stop
/etc/init.d/iptables restart

nc命令,tcp调试利器

#给某一个endpoint发送TCP请求,就将data的内容发送到对端
nc 192.168.0.11 8000 < data.txt

#nc可以当做服务器,监听某个端口号,把某一次请求的内容存储到received_data里
nc -l 8000 > received_data

#上边只监听一次,如果多次可以加上-k参数
nc -lk 8000

tcpdump

#dump出本机8888端口的tcp包
tcpdump -i em1 tcp port 8888 -s 1500 -w abc.pcap

ss

# 显示本地打开的所有端口
ss -l 
	
# 显示每个进程具体打开的socket
ss -pl 
	
# 显示所有tcp socket
ss -t -a 
	
# 显示所有的UDP Socekt
ss -u -a 
	
# 显示所有已建立的SMTP连接
ss -o state established '( dport = :smtp or sport = :smtp )'  
	
# 显示所有已建立的HTTP连接 
ss -o state established '( dport = :http or sport = :http )'  
	
找出所有连接X服务器的进程
ss -x src /tmp/.X11-unix/*  
	
列出当前socket统计信息
ss -s 
	
解释:netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

参考链接:

Panda:http://siye1982.github.io/2016/02/25/linux-list/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1erkeU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值