linux中21个中级命令

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: linux中21个中级命令

对linux高级用户有用的20个命令


336.png

1.命令:ifconfig

ifconfig命令用于配置网络接口信息。如配置网络接口的ip地址,默认网关地址等,以便机器能够联通互联网。


显示当前网络接口信息


viidiot@ubuntu:~$ ifconfig


eth0 Link encap:Ethernet HWaddr 00:0c:29:b3🇩🇪1c


inet addr:192.168.1.141 Bcast:192.168.1.255 Mask:255.255.255.0


inet6 addr: fe80::20c:29ff:feb3:de1c/64 Scope:Link


UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1


RX packets:8673 errors:0 dropped:0 overruns:0 frame:0


TX packets:6397 errors:0 dropped:0 overruns:0 carrier:0


collisions:0 txqueuelen:1000


RX bytes:10167651 (10.1 MB) TX bytes:417860 (417.8 KB)


Interrupt:19 Base address:0×2024


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:66 errors:0 dropped:0 overruns:0 frame:0


TX packets:66 errors:0 dropped:0 overruns:0 carrier:0


collisions:0 txqueuelen:0


RX bytes:10954 (10.9 KB) TX bytes:10954 (10.9 KB)


关闭名为eth0 网络接口

viidiot@ubuntu:~$ sudo ifconfig eth0 down


开启名为eth0 网络接口

viidiot@ubuntu:~$ sudo ifconfig eth0 up


设置网络接口的ip地址


viidiot@ubuntu:~$ sudo ifconfig eth0 192.169.1.113


设置网络接口的ip地址,掩码,广播地址


viidiot@ubuntu:~$ sudo ifconfig eth0 192.169.1.113 netmask 255.255.255.0 broadcast 192.168.1.255


设置好ip地址和掩码之后,我们可以通过平命令来检测一下网络的联通性


viidiot@ubuntu:~$ ping www.baidu.com


connect: Network is unreachable


可以发现还是无法联通网络,这是因为我们还没有为网络配置路由。


【附】使用route命令设置默认网关


在使用ifconfig设置了网络接口ip地址,掩码后,可以利用route命令设置默认网关地址,即为其我们的网络添加了一条默认路由规则。


viidiot@ubuntu:~$ sudo route add default gw 192.168.1.1


然后再用ping命令来测试网络的联通性


viidiot@ubuntu:~$ ping www.baidu.com


PING www.a.shifen.com (115.239.210.27) 56(84) bytes of data.


64 bytes from 115.239.210.27: icmp_req=1 ttl=128 time=44.1 ms


64 bytes from 115.239.210.27: icmp_req=2 ttl=128 time=52.8 ms


64 bytes from 115.239.210.27: icmp_req=3 ttl=128 time=42.8 ms


64 bytes from 115.239.210.27: icmp_req=4 ttl=128 time=49.0 ms


64 bytes from 115.239.210.27: icmp_req=5 ttl=128 time=42.5 ms


64 bytes from 115.239.210.27: icmp_req=6 ttl=128 time=47.1 ms


现在可以联通网络了,good,呵呵。


2.命令:netstat


Netstat命令可用于查看系统各种与网络相关的信息,如网络连接状态,系统路由表,网络接口统计信息等等。


列出所有网络端口信息


viidiot@ubuntu:~$netstat -a


列出所有tcp连接信息


viidiot@ubuntu:~$netstat -at


显示所有端口的数据包统计信息


viidiot@ubuntu:~$netstat -s


如需要查看端口网络动态信息,只需使用命令的-c参数即可


viidiot@ubuntu:~$netstat -c


3.命令:nslookup


Nslookup用于查看网络主机的相信信息,如ip地址,服务端口等信息。


viidiot@ubuntu:~$ nslookup www.baidu.com


Server: 192.168.1.1


Address: 192.168.1.1#53


Non-authoritative answer:


www.baidu.com canonical name = www.a.shifen.com.


Name: www.a.shifen.com


Address: 115.239.210.27


Name: www.a.shifen.com


Address: 115.239.210.26


4.命令:dig


Dig命令用于向dns域名解析服务器一些譬如主机地址相关信息。这个命令,我至今没用过,尴尬。命令使用方法如下,可以发现dig能够获得很详细的主机相关信息。


viidiot@ubuntu:~$ dig www.baidu.com


; <<>> DiG 9.7.1-P2 <<>> www.baidu.com


;; global options: +cmd


;; Got answer:


;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10771


;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4


;; QUESTION SECTION:


;www.baidu.com. IN A


;; ANSWER SECTION:


www.baidu.com. 5 IN CNAME www.a.shifen.com.


www.a.shifen.com. 5 IN A 115.239.210.27


www.a.shifen.com. 5 IN A 115.239.210.26


;; AUTHORITY SECTION:


a.shifen.com. 5 IN NS ns2.a.shifen.com.


a.shifen.com. 5 IN NS ns3.a.shifen.com.


a.shifen.com. 5 IN NS ns4.a.shifen.com.


a.shifen.com. 5 IN NS ns1.a.shifen.com.


;; ADDITIONAL SECTION:


ns1.a.shifen.com. 5 IN A 61.135.165.224


ns2.a.shifen.com. 5 IN A 180.149.133.241


ns3.a.shifen.com. 5 IN A 61.135.162.215


ns4.a.shifen.com. 5 IN A 115.239.210.176


;; Query time: 222 msec


;; SERVER: 192.168.1.1#53(192.168.1.1)


;; WHEN: Mon Sep 30 15:11:36 2013


;; MSG SIZE rcvd: 226


5.命令:uptime


Uptime命令能够提供系统的启动时间,当前负载情况,系统当前用户数。

viidiot@ubuntu:~$ uptime

15:15:07 up 8:46, 2 users, load average: 0.36, 0.44, 0.44


6.命令:wall


Wall命令对系统管理员来说很常用,它能够给登录到系统的用户发送信息(需要用户的mesg permission设置成yes,该用户才会收到信息)。比如系统需要重启,管理员得通知当前登录的用户,做好准备,我要重启系统了,你们该干嘛干嘛,总之得有心理准备,过会就重启了哦。。。


[avishek@tecmint ~]$ wall ”we will be going down for maintenance for one hour sharply at 03:30 pm”


Broadcast message from root@localhost.localdomain (pts/0) (Sat Jun 29 14:44:02 2013):


we will be going down for maintenance for one hour sharply at 03:30 pm


7.命令:msg

通过Msg命令你能决定是否允许其他用户通过write命令给你发送消息。


8.命令:write

通过write命令可以直接给另一太linux机器发送文本消息。


9.命令:talk

Write命令的加强版。


10.命令:w


W命令很酷吧,只有一个字符。它是uptime命令和who命令的混血儿。允许效果如下,看到没,相当于运行了一个uptime命令,接着再运行一个who命令。


viidiot@ubuntu:~$ w


15:32:34 up 9:03, 2 users, load average: 0.27, 0.36, 0.36


USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT


viidiot tty7 :0 23Sep13 7days 10:45 1.17s gnome-session


viidiot pts/0 :0.0 14:21 1.00s 1.93s 0.21s w


11.命令:rename

给文件快捷重命名。


12.命令:top


显示CPU进程信息。


viidiot@ubuntu:~$ top


top - 15:36:39 up 9:07, 2 users, load average: 1.04, 0.56, 0.42


Tasks: 137 total, 2 running, 135 sleeping, 0 stopped, 0 zombie


Cpu(s): 7.9%us, 9.6%sy, 0.0%ni, 82.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st


Mem: 1025232k total, 772468k used, 252764k free, 150000k buffers


Swap: 916476k total, 0k used, 916476k free, 415288k cached


PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND


1674 root 20 0 163m 21m 7956 R 13.6 2.2 10:53.65 Xorg


6900 viidiot 20 0 94076 13m 10m S 4.3 1.4 0:28.08 gnome-terminal


7593 viidiot 20 0 2624 1124 840 R 0.7 0.1 0:00.16 top


1551 root 20 0 26336 4124 3376 S 0.3 0.4 1:16.39 vmtoolsd


1967 viidiot 20 0 96212 22m 17m S 0.3 2.2 2:02.38 vmtoolsd


13. 命令: mkfs.ext4


这个命令在指定的设备上创建一个新的ext4文件系统,如果这个命令后面跟的是个错误的设备,那么整个设备就会被擦除和格式化,所以建议不要运行这个命令,除非你清楚自己正在干什么。


14. vi/emac/nano 命令

vi (visual), emac, nano 是 linux 中最常用的一些编辑器。它们经常用于编辑文本,不过我喜欢vim,是vi的加强版。


15. 命令: rsync

Rsync复制文件,参数-P开启进度条。从而可以看到文件的复制进度。很酷吧,不止windows可以,linux在命令行就能做到。


16. 命令: free


Free命令显示当前系统的资源使用情况,如内存,交换器等的使用情况。


viidiot@ubuntu:~$ free


total used free shared buffers cached


Mem: 1025232 772840 252392 0 150016 415292


-/+ buffers/cache: 207532 817700


Swap: 916476 0 916476


17. mysqldump 命令


数据库备份用。从名字上就能明白这个命令所代表的作用。mysqldump 命令会转储(备份)数据库的全部或特定一部分数据到一个给定的文件中。例如:


[avishek@tecmint ~]$ mysqldump -u root -p –all-databases > /home/server/Desktop/backupfile.sql


18. mkpasswd 命令


根据指定的长度,产生一个无比牛逼的随机密码,呵呵。


[avishek@tecmint ~]$ mkpasswd -l 20


w0Pr7aqKk&hmbmqdrlmk


19. Command: paste


合并两个或多个文本文件,按行来进行合并。示例。如果 file1 的内容是:

1

2

3

file2 的内容是:

a

b

c

d

则合并结果为:

1 a

2 b

3 c

d


20.命令: lsof


lsof 是”list open files(“列表中打开的文件”) 的缩写,显示系统当前已打开的所有文件。对于想找出哪些进程使用某一特定文件非常有用,或显示为单个进程打开所有文件。一些有用的 10 个lsof 命令示例,你可能会感兴趣。


21. find命令

878.png

rumenz@local:~# find -name *.sh 
./Desktop/load.sh 
./Desktop/test.sh 
./Desktop/shutdown.sh 
./Binary/firefox/run-mozilla.sh 
./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh 
./Downloads/kdewebdev-3.5.8/admin/doxygen.sh 
./Downloads/kdewebdev-3.5.8/admin/cvs.sh 
./Downloads/kdewebdev-3.5.8/admin/ltmain.sh 
./Downloads/wheezy-nv-install.sh

676.png

rumenz@local:~# find -iname *.SH ( find -iname *.Sh /  find -iname *.sH)
./Desktop/load.sh 
./Desktop/test.sh 
./Desktop/shutdown.sh 
./Binary/firefox/run-mozilla.sh 
./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh 
./Downloads/kdewebdev-3.5.8/admin/doxygen.sh 
./Downloads/kdewebdev-3.5.8/admin/cvs.sh 
./Downloads/kdewebdev-3.5.8/admin/ltmain.sh 
./Downloads/wheezy-nv-install.sh
rumenz@local:~# find -name *.tar.gz 
/var/www/modules/update/tests/aaa_update_test.tar.gz 
./var/cache/flashplugin-nonfree/install_flash_player_11_linux.i386.tar.gz 
./home/server/Downloads/drupal-7.22.tar.gz 
./home/server/Downloads/smtp-7.x-1.0.tar.gz 
./home/server/Downloads/noreqnewpass-7.x-1.2.tar.gz 
./usr/share/gettext/archive.git.tar.gz 
./usr/share/doc/apg/php.tar.gz 
./usr/share/doc/festival/examples/speech_pm_1.0.tar.gz 
./usr/share/doc/argyll/examples/spyder2.tar.gz 
./usr/share/usb_modeswitch/configPack.tar.gz

22. grep命令


686.png

rumenz@local:~# grep rumenz /etc/passwd 
rumenz:x:1000:1000:rumenz,,,:/home/rumenz:/bin/bash

565.png

rumenz@local:~# grep -i rumenz /etc/passwd 
rumenz:x:1000:1000:rumenz,,,:/home/rumenz:/bin/bash

113.png

rumenz@local:~# grep -r "127.0.0.1" /etc/ 
/etc/vlc/lua/http/.hosts:127.0.0.1
/etc/speech-dispatcher/modules/ivona.conf:#IvonaServerHost "127.0.0.1"
/etc/mysql/my.cnf:bind-address  = 127.0.0.1
/etc/apache2/mods-available/status.conf:    Allow from 127.0.0.1 ::1
/etc/apache2/mods-available/ldap.conf:    Allow from 127.0.0.1 ::1
/etc/apache2/mods-available/info.conf:    Allow from 127.0.0.1 ::1
/etc/apache2/mods-available/proxy_balancer.conf:#    Allow from 127.0.0.1 ::1
/etc/security/access.conf:#+ : root : 127.0.0.1
/etc/dhcp/dhclient.conf:#prepend domain-name-servers 127.0.0.1;
/etc/dhcp/dhclient.conf:#  option domain-name-servers 127.0.0.1;
/etc/init/network-interface.conf: ifconfig lo 127.0.0.1 up || true
/etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1).
/etc/java-6-openjdk/net.properties:# http.nonProxyHosts=localhost|127.0.0.1
/etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1).
/etc/java-6-openjdk/net.properties:# ftp.nonProxyHosts=localhost|127.0.0.1
/etc/hosts:127.0.0.1 localhost


  1. -w单词 (egrep -w word1|word2/path/to/file)。
  2. -cfor count(即模式匹配的总次数)(grep -c word/path/to/file)。
  3. –color对于彩色输出(grep–color服务器 /etc/passwd)。


23. man命令

man是系统的手册页。Man 提供了有关命令及其用法的所有可能选项的在线文档。几乎所有的命令都带有相应的手册页。例如,


rumenz@local:~# man man
MAN(1)                                                               Manual pager utils                                                              MAN(1)
NAME
       man - an interface to the on-line reference manuals
SYNOPSIS
       man  [-C  file]  [-d]  [-D]  [--warnings[=warnings]]  [-R  encoding]  [-L  locale]  [-m  system[,...]]  [-M  path]  [-S list] [-e extension] [-i|-I]
       [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justification]  [-p
       string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[section] page ...] ...
       man -k [apropos options] regexp ...
       man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...
       man -f [whatis options] page ...
       man -l [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager] [-r prompt] [-7] [-E encoding] [-p string] [-t] [-T[device]]
       [-H[browser]] [-X[dpi]] [-Z] file ...
       man -w|-W [-C file] [-d] [-D] page ...
       man -c [-C file] [-d] [-D] page ...
       man [-hV]


手册页本身的手册页,类似地man cat([cat 命令的]手册页和man ls([命令 ls 的]手册页)。


24. ps命令

114.png

rumenz@local:~# ps
 PID TTY          TIME CMD
 4170 pts/1    00:00:00 bash
 9628 pts/1    00:00:00 ps

112.png

rumenz@local:~# ps -A
 PID TTY          TIME CMD
    1 ?        00:00:01 init
    2 ?        00:00:00 kthreadd
    3 ?        00:00:01 ksoftirqd/0
    5 ?        00:00:00 kworker/0:0H
    7 ?        00:00:00 kworker/u:0H
    8 ?        00:00:00 migration/0
    9 ?        00:00:00 rcu_bh
....

116.png


25. kill命令


rumenz@local:~# ps -A | grep -i apache2
1285 ?        00:00:00 apache2

117.png

rumenz@local:~# kill 1285 (to kill the process apache2)

118.png

1119.png

rumenz@local:~# pkill apache2
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
22天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
153 5
|
22天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
69 4
|
9天前
|
缓存 监控 Linux
|
13天前
|
Linux Shell 数据安全/隐私保护
|
13天前
|
域名解析 网络协议 安全
|
19天前
|
运维 监控 网络协议
|
20天前
|
监控 Linux Shell
|
2天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
10 3
|
2天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
9 3
|
5天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
17 7