分享
 
 
 

菜鸟学堂:新手应该掌握的Linux命令

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

很多新手在刚开始接触Linux时,往往由于面临的命令太多而无从下手。下面我将向大家介绍一些作为新手应该掌握的命令,这些命令是日常使用Linux时经常会用到的。它们主要功能是实现对文件和目录的操作。当然,Linux发展到今天,很多功能已经可以在可视化的界面中来完成。不过在很多情况下,有些命令还是非常有用的,它可以提高效率,并且可以加深对Linux系统的了解。

本文主要介绍在Linux下如何创建目录、以不同的方式进行显示,以及如何拷贝和移动目录。

文件和目录的处理

文件和目录的处理是任何操作系统命令中最基本的内容,也是使用电脑最常用到的功能。为了简单起见,我只介绍其可以实现的基本功能,读者可以在掌握这些基本用法之后再对其它用法进行深入研究。

mkdir 创建一个目录。这个命令的基本格式是“mkdir 目录名称”。比如,可以使用命令“mkdir mydir”在当前目录下创建一个名为mydir的目录。在进行目录创建时,可以设置目录的权限。此时使用的参数是“-m”,假设要让创建的mydir让所有人都有rwx(即读、写、执行的权限),那么可以使用以下命令:

$ mkdir -m 777 mydir

这时如果使用带参数-l的ls命令显示(稍后我将介绍),就会发现mydir目录的权限情况。如下所示:

$ ls -ltotal 209......drwxrwxrwx

2 root

root

4096

2月 16 21:37 mydir......

ls 列出目录内容。如果不带任何参数,ls会显示出当前目录下的所有文件(除了隐藏文件)、符号链接和子目录。不同的文件类型、目录和链接会使用不同的颜色来表示。比如,一般文件是红色的,可执行文件是红色的,压缩文件是暗红色的,图像文件是粉红色的,目录是蓝色的,符号链接是加粗的黑色。

这个命令有很多参数,比如:“l”、“a”、“F”,命令格式可以是ls -l、ls -a和ls -F,也可以将它们结合成ls -laF。ls -l会使用详细的格式列表将权限标示、硬链接数目、所有者与组名称、文件或目录大小及改动时间一并列出。如下所示是在我的机器的根目录下使用ls -alF的显示情况:

$ ls -laFtotal 233drwxr-xr-x

22 root

root

4096

2月 16 21:37 ./drwxr-xr-x

22 root

root

4096

2月 16 21:37 ../-rw-r--r--

1 root

root

0

2月 16 21:22 .autofsckdrwxr-xr-x

2 root

root

4096

1月

4 18:39 bin/......

cd 可以实现不同目录之间的切换,但前提是使用该命令的用户必须有足够的权限对相应目录进行操作。下面的命令将从当前目录切换至mydir目录:

$ cd /mydir

如果不给命令加任何参数,那么就会从当前目录切换至用户专属目录。比如如果是root用户,那么执行完cd命令后,当前目录就是/root,如下所示:

[root@linuxserver /]# cd[root@linuxserver root]#

cp 用于复制文件或目录。其基本语法是:“cp 源文件或者目录 目标文件或者目录”。例如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面所指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。这一命令中最常用的参数是-R,该参数会对指定目录下的所有文件及子目录一起进行复制。

mv 移动或者更改现有的文件或者目录。其基本语法是:“mv 源文件或者 目标文件或目录”。这个命令和cp命令类似,不同的是当文件出现在目标位置时,源文件就会被删除。

rm 删除文件或者目录。其基本语法是:“rm 源文件或者目录”。该命令和DOS里的del命令类似,所不同的是在Linux下删除的文件不能进行恢复操作(这是基于安全性的考虑)。这也就意味着在Linux中没有undelete、unrm或者与之类似的命令。因此,在使用该命令时必须要非常小心。该命令有一个和cp命令类似的-R(或者-r)参数,使用它可以对指定目录的所有文件和子目录一起进行处理。否在,在不加任何参数所情况下,rm命令只会删除文件。比如命令“#rm -r *”将会删除当前目录中所有的文件和子目录。

rmdir 用于删除目录。其基本语法是:“rmdir 目录”。需要说明的是,该命令只能删除空目录,如果目录为非空,则会出现错误信息。

ln -s 创建一个符号链接。创建符号链接是一个非常实用的功能。假设你有一些目录或者文件需要频繁使用,但由于Linux的文件和目录结构的原因,它们都不在主目录之下。比如,Apache Web服务器位于系统的/usr/local/httpd/htdocs。并且,你并不想每次都要从主目录进入这样一个长的路径之中(在实际中,这个路径也非常不容易记忆)。为了解决这个问题,可以在主目录中创建一个符号链接(也称之为软链接),这样在需要进入该目录时,只需进入这个链接即可。比如,为了能够使主目录下的webroot访问Web服务器(/usr/local/httpd/htdocs)的文档,在主目录下可以使用以下命令:

$ln -s /usr/local/httpd/htdocs webroot

这时如果浏览主目录,就会发现一个类似以下内容的栏目:

lrwxrwxrwx 1 User Gruppe 35 Jul 16 14:48 webroot →/usr/local/httpd/htdocs/

这时如果使用命令cd webroot进入目录,就会发现你的位置在/usr/local/httpd/htdocs/。

需要指出的是,如果不加任何参数,ln表示的是产生硬链接,这时就要求源文件或源目录必须已经存在。不过这一功能并不常用。

工作站和服务器或服务器之间进行拷贝

scp 安全拷贝。在Linux下有一些命令可以实现安全拷贝,主要用于不同的计算机之间拷贝重要的数据。这在服务器领域尤为有用,特别是当所访问的服务器是连接在Internet之上,并且可能遭受来自多方攻击的情况下。一般情况下,在访问这些服务器时,人们通常采用某一FTP协议。因为SCP具有相当的安全性,因此在更新自己的主页时,可以使用SCP来代替FTP。现在假设名字为Bob,要访问一个名为www.bobman.de的服务器,想把本地机上/home/webpages/pictures目录下的所有文件拷贝至Web服务器上的/htdocs/bobby/images之下。为了做到这一点,先在本地机上切换目录:

$ cd ~/webpages/pictures

然后输入:

$ scp ./* Bob@www.bobman.de:/htdocs/bobby/images

上面的./*指的是当前目录下的所有文件,*是Linux下的通配符,相当于DOS下的*.*。此外,SCP还可以在同一台计算机的不同用户间进行文件拷贝。

所有者和权限

chown 变更文件、目录的所有者或所属组。在Unix系统家族中,文件或目录权限的控制以所有者及所属组来管理。你可以使用chown指令去变更文件与目录的所有者或所属组。需要注意的是,要执行该命令,必须要以root身份登录。该命令的语法非常简单,并且,当要对某一目录下的所有文件和子目录进行处理时,使用的仍然是-R参数。假设在/usr/local/目录下创建了一个数据文件,并且想以普通用户的身份使用它而不是root身份。然而,由于是以root身份创建的文件,所以以普通用户的身份对该文件只有读的权限,因为该文件属于root和root组成员。如果要把该文件的所有者更改为属于user组的zhang,那么可以使用以下的命令:

$chown zhang.user /usr/local/myfile

如果要更改tmp目录下所有文件和子目录的所有者及所属组,可以使用以下命令:

$chown -R zhang.user tmp

chmod 可以变更文件或目录的权限。在Linux中,文件或目录权限的控制分别以读取、写入、执行三种一般权限来区分,另有三种特殊权限可供运用,再搭配所有者与所属组来管理每个文件及目录的权限范围。该命令的设置方式有文字和数字两种。需要注意的是,符号链接的权限无法变更,如果对符号链接修改权限,其改变会作用在被链接的原始文件。

和上述介绍的命令相比,这个命令要复杂得多。但是,对于Linux来说它却非常重要。由于该命令涉及内容较多,限于篇幅此处就不详细介绍,仅举数例让初学者有一直观的了解,详情请查阅相关资料。

把文件myfile读取和写入的权限向所有用户开放(使用字符方式):

$chmod ugo=rw myfile

取消组成员执行myfile的权限:

$chmod g-x myfile

增加所属组执行myfile文件的权限:

$chmod g+x myfile

中止任务

在使用Windows的时候,大家一定遇到过类似于这样的问题:一个程序崩溃并且处于死锁的状态。在Linux中,这种情况也会发生。不过和Windows不同的是,在Linux中遇到这种情况时一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。有两个命令可以处理这种情况,它们是killall和kill。

killall 当处于X-Window界面时,所有的程序(除了崩溃的程序之外)一般都已经正常启动了。这就是说,可以打开一个控制台窗口,在那里中止有问题的程序。比如,如果Netscape程序出现了锁死的情况,可以使用以下命令来中止所有包含有Netscape的程序:

$killall netscape

kill 与和killall所实现的功能相同,不同之处是该命令使用的是程序的编号,即PID(进程标识符)。这个编号可以通过ps命令来查看,比如要想查看Netscape进程的编号可以显示出所有进程,然后逐个查找,当然最好的办法是使用grep进行过滤,完整的命令如下:

$ps wuxwww | grep netscape

这时得到的结果可能如下所示:

hansi 11779 0.0 5.1 22284 13120 ?

S 11:58 0:01 /opt/netscape/netscape

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有