文章目录
命令
man命令:查看命令使用文档
man手册的一些约定
IOS命令参考约定:
1、互斥元素用竖线(|)隔开
2、中括号[]表示可选项
3、大括号{}表示必选项
4、中括号内的大括号[{}]表示可选项中的必选项
常用工具
vim
命令:
命令 | 功能 |
---|---|
:%d | 不管光标在哪里,删除所有 |
gg dG |
解压
不同的压缩有不同的解压方式
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
ip
简介
Linux的ip命令和ifconfig命令类似,但是ip功能更为强大。而且ifconfig是net-tools中已被废弃使用的一个命令,许多年没有维护了。iproute2套件提供了许多增强功能的命令,ip命令就是其中之一。
常用的命令
ip | OPTIONS | OBJECT | COMMAND (help) |
---|---|---|---|
address | ip address {add|change|replace} IFADDR dev IFNAME [ LIFETIME ] [ CONFFLAG-LIST ] |
route
命令 | 作用 |
---|---|
route -n | 查看路由信息 |
route add default gw xxxx | 添加默认网关 |
route add [-net |host] netmask [mask] [gw|dev] | 添加路由 |
route del [-net|-host] netmask [mask] [gw|dev] | 删除一条路由 |
观察参数
参数 | 作用 |
---|---|
-n | 不用使用通讯协议或主机名称,直接只用ip或port number |
-ee | 使用更加详细的咨询来显示 |
-net | 表示后面接的路由为一个网域 |
-host | 表示后面接的为连接到单部主机的路由 |
iptables
查找所有规则
iptables -L INPUT --line-numbers
删除一条规则
iptables -D INPUT 11 (注意,这个11是行号,是iptables -L INPUT --line-numbers 所打印出来的行号)
nat
iptables [-t table] {-A|-C|-D} chain rule-specification
如果不知道table和chain,可以看这里
网络工具
ping
故障总结
1、connect:Network is unreachable 网络不可达:本机路由表无法判定
2、Destination Host Unreachable 主机不可达:局域网中无法找到对应的Ip的MAC地址,无法完成封装
3、destination net unreachable 来自下一跳主机的回应,本机将包转发给网关时,网关也无法到达目标网络
4、只有request包,没有reply包,对方无法返回,或者中间的转发设备丢弃了我们的包
tcpdump
httpd
httpd可以用来检测你的负载均衡配置是否正确等。
安装 yum install httpd
启动 systemctl start httpd.service
配置 配置文件一般在:/etc/httpd/conf/httpd.conf
一般的配置详解:http://httpd.apache.org/docs/2.4/
磁盘
分区查看
df -T
df [选项] [文件名] 参数:
-a:–all,显示所有的文件系统,包括虚拟文件系统,参考示例2。
-B:–block-size,指定单位大小。比如1k,1m等,参考示例3。
-h:–human-readable,以人们易读的GB、MB、KB等格式显示,参考示例4。
-H:–si,和-h参数一样,但是不是以1024,而是1000,即1k=1000,而不是1k=1024。
-i:–inodes,不用硬盘容量,而是以inode的数量来显示,参考示例5。
-k:以KB的容量显示各文件系统,相当于–block-size=1k。
-m:以KB的容量显示各文件系统,相当于–block-size=1m。
-l:–local,只显示本地文件系统。
–no-sync:在统计使用信息之前不调用sync命令(默认)。
-sync:在统计使用信息之前调用sync命令。
-P:–portability,使用POSIX格式显示,参考示例6。
-t:–type=TYPE,只显示指定类型的文件系统,参考示例7。
-T:–print-type,显示文件系统类型,参考示例8。
-x:–exclude-type=TYPE,不显示指定类型的文件系统。
–help:显示帮助信息。
–version:显示版本信息。
fdisk -l 可以显示出所有挂载和未挂载的分区,但不显示文件系统类型
parted -l 可以查看未挂载的文件系统类型,以及哪些分区尚未格式化
lsblk -f 也可以查看未挂载的文件系统类型
挂载新磁盘
linux上的磁盘和文件系统关系
分区被哪些进程占用
fuser -m /home
挂载fuse文件系统
fusermount
作业和进程
作业(shell里的概念)
ps
参数 | 含义 |
---|---|
常用的命令
ls
ll 是 ls -l的别名
按大小排序
[root@localhost ~]# ll -Sh
按时间排序
[root@localhost ~]# ll -rt
ll -t 是降序, ll -t | tac 是升序
dd
dd if=/dev/zero of=test bs=1M count=1000
会在当前目录下生成一个大小为1M*1000=1000M大小的test.img文件,它的内容都是0(因从/dev/zero中读取,/dev/zero为0源)
但是这样为实际写入硬盘,文件产生速度取决于硬盘读写的速度,如果要产生超大文件,速度会很慢。
declare
declare [+/-][rxi][变量名称=设置值] 或 declare -f
+/- "-“可用来指定变量的属性,”+"则是取消变量所设的属性。
-f 仅显示函数。
r 将变量设置为只读。
x 指定的变量会成为环境变量,可供shell以外的程序来使用。
i [设置值]可以是数值,字符串或运算式。
eval
eval command-line
其中command-line是在终端上键入的一条普通命令行。然而当在它前面放上eval时,其结果是shell在执行命令行之前扫描它两次。
trap
trap命令用于指定在接收到信号后将要采取的动作。常见的用途是在脚本程序被中断时完成清理工作。
>和>>
‘>’ 输出到文件中。文件不存在会创建。文件已存在,内容会被覆盖。文件时间会更新。
'>>'输出到文件中。文件不存在会创建。文件已存在,内容会继续追加在后面。文件时间会更新。
bash -c
作用:让 bash 将一个字符串作为完整的命令来执行
问题:
执行命令"sudo echo “kettle” >> nohup.log"报错
-bash: nuhup.log: Permission denied
原因:
命令中含有echo 和>>两条bash命令,而sudo只会给后面的第一个命令赋予root权限,而">>"没有权限
解决:
使用/bin/bash -c指定将命令转为一个完整命令执行