当前位置:首页 >> IT/计算机 >>

Ubuntu常用命令及举例


1.1 打开终端
在以后的学习中,我们离不开一个界面,那就是终端(Terminal),首先介绍一下如何 打开终端。在左上角的应用程序中,找到附件-终端,单击即可以打开。 还有一个快捷键,如果是在 Ubuntu 10.04 以上的系统,默认配置了一个快捷键 (Ctrl + Alt + T)就可以打开终端。 在一个终端界面下,还可以打开选项卡,在终端空白处单击鼠标右键,点击新建标 签页可以打开一个新的终端。 当然这也有快捷键(Ctrl + Shift + T)。

1.2 man
查看关键词的 manpage(manual page) 查看’ls’的 manpage(manual page)可以输入
$ man lsdisplay

the help man-page of ls

就可以查看 ls 的 manpage

1.3 --help --help
查看关键词的快捷帮助而不是 manpage,可以使用–help 查看’ls’的快速帮助,输入
$ ls --helpshow

the help information of ls

快速帮助信息就会打印到终端上

1.4 info

另外一个帮助命令,可以显示出更完整的最新的信息。 查看’ls’的 info 信息,可以 输入
$ info lsdisplay

the info of ls

可以显示 ls 的 info 信息。

1.5 ls

ls
查看指定目录下的内容
$lslistmain.c Makefile

1.5.1 ls -l
查看当前目录内容的详细信息。
$ ls -llist

-long-rw-r--r--

1 ymqqqqdx ymqqqqdx 0 2011-08-27 00:31 main.c

-rw-r--r-- 1 ymqqqqdx ymqqqqdx 0 2011-08-27 00:31 Makefile

1.5.2 ls -a
查看当前目录中的所有文件(包括隐藏文件)
$ ls -alist

-all.

.. .data.txt main.c Makefile

1.6 mkdir

1.6 mkdir
1.6.1 创建单个目录

在当前目录下创建一个名为 akaedu 的目录
$mkdir akaedumake

a directory named akaedu$lsmain.c Makefile akaedu

1.6.2 创建多层目录
在当前目录下创建目录 a, 再在 a 目录下创建 b
$mkdir -p a/bmake a$ls ab

a directory named akaedu$lsmain.c Makefile akaedu

1.8 cd

1.8 cd (change directory)
1.8.1 改变活动目录
假设当前目录下有一个 a 目录,要切换到 a 目录下可以输入
$lsmain.c Makefile akaedu a$pwd/home/ymqqqqdx/$cd a$pwd/home/ymqqqqdx/a

1.8.2 绝对路径
假设要切换到用户主目录下的 a 目录,可以使用绝对路径
$pwd/$cd /home/ymqqqqdx/a$pwd/home/ymqqqqdx/a

1.8.3 相对路径
同 1.2.3.2,假设当前就在用户主目录下,可以使用相对路径

$pwd/home/ymqqqqdx$cd a$pwd/home/ymqqqqdx/a

1.8.4 主目录
每一个用户都有一个对应的主目录,其绝对路径为/home/usrname。 要切换到主目录时,只需输入 cd,即可回到用户主目录。 另外~代表当前用户的主目录,~/a 即代表主目录下的 a 目录 ~
$pwd/home/ymqqqqdx/a/b/c/d$cd$pwd/home/ymqqqqdx/$cd ~/a/home/ymqqqqdx/a

1.8.5 ..(上层目录 和.(当前目录 上层目录)和 当前目录 当前目录) 上层目录
..代表上层目录 .代表当前目录, 若要运行当前目录下的 a.out 程序, 即可输入./a.out 运行程序。

$pwd/home/ymqqqqdx/a/b/c/d$cd ..$pwd/home/ymqqqqdx/a/b/c$./a.outhello world!

1.9 rmdir

1.9 rm -r
rmdir 用来删除空目录。
$pwd/home/ymqqqqdx/$lsa main.c Makefile$rmdir a$lsmain.c Makefile

1.10 touch

1.10 touch
创建一个空文件,touch foo.c,这样就在当前目录创建了 foo.c 文件。 touch 的另外一个作用时更新当前文件的修改时间,若已经存在 foo.c 文件,输入 touch foo.c 后,用 ls -l 可以看到文件修改时间已更新为当前时间。
$lsmain.c Makefile$touch foo.cmain.c Makefile foo.c$ls -l-rw-r--r-- 1 ymqqqqdx ymqqqqdx 0 2011-08-27 01:04 foo.c -rw-r--r-- 1 ymqqqqdx ymqqqqdx 0 2011-08-27 00:31 main.c -rw-r--r-- 1 ymqqqqdx ymqqqqdx 0 2011-08-27 00:31 Makefile$touch main.c$ls -l-rw-r--r-- 1 ymqqqqdx ymqqqqdx 0 2011-08-27 01:04 foo.c -rw-r--r-- 1 ymqqqqdx ymqqqqdx 0 2011-08-27 01:06 main.c -rw-r--r-- 1 ymqqqqdx ymqqqqdx 0 2011-08-27 00:31 Makefile

1.11 cat/more/less

1.11.1 cat
cat filename cat 用来查看文本文件中的内容。
$lsmain.c Makefile$cat main.cthe content of main.c

若 cat 后不加任何文件名,则 cat 进程就会一起运行,不能自行退出,这时按下 Ctrl + Z 即可结束该进程。

$ cat^C$

1.11.2 more
more filename more 与 cat 的作用差不多,只是当文件内容多于一屏时,按下空格可以滚到下一屏 继续阅读,但是不可以回退。

$ more main.ccontent of main.c ... press space to continue

1.11.3 less
less filename less 的功能比 more 更强大,当文件内容多于一屏时,按 j 可以向下滚动,按 k 可以 向上滚动。

$ less main.ccontent of main.c ... press j to down press k to up

1.12 rm
1.12.1 删除文件
删除 1.c 文件,rm 1.c
$lsmain.c Makefile 1.c$rm 1.c$lsmain.c Makefile

1.12.2 强制删除目录 rm -rf

删除 a 目录,rm -r a,若目录非空,会提示是否删除,若不需要提示,输入 rm -rf a 就可以直接删除 a 目录不需要确认。
$lsmain.c Makefile a$rm -rf a$lsmain.c Makefile

1.13 cp

1.13 cp
1.13.1 复制单个文件
cp filename newfilename.c,复制 filename 为 newfilename。
$lsmain.c Makefile$cp main.c new.c$lsmain.c Makefile new.c$cp main.c ~/new.c$ls ~/new.c ...

1.13.2 复制文件夹
cp -r a/ b/,复制 a 目录为 b 目录。
$lsmain.c Makefile a$cp -r a b$lsmain.c Makefile a b

1.15 ln
1.15.1 创建硬链接
ln file1 file2,file2 为 file1 的硬链接
$lsmain.c Makefile$ln main.c 1.c$lsmain.c Makefile 1.c$vim main.c$vim 1.c$rm main.c$vim 1.c

1.15.2 创建符号链接
ln -s file1 file2,file2 为 file1 的符号链接
$lsmain.c Makefile$ln -s main.c 1.c$lslrwxrwxrwx 1 ymqqqqdx ymqqqqdx 6 2011-08-27 01:34 1.c -> main.c -rw-r--r-- 1 ymqqqqdx ymqqqqdx 0 2011-08-27 01:04 foo.c -rw-r--r-- 1 ymqqqqdx ymqqqqdx 115 2011-08-27 01:15 main.c -rw-r--r-- 1 ymqqqqdx ymqqqqdx 0 2011-08-27 00:31 Makefile$vim main.c$vim 1.c$rm main.c$vim 1.c

1.15.3 硬链接与符号链接的区别

linux 系统下提供 ln 指令来进行文件链接。文件链接主要分为硬链接和软链接。 硬链接:由于 linux 下的文件是通过索引节点(Inode)来识别文件,硬链接可以认为是 一个指针,指向文件索引节点的指针,系统并不为它重新分配 inode。每添加一个一个硬链 接,文件的链接数就加 1。

可以用:ln 命令来建立硬链接。语法:

[php:collapse] + expand sourceview plaincopy

用法: 第一种:为”existingfile”创建硬链接,文件名为”newfile”。第二种:在”directory”目录中, 为 ”existingfile-list”中包含的所有文件创建一个同名的硬链接。常用可选[options] –f 无 论”newfile”存在与否,都创建链接。-n 如果”newfile”已存在,就不创建链接。

例子:

[php:collapse] + expand sourceview plaincopy

注意在创建链接前,file1 显示的链接数目为 1,创建链接后(1)file1 和 file1hard 的链接数 目都变为 2;(2) file1 和 file1hard 在 inode 号是一样的(3) file1 和 file1hard 显示的文件大小也

是一样。可见进行了 ln 命令的操作结果:file1 和 file1hard 是同一个文件的两个名字,它们 具有同样的索引节点号和文件属性,建立文件 file1 的硬链接,就是为 file1 的文件索引节点 在当前目录上建立一个新指针。如下图,你可以删除其中任何一个,如 rm file2 ,每次只会删除 一个指针,链接数同时减一,只有将所有指向文件内容的指针,也即链接数减为 0 时,内核才 会把文件内容从磁盘上删除。

不足: 尽管硬链接节省空间,也是 Linux 系统整合文件系统的传统方式,但是存在一下不足 之处:(1)不可以在不同文件系统的文件间建立链接(2)只有超级用户才可以为目录创 建硬链接。

软链接(符号链接):

软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录 的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同 网络对文件进行链接。 如果给 ln 命令加上- s 选项,则建立软链接。如果[链接名]已经存在但不是目录,将 不做链接。[链接名]可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许 它与“目标”不在同一个文件系统中。如果[链接名]是一个已经存在的目录,系统将在该目录 下建立一个或多个与“目标”同名的文件,此新建的文件实际上是指向原“目标”的符号链接文 件。

例子:

[php] view plaincopy

1. $ ls -il 2. 13058 -rwx - - - - - - 1 longcheng longcheng 48 8 月 5 16:38 file1 3. 13059 -rwx - - - - - - 2 longcheng longcheng 57 8 月 5 16:40 file2 4. 13059 -rwx - - - - - - 2 longcheng longcheng 57 8 月 5 16:40 file2hard

5. $ln –s file1 file1soft 6. $ls -il 7. 13058 -rwx - - - - - - 1 longcheng longcheng 48 8 月 5 16:38 file1 8. 13059 -rwx - - - - - - 2 longcheng longcheng 57 8 月 5 16:40 file2 9. 13059 -rwx - - - - - - 2 longcheng longcheng 57 8 月 5 16:40 file2hard 10. 13061 lrwxrwxrwx 1 longcheng longcheng 5 8 月 5 16:58 file1soft->file1

软链接与硬链接,区别不仅仅是在概念上,在实现上也是不同的。区别:硬链接原文件&链 接文件公用一个 inode 号,说明他们是同一个文件, 而软链接原文件&链接文件拥有不同的 inode 号,表明他们是两个不同的文件;在文件属性上软链接明确写出了是链接文件,而硬 链接没有写出来, 因为在本质上硬链接文件和原文件是完全平等关系; 链接数目是不一样的, 软链接的链接数目不会增加; 文件大小是不一样的, 硬链接文件显示的大小是跟原文件是一 样的,这用强调,因为是等同的嘛,而这里软链接显示的大小与原文件就不同了,file1 大 小是 48B,而 file1soft 是 5B,这里面的 5 实际上就是“file1”的大小。

总之,建立软链接就是建立了一个新文件。当访问链接文件时,系统就会发现他是个链接文 件,它读取链接文件找到真正要访问的文件。

缺点:

因为链接文件包含有原文件的路径信息, 所以当原文件从一个目录下移到其他目录中, 再访 问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要 系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

1.16 tar

1.16 tar
为文件和目录创建档案(压缩包)

1.16.1 打包
将 a 目录用 gzip 打包,tar zcvf a.tar.gz a 将 a 目录用 bzip2 打包,tar jcvf a.tar.bz2 a
$lsmain.c Makefile$tar zcvf foo.tar.gz main.c$lsmain.c Makefile foo.tar.gz$tar jcvf foo.tar.bz2 main.c$lsmain.c Makefile foo.tar.gz foo.tar.bz2

1.16.2 解包
解压 gzip 包,tar zxvf a.tar.gz 解压 bzip2 包,tar jxvf a.tar.bz2
$lsfoo.tar.gz foo.tar.bz2$tar zxvf foo.tar.gz$lsmain.c foo.tar.gz$rm main.c$tar jxvf foo.tar.bz2$lsmain.c foo.tar.gz foo.tar.bz2

1.17.1 文件的权限
在 Linux 系统中使用的 Ext 文件系统中,支持文件的权限,用 ls -l 查看当前目录的 文件权限。

$ls -l-rwxr-xr-x 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08 a.out drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/ -rw-r--r-- 1 ymqqqqdx ymqqqqdx 3681 2011-09-02 17:49 chess.c

由图中我们可以看出这两个文件的权限是不一样的: 最前边的一位,可以看出 backup/的前边有一个 d,这代表它是一个目录,a.out 和 chess.c 为一个-,这说是它们是普通文件。 后边有三位代表文件所有者的权限,分别为可读,可写,可执行,这说明 a.out 为 一个可执行文件,chess.c 为一个不可执行文件。 随后的三位表示同组用户所拥有的权限,最后的三位表示其它用户所拥有的权限。

1.17.2 文字设定法
可以使用 chmod who +|-|= 文件名来改变权限。 who 可以是下述字母中的任一个或者它们的组合:

? ?

u 表示文件或目录的所有者 g 表示同组用户

? ? ? ? ?

o 表示其它用户 a 表示所有用户 mode 的常用权限为以下几个: r 可读 w 可写 x 可执行

$ls -l-rwxr-xr-x 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08 a.out drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/ -rw-r--r-- 1 ymqqqqdx ymqqqqdx 3681 2011-09-02 17:49 chess.c$chmod -x a.out$ls -l-rw-r--r-- 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08 a.out drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/ -rw-r--r-- 1 ymqqqqdx ymqqqqdx 3681 2011-09-02 17:49 chess.c

1.17.3 数字设定法
在 chmod 后边可以加上数字,000 即代表不可读,不可写,不可执行 011 则代表不可读, 可写, 可执行。 用二进制进行转换 011 为 3, 所以用 chmod 333 a.out 就可以将 a.out 的变为–rx-rx-rx 权限。
$ls -l-rwxr-xr-x 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08 a.out drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/ -rw-r--r-- 1 ymqqqqdx ymqqqqdx 3681 2011-09-02 17:49 chess.c$chmod 333 a.out$ls -l--wx-wx-wx 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08 a.out drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/ -rw-r--r-- 1 ymqqqqdx ymqqqqdx 3681 2011-09-02 17:49 chess.c

1.18 chown

1.18 chown
更改某个文件或目录的所有者,这个命令是很常用的,例如 root 用户把自己的一个 文件拷贝给用户 akaedu,为了能让用户 akaedu 存取这个文件,root 用户应该把这 个文件的所有者设为 akaedu,否则,akaedu 无法存取这个文件。 例如把一个文件改为 akaedu 用户所有:

$ls -l-rwxr-xr-x 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08 a.out drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/ -rw-r--r-- 1 ymqqqqdx ymqqqqdx 3681 2011-09-02 17:49 chess.c$chown akaedu chess.c$ls -l-rwxr-xr-x 1 ymqqqqdx ymqqqqdx 7438 2011-09-02 15:08 a.out drwxr-xr-x 2 ymqqqqdx ymqqqqdx 4096 2011-09-03 09:33 backup/ -rw-r--r-- 1 akaedu ymqqqqdx 3681 2011-09-02 17:49 chess.c

1.19 find、grep 、

1.19.1 find
在目录中搜索文件,使用 find 命令
$find . -name 'chess.\*'./chess.c

1.19.2 grep
在指定文件中搜索特定内容,并将含有这些内容的行输出到标准输出。若不指定文 件名,则从标准输入读取。

$grep 'printf' ./ -R./chess.c:30: printf("\n "); ./chess.c:32: printf(" %d", i + 1); ./chess.c:33: printf("\n"); ./chess.c:35: printf(" -"); ./chess.c:36: printf("\n"); ./chess.c:39: printf("%d ", i + 1); ./chess.c:42: printf(" %d", chessboard[i][j]); ./chess.c:44: printf("\n"); ./chess.c:115: printf("current: p1: %d, p2: %d.\n", p1, p2); ./chess.c:126: printf("Welcome!\n"); ./chess.c:127: printf("Input link this, 3 3\n"); ./chess.c:131: printf("Player %d: ", who); ./chess.c:140: printf("Board full!\n"); ./chess.c:143: printf("Current step: %d\n", step);

./chess.c:146: printf("out of range or place occupied!\n"

1.20 mount/umount

1.20.1 挂载 U 盘
新版本的 Linux 发行版大多支持自动挂载 U 盘分区, 默认的挂载位置为/media/卷名, 但是如果发生问题不能自动挂载,所以要介绍 U 盘的手动挂载。
$ls /dev/sd\*/dev/sda /dev/sda2 /dev/sda5 /dev/sda7 /dev/sda9 /dev/sda1 /dev/sda3 /dev/sda6 /dev/sda8

插入 U 盘后
$ls /dev/sd\*/dev/sda /dev/sda2 /dev/sda5 /dev/sda7 /dev/sda9 /dev/sda1 /dev/sda3 /dev/sda6 /dev/sda8 /dev/sdb /dev/sdb1

我们发现这里多了一个 sdb 和一个 sdb1,这就是我们的 U 盘。
$sudo mount /dev/sdb1 /mnt$cd /mnt$lsfile1 file2 .. .

这样就将 U 盘挂载到了/mnt 目录下, 对/mnt 目录的操作就可以读写 U 盘上的文件。

1.21 df/du

1.21.1 df
df 用来检查文件系统的磁盘空间占用情况,可以利用该命令来获取硬盘被占用了多 少空间,日前还剩下多少空间等信息。

$df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda8 15480816 3693868 11000568 26% /

none 1024060 332 1023728 1% /dev none 1028300 1460 1026840 1% /dev/shm none 1028300 104 1028196 1% /var/run none 1028300 0 1028300 0% /var/lock none 1028300 0 1028300 0% /lib/init/rw /dev/sda9 15472768 11540932 3145860 79% /home /dev/sda1 52428796 15280160 37148636 30% /media/7CE619AAE6196624 /dev/sda2 62915580 2578292 60337288 5% /media/New Volume /dev/sda5 101448700 55005980 46442720 55% /media/Entertainment /dev/sda6 62918652 519376 62399276 1% /media/New Volume

1.21.2 du
du 用来统计目录或文件所占用磁盘空间的大小,du 意为 disk usage。 使用 du -s 可显示当前目录所占用的空间总大小。
$du -s1697668 .

这说明当前目录占用空间大小为 1697668K。

1.22 ps

1.22 ps
监视后台进程的工作情况

$psPID TTY TIME CMD 2575 pts/2 00:00:00 bash 4190 pts/2 00:00:00 ps

1.22.1 ps -a

显示终端上的所有进程,包括其他用户的进程。

$ps -aPID TTY TIME CMD 1753 pts/0 00:00:00 tig 3640 pts/1 00:00:13 vi 4207 pts/2 00:00:00 ps

1.22.2 ps -u
查看进程所有者及其他一些详细信息。

$ps -uUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND ymqqqqdx 1563 0.0 0.1 6488 3664 pts/0 Ss 00:01 0:00 bash ymqqqqdx 1753 0.0 0.0 4092 1492 pts/0 S+ 00:03 0:00 tig ymqqqqdx 1801 0.0 0.1 6492 3668 pts/1 Ss 00:04 0:00 bash ymqqqqdx 2575 0.0 0.1 6492 3656 pts/2 Ss 00:30 0:00 bash ymqqqqdx 3640 1.0 0.3 13164 6340 pts/1 S+ 01:19 0:14 vi 1.11.md ymqqqqdx 4226 0.0 0.0 2716 1072 pts/2 R+ 01:42 0:00 ps -u

1.22.3 ps -x
显示没有控制终端的进程

$ps -x1356 ? Sl 0:00 /usr/bin/gnome-keyring-daemon --daemonize --login 1374 ? Ssl 0:00 gnome-session 1405 ? Sl 0:30 /usr/bin/ibus-daemon --xim 1409 ? Ss 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-s 1412 ? S 0:00 /usr/bin/dbus-launch --exit-with-session gnome-sessio 1413 ? Ss 0:01 /bin/dbus-daemon --fork --print-pid 5 --print-address 1416 ? S 0:00 /usr/lib/libgconf2-4/gconfd-2 1417 ? S 0:00 /usr/lib/ibus/ibus-gconf 1419 ? S 0:11 python /usr/share/ibus/ui/gtk/main.py 1421 ? S 0:00 /usr/lib/ibus/ibus-x11 --kill-daemon 1423 ? S 0:21 python /usr/share/ibus-table/engine/main.py --ibus 1435 ? Ss 0:02 /usr/lib/gnome-settings-daemon/gnome-settings-daemon 1438 ? S 0:00 /usr/lib/gvfs/gvfsd 1445 ? Sl 0:02 gnome-power-manager 1446 ? SL 0:00 nm-applet --sm-disable

1447 ? S 0:00 /usr/lib/policykit-1-gnome/polkit-gnome-authenticatio 1449 ? S 0:00 bluetooth-applet 1451 ? S 1:16 /usr/bin/compiz

1.23 kill

1.23 kill
给一个进程发信号,或终止一个进程的运行。

1.23.1 用 PID 来终止一个进程
cat 创建一个进程 按下 Ctrl + Z 来挂起进程, 输入 ps -aux 查看当前进程, 假设 cat 进程的 PID 为 1760 输入 kill -SIGKILL 1760 即可结束 cat 进程。
$ps -aux... ymqqqqdx 1729 0.9 0.1 6492 3672 pts/1 Ss 13:09 0:00 bash ymqqqqdx 1760 0.0 0.0 3464 600 pts/1 T 13:10 0:00 cat ymqqqqdx 1761 0.0 0.0 2716 1076 pts/1 R+ 13:10 0:00 ps -aux $kill -SIGKILL 1760$ps -aux... ymqqqqdx 1729 0.9 0.1 6492 3672 pts/1 Ss 13:09 0:00 bash ymqqqqdx 1761 0.0 0.0 2716 1076 pts/1 R+ 13:10 0:00 ps -aux

1.23.2 用进程名来终止一个进程
同上来创建一个进程,查看到 cat 进程存在,这是输入 killall -9 cat 即可结束 cat 进程.
$ps -aux... ymqqqqdx 1729 0.9 0.1 6492 3672 pts/1 Ss 13:09 0:00 bash ymqqqqdx 1760 0.0 0.0 3464 600 pts/1 T 13:10 0:00 cat

ymqqqqdx 1761 0.0 0.0 2716 1076 pts/1 R+ 13:10 0:00 ps -aux $killall -9 cat$ps -aux... ymqqqqdx 1729 0.9 0.1 6492 3672 pts/1 Ss 13:09 0:00 bash ymqqqqdx 1761 0.0 0.0 2716 1076 pts/1 R+ 13:10 0:00 ps -aux

1.25 ifconfig
查看或设置网络

1.25.1 查看网络设置
直接输入 ifconfig 即可查看网络的 IP,网关和子网掩码。
$ifconfigeth0 Link encap:以太网 硬件地址 00:26:9e:27:21:1e inet 地址:192.168.0.4 广播:192.168.0.255 掩码:255.255.255.0 inet6 地址: fe80::226:9eff:fe27:211e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1 接收数据包:5456 错误:0 丢弃:0 过载:0 帧数:0 发送数据包:1380 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:1000 接收字节:1139542 (1.1 MB) 发送字节:244972 (244.9 KB) 中断:17

1.25.2 设置网卡参数
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 设置 IP 地址和子网掩码。
$ifconfig eth0 192.168.0.1 netmask 255.255.255.0

更多 ifconfig 语法。

1.26 ping

1.26 ping
利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障. 检查 192.168.0.1 是否可以连通,输入 ping 192.168.0.1,按下 Ctrl + C 停止。
$ping 192.168.0.1PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. 64 bytes from 192.168.0.1: icmpseq=1 ttl=64 time=0.417 ms 64 bytes from 192.168.0.1: icmpseq=2 ttl=64 time=0.399 ms 64 bytes from 192.168.0.1: icmpseq=3 ttl=64 time=0.410 ms 64 bytes from 192.168.0.1: icmpseq=4 ttl=64 time=0.388 ms 64 bytes from 192.168.0.1: icmpseq=5 ttl=64 time=0.403 ms ^C --- 192.168.0.1 ping statistics --5 packets transmitted, 5 received, 0% packet loss, time 3999ms rtt min/avg/max/mdev = 0.388/0.403/0.417/0.020 ms

不加任何参数时会一直不停地进行 Ping 操作。使用-c 参数可以指定次数:
$ping 192.168.0.1 -c 4PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. 64 bytes from 192.168.0.1: icmpseq=1 ttl=64 time=0.417 ms 64 bytes from 192.168.0.1: icmpseq=2 ttl=64 time=0.399 ms 64 bytes from 192.168.0.1: icmpseq=3 ttl=64 time=0.410 ms 64 bytes from 192.168.0.1: icmpseq=4 ttl=64 time=0.388 ms ^C --- 192.168.0.1 ping statistics --4 packets transmitted, 4 received, 0% packet loss, time 3999ms rtt min/avg/max/mdev = 0.388/0.403/0.417/0.020 ms

1.26.1 检查当前网络是否连通外网
ping www.baidu.com 若可以 ping 通则说明主机与外网连接正常且 DNS 服务正常。
$ping www.baidu.com -c 4PING www.baidu.com (61.135.169.125) 56(84) bytes of data. 64 bytes from www.baidu.com: icmpseq=1 ttl=64 time=0.417 ms

64 bytes from www.baidu.com: icmpseq=2 ttl=64 time=0.399 ms 64 bytes from www.baidu.com: icmpseq=3 ttl=64 time=0.410 ms 64 bytes from www.baidu.com: icmpseq=4 ttl=64 time=0.388 ms ^C --- 61.135.169.125 ping statistics --4 packets transmitted, 4 received, 0% packet loss, time 3999ms rtt min/avg/max/mdev = 0.388/0.403/0.417/0.020 ms

1.27 netstat

1.27 netstat
netstat 是一个监控 TCP/IP 网络的非常有用的工具,它可以显示路由表、实际的网 络连接以及每一个网络接口设备的状态信息.Netstat 用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 netstat -a 可以显示所有的 socket。 netstat | grep “5789” 查看 5789 端口的的连接。
$netstat | grep "5789"unix 3 [ ] 流 已连接 5789 /var/run/acpid.socket

更多关于 netstat。

1.28 环境变量

1.28 环境变量
1.28.1 环境变量的概念
在我们的当前目录下有一个可执行文件,它的作用是打印出 hello world!,我们执行 一下:

$lshello.c hello$hellohello: 找不到命令$./hellohello world!

想一下,为什么我们执行 ls 的时候就可以执行,而要执行 hello 的时候就必须要加 上./呢? 我们先用 which 命令看一下 ls 这个文件在哪里存放:
$which ls/bin/ls

在我们没有告诉系统完整路径时,系统会在一个名为 PATH 的的环境变量所存的路 径下去找这个文件,我们用 env 打印当前的环境变量看一下:
$env... DESKTOPSESSION=gnome PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games QTIMMODULE=xim PWD=/home/ymqqqqdx XMODIFIERS=@im=ibus ...

我们找到 PATH 项可以看到/bin 在这个环境变量中,所以我们输入 ls 后,系统会到 这个目录下去寻找。

1.28.1 更改环境变量
如果我们要把 hello 所在的目录也添加到 PATH 里面, 是不是直接输入 hello 就可以 直接运行我们这个程序了呢? 下面我们来试一下:

pwd/home/ymqqqqdxexport PATH=/home/ymqqqqdxhellohello world!lsls: 找不到命令

这是怎么了?怎么连 ls 都找不到了呢? 我们上面把 PATH 设置为了/home/ymqqqqdx/,而这个目录下没有 ls,所以系统就 报错了。不要急,我们重新启动一下终端就好了。 正确的做法是这样的:
$export PATH=$PATH:/home/ymqqqqdxhellohello world!lshello.c hello

1.28.3 修改终端启动脚本
由上面的例子我们可以看出,我们做的修改在关闭终端后没有保存,怎么才能将我 们做的修改保存起来呢? 修改~/.bashrc:

$gedit ~/.bashrc

此时我们用 gedit 打开了这个文件,到这个文件的最下方,添加我们上面输入的 export PATH=$PATH:/home/ymqqqqdx,然后保存退出。 这时我们重启一下终端,终端就会按着这个脚本顺序执行,把我们的路径添加到了 环境变量之中。

1.29 ssh/scp

1.29.1 ssh
大多数人以前没有接触过 Linux 系统,都是从 Windows 系统过来的,Windows 下 的一些实用功能例如共享文件,这样的功能在 Linux 系统也是可以实现的,而且更 便捷。 先在要登陆的机器上安装 ssh-server 服务:
$ sudo apt-get install openssh-server

查看该机器的 IP:
$ ifconfig

假设我们查询到这台机器的 IP 为 192.168.0.247,并且知道这台机器的用户名和密 码,在自己的机器上进行如下操作:
$ ssh xwp@192.168.0.247The authenticity of host '192.168.0.247 (192.168.0.247)' can't be established. RSA key fingerprint is 6a:0d:44:dc:41:5e:8b:f7:a2:9f:9c:2d:47:92:4b:c8. Are you sure you want to continue connecting (yes/no)?yesxwp@192.168.0.247's password:xwp@xwp-desktop:~$

这样我们就用自己的机器连接上了另一台机器,我们可以用命令行对这台机器进行 操作。

1.29.2 scp
下面我们介绍如何复制另一台机器上的文件,比如我们要复制 192.168.0.247:/home/xwp/mind 目录到本地,如下操作:

$ scp -r xwp@192.168.0.247:/home/xwp/mind ./The authenticity of host '192.168.0.247 (192.168.0.247)' can't be established. RSA key fingerprint is 6a:0d:44:dc:41:5e:8b:f7:a2:9f:9c:2d:47:92:4b:c8. Are you sure you want to continue connecting (yes/no)? yes Failed to add the host to the list of known hosts (/home/ymqqqqdx/.ssh/known\_hosts). xwp@192.168.0.247's password: linux.mm 100% 2070 2.0KB/s 00:00 gfh.mm 100% 1792 1.8KB/s 00:00$ ls. .. mind

下面介绍一个如何将本地的文件复制到远端,这个一定要掌握,因为在以后的学习 中,提交代码采用这种方式。例如:本地的目录为 yourname,要提交这个目录, 教师机的 IP 地址为 192.168.0.247,代码提交到教师机的/home/xwp/code/下:
$ scp -r yourname xwp@192.168.0.247:/home/xwp/code/the authenticity of host '192.168.0.247 (192.168.0.247)' can't be established. RSA key fingerprint is 6a:0d:44:dc:41:5e:8b:f7:a2:9f:9c:2d:47:92:4b:c8. Are you sure you want to continue connecting (yes/no)? yes Failed to add the host to the list of known hosts (/home/ymqqqqdx/.ssh/knownhosts). xwp@192.168.0.247's password: main.c 100% 34KB 33.9KB/s 00:00 add.c 100% 2417 2.4KB/s 00:00


赞助商链接
相关文章:
Ubuntu常用命令菜鸟入门
Ubuntu常用命令菜鸟入门_计算机软件及应用_IT/计算机_专业资料。linux初学者常用命令,Ubuntu常用命令菜鸟入门apt-get: debian 系系统的软件包管理程序(其图形化前端就...
Ubuntu常用命令大全
Ubuntu常用命令大全_计算机软件及应用_IT/计算机_专业资料。共同学习提高!...-R 递归地改变所有子目录下所有文件的存取模式 [例子]: #chgrp group file ...
Ubuntu常用命令大全
deb http://ubuntu.cn99.com/ubuntu/ gutsy main restricted universe multiverse...Ubuntu常用命令大全 22页 1下载券 Ubuntu常用命令及举例 23页 免费 Ubuntu常用...
Ubuntu常用命令
Ubuntu常用命令_计算机软件及应用_IT/计算机_专业资料。Ubuntu下交叉编译环境的创建...2.实例 (1)grep 'test' d* #显示所有以 d 开头的文件中包含 test 的行 ...
Ubuntu常用命令大全
Ubuntu常用命令大全_电脑基础知识_IT/计算机_专业资料。Ubuntu 常用命令大全 查看...-R 递归地改变所有子目录下所有文件的存取模式 [例子]: #chown mary file 将...
Ubuntu 终端常用命令
Ubuntu 终端常用命令_理学_高等教育_教育专区。Linux Ubuntu 命令sudo...看下面的例子: foo"命令会将文件"file"更名为"foo"。"mv foo ~/Desktop" ...
ubuntu常用命令
ubuntu常用终端命令 3页 免费 Ubuntu Linux从入门到精通 55页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
Ubuntu_Linux操作系统常用命令详细介绍
Ubuntu_Linux操作系统常用命令详细介绍_电脑基础知识_IT/计算机_专业资料。Ubuntu ...Ubuntu Linux操作系统常... 5页 免费 Ubuntu常用命令及举例 23页 免费 Ubunt...
Ubuntu常用命令
简述介绍 Ubuntu 常用命令使用方法 2011-5-1 17:47 QQ:251594467 经努力学习 Ubuntu 常用命令, 想和大家探讨一下, 你可能会遇到 Ubuntu 常用命令使用 问题,看...
Ubuntu常用命令
Ubuntu常用命令及举例 23页 免费 怎样读Linux内核源代码 19页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
更多相关标签: