ls命令用于显示指定目录下所包含的文件和子目录信息。当没有指定县体的目录时,显示当前目录下的文件和子目录信息。命令格式为:
ls [options] filename/dirname
ls命令的主要选项
| 选项 | 说明 |
|---|---|
| -a | 显示所有档案及目录(ls默认不显示以“.”开头的隐藏文件,不会列出) |
| -l | 除文件名称外,同时显示文件类型、权限、拥有者、档案大小等详细信息 |
| -r | 将文件以相反次序显示(原定依英文字母次序) |
| -t | 将文件依建立时间之先后次序列出 |
| -A | 同-a,但不列出“.”(目前目录)及父目录 |
| -F | 在列出的档案名称后加一符号:例如可执行档则加“ * ”,目录则加“ / ” |
| -R | 若目录下有档案,则以下档案都依序列出 |
【例1】列出当前工作目录下所有名称是a开头的文件,按时间顺序排列。
[root@localhost ~]# ls -lt a*
【例2】将/bin目录以下所有目录及文件详细资料列出。
[root@localhost ~]# ls -lR /bin
【例3】列出当前工作目录下所有档案及目录;可执行档则加“*”,目录则加“/”。
[root@localhost ~]# ls -AF1.2 cd命令
变换工作目录至dirName。其中dirName可以是绝对路径或者相对路径。若目录名称省略,则变换至用户主目录。另外,“~”也表示为home directory的意思,“.”则是表示目前所在的目录,“. . ”表示目前目录位置的上一层目录。命令格式为:
cd dirName
【例4】cd命令的常用用法。
cd /usr/bin //跳到/usr/bin/ cd ~ //跳到用户主目录 cd ../.. //跳到目前目录的上边两层目录1.3 pwd命令
显示用户当前所处的目录。这个命令和DOS下的不带任何参数的cd命令的作用是一样的。命令格式为:
рwd
【例5】显示当前的用户目录。
[root@localhost ~]# pwd /home/test //具体显示内容以当前用户而定2.文件显示相关命令 2.1 cat命令
该命令将文件内容显示在标准输出设备上(终端屏幕或另一个文件中)。命令格式为:
cat [options] filename
常用选项说明如下。
-n:由1开始对所有输出的行数编号。
-b:和-n相似,只不过对于空白行不编号。
-s:当遇到有连续两行以上的空白行,就合并为一个空白行。
【例6】文件text.txt的内容为“Hello,this is a Linux world!”,将其内容输出到终端。
【例7】把文件text.txt内容加上行号后输入到文件textfile.txt中。
【例8】把文件text.txt、textfile.txt内容加上行号(空白行不加)后输入到文件text3.txt末尾。
2.2 more 命令和less 命令使用cat命令显示文件内容时,如果文件内容太长,则由于显示翻页过快,用户只能看到文件的最后一页,而用more命令时可以一页一页地显示。执行more命令后,进入more状态,用Enter键可以向后移动一行;用Space键可以向后移动一页;用q键可以退出。
less实际上是more的改进版,功能比more更灵活。例如,用Page up键可以向前移动一页,用Page down键可以向后移动一页,用向上光标键可以向前移动一行,用向下光标键可以向后移动一行。q键、Enter键、Space键的功能和more类似。命令格式为:
more filename less filename2.3 head 命令和 tail 命令
head命令显示文件的前num行。默认,head显示文件的前10行。tail命令和head命令相反,它显示文件的末尾num行。默认,tail命令显示文件的末尾10行。命令格式为:
head filename tail filename
【例9】显示文件test1.txt的前20行,显示文件test2.txt的末尾20行。
head - n 20 test1.txt tail - n 20 test2.txt2.4 touch 命令
更新文件的存取和修改时间,若指定的文件不存在,则自动创建一个空文件。命令格式为:
touch [options] filename
常用选项说明如下。
-d〈aaaa〉:把文件的存取、修改时间改为aaaa。
-a:只把文件的访问时间改为当前时间。
-m:只把文件的修改时间改为当前时间。
【例10】把当前目录下的所有文件的访问和修改时间改为当前系统的时间。
[root@localhost ~]# touch *
【例11】把文件file.txt的存取和修改时间改为2014年12月6日。
[root@localhost ~]# touch - d 20141206 file.txt
【例12】把test.txt的存取和修改时间改为当前系统的时间,如果test.txt文件不存在,则生成一个空文件(即0字节的文件)。
[root@localhost ~]# touch test.txt3.复制、删除和移动文件的命令 3.1 cp命令
cp命令用于将一个文件复制至另一文件。命令格式为:
cp [options] source dest
常用选项说明如下。
-a:尽可能将档案状态,权限等资料都照原状予以复制。
-r:若source中含有目录,则将目录下的文件也依序复制至目的地。
-f:若目的地已经有相同文件名的文件存在,则在复制前先予以删除再行复制。
【例13】将已经存在的文件za复制,并命名为zb。
[root@localhost ~]#cp za zb
【例14】将所有的C语言源代码文件复制至za子目录中。
[root@localhost ~]# cp *.c za //目录za必须存在3.2 mv命令
mv命令用于将一个文件改名或移动到另一目录,在同一目录下是改名,在不同目录下移动。命令格式为,
mv [options] source dest
【例15】将已经存在的文件aaa重命名为bbb。
[root@localhost ~]# mv aaa bbb
【例16】将所有的C语言源代码文件移动至aaa子目录中。
[root@localhost ~]# mv - i *.c aaa3.3 rm命令
rm命令用于删除文件及目录。命令格式为:
rm [options] filename/dirname
常用选项说明如下。
-i:删除前逐一询问确认。
-f:即使原文件属性设为只读,亦直接删除,无需逐一确认。
-r:将目录及以下的文件递归逐一删除。
【例17】删除所有C语言源代码文件,删除前逐一询问确认。
[root@localhost~]# rm - i *.c
【例18】将aaa子目录及子目录中所有文件删除。
[root@localhost~]# rm - r aaa4.用命令创建和删除目录 4.1 mkdir命令
该命令创建由目录名命名的目录。如果在目录名前面没有加任何路径名,则在当前目录下创建;如果给出了一个存在的路径,将会在指定的路径下创建。命令格式为:
mkdir [options] dirname
常用选项说明如下。
-m:对新建目录设置存取权限,存取权限用八进制数表示。
-p:可一次建立多个目录,即如果为新建目录所指定的路径中的父目录尚不存在,此选项可以自动建立它们。
【例19】在目录/usr/neo下建立子目录data,并且只有文件有读、写和执行权限,其余用户无权限访问。
[root@localhost ~]# mkdir - m 700 /usr/neo/data
【例20】在当前目录中建立bin目录和bin下的bak目录。
[root@localhost ~]# mkdir bin [root@localhost ~]# mkdir bin/bak
如果使用-p选项,可以简化操作:
[root@localhost ~]# mkdir - p /bin/bak4.2 rmdir命令
该命令用于删除空的目录。命令格式为:
rmdir [ - p ] dirname
选项-p的功能是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
【例21】将创建的bin目录和bak目录删除。
[root@localhost~]# rmdir bin/bak [root@localhost~]# rmdir bin
【例22】在工作目录下的test目录中,删除名为exam的子目录。若exam删除后,test目录成为空目录,则test亦予删除。
[root@localhost ~]# rmdir - p test/exam5.修改文件或者目录的权限 5.1chmod命令
Linux的文件调用权限分为三级:文件拥有者用户、同组用户和共他用户。利用chmod可以控制文件或者目录的访问权限,其常用选项说明如下表
chmod modetype filename/dirname
chmod命令的选项
| 选项 | 功能说明 |
|---|---|
| -c | 若该文件权限与目录确实已经更改,才显示其更改动作 |
| -f | 若该文件权限与目录无法被更改,也不要显示错误信息 |
| -v | 显示权限变更的详细资料 |
| -R | 对当前目录下的所有文件与目录进行相同的权限变更 |
| - - help | 显示辅助说明 |
| - - version | 显示版本 |
模式的表示方法有两种:字符表示法和八进制数表示法。
1)字符表示法
包含字母和操作符表达式的字符表示法,这种表示方法用字母和符号表示与文件权限相关的三类不同用户以及对文件的访问权限,其一般形式为:
[u g a o] [ = + -] [r w x]
其中各字母和符号的含义如表所示。
| 字符 | 说明 |
|---|---|
| a(all) | 所有用户 |
| u(user) | 文件属主 |
| g(group) | 同组用户,即与文件属主有相同组ID的所有用户 |
| o(other) | 其他用户 |
| = | 给指定用户指定权限 |
| + | 给指定用户增加权限 |
| - | 取消指定用户权限 |
| r | 可读权限 |
| w | 可写权限 |
| x | 可执行权限 |
例如,某文件的权限为rwxrw-r–,若用字符方式来表示,则为u=rwx,g=rw,o=r。
2)八进制表示法
使用3位八进制数字分别代表文件拥有者用户、同组用户、其他用户的权限,读、写、执行权限所对应的数值分别是4、2和1。
若要表示rwx属性,则4+2+1=7;
若要表示rw-属性,则4+2+0=6;
若要表示r-x属性,则4+0+1=5。
【例23】将文件file.txt设为所有用户皆可读取(以下两个命令都可实现)。
[root@localhost~]# chmod ugo + r file.txt [root@localhost~]# chmod a + r file.txt
【例24】将文件file1.txt与file2.txt设为该文件拥有者用户、同组用户可写入,其他用户不可写入。
[root@localhost~]# chmod ug+w,o-w file1.txt file2.txt5.2 umask 命令
umask命令指定在建立文件时预设的权限掩码。权限掩码是由3位八进制的数字所组成,将完全权限(目录为777,文件为66)减掉权限掩码后,即可产生建立文件时预设的权限。本命令设置权限掩码,而chmod设置权限原码,功能相反。如果要查看当前系统的文件掩码,使用选项-S。umask命令使用方式为:
umask [ -S ] maskcode
【例25】设置用户的掩码为文件主具有读、写、执行权限,同组用户具有读、写权限,其他用户具有读权限。
采用字符模式:
[root@localhost~]# umask u=rwx,g=rw,o=r
采用八进制模式:
[root(@ localhost ~]# unask 0013
【例26】显示当前掩码。
[root(@localhost ~]# umask - S u=rwx,g=rw,o=r5.3 chown 命令
Linux是用户操作系统,所有的文件都有一个拥有者。利用chown命令可以更改某个文件或目录的属主和属组,命令选项如表所示。一般来说,普通用户没有权限改变文件属主,只有系统管理者(root)才有这样的权限。使用方式为:
chown [options] user/group filename
chown命令的选项
| 选项 | 功能说明 |
|---|---|
| user | 新的文件拥有者的使用者的ID |
| group | 新的文件拥有者所在的群组 |
| -c | 若该文件拥有者确实已经更改,才显示其更改动作 |
| -f | 若该文件拥有者无法被更改也不要显示错误信息 |
| -h | 只对于链接(link)进行变更,而非该link真正指向的文件 |
| -v | 显示拥有者变更的详细资料 |
| -R | 对当前目录下所有文件与目录进行递归变更 |
【例27】将文件file.txt的拥有者设为users群组的neo用户。
[root@localhost ~]# chown neo:users file.txt
【例28】将当前目录下的所有文件与子目录的拥有者皆设为users群组的neo用户。
[root(@localhost ~]#chown-R neo:users * //-R选项表示递归子目录5.4 chgrp命令
chgrp命令用来改变指定文件所属的用户组。其中组名可以是用户组的ID,也可以是/ete/group文件中用户组的组名;文件名可以是由空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件属主或超级用户,则不能改变该文件的组。使用方式为:
chgrp [options] group filename
【例29】将/home/neo及其子目录下的所有文件的用户组改为neo。
[root(@localhost ~]# chgrp - R neo /home/neo6.链接文件的命令
文件链接是实现文件共享的主要方式。Linux系统提供了两种文件链接方式,即符号链接和硬链接。
符号链接(symbolic link)很像Windows系统中的快捷方式,即建立一个符号链接文件,其内容是到一个实际存在的文件的路径描述。访问符号链接文件时,系统将根据其记载的内容转去访问那个实际文件。符号链接文件与目标文件是两个独立的文件,有着各自的i节点和数据块。它们之间通过文件内容而逻辑地链接在一起。
硬链接(hard link)则是将两个或多个文件通过i节点物理地链接在一起。硬链接的文件具有不同的文件名和同一个i节点,通过其中任何一个文件名访问得到的都是同一内容,这就如同是一个文件具有多个别名。
用户可以用ln命令建立文件链接。至于是硬链接还是软链接则由参数决定。ln命令格式为:
ln [options] source dist
In命令的主要选项
| 选项 | 说明 |
|---|---|
| -f | 链接时先将与dist同名的文件删除 |
| -d | 允许系统管理者硬链接自己的目录 |
| -i | 在删除与dist同名的文件时先进行询问 |
| -n | 在进行符号连接时,将dist视为一般的文件 |
| -s | 进行符号链接 |
| -v | 在链接之前显示其文档名 |
| -b | 将在链接时对被覆写或删除的文件进行备份 |
| –help | 显示辅助说明 |
| –version | 显示版本 |
【例30】 将文件filel产生一个符号链接file2,产生一个硬链接file3。
root@localhost~]# ln - s file1 file2 root@localhost~]# ln file1 file3



