linux基础
systemctl status sshd 查看ssh
ss -lnupt
ss -tnlu 查看监听的端口 t tcp u udp n 显示端口
grep 过滤
grep 'root' passwd 查找带有root的行
grep 'root' passwd /etc/passwd 查找多个文件中的
grep -e '^$' -v passwd -e使用正则 '^$'取空行 -v 取反
sed 取行,替换
sed -n '3,5p' passwd 查找第三到五行 -n显示找到的 -i保存
sed -n '3iaaa' passwd 第三行插入aaa ‘’中i插入 d删除 a追加 c替换
sed 's#root#oldboy#g' passwd |grep 'oldboy' 替换并查找
取ifconfig ens33中的ip
ifconfig ens33|sed -n '2p'|sed 's#.*inet ##g'|sed 's# net.*##g' 取ip
grep -o '正则'
awk
awk -F ':' '{print $1}' passwd 以:分隔取出第一列 $1第一列 $0全部 $NF最后一列 $(NF-1)最后第二列
awk -F ':' 'NR==2 {print $NF}' passwd 取第二行最后一列 NR==2第二行
NR:表示记录数量,在执行过程中对应当前的行号。
NF:表示字段数量,在执行过程中对应当前行的字段数。
过滤带root的行打印最后一列
awk -F ":" '/root/ {print $1}' passwd
1加到十
seq 10|awk 'BEGIN {sum=0;print"1+2..+10="} {sum+=$1} END{print sum}'
打印行数
方法一:awk 'END{print NR}' passwd
方法二:awk 'BEGIN {h=0} {h+=1} END{print h}' passwd
用空格分割,打印2,4,6列
ifconfig ens33|awk -F " " 'NR==2 {print $2,$4,$6}' # 默认分隔符为空格 -F " "可以不写
打包文件
tar czvf [压缩目标] [打包文件] [打包文件]
-c 建立新的归档文件
-t 显示归档文件的内容
-v 显示执行的过程
-z 使用gzip方式压缩或者解压缩打包文件。
-f 指定归档文件,注意f后面要直接接归档的文件名,不能再添加其他参数。
top 查看系统状态 q退出
free -mh 查看内存 h为人类可读
uptime
特殊符号
命令 |
功能 |
备注 |
>或1> |
把前面的内容输入后面的文件中,清除原有内容。 |
输出重定向 |
>>或1>> |
把前面的内容追加到文件的尾部,不清除原有内容 |
追加输出重定向 |
<或0< |
输入重定向 |
|
<<或0<< |
追加输入重定向 |
|
\ |
转义 |
|
. |
当前目录 |
|
.. |
上一级目录 |
|
- |
上一次的目录(摇控器的回看功能) |
|
| |
管道 |
|
; |
命令分隔符 |
|
{} |
生成序列,前面命令的结果(find,xargs) |
|
~ |
当前用户家目录 |
|
&& |
并且and |
|
|| |
或 or |
|
!+字母 |
调取最近操作过的命令 |
|
!! |
表示使用最近一次操作的命令 |
|
!+数字 |
表示调出历史命令的第n条 |
|
! |
取反 |
|
* |
代表所有字符 |
|
? |
任意一个字符 |
|
; |
命令分隔符 |
|
# |
配置文件注释 |
|
$ |
变量前加可以调用变量。 |
|
/ |
根目录,路径分隔符 |
|
‘’ |
所见即所得 |
|
“” |
会先解析变量,再打印 |
|
·· |
等价于$(),引用命令 |
|
快捷键
命令 |
功能 |
备注 |
tab |
路径命令补全 |
|
ctrl+a |
移动光标到命令行开始处 |
|
ctrl+e |
移动光标到命令行末尾处 |
|
ctrl+u |
删除光标以前的内容 |
|
ctrl+k |
删除光标以后的内容 |
|
ctrl+c |
中断命令执行 |
|
ctrl+l |
清屏 |
|
ctrl+shift+v |
粘贴 |
|
ctrl+shift+c |
复制 |
|
ctrl+d |
退出当前用户 |
|
第1章 SSH优化
配置文件/etc/ssh/sshd_config
13 Port 52113
122 UseDNS no
42 PermitRootLogin no
15 ListenAddress 192.168.33.*
81 GSSAPIAuthentication no
使用一条命令修改上述配置:sed -i '13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no' sshd_config
文件传输
sz oldboy.tar.gz 传到本机电脑
rz 电脑传给linux
进程相关
kill pid 结束进程 -9强制杀掉
pkill 服务名称
目录结构
which cp 查看位置
tree -L 1 树状查看目录
who 查看用户
网卡的配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33 网卡配置文件
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.11
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=223.5.5.5
DNS配置文件
/etc/resolv.conf DNS配置文件(优先级低于网卡的配置)
DEVICE=eth0 #//物理设备名
HWADDR=00:0c:29:14:fc:a6 #//网卡的MAC地址
TYPE=Ethernet #//网络类型 以太网
UUID=e4c93060-c578-486d-9c8a-fb807fc3aab1
ONBOOT=yes #//控制网卡是否开机自启动
NM_CONTROLLED=yes
BOOTPROTO=dhcp #//引导协议,期中,proto取值:nono引导时不使用协议,static静态分配地址,bootp,使用BOOTP协议,或dhcp,使用DHCP协议。
APADDR=10.0.0.8 #//ip地址
NETMASK=255.255.255.0 #//子网掩码
GATEWAY=10.0.0.254 #//网关地址
DNS1=202.106.0.20 #//DNS域名解析服务
域名解析配置文件
/etc/hosts The static table lookup for hostnames
主机名配置文件
/etc/hostname
first field要挂载的设备
second field 挂载点
third field 文件系统
fourth field 挂载选项
fifth field 是否备份,0不备份
sixth field 开机自检磁盘,0不自检。fsck命令进行检查(不要检查好的磁盘)
生成钥匙对
ssh -keygen -t rsa 生成公钥私钥
ssh-copy-id -i /root/.ssh/id_rsa root@10.0.0.11
ssh 10.0.0.11 "mkdir /tmp/test1"
scp /etc/sysconfig/network-scripts/ifcfg-ens33 10.0.0.11:/tmp/
etc相关
/etc/profile.d/下的脚本,每次登录都执行。
/etc/motd 登陆后显示的字符串。
/etc/issue开机登录提示文件。安全优化清空该文件。
/etc/redhat-release查看linux版本信息。
/etc/passwd 帐号文件
/etc/shadow 帐号密码文件
/etc/group 组账号文件
/etc/gshadow 组账号密码文件
/etc/sudoers可以执行使用sudo命令的配置文件。visudo类似vi
/etc/suders,visudo –c可以检查配置是否正确。
/etc/securetty 设定那些终端可以让root登录
/etc/login.defs 所有用户登录时的缺省配置。
/etc/modprobe.conf 内核模块额外参数设定
/etc/rsyslog.conf 日志设置文件
/etc/sysctl.conf 内核参数配置文件。sysctl –p使配置生效。
/etc/mounts 磁盘分区及挂载信息。(df -h)
/etc/exports设置NFS系统用的配置文件路径。
/etc/skel/ 默认创建用户时,把该目录拷贝到家目录下。
proc相关
/proc/cupinfo 处理器相关信息
/proc/meminfo 系统内存信息
/proc/devices 当前运行内核所配置的所有设备清单
/proc/dma 当前正在使用的DMA通道。
/proc/filesystems 当前运行内核所配置的文件系统。
/proc/interruts 正在使用的中断,和曾经有多少个中断。
/proc/ioports 当前正在使用的I/O端口。
/proc/loadavg 系统负载平均值信息。uptime的结果。
用户相关
useradd tes -M t -s /sbin/nologin 添加虚拟用户 -M 不创建家目录
groupadd --gid=888 test888 创建组888
useradd --uid=555 --gid=888 test4 指定创建uid和gid,gid必须先存在
passwd 用户名 修改密码
chmod 755 文件名
chmod
磁盘情况
df
查看文件类型
file