主頁 > 軟體設計 > linux中21個中級命令

linux中21個中級命令

2021-09-01 14:05:36 軟體設計

對linux高級用戶有用的20個命令

在這里插入圖片描述

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

在當前目錄搜索檔案

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

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

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

查找行程apache2,注意其pidkill它,例如,在我的情況下apache2pid 是1285

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

Note: 每次重新運行一個行程或啟動一個系統時,都會有一個新的pid為每個行程生成,你可以了解當前正在運行的行程及其pid使用命令 ps

pkill通過行程名結束行程

rumenz@local:~# pkill apache2

26. whereis命令

whereis命令用于定位Binary,SourcesManual Pages命令的,例如,要定位Binary,SourcesManual 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 命令,可讓你為長命令或常用命令指定自定義名稱,

我經常使用 ls -l命令,因此我為此創建了一個別名為 l

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

檢查它是否有效,

rumenz@local:~# l

total 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通過檢查目錄條目來作業,目錄條目通常僅在檔案關閉時更新,

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洗掉目錄,你必須使用rm -rf

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

Warning:rm -rf命令是一個危險的命令,如果你不小心把它放到了錯誤的目錄中,一旦你rm -rf一個目錄中的所有檔案和目錄本身突然就永遠丟失了,請謹慎使用,

32. echo命令

echo顧名思義,在標準輸出上回顯文本,它與 shell 無關,shell 也不讀取 echo 命令的輸出,但是在互動式腳本中,echo 通過終端將訊息傳遞給用戶,它是腳本、互動式腳本中常用的命令之一,

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

rumenz.com is a very good website
創建一個小的互動式腳本
  1. 創建一個檔案,命名為interactive_shell.sh在桌面上,(記住.sh擴展名是必須的),
  2. 復制粘貼下面的腳本,完全一樣,如下,
#!/bin/bash 
echo "Please enter your name:" 
read name 
echo "Welcome to Linux $name"

接下來,設定執行權限并運行腳本,

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

這是一個重要的命令,可用于在終端中更改自己的密碼,顯然出于安全原因,你需要知道你當前的密碼,

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

比較任何型別的兩個檔案并將結果寫入標準輸出,默認情況下,cmp如果檔案相同,則回傳 0;如果它們不同,則報告出現第一個不同的位元組和行號,

檔案 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是一種免費實用程式,用于從 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命令

Mount是一個重要的命令,用于掛載不掛載自身的檔案系統,你需要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 world\n");
  return 0;
}
編譯它
rumenz@local:~# gcc Hello.c
運行它
rumenz@local:~# ./a.out 

Hello world

Note: 在編譯一個c程式輸出自動生成到一個新文件 a.out并且每次編譯c程式相同的檔案 a.out被修改,因此,在編譯期間定義輸出檔案是一個很好的建議,因此不存在覆寫輸出檔案的風險,

這樣編譯
rumenz@local:~# gcc -o Hello Hello.c

這里-o將輸出發送到Hello檔案而不是a.out,再次運行它,

rumenz@local:~# ./Hello 

Hello world

39. g++命令

g++是 ’ 的內置編譯器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被修改,因此,在編譯期間定義輸出檔案是一個很好的建議,因此不存在覆寫輸出檔案的風險,

這樣編譯
rumenz@local:~# g++ -o Add Add.cpp
運行它
rumenz@local:~# ./Add 

Enter first number: 
...
...

40. java命令

Java是世界上使用率最高的編程語言之一,被認為是快速、安全和可靠的,當今大多數基于 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

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/296535.html

標籤:其他

上一篇:計算機網路 學習記錄/知識點總結(更新至1.3.1)

下一篇:run build打包之后axios能連上,websocket連不上問題已解決

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more