linux中20个高级命令
1、ifconfig命令
ifconfig用于配置内核常驻网络接口。它用于在启动时根据需要设置接口。
[rumenz@local ~]$ ifconfig
eth0 Link encap:Ethernet HWaddr 40:2C:F4:EA:CF:0E
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::422c:f4ff:feea:cf0e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:163843 errors:0 dropped:0 overruns:0 frame:0
TX packets:124990 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:154389832 (147.2 MiB) TX bytes:65085817 (62.0 MiB)
Interrupt:20 Memory:f7100000-f7120000
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:78 errors:0 dropped:0 overruns:0 frame:0
TX packets:78 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4186 (4.0 KiB) TX bytes:4186 (4.0 KiB)
1.1 检查所有网络接口
使用-a显示所有接口的详细信息
[rumenz@local ~]$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 40:2C:F4:EA:CF:0E
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::422c:f4ff:feea:cf0e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:163843 errors:0 dropped:0 overruns:0 frame:0
TX packets:124990 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:154389832 (147.2 MiB) TX bytes:65085817 (62.0 MiB)
Interrupt:20 Memory:f7100000-f7120000
1.2 禁用网卡
ifconfig eth0 down
1.3 启用网卡
ifconfig eth0 up
1.4为网卡分配 IP 地址
ifconfig eth0 192.168.1.12
1.5 更改网卡eth0的子网掩码
ifconfig eth0 netmask 255.255.255.0
1.6 更改网卡 eth0 的广播地址
ifconfig eth0 broadcast 192.168.1.255
1.7 全部
ifconfig eth0 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255
Note: 如果使用无线网络,则需要使用命令 iwconfig
2、netstat命令
netstat命令显示各种网络相关信息,如网络连接、路由表
2.1 列出所有网络端口
[rumenz@local ~]$ netstat -a
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 741379 /run/user/user1/keyring-I5cn1c/gpg
unix 2 [ ACC ] STREAM LISTENING 8965 /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 18584 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 741385 /run/user/user1/keyring-I5cn1c/ssh
unix 2 [ ACC ] STREAM LISTENING 741387 /run/user/user1/keyring-I5cn1c/pkcs11
unix 2 [ ACC ] STREAM LISTENING 20242 @/tmp/dbus-ghtTjuPN46
unix 2 [ ACC ] STREAM LISTENING 13332 /var/run/samba/winbindd_privileged/pipe
unix 2 [ ACC ] STREAM LISTENING 13331 /tmp/.winbindd/pipe
unix 2 [ ACC ] STREAM LISTENING 11030 /var/run/mysqld/mysqld.sock
unix 2 [ ACC ] STREAM LISTENING 19308 /tmp/ssh-qnZadSgJAbqd/agent.3221
unix 2 [ ACC ] STREAM LISTENING 436781 /tmp/HotShots
unix 2 [ ACC ] STREAM LISTENING 46110 /run/user/ravisaive/pulse/native
unix 2 [ ACC ] STREAM LISTENING 19310 /tmp/gpg-zfE9YT/S.gpg-agent
2.2 列出所有 TCP 端口
[rumenz@local ~]$ netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:mysql *:* LISTEN
tcp 0 0 *:5901 *:* LISTEN
tcp 0 0 *:5902 *:* LISTEN
tcp 0 0 *:x11-1 *:* LISTEN
tcp 0 0 *:x11-2 *:* LISTEN
tcp 0 0 *:5938 *:* LISTEN
tcp 0 0 localhost:5940 *:* LISTEN
tcp 0 0 ravisaive-OptiPl:domain *:* LISTEN
tcp 0 0 ravisaive-OptiPl:domain *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 ravisaive-OptiPle:48270 ec2-23-21-236-70.c:http ESTABLISHED
tcp 0 0 ravisaive-OptiPle:48272 ec2-23-21-236-70.c:http TIME_WAIT
tcp 0 0 ravisaive-OptiPle:48421 bom03s01-in-f22.1:https ESTABLISHED
tcp 0 0 ravisaive-OptiPle:48269 ec2-23-21-236-70.c:http ESTABLISHED
tcp 0 0 ravisaive-OptiPle:39084 channel-ecmp-06-f:https ESTABLISHED
2.3 显示所有端口的统计信息
[rumenz@local ~]$ netstat -s
Ip:
4994239 total packets received
0 forwarded
0 incoming packets discarded
4165741 incoming packets delivered
3248924 requests sent out
8 outgoing packets dropped
Icmp:
29460 ICMP messages received
566 input ICMP message failed.
ICMP input histogram:
destination unreachable: 98
redirects: 29362
2918 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 2918
IcmpMsg:
InType3: 98
InType5: 29362
OutType3: 2918
Tcp:
94533 active connections openings
23 passive connection openings
5870 failed connection attempts
7194 connection resets received
如果你不想将主机、端口和用户名解析为 netstat 的输出。
[rumenz@local ~]$ netstat -an
你可能需要不断获取 netstat 的输出,直到通过中断指令(ctrl+c)。
[rumenz@local ~]$ netstat -c
3、nslookup命令
一种网络实用程序,用于获取有关 Internet 服务器的信息。顾名思义,该实用程序通过查询来查找域的名称服务器信息DNS.
[rumenz@local ~]$ nslookup rumenz.com
Server: 192.168.1.1
Address: 192.168.1.1
Non-authoritative answer:
Name: rumenz.com
Address: 50.16.67.239
3.1 查询邮件交换记录
[rumenz@local ~]$ nslookup -query=mx rumenz.com
Server: 192.168.1.1
Address: 192.168.1.1
Non-authoritative answer:
rumenz.com mail exchanger = 0 smtp.secureserver.net.
rumenz.com mail exchanger = 10 mailstore1.secureserver.net.
Authoritative answers can be found from:
3.2 查询名称服务器
[rumenz@local ~]$ nslookup -type=ns rumenz.com
Server: 192.168.1.1
Address: 192.168.1.1
Non-authoritative answer:
rumenz.com nameserver = ns3404.com.
rumenz.com nameserver = ns3403.com.
Authoritative answers can be found from:
3.3 查询 DNS 记录
[rumenz@local ~]$ nslookup -type=any rumenz.com
Server: 192.168.1.1
Address: 192.168.1.1
Non-authoritative answer:
rumenz.com mail exchanger = 10 mailstore1.secureserver.net.
rumenz.com mail exchanger = 0 smtp.secureserver.net.
rumenz.com nameserver = ns06.domaincontrol.com.
rumenz.com nameserver = ns3404.com.
rumenz.com nameserver = ns3403.com.
rumenz.com nameserver = ns05.domaincontrol.com.
Authoritative answers can be found from:
3.4 查询权限开始
[rumenz@local ~]$ nslookup -type=soa rumenz.com
Server: 192.168.1.1
Address: 192.168.1.1
Non-authoritative answer:
rumenz.com
origin = ns3403.hostgator.com
mail addr = dnsadmin.gator1702.hostgator.com
serial = 2012081102
refresh = 86400
retry = 7200
expire = 3600000
minimum = 86400
Authoritative answers can be found from:
3.5 查询端口号
更改要连接的端口号
[rumenz@local ~]$ nslookup -port 56 rumenz.com
Server: rumenz.com
Address: 50.16.76.239
Name: 56
Address: 14.13.253.12
4、dig命令
dig是一个查询工具DNSnameservers 获取有关主机地址、邮件交换、名称服务器和相关信息的信息。这个工具可以在任何 Linux (Unix) 或Macintosh OS X操作系统。最典型的用途dig是简单地查询单个主机。
[rumenz@local ~]$ dig rumenz.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
4.1 关闭注释行
[rumenz@local ~]$ dig rumenz.com +nocomments
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com +nocomments
;; global options: +cmd
;rumenz.com. IN A
rumenz.com. 14400 IN A 40.216.66.239
;; Query time: 418 msec
;; SERVER: 192.168.1.1
;; WHEN: Sat Jun 29 13:53:22 2013
;; MSG SIZE rcvd: 45
4.2 关闭来源段
[rumenz@local ~]$ dig rumenz.com +noauthority
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com +noauthority
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
4.3 关闭附加段
[rumenz@local ~]$ dig rumenz.com +noadditional
; <<>> DiG 9.9.2-P1 <<>> rumenz.com +noadditional
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
4.4 关闭统计段
[rumenz@local ~]$ dig rumenz.com +nostats
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com +nostats
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
4.5 关闭结果段
[rumenz@local ~]$ dig rumenz.com +noanswer
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com +noanswer
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
4.6 一次禁用所有部分
[rumenz@local ~]$ dig rumenz.com +noall
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com +noall
;; global options: +cmd
5、uptime命令
uptime命令能够打印系统总共运行了多长时间和系统的平均负载
5.1 查看运行时间以及负载
rumenz@local ~]$ uptime
14:37:10 up 4:21, 2 users, load average: 0.00, 0.00, 0.04
6、 wall命令
管理员最重要的命令之一,wall向使用他们登录的每个人发送消息mesg权限设置为 yes。该消息可以作为参数给出wall,也可以发送到 wall 的标准输入。
6.1 查看登录信息
[rumenz@local ~]$ 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、mesg命令
让你控制人们是否可以使用 write 命令,通过屏幕向你发送文本。
mesg [n|y]
n - prevents the message from others popping up on the screen.
y – Allows messages to appear on your screen.
8、write命令
让你直接将文本发送到另一台 Linux 机器的屏幕,如果 mesg是y。
[rumenz@local ~]$ write ravisaive
9、talk命令
对write命令,talk命令可让你与登录用户交谈。
[rumenz@local ~]$ talk ravisaive
Note: 如果talk命令未安装,你可以随时apt或yum所需的包。
[rumenz@local ~]$ yum install talk
OR
[rumenz@local ~]$ apt-get install talk
10、w命令
什么命令w 看起来你很有趣吗?但实际上并非如此。这是一个命令,即使它只有一个字母长!命令 w 的组合uptime和who命令一个接一个地发出,按照这个顺序。
[rumenz@local ~]$ w
15:05:42 up 4:49, 3 users, load average: 0.02, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
server tty7 :0 14:06 4:43m 1:42 0.08s pam: gdm-passwo
server pts/0 :0.0 14:18 0.00s 0.23s 1.65s gnome-terminal
server pts/1 :0.0 14:47 4:43 0.01s 0.01s bash
11、rename命令
顾名思义,此命令重命名文件。rename 将通过替换文件名中的第一个匹配项来重命名指定的文件。
Give the file names a1, a2, a3, a4.....1213
只需键入命令。
rename a1 a0 a?
rename a1 a0 a??
12、top命令
显示进程CPU.默认情况下,此命令会自动刷新并继续显示CPU除非给出中断指令,否则处理。
[rumenz@local ~]$ top
top - 14:06:45 up 10 days, 20:57, 2 users, load average: 0.10, 0.16, 0.21
Tasks: 240 total, 1 running, 235 sleeping, 0 stopped, 4 zombie
%Cpu(s): 2.0 us, 0.5 sy, 0.0 ni, 97.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 2028240 total, 1777848 used, 250392 free, 81804 buffers
KiB Swap: 3905532 total, 156748 used, 3748784 free, 381456 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
23768 ravisaiv 20 0 1428m 571m 41m S 2.3 28.9 14:27.52 firefox
24182 ravisaiv 20 0 511m 132m 25m S 1.7 6.7 2:45.94 plugin-containe
26929 ravisaiv 20 0 5344 1432 972 R 0.7 0.1 0:00.07 top
24875 ravisaiv 20 0 263m 14m 10m S 0.3 0.7 0:02.76 lxterminal
1 root 20 0 3896 1928 1228 S 0.0 0.1 0:01.62 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.06 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:17.28 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/u:0H
8 root rt 0 0 0 0 S 0.0 0.0 0:00.12 migration/0
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
10 root 20 0 0 0 0 S 0.0 0.0 0:26.94 rcu_sched
11 root rt 0 0 0 0 S 0.0 0.0 0:01.95 watchdog/0
12 root rt 0 0 0 0 S 0.0 0.0 0:02.00 watchdog/1
13 root 20 0 0 0 0 S 0.0 0.0 0:17.80 ksoftirqd/1
14 root rt 0 0 0 0 S 0.0 0.0 0:00.12 migration/1
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H
17 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset
18 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
20 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
21 root 20 0 0 0 0 S 0.0 0.0 0:00.04 bdi-default
22 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
23 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
24 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 ata_sff
13、mkfs.ext4命令
此命令创建一个新的ext4指定设备上的文件系统,如果在此命令后跟随错误的设备,整个块将被擦除和格式化,因此建议不要运行此命令,除非并且直到你明白你在做什么。
Mkfs.ext4 /dev/sda1 (sda1 block will be formatted)
mkfs.ext4 /dev/sdb1 (sdb1 block will be formatted)
14、vi命令
vi/emacs/nano
vi,emacs,nano是 Linux 中一些最常用的编辑器。它们通常用于编辑文本、配置、文件。
vi 编辑器
[rumenz@local ~]$ touch a.txt (creates a text file a.txt)
[rumenz@local ~]$ vi a.txt (open a.txt with vi editor)
[按i 进入插入模式,否则你将无法输入任何内容]
echo "Hello" (your text here for the file)
alt+x(退出插入模式,记得在最后一个字母之间保留一些空格。
ctrl+x命令或你的最后一句话将被删除)。
:wq!(保存文件,用当前文本,记住!是覆盖)。
nano编辑器
[rumenz@local ~]$ nano a.txt (open a.txt file to be edited with nano)
edit, with the content, required
ctrl +x(关闭编辑器)。它将显示输出为:
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?
Y Yes
N No ^C Cancel
点击 y 到 yes 并输入文件名,你就完成了。
15、rsync命令
Rsync复制文件并有一个-P切换进度条。所以如果你安装了 rsync,你可以使用一个简单的别名。
alias cp='rsync -aP'
现在尝试在终端中复制一个大文件并查看包含剩余项目的输出,类似于进度条。
此外,保持和维护备份是系统管理员需要执行的最重要和最无聊的工作之一。Rsync 是一个非常好的工具(存在,还有其他几个)用于在终端中创建和维护备份。
[rumenz@local ~]$ rsync -zvr IMG_5267\ copy\=33\ copy\=ok.jpg ~/Desktop/
sending incremental file list
IMG_5267 copy=33 copy=ok.jpg
sent 2883830 bytes received 31 bytes 5767722.00 bytes/sec
total size is 2882771 speedup is 1.00
Note:-z用于压缩,-v 用于详细,-r 用于递归。
16、free命令
跟踪内存和资源与管理员执行的任何其他任务一样重要,并且free命令来拯救这里。
16.1 内存使用现状
[rumenz@local ~]$ free
total used free shared buffers cached
Mem: 2028240 1788272 239968 0 69468 363716
-/+ buffers/cache: 1355088 673152
Swap: 3905532 157076 3748456
> 以 KB、MB 或 GB 为单位的调谐输出
[rumenz@local ~]$ free -b
total used free shared buffers cached
Mem: 2076917760 1838272512 238645248 0 71348224 372670464
-/+ buffers/cache: 1394253824 682663936
Swap: 3999264768 160845824 3838418944
[rumenz@local ~]$ free -k
total used free shared buffers cached
Mem: 2028240 1801484 226756 0 69948 363704
-/+ buffers/cache: 1367832 660408
Swap: 3905532 157076 3748456
[rumenz@local ~]$ free -m
total used free shared buffers cached
Mem: 1980 1762 218 0 68 355
-/+ buffers/cache: 1338 641
Swap: 3813 153 3660
[rumenz@local ~]$ free -g
total used free shared buffers cached
Mem: 1 1 0 0 0 0
-/+ buffers/cache: 1 0
Swap: 3 0 3
人类可读格式展示
[rumenz@local ~]$ free -h
total used free shared buffers cached
Mem: 1.9G 1.7G 208M 0B 68M 355M
-/+ buffers/cache: 1.3G 632M
Swap: 3.7G 153M 3.6G
定期检查输出
[rumenz@local ~]$ free -s 3
total used free shared buffers cached
Mem: 2028240 1824096 204144 0 70708 364180
-/+ buffers/cache: 1389208 639032
Swap: 3905532 157076 3748456
total used free shared buffers cached
Mem: 2028240 1824192 204048 0 70716 364212
-/+ buffers/cache: 1389264 638976
Swap: 3905532 157076 3748456
17、mysqldump命令
你应该已经从该命令的名称中了解了该命令的实际含义。mysqldump命令将所有或特定的数据库数据转储(备份)到给定的文件中。例如,
[rumenz@local ~]$ mysqldump -u root -p --all-databases > /home/server/Desktop/backupfile.sql
Note:mysqldump需要运行 mysql 并正确密码进行授权。我们已经介绍了一些有用的 mysqldump使用 mysqldump命令进行数据库备份的命令
18、mkpasswd命令
制作指定长度的难以猜测的随机密码。
[rumenz@local ~]$ mkpasswd -l 10
zI4+Ybqfx9
[rumenz@local ~]$ mkpasswd -l 20
w0Pr7aqKk&hmbmqdrlmk
Note:-l 10生成一个随机密码10字符而-l 20生成字符密码20,它可以设置为任何以获得所需的结果。此命令非常有用,通常以脚本语言实现以生成随机密码。你可能需要yum或aptexpect' 包来使用这个命令。
[root@rumenz ~]
OR
[root@rumenz ~]
19、paste命令
使用行合并两个或多个文本文件
[rumenz@local ~] cat rumenz1.txt
1
2
3
[rumenz@local ~] cat rumenz2.txt
4
[rumenz@local ~] cat rumenz3.txt
5
6
[rumenz@local ~] paste rumenz1.txt rumenz2.txt rumenz3.txt
1
2
3
4
5
6
20、lsof命令
lsof代表 list open files 并显示你的系统当前打开的所有文件。找出哪些进程使用某个文件或显示单个进程的所有文件非常有用。
[rumenz@local ~]$ lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 root cwd DIR 8,1 4096 2 /
init 1 root rtd DIR 8,1 4096 2 /
init 1 root txt REG 8,1 227432 395571 /sbin/init
...
|