Linux常用

命令

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命令就是其中之一。
在这里插入图片描述

常用的命令
ipOPTIONSOBJECTCOMMAND (help)
addressip 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里的概念)

如何理解jobs

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指定将命令转为一个完整命令执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值