zoukankan      html  css  js  c++  java
  • 3. linux日常学习1

    一、文件操作

    1. 判断文件类型

    • 常见文件类型
    字符设备(c):所有输入输出设备,键盘、鼠标、显示器、打印机
    块设备(b):所有存储设备称为块设备文件,硬盘、U盘
    软链接文件(l):类似windows的快捷方式
    目录文件(d):类似windows文件夹
    普通文件(f或-):类似记事本
    管道文件(p):程序或进程间通信方式
    套接字文件(s):程序或进程间通信方式
    
    1.用file命令来判断文件类型
    	file /root
    

    2. ls

    1.用途
    	列出目录内容
    2.参数
    	-a:all,查看目录下的所有文件,包括隐藏文件
    	-l:长列表显示
    	-h:human,以人性化方式显示
    	-d:只列出目录名,不列出其他内容
    	-t:按修改时间排序
    	-r:逆序排列
    	-S:按文件大小排序
    	-i:显示文件的inode号(索引号)
    	-R:递归列出目录中的内容
    	-m:用逗号分隔显示内容
    3.举例
    	(1)ls -lSh /root  //人性化按文件大小排列显示
    	-rw-------. 1 root root 1.5K Oct 19  2019 anaconda-ks.cfg
    	-rwxr-xr-x. 1 root root   15 Apr 29 12:51 1.sh
    	
    	(2)ls -lt /root  //按时间排序,默认把最近时间文件排上面
    	
    	(3)ls -R /tmp  //递归列出
    	/tmp/:
    	1.log  test  vmware-root
    	/tmp/test:
    	hello.txt
    
    

    3. mkdir

    1.用途
    	创建目录
    2.参数
    	-p:级联创建
    3.举例
    	(1)mkdir /test/     //在根目录下创建test目录
    	(2)mkdir ./test/    //在当前目录创建test目录
    	(3)mkdir -p /test/yunwei/rehat.log  //级联创建目录文件
    	(4)mkdir /tmp/{one,two}		//在tmp下创建两个目录
    

    4. touch

    1.用途
    	创建文件与当文件存在是再使用touch命令就是修改文件时间戳
    2.举例
    	(1)rm -rf /tmp/*    //删除/tmp目录下所有文件
    	(2)touch /tmp/file1
    	(3)touch file1  file2  file3
    	(4)stat file1	//查看文件的属性
    	(5)touch -a file1 -t "20201010"    //修改文件访问时间,-t支持到年月日时分
    	(6)touch -m file1 -t "202010101111"		//修改文件更改时间
    	(7)touch -d "20200101" file1   //同时修改文件访问时间和更改时间
    3.文件属性(stat)
    	Access: 文件的查看访问时间
    	Modify: 文件内容修改的时间
    	Change: 文件的属性时间,文件的大小,权限
    

    5. cat/more/less/head/tail

    1.用途
    	查看文件内容
    2.命令
    	(1)cat:一般查看小文件,从第一行到最后一行列出来
    		-n:显示行号
    		-A:显示控制字符,如换行符,制表符
    	(2)more和less:一般查看大文件,q 退出查看,可搜索输/,建议less
    	(3)head:默认查看文件前10行,head -5 /etc/passwd
    	(4)tail:默认查看文件后10行,tail -5 /etc/passwd; -f 表示动态查看
    	(5)ldd:一般用来查看二进制命令文件
    3.举例
    	(1)cat /etc/passwd		//查看/etc/passwd文件内容
    	(2)cat -n /etc/passwd   //查看/etc/passwd文件内容并显示行号
    	(3)tac /ect/passwd
    	(4)ldd /bin/mkdir	//查看mkdir命令文件内容,which mkdir
    

    6. cp

    1.用途
    	本地文件拷贝
    2.语法及参数
    	cp [选项] 需要拷贝的文件 拷贝到哪里去
    	-r:递归拷贝目录
    	-v:显示拷贝过程信息
    	-p:文件属性信息一起拷贝
    	-a:递归拷贝文件,包括目录及文件属性信息
    3.举例
    	(1)cp ./file /tmp/test1     //将当前目录下file复制到/tmp下并重命名为test1
    	(2)cp -r /root/dir1 /tmp/   //将/root/dir1目录复制到/tmp目录下
    	(3)cp -p /home/file1 /tmp/   //拷贝home/file1文件(包含属性信息)到/tmp/下
    

    7. mv

    1.用途
    	移动文件或重命名
    2.语法
    	(1)不同路径下
        	mv 需要移动的文件 移动到新的路径下
        (2)相同路径下
        	mv 原来文件名字 新文件名字
    3.举例
    	(1)mv /root/file1 /tmp
    	(2)mv /tmp/file1 /tmp/test1
    

    8. rm

    1.用途
    	删除文件
    2.参数
    	-r:递归删除,一般用于删除目录
    	-f:强制删除,不提示
    3.举例
    	(1)rm file1
        (2)rm -r /tmp/dir1/
        (3)rm -f /root/file1
        (4)rm -rf /tmp/*   //删除tmp目录下所有文件
    

    9. help

    1.用途
    	简单求助命令,命令参数不知道可以使用help
    2.使用
    	(1)内部命令
    		help 命令
    	(2)外部命令
    		命令 --help
    	(3)如何判断内部命令还是外部命令
    		type 命令
    		shell为内部
    		第三方程序为外部
    

    二、Bash标准输入输出

    1. 名词解释

    • 标准输入(stdin):键盘输入,文件描述符—0
    • 标准输出(stdout):屏幕上正确的输出,文件描述符—1
    • 标准错误(stderr):屏幕上错误的输出,文件描述符—2

    2. 相关符合

    >:标准覆盖重定向,1或>标准输出重定向,2>标准错误重定向
    >>:标准追加重定向
    <:标准输入
    &>:标准输出标准错误重定向
    

    3. 举例说明

    ①环境准备

    1.创建1.sh脚本文件
    	echo -e 'hostname
    hello' > 1.sh
    2.赋予1.sh可执行权限
    	chmod +x 1.sh
    3.执行脚本
    	./1.sh
        // mr.hu
       //  ./1.sh:行2:hello:未找到命令
    

    ②将标准输出(屏幕上的正确结果)重定向到/tmp/1.log中

    ./1.sh >/tmp/1.log
    

    ③将标准错误,重定向到/tmp/err.log中

    ./1.sh 2>/tmp/err.log
    

    ④将正确、错误结果都重定向到e.log中

    ./1.sh &>/tmp/2.log
    

    ⑤将错误结果追加到/tmp/err.log中

    ./1.sh 2>>/tmp/err.log
    

    ⑥补充

    //将标准输出和标准错误扔掉(放入空设备中),/dev/null Linux中特殊设备文件,空设备类似黑洞
    ./1.sh >/dev/null 2>&1
    或
    ./1.sh &>/dev/null
    

    2. echo

    1.用途
    	echo会将输入的字符串送往标准输出,并在最后加上换行符、可理解为打印字符串
    2.参数:
    	-n:不输出最后的换行符
    	-e:解释转义字符(字符串中出现
    ,	等特殊字符)
    3.举例
    	(1)echo hello world		//打印helloworld
    	(2)echo hello > file1	//将hello重定向到file1文件中(可结合> >>使用)
    	(3)echo -e 'hello
    world' > 1.sh // -e表示吧
    解释为换行符
    	   hello
    	   world
    

    三、文件查找命令

    1. which/whereis

    1.用途
    	which找出命令的绝对路径;whereis找出命令路径及文档手册信息
    2.举例
    	(1)which mkdir
    		/usr/bin/mkdir
    	(2)whereis mkdir
    

    2. find

    1.用途
    	根据需求查出内容;精确查找,磁盘搜索,IO读写,cpu开销大
    2.用法及参数
    	(1)找出来输出到屏幕
            find 查找路径 选项 关键字
            -name:按文件名查找文件
            -iname:按忽略大小写查找文件
            -size:按文件大小来查找,+1M大于1M,-1M小于1M
            -type:按文件类型查找(d,f,l,b...)
            -mtime:按文件修改时间查找,-n指n天以内,+n指n天前
            -user:按用户
            -group:按组
            -perm:按权限,如-perm 644
    	举例:
    		find /etc/ -name "*.conf"	//找/etc目录里以.conf结尾的文件
    		find ./ -iname 'file1'	//忽略大小写查找file1文件
    		find /dev -type b	//查找/dev下块类型文件
    		find /etc -type f -size +1M		//查找etc中大于1M的文件
    		find ./ -type f -mtime +2  //查找两天以前,今天22号,就是[1-20)不含20号的文件
    		find ./ -type f -mtime -2  //查找两天内的,今天22号,就是(20-22]不含20号的文件
    		find ./ -type f -mtime 2   //今天22号,则查找20号当天文件
    		find ./ -type f -daystart -mtime 2 
        (2)找出来后执行某个操作
        	find 路径 选项 关键字 动作
        	-exec:对查找的文件直接执行该参数后shell命令,执行时必须以空格、反斜杠、分号结尾
        	-ok:对查找到的文件询问式执行该参数后shell命令,执行时必须以空格、反斜杠、分号结尾
        	-delete:删除查找到的文件
        	-ls:列出查找到的文件
        	-print:打印出查找到的文件(默认选项)
        举例:
        	find /test/ -type f -ok cp {} /tmp ;
    

    四、文件打包工具

    1. 常见压缩工具

    压缩工具 说明 解压工具
    zip 兼容Unix与windows,可压缩多个文件或目录 unzip
    gzip 压缩档文件,压缩率低,cpu开销小 gunzip

    2. zip

    1.语法
    	zip 压缩后的文件	需要压缩的文件
    2.参数
    	-r:递归压缩,压缩目录
    	注意:zip压缩默认压缩后的格式就是.zip;
    3.举例
    	zip /tmp/test.zip ./*	//将当前目录下所有文件压缩到/tmp下命名为test.zip
    
    1.解压
    	unzip /tmp/test.zip -d /backup/		//将压缩文件解压到指定backup目录下
    

    3. tar

    1.用途
    	可以将多个文件打包成一个并且压缩
    2.语法及参数
    	tar 选项 打包后的文件 需要打包的文件
    	-c:创建tar包(打包)
        -z:调用gzip工具压缩
        -j:调用xz工具压缩
        -v:显示详细信息
        -f:指定包名
        -x:解压
        -C:指定解压路径
        -t:列出或查看tar包内容
        -r:往tar包里追加文件
    3.举例
    	(1)tar -cvzf /tmp/test.tar.gz ./*	//将当前目录下所有内容打包
    	(2)tar -xf /tmp/test.tar.gz -C /dir/	//将.zip.gz压缩文件解压到/dir/目录下
    	(3)tar -cvf /tmJf /tmp/boot_test.tar.xz /test/ /boot/   //将两个目录打包成一个
    	(4)tar -xf /tmp/boot_test.tar.xz -C /dir/
    	(5)tar -tf /tmp/test.tar.gz 	//查看tar包里内容
    	(6)tar -f /tmp/test.tar -r /etc/hosts	//将hosts文件追加到test的压缩包里
    

    4. date

    1.用途
    	打印或者设置当前系统日期和时间
    2.参数
    	-s:设置日期
    	date -s '20201111 12:12:11'
        $():括号里面的命令优先执行
    

    五、vim编辑器

    1. 命令行模式

    可以进行一些基本的复制、删除、跳转、撤销、移动等操作
    
    命令 含义 备注
    yy 复制光标所在行 3yy表示复制3行
    p(小写) 光标所在行后面粘贴
    P(大写) 光标所在行前面粘贴
    gg 光标快速跳到文件首行,并定位到首字符 3gg表示快速跳到文件第三行行首
    G 光标快速跳到文件首尾,并定位到首字符
    dd 删除光标所在行 3dd表示删除3行(包括光标所在行)
    d^ 从光标位置删至行首,不包括光标位
    d$ 从光标位置删至行尾,包括光标位,与D相同
    u 撤销 ctrl+r 取消撤销
    // vim +/关键字 文件名 打开指定文件,并高亮显示关键词
    vim +/shutdown /tmp/passwd		
    

    2. 编辑模式

    1.进入方式
    	i:在光标所在字符前开始插入
    	a:在光标说在字符后开始插入
    	o:在光标所在行的下面另起一行插入
    	I:在光标所在行首开始插入,如果行首有空格则在空格之后插入
    	A:在光标所在的行尾开始插入
    	O:在光标所在行上面另起一行开始插入
    	S:删除光标所在行并开始插入
    

    3. 底行模式

    ① 如何进入底行模式

    • 命令模式进入:按冒号(:)
    • 编辑模式进入:先按ESC,再按冒号(:)

    ②底行模式能做什么

    1. 保存和退出
    • 保存文件,命令:w;另存为到其他文件,命令:w 文件名
    • 保存退出,命令:wq;强制保存退出:wq!
    • 退出不保存,命令:q;强制退出:q!
    • 命令:x在文件没有修改的情况下,表示直接退出(:q);在文件修改的情况下表示保存并退出(:wq)
    1. 搜索替换
    1.搜索
    	:/root		n往下匹配;N往上匹配
    2.替换
    	:%s/root/ROOT/	 	全文搜索,替换每一行匹配到的第一个关键字
    	:%s/root/ROOT/g  	全文搜索,替换每一行匹配到的所有关键字
    	:%s/root/ROOT/gc 	交互式替换
    	:%s//sbin/nologin//bin/bash/   转义符
    	:%s#/sbin/nologin#/bin/bash#g    更换分隔符
    	:7s/shutdown/SHUTDOWN/g			 只替换第7行内容
    	:noh			取消高亮
    
    1.其他功能
    	(1)临时设置行号
    	:set number 或 :set nu
    	(2)永久设置行号
    	echo "set number" >> /etc/vimrc
    	
    	:set list  设置控制符
    	
    	(3)地址定位
    	:1,5 w /tmp/5.txt	保存前5行内容到/tmp/5.txt
    	:r /tmp/5.txt    在光标所在行下面读取/tmp/5.txt文件内容
    	:3r /tmp/5.txt   在当前文本的第3行后读取/tmp/5.txt文件
    	:1,8d		删掉文本的1-8行
    	:nr !command   在第n行下面读取命令所执行的结果
    	:n! command    用命令的执行结构替换第n行内容;4! hostname
    

    六、用户切换

    1.切换用户
    	su - USERNAME
    2.以其他身份执行命令
    	sudo 
    

    七、权限

    1. r(读权限)

    • 针对目录

      一个目录拥有r权限,说明可以查看该目录的内容(ls命令)

    • 针对普通文件

      一个普通文件拥有r权限,说明可以查看该文件的内容(cat/head/tail/less/more)

    • 读取,数字 4

    2. w(写权限)

    • 针对目录

      一个目录拥有w权限,说明可以在该目录里创建、删除、重命名等操作(mkdir/touch/mv/rm)

    • 针对普通文件

      一个普通文件拥有w权限,说明可以修改该文件的内容(vi/vim编辑器)

    • 写,数字 2

    3. x(执行权限)

    • 针对目录

      一个目录拥有x权限,说明可以进入或切换到该目录里(cd)

    • 针对普通文件

      一个普通文件拥有x权限,说明可以执行该文件(一般程序文件、脚本文件、命令都需要执行权限)

    • 执行,数字 1

    4. 没有权限

    • 没有权限用横杆 - 表示,数字 0

    5. 修改文件普通权限

    (1) chmod
    chmod [选项] 模式 文件名
    -R:递归更改目录和目录里文件权限
    
    (2) 举例
    1.参数
        u:表示文件拥有者
        g:表示文件数组里的用户
        o:表示其他人,即不是文件的创建者,也不在文件属组里
        a:表示所有人
    2.举例
        (1)chmod u=rwx flie2
        (2)chmod u+x,g=rw,o-r file3
        (3)chmod -R o+x dir1/     //将dir1目录及目录下文件的o都加上x权限
    3.数字权限
    	r - 4,w - 2, x - 1, - - 0
        (1)chmod 644 file1
        (2)chmod 700 dir/*		//将dir目录下所有文件权限设置700
        (3)chmod -R 777 dir/
    

    八、远程连接

    1. ssh

    ssh -p 22 10.10.10.10
    ssh -p 22 root@192.168.1.1
    

    2. scp

    1.用法1:将本地文件远程拷贝到远端
    	scp [选项] 本地文件 远程服务器ip:/路径
    	scp -P 1022 ./1.txt 192.168.159.10:/tmp/
        scp -P 1002 -r ./dir1 192.168.159.10:/tmp/		//递归拷贝目录
    2.用法2:将远程服务器上的文件拷贝到本地
    	scp [选项] 远程服务器ip:/文件 本地路径
    	scp -P 1002 heima@192.168.1.1:/etc/passwd  /backup/file1  //将远端服务器文件拷贝本地更名
    

    九、进程

    1. ps

    1.用途
    	静态查看进程
    2.常见组合
    	ps -ef
    	ps -eF
    	ps -ely
    	ps -aux
    	ps -auxf
    	a:显示当前终端下所有进程,包括其他用户进程
    	u:显示进程拥有这、状态、资源占用等详细信息
    	x:显示没有控制终端的进程,通常和a一起用
    	o:自定义打印内容
    	-e:显示所有进程
    	-f:完整输出显示进程间父子关系
    	-l:较长,详细的将进程信息列出
    3.举例
    	ps -ef | grep apache
    	ps -ef | head -5
        ps -eF | head -5
    4.显示信息介绍
    	USER:运行进程的用户
    	PID:进程ID
    	%CPU:cpu占用率
    	%MEM:内存占用率
    	VSZ:占用虚拟内存
    	RSS:占用实际内存,驻留内存
    	TTY:进程运行的终端
    	STAT:进程状态,man ps获取帮助(/STATE)
    		R 运行
    		S 可中断睡眠sleep
    		D 不可中断睡眠
    		T 停止的进程
    		Z 僵尸进程
    		X 死掉的进程
    

    2. top

    1.用途
    	动态查看进程命令
    2.按键-在使用top是可以按键
    	M:按内存的使用排序
    	P:按cpu使用排序
    	T:按该进程使用的cpu时间累积排序
    	k:给某个PID一个信号,默认值是信号15
    	l:显示cpu的负载
    	s:改变两次刷新之间的时间,默认5s
    	q:退出程序
    	N:以PID的大小排序
    	R:对排序进行反转
    	f:自定义显示字段
    	r:重新安排一个进程的优先级别
    3.举例
    	-d:后面可以接秒数,指定每两次屏幕信息刷新之间的时间间隔
    	-p:指定某个进程来进行监控
    	-b -n:一次处理方式执行top
    	top -d 1 -p 10126 //查看指定进程动态信息
    	top -d 1 -u apache //查看指定用户进程
    	top -d 1 -b -n 2 > top.txt //将2次top信息写入到文件
    

    3. kill

    kill [信号] 进程PID
    killall
    pkill
    
    结束进程
    kill -15 7578
    pkill -9 -u stu1
    

    十、计划任务

    1. 了解计划任务

    cat  /etc/crontab
    --------------------
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    
    # For details see man 4 crontabs
    
    # Example of job definition:
    # .---------------- minute (0 - 59)
    # |  .------------- hour (0 - 23)
    # |  |  .---------- day of month (1 - 31)
    # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |
    # *  *  *  *  * user-name  command to be executed
    
    
    前5个字段分别表示:
    	分:0-59
        时:0-23
        日:1-31
        月:1-12
        周:0-7(0表示周日或者7表示周日)
    
    5 * * * *
    05 * * * *
    20 08 * * *  //每天8:20做...
    00 06 * 12 * //十二月的每天6:00
    03 01 * * 7  //每周日1:03
    
    还有一些特殊符号:
    	,  表示分隔,间隔
    	-  表示一个段
    	/n 表示每个n的单位执行一次
    
    */5 * * * *   //每隔5分钟
    03 03,06 1-15 * *   //每月1号到15号的3:03和6:03执行
    00 */2 * * 1,3     //周一和周三每个2小时执行一个任务
    00 08-18/2 1-3,15 * *  //每月1号到3号和15号,早上8:00-晚上6:00每个2小时执行一个任务
    

    2. 创建/查看/删除

    ① 用户编辑自己的定时任务

    crontab -e    //编辑当前用户自己的定时任务
    crontab -l    //列出当前用户自己所有的定时任务
    crontab -r    //删除当前用户自己所有的定时任务
    

    ② 管理员编写其他用户定时任务

    crontab -e -u redhat  //编辑指定用户定时任务
    crontab -l -u Redhat
    crontab -r -u Redhat
    

    ③ 举例

    crontab -e
    */1 * * * * echo "Hello world" >> /tmp/one.log
    ll /var/spool/cron/			//root建立的计划任务都在这目录下的root文件中
    tail -f /var/log/cron      //查看计划任务日志
    

    十一、网络命令

    1. ifconfig

    #1.ifconfig命令
    #作用:
    ifconfig命令用于显示或设置网络设备。
    #说明: 
    与windows下的ipconfig命令类似,linux下使用ifconfig命令查看
    #格式
    ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
    
    #参数
    add<地址> 设置网络设备IPv6的IP地址。
    del<地址> 删除网络设备IPv6的IP地址。
    down 关闭指定的网络设备。
    <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
    io_addr<I/O地址> 设置网络设备的I/O地址。
    irq<IRQ地址> 设置网络设备的IRQ。
    media<网络媒介类型> 设置网络设备的媒介类型。
    mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
    metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
    mtu<字节> 设置网络设备的MTU。
    netmask<子网掩码> 设置网络设备的子网掩码。
    tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
    up 启动指定的网络设备。
    -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
    -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
    -promisc 关闭或启动指定网络设备的promiscuous模式。
    [IP地址] 指定网络设备的IP地址。
    [网络设备] 指定网络设备的名称。
    
    #实例
    显示网络设备信息
    
    # ifconfig        
    eth0   Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C 
         inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
         inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
         RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
         TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
         Interrupt:185 Base address:0x2024 
    
    lo    Link encap:Local Loopback 
         inet addr:127.0.0.1 Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING MTU:16436 Metric:1
         RX packets:2022 errors:0 dropped:0 overruns:0 frame:0
         TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:2459063 (2.3 MiB) TX bytes:2459063 (2.3 MiB)
    启动关闭指定网卡
    
    # ifconfig eth0 down
    # ifconfig eth0 up
    为网卡配置和删除IPv6地址
    
    # ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡诶之IPv6地址
    
    # ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址
    用ifconfig修改MAC地址
    
    # ifconfig eth0 down //关闭网卡
    # ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
    # ifconfig eth0 up //启动网卡
    # ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址 
    # ifconfig eth1 up //启动网卡
    配置IP地址
    
    # ifconfig eth0 192.168.1.56 
    //给eth0网卡配置IP地址
    # ifconfig eth0 192.168.1.56 netmask 255.255.255.0 
    // 给eth0网卡配置IP地址,并加上子掩码
    # ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
    // 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
    启用和关闭ARP协议
    
    # ifconfig eth0 arp  //开启
    # ifconfig eth0 -arp  //关闭
    设置最大传输单元
    
    # ifconfig eth0 mtu 1500 
    //设置能通过的最大数据包大小为 1500 bytes
    

    2. ping

    #2.ping命令
    #作用
    用于检测主机。若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
    #格式
    ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
    #参数
    -d 使用Socket的SO_DEBUG功能。
    -c<完成次数> 设置完成要求回应的次数。
    -f 极限检测。
    -i<间隔秒数> 指定收发信息的间隔时间。
    -I<网络界面> 使用指定的网络界面送出数据包。
    -l<前置载入> 设置在送出要求信息之前,先行发出的数据包。
    -n 只输出数值。
    -p<范本样式> 设置填满数据包的范本样式。
    -q 不显示指令执行过程,开头和结尾的相关信息除外。
    -r 忽略普通的Routing Table,直接将数据包送到远端主机上。
    -R 记录路由过程。
    -s<数据包大小> 设置数据包的大小。
    -t<存活数值> 设置存活数值TTL的大小。
    -v 详细显示指令的执行过程。
    #实例
    检测是否与主机连通
    ping www.baidu.com
    //需要终止按ctrl +c
    指定接收包的次数
    ping -c 2 www.baidu.com
    //收到两次包后,自动退出
    

    3. nslookup

    #nslookup 
    #作用:
    查看dns信息用的,linux系统不自带,需要手动安装
    如果你的Linux系统没有nslookup命令,那么八成是你没有安装bind-utils包。
    直接yum install bind-utils就可以解决问题了。
    
    #格式:
            进入非交互模式       nslookup 域名(www.baidu.com)
    非交互模式nslookup会连接到默认的域名服务器
    (即/etc/resolv.conf的第一个dns地#址)。
            进入交互模式         nslookup
    
    #交互模式常用命令:
    exit        退出交互模式
    set all 列出nslookup工具常用选项设置值
    
    #返回值说明
    返回值一共分为两部分,第一部分是本机的DNS信息,包括服务器和地址
    
    第二部分非权威应答对应的英文是:Non-authoritative answer。什么叫非权威应答?假设某个DNS server没有域名test.com的记录信息,当有客户端通过它请求获取test.com的域名信息,此DNS Server会通过迭代递归的方式从test公司实际存储此记录信息的DNS server中获取test.com的域名信息,反馈给发出请求的客户端,同时会把test.com的记录信息放在自身缓存中放置一段时间,当又有客户端请求test.com域名解析时,此DNS server直接从自身缓存中提取返回给客户端,这个回答叫“非权威回答”,简言之凡是从非实际记录存储DNS server中获取的域名解析回答,都叫“非权威回答”。
    
    [root@localhost ~]# nslookup www.baidu.com
    Server:     114.114.114.114
    Address:    114.114.114.114#53
    
    Non-authoritative answer:
    www.baidu.com   canonical name = www.a.shifen.com.
    Name:   www.a.shifen.com
    Address: 61.135.169.121
    Name:   www.a.shifen.com
    Address: 61.135.169.125
    
    #www.a.shifen.com.指代www.baidu.com对应的dns主机名记录
    

    4. traceroute

    #traceroute
    #作用:
    显示数据包到主机间的路径。
    对应window下的tracert命令
    
    #格式: 
    Traceroute [options] <IP-address or domain-name> [data size]
    
    #参数
      -d   使用Socket层级的排错功能。
      -f<存活数值>   设置第一个检测数据包的存活数值TTL的大小。
      -F   设置勿离断位。
      -g<网关>   设置来源路由网关,最多可设置8个。
      -i<网络界面>   使用指定的网络界面送出数据包。
      -I   使用ICMP回应取代UDP资料信息。
      -m<存活数值>   设置检测数据包的最大存活数值TTL的大小。
      -n   直接使用IP地址而非主机名称。
      -p<通信端口>   设置UDP传输协议的通信端口。(缺省为33434)
    
      -q  设置TTL测试数目(缺省为3)
      -r   忽略普通的Routing Table,直接将数据包送到远端主机上。
      -s<来源地址>   设置本地主机送出数据包的IP地址。
      -t<服务类型>   设置检测数据包的TOS数值。
      -v   详细显示指令的执行过程。
      -w<超时秒数>   设置等待远端主机回报的时间。
      -x   开启或关闭数据包的正确性检验。  
    [data size]:每次测试包的数据字节长度(缺省为38)
    #返回值说明
    显示到达目的地的数据包路由
    [root@localhost ~]# traceroute www.baidu.com
    traceroute to www.baidu.com (61.135.169.125), 30 hops max, 60 byte packets
     1  10.20.35.254 (10.20.35.254)  0.626 ms  1.205 ms  1.476 ms
     2  10.20.0.1 (10.20.0.1)  0.365 ms  0.453 ms  0.463 ms
     3  124.160.189.213 (124.160.189.213)  2.377 ms  2.226 ms  2.250 ms
     4  124.160.188.101 (124.160.188.101)  2.253 ms 124.160.188.105 (124.160.188.105)  2.396 ms  2.518 ms
     5  124.160.189.89 (124.160.189.89)  8.592 ms 124.160.189.97 (124.160.189.97)  11.756 ms 124.160.189.105 (124.160.189.105)  7.020 ms
     6  219.158.96.133 (219.158.96.133)  28.295 ms  27.595 ms 219.158.96.129 (219.158.96.129)  27.675 ms
     7  202.96.12.114 (202.96.12.114)  29.006 ms  28.724 ms 124.65.194.154 (124.65.194.154)  30.519 ms
     8  61.148.155.50 (61.148.155.50)  31.042 ms 124.65.58.198 (124.65.58.198)  28.132 ms 124.65.58.54 (124.65.58.54)  27.523 ms
     9  202.106.48.18 (202.106.48.18)  27.811 ms 123.125.248.102 (123.125.248.102)  26.961 ms 123.125.248.46 (123.125.248.46)  50.428 ms
    

    5. netstat

    用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等
    
    
    常见参数
    -a (all)显示所有选项,默认不显示LISTEN相关
    -t (tcp)仅显示tcp相关选项
    -u (udp)仅显示udp相关选项
    -n 拒绝显示别名,能显示数字的全部转化成数字。
    -l 仅列出有在 Listen (监听) 的服務状态
    
    -p 显示建立相关链接的程序名
    -r 显示路由信息,路由表
    -e 显示扩展信息,例如uid等
    -s 按各个协议进行统计
    -c 每隔一个固定时间,执行该netstat命令。
    
    提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
    
    1.列出所有端口 (包括监听和未监听的)- netstat -a | more
        
     Active Internet connections (servers and established)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     tcp        0      0 localhost:30037         *:*                     LISTEN
     udp        0      0 *:bootpc                *:*
     
     Active UNIX domain sockets (servers and established)
     Proto RefCnt Flags       Type       State         I-Node   Path
     unix  2      [ ACC ]     STREAM     LISTENING     6135     /tmp/.X11-unix/X0
     unix  2      [ ACC ]     STREAM     LISTENING     5140     /var/run/acpid.socket
    
    2.列出所有tcp端口 - netstat -at
     Active Internet connections (servers and established)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     tcp        0      0 localhost:30037         *:*                     LISTEN
     tcp        0      0 localhost:ipp           *:*                     LISTEN
     tcp        0      0 *:smtp                  *:*                     LISTEN
     tcp6       0      0 localhost:ipp           [::]:*                  LISTEN
    
    3.列出所有udp端口 - netstat -au
     Active Internet connections (servers and established)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     udp        0      0 *:bootpc                *:*
     udp        0      0 *:49119                 *:*
     udp        0      0 *:mdns                  *:*
    
    4.只显示监听端口 - netstat -l
    
    5.显示每个协议的统计信息 - nestat -s
     Ip:
     11150 total packets received
     1 with invalid addresses
     0 forwarded
     0 incoming packets discarded
     11149 incoming packets delivered
     11635 requests sent out
     Icmp:
     0 ICMP messages received
     0 input ICMP message failed.
     Tcp:
     582 active connections openings
     2 failed connection attempts
     25 connection resets received
     Udp:
     1183 packets received
     4 packets to unknown port received.
     .....
    
    显示tcp和udp
    netstat -st
    netstat -su
    
  • 相关阅读:
    CoffeeScript
    Android Metrics
    Mac VPS
    Android UI Design
    Android Interactive Animation
    iOS8 with Swift
    What is MEAN?
    Mac OS X “to open Eclipse, you need a Java SE 6 runtime”
    Android Screen Orientation
    Android Sensor Shake(WeChat)
  • 原文地址:https://www.cnblogs.com/hq82/p/12804100.html
Copyright © 2011-2022 走看看