《2022年新手应该掌握的Linux命令归类》由会员分享,可在线阅读,更多相关《2022年新手应该掌握的Linux命令归类(6页珍藏版)》请在金锄头文库上搜索。
1、文件和目录的处理文件和目录的处理是任何操作系统命令中最基本的内容,也是使用电脑最常用到的功能。为了简单起见, 我只介绍其可以实现的基本功能,读者可以在掌握这些基本用法之后再对其它用法进行深入研究。 mkdir 创建一个目录。这个命令的基本格式是“mkdir 目录名称”。比如,可以使用命令“mkdir mydir ”在当前目录下创建一个名为mydir 的目录。在进行目录创建时,可以设置目录的权限。此时使用的参数是“-m ”,假设要让创建的mydir 让所有人都有rwx( 即读、写、执行的权限 ) ,那么可以使用以下命令:$ mkdir -m 777 mydir 这时如果使用带参数-l的 ls 命
2、令显示 (稍后我将介绍) ,就会发现mydir 目录的权限情况。如下所示:$ ls -l total 209 . drwxrwxrwx 2 root root 4096 2月 16 21:37 mydir . ls 列出目录内容。如果不带任何参数,ls 会显示出当前目录下的所有文件( 除了隐藏文件)、符号链接和子目录。不同的文件类型、目录和链接会使用不同的颜色来表示。比如, 一般文件是红色的,可执行文件是红色的,压缩文件是暗红色的,图像文件是粉红色的,目录是蓝色的,符号链接是加粗的黑色。这个命令有很多参数,比如:“l ”、“ a”、“ F”,命令格式可以是ls -l、ls -a和 ls -F,
3、也可以将它们结合成ls -laF。ls -l会使用详细的格式列表将权限标示、硬链接数目、所有者与组名称、文件或目录大小及改动时间一并列出。如下所示是在我的机器的根目录下使用ls -alF的显示情况:$ ls -laF total 233 drwxr-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 .autofsck 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
4、 - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - drwxr-xr-x 2 root root 4096 1月 4 18:39 bin/ . cd 可以实现不同目录之间的切换,但前提是使用该命令的用户必须有足够的权限对相应目录进行操作。下面的命令将从当前目录切换至mydir 目录:$ cd /mydir 如果不给命令加任何参数,那么就会从当前目录切换至用户专属目录。比如如果是root用户,那么执行完cd 命令后,当前目录就是/root,如下所示:rootlinuxserver /# cd rootlinuxserver ro
5、ot# cp 用于复制文件或目录。其基本语法是:“cp 源文件或者目录目标文件或者目录”。例如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面所指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录, 则会出现错误信息。这一命令中最常用的参数是-R,该参数会对指定目录下的所有文件及子目录一起进行复制。 mv 移动或者更改现有的文件或者目录。其基本语法是: “mv 源文件或者目标文件或目录”。这个命令和cp 命令类似,不同的是当文件出现在目标位置时,源文件就会被删除。 rm 删除文件或者目录。其基本语法是:“rm 源文件或
6、者目录”。该命令和DOS里的 del 命令类似, 所不同的是在Linux 下删除的文件不能进行恢复操作(这是基于安全性的考虑) 。 这也就意味着在Linux中没有 undelete、unrm 或者与之类似的命令。因此,在使用该命令时必须要非常小心。该命令有一个和cp 命令类似的 -R( 或者 -r) 参数,使用它可以对指定目录的所有文件和子目录一起进行处理。否在,在不加任何参数所情况下,rm 命令只会删除文件。比如命令“#rm - r * ”将会删除当前目录中所有的文件和子目录。 rmdir 用于删除目录。其基本语法是:“rmdir 目录”。需要说明的是,该命令只能删除空目录,如果目录为非空,
7、则会出现错误信息。 ln -s 创建一个符号链接。创建符号链接是一个非常实用的功能。假设你有一些目录或者文件需要频繁使用, 但由于 Linux 的文件和目录结构的原因,它们都不在主目录之下。比如,Apache 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - Web服务器位于系统的/usr/local/httpd/htdocs。并且,你并不想每次都要从主目录进入这样一个长的路径之中( 在实际中, 这个路径也非常不容易记忆) 。为了
8、解决这个问题,可以在主目录中创建一个符号链接( 也称之为软链接) ,这样在需要进入该目录时,只需进入这个链接即可。比如,为了能够使主目录下的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进入目录,就会发现你的位置在
9、/usr/local/httpd/htdocs/。需要指出的是,如果不加任何参数,ln 表示的是产生硬链接,这时就要求源文件或源目录必须已经存在。不过这一功能并不常用。工作站和服务器或服务器之间进行拷贝 scp 安全拷贝。在Linux 下有一些命令可以实现安全拷贝,主要用于不同的计算机之间拷贝重要的数据。这在服务器领域尤为有用,特别是当所访问的服务器是连接在Internet之上,并且可能遭受来自多方攻击的情况下。一般情况下,在访问这些服务器时,人们通常采用某一FTP协议。因为SCP具有相当的安全性,因此在更新自己的主页时,可以使用SCP来代替 FTP 。现在假设名字为Bob,要访问一个名为ww
10、w.bobman.de 的服务器,想把本地机上/home/webpages/pictures目录下的所有文件拷贝至Web服务器上的 /htdocs/bobby/images之下。为了做到这一点,先在本地机上切换目录:$ cd /webpages/pictures 然后输入:$ scp ./* Bobwww.bobman.de:/htdocs/bobby/images 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 上面的 ./*
11、 指的是当前目录下的所有文件,*是 Linux 下的通配符,相当于DOS下的 *.* 。此外,SCP还可以在同一台计算机的不同用户间进行文件拷贝。所有者和权限 chown 变更文件、目录的所有者或所属组。在Unix 系统家族中,文件或目录权限的控制以所有者及所属组来管理。你可以使用chown 指令去变更文件与目录的所有者或所属组。需要注意的是,要执行该命令,必须要以root身份登录。该命令的语法非常简单,并且,当要对某一目录下的所有文件和子目录进行处理时,使用的仍然是-R 参数。假设在 /usr/local/目录下创建了一个数据文件, 并且想以普通用户的身份使用它而不是root身份。 然而,
12、由于是以root身份创建的文件,所以以普通用户的身份对该文件只有读的权限,因为该文件属于root和 root组成员。如果要把该文件的所有者更改为属于user 组的 zhang ,那么可以使用以下的命令:$chown zhang.user /usr/local/myfile 如果要更改tmp 目录下所有文件和子目录的所有者及所属组,可以使用以下命令:$chown -R zhang.user tmp chmod 可以变更文件或目录的权限。在Linux 中,文件或目录权限的控制分别以读取、写入、执行三种一般权限来区分,另有三种特殊权限可供运用,再搭配所有者与所属组来管理每个文件及目录的权限范围。该命
13、令的设置方式有文字和数字两种。需要注意的是,符号链接的权限无法变更,如果对符号链接修改权限,其改变会作用在被链接的原始文件。和上述介绍的命令相比,这个命令要复杂得多。但是,对于Linux 来说它却非常重要。由于该命令涉及内容较多,限于篇幅此处就不详细介绍,仅举数例让初学者有一直观的了解,详情请查阅相关资料。把文件 myfile读取和写入的权限向所有用户开放(使用字符方式) :$chmod ugo=rw myfile 取消组成员执行myfile的权限:$chmod g-x myfile 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
14、- 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 增加所属组执行myfile文件的权限:$chmod g+x myfile 中止任务在使用 Windows 的时候,大家一定遇到过类似于这样的问题:一个程序崩溃并且处于死锁的状态。在 Linux中,这种情况也会发生。不过和 Windows 不同的是, 在 Linux中遇到这种情况时一般不用重新启动计算机,只需要中止 ( 或者说是关闭) 这个有问题的程序即可。有两个命令可以处理这种情况,它们是killall和 kill。 killall 当处于X-Window界面时,所有的程序 ( 除了崩溃的
15、程序之外) 一般都已经正常启动了。这就是说,可以打开一个控制台窗口,在那里中止有问题的程序。比如,如果Netscape 程序出现了锁死的情况,可以使用以下命令来中止所有包含有Netscape 的程序:$killall netscape kill 与和killall所实现的功能相同,不同之处是该命令使用的是程序的编号,即PID( 进程标识符 ) 。这个编号可以通过ps 命令来查看,比如要想查看Netscape 进程的编号可以显示出所有进程,然后逐个查找,当然最好的办法是使用grep 进行过滤,完整的命令如下:$ps wuxwww | grep netscape 这时得到的结果可能如下所示:han
16、si 11779 0.0 5.1 22284 13120 ? S 11:58 0:01 /opt/netscape/netscape hansi 11968 0.0 0.2 1676 708 pts/0 S 12:53 0:00 grep netscape 上面得到的结果第一列显示的是启动该进程的人,第二列即是PID。 上面的命令显示了两个进程,这是因为grep 查找字符串“ netscape ”,而grep 命令本身也被分配给了一个PID。这时要中止这个进程,可以使用以下命令:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
17、师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - $kill 11779 在有些时候,如果使用上述命令没法终止程序的话,可使用以下命令强制终止:$kill -s 9 11779 “历史”和自动的功能最后还要介绍两个可以让命令行工作模式变得更加轻松的功能,其中的“历史”功能在DOS环境中大家可能已经非常熟悉了。在DOS中,必须要激活doskey 函数来获取输入的命令,并且通过上下箭头键来选择输入过的命令。Linux 中也有这个功能,只需按方向键就可以选择刚刚使用过的命令。大多数Linux发行版中,储存的命令数可达500 个之多。此外,命令和路径的
18、自动填充也是一个非常有用的功能。具体方法是输入第一个字母后按下Tab键,然后让 Shell自动查找命令或者目录。这个功能对于处理很长的路径时尤为有用,因为只需要输入前几个字母,Shell就会帮助找到后面的内容。该功能对于那些难于记忆的程序也非常有用。下面是使用该功能的一些情况:rootlinuxserver harddisk# mou mount mount.smb mount.smbfs mouseconfig rootlinuxserver harddisk# c Display all 113 possibilities? (y or n) c2ph checkXML column . cdda2wav civserver-wrapper csh More上面命令中,输入几个字母后按Tab 键就会显示上述的内容, 这样就可以找到一些不熟悉的命令或者目录。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -