程序笔记   发布时间:2022-07-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux中21个中级命令大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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

linux中21个中级命令

1.命令:ifconfig

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

显示当前网络接口信息

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地址࿰c;掩码࿰c;广播地址

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

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

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

connect: Network is unreachable

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

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

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

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

现在可以联通网络了࿰c;good࿰c;呵呵。

2.命令:netstat

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

列出所有网络端口信息

viidiot@ubuntu:~$netstat -a

列出所有tcp连接信息

viidiot@ubuntu:~$netstat -at

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

viidiot@ubuntu:~$netstat -s

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

viidiot@ubuntu:~$netstat -c

3.命令:nslookup

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

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域名解析服务器一些譬如主机地址相关信息。这个命令࿰c;我至今没用过࿰c;尴尬。命令使用方法如下࿰c;可以发现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命令能够提供系统的启动时间࿰c;当前负载情况࿰c;系统当前用户数。

viidiot@ubuntu:~$ uptime

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

6.命令:wall

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

[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命令很酷吧࿰c;只有一个字符。它是uptime命令和who命令的混血儿。允许效果如下࿰c;看到没࿰c;相当于运行了一个uptime命令࿰c;接着再运行一个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 @R_577_10586@l, 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

@H_235_7@mem: 1025232k @R_577_10586@l, 772468k used, 252764k free, 150000k buffers

Swap: 916476k @R_577_10586@l, 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文件系统࿰c;如果这个命令后面跟的是个错误的设备࿰c;那么整个设备就会被擦除和格式化࿰c;所以建议不要运行这个命令࿰c;除非你清楚自己正在干什么。

14. vi/emac/nano 命令

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

15. 命令: rsync

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

16. 命令: free

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

viidiot@ubuntu:~$ free

@R_577_10586@l used free shared buffers cached

@H_235_7@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 命令

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

[avishek@tecmint ~]$ mkpasswd -l 20

w0Pr7aqKk&hmbmqdrlmk

19. Command: paste

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

1

2

3

file2 的内容是:

a

b

c

d

则合并结果为:

1 a

2 b

3 c

d

20.命令: lsof

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

21. find命令

在当前目录搜索文件

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

Note:-name选项使搜索区分大小写。你可以使用 -iname无论大小写都可以找到一些东西的选项。(*是一个通配符并搜索所有扩展名为 ' 的文件.sh`你可以使用文件名或文件名的一部分来自定义输出)。

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命令

grep命令在给定文件中搜索包含与给定字符串或单词匹配的行。搜索 /etc/passwdrumenz用户。

rumenz@local:~# grep rumenz /etc/passwd 

rumenz:x:1000:1000:rumenz,,,:/home/rumenz:/bin/bash

-i忽略单词大小写

rumenz@local:~# grep -i rumenz /etc/passwd 

rumenz:x:1000:1000:rumenz,,,:/home/rumenz:/bin/bash

递归搜索-r

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命令

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

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]

手册页本身的手册页࿰c;类似地@H_148_409@man cat([cat 命令的]手册页和@H_148_409@man ls([命令 ls 的]手册页)。

24. ps命令

ps(Process) 以唯一的方式给出正在运行的进程的状态IdPID.

rumenz@local:~# ps

 PID TTY          TIME CMD
 4170 pts/1    00:00:00 bash
 9628 pts/1    00:00:00 ps

列出所有进程的状态以及进程idPID, 使用选项 -A

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
....

Note:可以先用grep找到进程的pid

rumenz@local:~# ps -A | grep -i ssh

 1500 ?        00:09:58 sshd
 4317 ?        00:00:00 sshd

这里psgrep命令来查找我们需要的自定义和相关输出。

25. kill命令

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

1285 ?        00:00:00 apache2

查找进程apache2c;注意其pidkill它。例如࿰c;在我的情况下apache2pid 是1285

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

Note: 每次重新运行一个进程或启动一个系统时࿰c;都会有一个新的pid为每个进程生成࿰c;你可以了解当前正在运行的进程及其pid使用命令 ps

pkill通过进程名结束进程

rumenz@local:~# pkill apache2

26. whereis命令

whereis命令用于定位Binary,sources和@H_148_409@manual Pages命令的。例如࿰c;要定位Binary,sources和@H_148_409@manual Pages命令的lskill

rumenz@local:~# whereis ls 

ls: /bin/ls /usr/share/man/man1/ls.1.gz
rumenz@local:~# whereis kill

kill: /bin/kill /usr/share/man/man2/kill.2.gz /usr/share/man/man1/kill.1.gz

27. service命令

service命令控制StarTing,StoppingRestarTing一个service。这个命令可以start,restartstop无需重新启动系统即可使更改生效的服务。

在 Ubuntu 上启动 apache2 服务器

rumenz@local:~# service apache2 start

 * StarTing web server apache2                                                                                                                                 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
httpd (pid 1285) already running      [ OK ]

在 Ubuntu 上停止 apache2 服务器

rumenz@local:~# service apache2 stop
                                                           [ OK ]

28. alias命令

alias是一个内置的 sHell 命令࿰c;可让你为长命令或常用命令指定自定义名称。

我经常使用 ls -l命令。因此我为此创建了一个别名为 l

rumenz@local:~# alias l='ls -l'

检查它是否有效。

rumenz@local:~# l

@R_577_10586@l 36 
drwxr-xr-x 3 rumenz rumenz 4096 May 10 11:14 Binary 
drwxr-xr-x 3 rumenz rumenz 4096 May 21 11:21 Desktop 
drwxr-xr-x 2 rumenz rumenz 4096 May 21 15:23 Documents 
drwxr-xr-x 8 rumenz rumenz 4096 May 20 14:56 Downloads 
drwxr-xr-x 2 rumenz rumenz 4096 May  7 16:58 Music 
drwxr-xr-x 2 rumenz rumenz 4096 May 20 16:17 Pictures 
drwxr-xr-x 2 rumenz rumenz 4096 May  7 16:58 Public 
drwxr-xr-x 2 rumenz rumenz 4096 May  7 16:58 Templates 
drwxr-xr-x 2 rumenz rumenz 4096 May  7 16:58 Videos

删除别名 l, 使用下面的unalias命令。

rumenz@local:~# unalias l
rumenz@local:~# l

bash: l: command not found

29. df命令

报告文件系统的磁盘使用情况。对用户和系统管理员跟踪他们的磁盘使用情况很有用。df通过检查目录条目来工作࿰c;目录条目通常仅在文件关闭时更新。

rumenz@local:~# df

Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       47929224 7811908  37675948  18% /
none                   4       0         4   0% /sys/fs/cgroup
udev             1005916       4   1005912   1% /dev
tmpfs             202824     816    202008   1% /run
none                5120       0      5120   0% /run/lock
none             1014120     628   1013492   1% /run/shm
none              102400      44    102356   1% /run/user
/dev/sda5         184307   79852     94727  46% /boot
/dev/sda7       95989516   61104  91045676   1% /data
/dev/sda8       91953192   57032  87218528   1% /personal

30. du命令

统计文件空间使用量。以分层方式(即以递归方式)按文件输出磁盘使用情况摘要。

rumenz@local:~# du

8       ./Daily Pics/wp-polls/images/default_gradient
8       ./Daily Pics/wp-polls/images/default
32      ./Daily Pics/wp-polls/images
8       ./Daily Pics/wp-polls/Tinymce/plugins/polls/langs
8       ./Daily Pics/wp-polls/Tinymce/plugins/polls/img
28      ./Daily Pics/wp-polls/Tinymce/plugins/polls
32      ./Daily Pics/wp-polls/Tinymce/plugins
36      ./Daily Pics/wp-polls/Tinymce
580     ./Daily Pics/wp-polls
1456    ./Daily Pics
36      ./Plugins/wordpress-author-box
16180   ./Plugins
12      ./May Articles 2013/Xtreme Download Manager
4632    ./May Articles 2013/XCache

31. rm命令

命令 rm代表移除。rm用于删除文件和目录。

删除目录

rumenz@local:~# rm PassportApplicationForm_Main_English_V1.0

rm: cAnnot remove `PassportApplicationForm_Main_English_V1.0': Is a directory

不能简单地通过rm删除目录࿰c;你必须使用rm -rf

rumenz@local:~# rm -rf PassportApplicationForm_Main_English_V1.0

Warning:rm -rf命令是一个危险的命令࿰c;如果你不小心把它放到了错误的目录中。一旦你rm -rf一个目录中的所有文件和目录本身突然就永远丢失了。请谨慎使用。

32. echo命令

echo顾名思义࿰c;在标准输出上回显文本。它与 sHell 无关࿰c;sHell 也不读取 echo 命令的输出。但是在交互式脚本中࿰c;echo 通过终端将消息传递给用户。它是脚本、交互式脚本中常用的命令之一。

rumenz@local:~# echo "rumenz.com is a very good website" 

rumenz.com is a very good website
创建一个小的交互式脚本
  1. 创建一个文件࿰c;命名为interactive_sHell.sh在桌面上。(记住.sh扩展名是必须的)。
  2. 复制粘贴下面的脚本࿰c;完全一样࿰c;如下。
#!/bin/bash 
echo "Please enter your name:" 
read name 
echo "Welcome to Linux $name"

接下来࿰c;设置执行权限并运行脚本。

rumenz@local:~# chmod 777 interactive_sHell.sh
rumenz@local:~# ./interactive_sHell.sh

Please enter your name:
Ravi Saive
Welcome to Linux Ravi Saive

Note:#!/bin/bash告诉 sHell 它是一个脚本。

33. passwd命令

这是一个重要的命令࿰c;可用于在终端中更改自己的密码。显然出于安全原因࿰c;你需要知道你当前的密码。

rumenz@local:~# passwd 

Changing password for rumenz. 
(current) UNIX password: 
Enter new UNIX password: 
Retype new UNIX password: 
password unchanged   [Here was passowrd remians unchanged, i.e., new password=old password]
Enter new UNIX password: #####
Retype new UNIX password:#####

34. lpr命令

此命令将命令行上命名的文件打印到命名打印机。

rumenz@local:~# lpr -P deskjet-4620-series 1-final.pdf

Note: lpq命令可让你查看打印机的状态(是否已启动)以及等待打印的作业(文件)。

35. cmp命令

比较任何类型的两个文件并将结果写入标准输出。默认情况下࿰c;cmp如果文件相同࿰c;则返回 0;如果它们不同࿰c;则报告出现第一个不同的字节和行号。

文件 1.txt
rumenz@local:~# cat file1.txt

Hi My name is rumenz
文件 2.txt
rumenz@local:~# cat file2.txt

Hi My name is rumenz [dot] com

我们比较两个文件并查看命令的输出。

rumenz@local:~# cmp file1.txt file2.txt 

file1.txt file2.txt differ: byte 15, line 1

36. wget命令

wget是一种免费实用程序࿰c;用于从 Web 上以非交互方式(即可以在后台工作)下载文件。它支持http,httpS,FTP协议和http代理。

使用 wget 下载 ffmpeg

rumenz@local:~# wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2

100%[===========================================================================>] 2,75,557    67.8KB/s   in 4.0s   

2021-08-22 18:55:00 (67.8 KB/s) - ‘ffmpeg-php-0.6.0.tbz2’ saved [275557/275557]

37. mount命令

@H_148_409@mount是一个重要的命令࿰c;用于挂载不挂载自身的文件系统。你需要root权限才能挂载设备。

第一次运行lsblk在插入你的文件系统并识别你的设备并记下你的设备分配名称后。

rumenz@local:~# lsblk 

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT 
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0 923.6G  0 part / 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0   7.9G  0 part [SWAP] 
sr0     11:0    1  1024M  0 rom  
sdb      8:16   1   3.7G  0 disk 
└─sdb1   8:17   1   3.7G  0 part
rumenz@local:~# su
password:
rumenz@local:~# cd /dev
rumenz@local:~# mkdir usb

现在挂载文件系统sdb1到目录usb

rumenz@local:~# mount /dev/sdb1 /dev/usb

现在你可以导航到/dev/usb从终端或X-windows挂载目录中的 system 和 access 文件。

38. gcc命令

gcc是一个编译器

#include <stdio.h>
int main()
{
  printf("hello worldn");
  return 0;
}
编译它
rumenz@local:~# gcc Hello.c
运行它
rumenz@local:~# ./a.out 

Hello world

Note: 在编译一个c程序输出自动生成到一个新文件 a.out并且每次编译c程序相同的文件 a.out被修改。因此࿰c;在编译期间定义输出文件是一个很好的建议࿰c;因此不存在覆盖输出文件的风险。

这样编译
rumenz@local:~# gcc -o Hello Hello.c

这里-o将输出发送到Hello文件而不是a.out。再次运行它。

rumenz@local:~# ./Hello 

Hello world

39. g++命令

g++是 ’ 的内置编译器C++c;第一个面向对象的编程语言。一个简单的c++程序࿰c;将其保存在你的桌面上Add.cpp(记住.cpp扩展名是必须的)。

#include <iostream>

using namespace std;

int main() 
    {
          int a;
          int b;
          cout<<"Enter first number:n";
          cin >> a;
          cout <<"Enter the second number:n";
          cin>> b;
          cin.ignore();
          int result = a + b;
          cout<<"Result is"<<"  "<<result<<endl;
          cin.get();
          return 0;
     }
编译它
rumenz@local:~# g++ Add.cpp
运行它
rumenz@local:~# ./a.out

Enter first number: 
...
...

Note: 在编译一个c++程序输出自动生成到一个新文件 a.out并且每次编译c++程序相同的文件 a.out被修改。因此࿰c;在编译期间定义输出文件是一个很好的建议࿰c;因此不存在覆盖输出文件的风险。

这样编译
rumenz@local:~# g++ -o Add Add.cpp
运行它
rumenz@local:~# ./Add 

Enter first number: 
...
...

40. java命令

Java是世界上使用率最高的编程语言之一࿰c;被认为是快速、安全和可靠的。当今大多数基于 Web 的服务都运行在 Java 上。

通过将以下测试粘贴到名为的文件中来创建一个简单的 java 程序rumenz.java(记住.java扩展名是必须的)。

class rumenz {
  public static void main(String[] arguments) {
    System.out.println("rumenz ");
  }
}
使用 javac 编译
rumenz@local:~# javac rumenz.java
运行它
rumenz@local:~# java rumenz

大佬总结

以上是大佬教程为你收集整理的linux中21个中级命令全部内容,希望文章能够帮你解决linux中21个中级命令所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。