鸟哥私房菜第七章 Linux文件与目录管理

一、目录与路径

1、相对路径与绝对路径

2、目录的相关操作

以下为特殊目录:

.        :代表此目录

..       :代表上一层目录

-        :代表前一个工作目录

~       :代表“目前用户身份”所在的主文件夹

~account :代表account这个用户的主文件夹

注:根目录下上一层(..)与前(.)是同一个目录。

(1)cd:切换目录(change directory)

语法:

[[email protected] ~]# cd [相对路径或绝对路径]

例:

[[email protected] ~]# cd ~

(2)pwd:显示当前目录(print working directory)

语法:

[[email protected] ~]# pwd [-p]

参数-p:显示出当前路径,而非使用连接路径。

例:

[[email protected] ~]# pwd

(3)mkdir:新建一个新的目录(make directory)

语法:

[[email protected] ~]# mkdir [-mp] 目录名称

-m:配置文件案的权限,直接设置,不需要看默认权限;

-p:直接将所需要的目录递归创建。

例:

[[email protected] tmp]# mkdir test

[[email protected] tmp]# mkdir -p test1/test2/test3

[[email protected] tmp]# mkdir -m 711 test2

(4)rmdir:删除一个空的目录(remove directory)

语法:

[[email protected] ~]# rmdir [-p] 目录名称

-p:连同上层“空的”目录也一起删除

例:

[[email protected] tmp]# rmvdir test

[[email protected] tmp]# rmvdir -p test1/test2

注:被删除的目录里面必定不能存在其他的目录或文件,如果要将所有目录下的东西都删除掉,就必须使用“rm -r test”了。

3、执行文件路径变量:$PATH

正是因为环境变量PATH的帮助,所以在任何地方都能执行ls(/bin/ls)这个命令,当我们在执行一个命令的时候,系统会按照PATH的设置去每个PATH定义的目录下查询文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先查询到的同名命令先被执行。

[[email protected] ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

PATH这个变量的内容由一堆目录所组成,每个目录中间用冒号隔开。

例:

[[email protected] ~]# mv /bin/ls /root                       #移动后无法直接输入ls正常使用

[[email protected] ~]# /root/ls                                      #可以使用绝对路径执行

[[email protected] ~]# ./ls                                              #或使用相对路径执行

[[email protected] ~]# PATH="$PATH":/root             #也可将/root加入PATH

[[email protected] ~]# mv /root/ls /bin                       #将ls放回原位后需重新登入即可正常使用

以下几点需注意:

不同身份用户默认的PATH不同,默认能够随意执行的命令也不同;

PATH是可以修改的,所以一般用户还是可以通过修改PATH来执行某些位于/sbin或/usr/sbin下的命令来查询;

使用绝对路径或相对路径直接指定某个命令的文件名来执行,会比查询PATH来的正确;

命令应该要放置到正确的目录下,执行才会方便;

本目录(.)最好不要放到PATH中。

二、文件与目录管理

1、查看文件与目录:ls

[[email protected] ~]# ls [-aAdfFhilnrRSt] 目录名称

[[email protected] ~]# ls [--colour={never,auto,always}] 目录名称

[[email protected] ~]# ls [--full-time] 目录名称

参数:

-a:全部的文件,连同隐藏文件一起列出来;

-A:列出全部的文件(连同隐藏文件,但不包括.与..这两个目录)

-d:仅列出目录本身,而不是列出目录内的文件数据;

-f:直接列出结果,而不进行排序(默认以文件名进行排序);

-F:根据文件、目录等信息给予附加数据结构,例如:

*:代表可执行文件;/:代表目录;=:代表socket文件;|:代表FIFO文件

-h:将文件容量以较易读的方式列出来(如KB,GB等)

-i:列出inode号码

-l:列出长数据串,包含文件的属性与权限等数据

-n:列出UID与GID,而非用户与用户组的名称

-r:将排序结果反向输出

-R:连同子目录一起列出来

-S:以文件容量排序

-t:以文件时间排序

--color=never:不依据文件特性给予时间显示

--color=always:显示颜色

--color=auto:让系统自行依据设置来判断是否给予颜色

--full-time:以完整时间模式输出(包含年月日时分)

--time={atime,ctime}:输出访问时间或改变权限属性时间(ctime)而非更改内容时间mtime)

2、复制、删除与移动:cp,rm,mv

(1)复制文件或目录copy

[[email protected] ~]# cp [-adfilprsu] 源文件(source) 目标文件(destination)

[[email protected] ~]# cp [options] source1 source2 source3 ... directory

-a:相当于-pdr的意思。

-d:若文件为连接文件的属性,则复制连接文件属性而非文件本身

-f:强制(force)的意思,若目标文件已存在且无法开启,则删除后再尝试一次

-i:若目标文件已经存在,在覆盖时会先询问操作的进行;

-l:进行硬链接文件的创建,而非复制文件本身;

-p:连同文件的属性一起复制过去,而非使用默认属性;

-r:递归持续复制,用于目录的复制行为;

-s:复制称为符号链接文件(symbolic link),即“快捷方式”;

-u:若dstination比source旧才更新destination。

例:

[[email protected] tmp]# cp -a /var/log/wtmp wtmp2

复制时需注意以下几点:

a.是否需完整保留来源文件的信息

b.源文件是否为软连接文件

c.源文件是否为特殊文件

d.源文件是否为目录

(2)rm(移除文件或目录)

语法:

[[email protected] ~]# rm [-fir] 文件或目录

-f:force,忽略不存在的文件,不会出现警告信息

-i:互动模式,再删除前会询问用户是否操作

-r:递归删除,最常用在目录的删除

例:

[[email protected] tmp]# rm -i bashrc*

[[email protected] tmp]# rm -r /tmp/etc

[[email protected] tmp]# \rm -r /tmp/etc

#在指令前加上反斜线,可以忽略掉alias的指定选项,不再询问是否要删除。

(3)mv(移动文件与目录,或更名)

[[email protected] ~]# mv [fiu] source destination

[[email protected] ~]# mv [options] source1 source2 source3 ....directory

-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i:若目标文件(destination)已经存在时,就会询问是否覆盖

-u:若目标文件已经存在,且source比较新,才会更新

例:

[[email protected] ~]# mv bashrc mvtest                                     #将某个档案移动到某个目录

[[email protected] ~]# mv mvtest mvtest2                         #更改文件名,等同于rename

3、取得路径的文件名与目录名称

取得最后的文件名:

[[email protected] ~]# basename /etc/sysconfig/network

net work

[[email protected] ~]# dirname /etc/sysconfig/network

/etc/sysconfig/network

4、文件内容查阅

1、直接查看文件内容

(1)cat(concatenate)

[[email protected] ~]# cat [-AbEnTv]

-A:相当于-vET的整合,可列出一些特殊字符,而不是空白

-b:列出行号,仅针对非空白行做行号显示,空白行不标行号

-E:将结尾断行字符$显示出来

-n:打印出行号,连空白行也标出行号。

-T:将[Tab]键以^i显示出来

-v:列出一些看不出来的特殊字符

例:

[[email protected] ~]# cat -n /etc/issue

(2)反向列示

[[email protected] ~]# tac /etc/issue

(3)nl(添加行号打印)

[[email protected] ~]# nl [-bnw] 文件

-b:指定行号指定的方式,主要有两种

-b a:表示不论是否为空行,也同样列出行号

-b t:如果有空行,空的那一行不要列出行号(默认值)

-n:列出行号表示的方法,主要有三种

-n ln:行号在屏幕的最左方显示;

-n rn:行号在屏幕的最右方显示,且不加0;

-n rz:行号在自己字段的最右方显示,且加0;

-w:行号字段占用的位数

例:[[email protected]~]# nl -b a -n rz -w 3 /etc/issue

001   centos release 5.3 (final)

002   kernel /r on an /m

003

2、翻页查看

(1)more

例:

[[email protected] ~]# more /etc/man.config

有用的按键:

空格键:翻下一页

ENTER:向下滚动一行

/字符串:代表在则个显示的内容当中,向下查询“字符串”这个关键字

:f:立刻显示出文件名以及目前显示的行数

q:代表立刻离开more

b或[ctrl+b]:代表往回翻页,只对文件有用,对管道无用

(2)less

例:

[[email protected] ~]# less /etc/man.config

有用按键:

空格键:向下翻动一页

[pagedown]:向下翻动一页

[pageup]:向上翻动一页

/字符串:向下查询“字符串”的功能

?字符串:向上查询“字符串”的功能

n:重复前一个查询(与/或?有关)

N:反向重复前一个查询(与/或?有关)

q:离开

3、数据选取

(1)head

[[email protected] ~]# head [-n number] 文件

-n:后面接数字,代表显示几行,如果为负数(-100)时代表列出前面所有的行数,但不包括后面的一百行。

[[email protected] ~]# head -n -100 /etc/man.config

(2)tail

[[email protected] ~]# tail [-n number] 文件

-n:后面接数字,代表显示几行的意思

-f:表示持续检测后面所接的文件名,要等到按下[ctrl]-c才会结束tail的检测

例:[[email protected] ~]# tail /etc/man.config

[[email protected] ~]# tail -n +100 /etc/man.config

[[email protected] ~]# tail -f /var/log/messages

4、查看非纯文本文件:od

[[email protected] ~]# od [-t TYPE] 文件

-t:后面可以接各种类型的输出,如

a:利用默认的字符来输出

c:利用ASCII字符输出

d[size]:利用十进制decimal来输出数据,每个整数占用size byte

f[size]:利用浮点数floating来输出数据,每个数占用size byte

o[size]:利用八进制octal来输出数据,每个整数占用size byte

x[size]:利用十六进制hexadecimal来输出数据,每个整数占用size byte

例:

[[email protected] ~]# od -t c /usr/bin/passwd

[[email protected] ~]# od -t oCc /etc/issue

[[email protected] ~]# echo password | od -t oCc                      #查看password单词的ASCII对照

5、修改文件时间或创建新文件

文件时间类型:

modification time (mtime):内容数据修改时间;

status time (ctime):文件状态时间,即文件权限、属性更改时间

access time (atime):文件内容读取时间

修改时间语法:

[[email protected] ~]# touch [-acdmt] 文件

-a:仅修改访问时间

-c:仅修改文件的时间,若文件不存在则不创建新文件夹

-d:后面可以接欲修改的日期而不用目前的日期,也可以使用--date="日期或时间"

-m:仅修改mtime

-t:后面可以接欲修改的日期,而不用目前的时间,格式为[YYMMDDhhmm]

例:

[[email protected] ~]# cp -a ~/.bashrc bashrc

[[email protected] ~]# ll bashrc; ll --time=atime bashrc;ll --time=ctime bashrc

[[email protected] ~]# touch -d "2 days ago" bashrc

[[email protected] ~]# touch -t 07120202 bashrc

touch常用的情况为:

(1)创建一个空的文件

(2)将某个文件日期修改为目前日期

在默认情况下如果touch后面有接文件,则该文件的三个时间都会更新为目前的时间,若该文件不存在,则会主动创建一个新的空文件。

四、文件与目录的目录的默认权限与隐藏权限

1、文件默认权限:umask

umask是指目前用户在新建文件或目录时候的权限默认值

(1)查看默认权限

[[email protected] ~]# umask

0022                  <==第一位为特殊权限数字,一般权限为后三位数字

[[email protected] ~]# umask -S

u=rwx,g=rx,o=rx

在默认权限的属性上,目录与文件时不一样的,所以默认情况如下:

若用户创建“文件”则默认没有可执行(X)的权限,即只有r、w这两个选项,也就是最大为666,默认权限为-rw-rw-rw

若用户新建“目录”,因x与是否可以进入此目录有关,所以默认为所有权限均开放,即为777,默认权限为drwxrwxrwx

要注意的是,umask值得是“该默认值需要减掉的权限”,如果拿掉能读写的权限,也就是6。如果umask为022,那么user并没有被拿掉任何权限,不过group与others的权限被拿掉了2,也就是w这个权限。

那么新建文件时:(-rw-rw-rw-)-(-----w--w-)== -rw-r--r--

新建目录时:(drwxrwxrwx)-(d----w--w-)== drwxr-xr-x

(2)修改默认权限

例:

[[email protected] ~]# umask 002

[[email protected] ~]# touch test3

[[email protected] ~]# mkdir test4

在默认情况中,root的umask会拿掉比较多的属性,root的umask默认是022,这是基于安全的考虑,至于一般身份用户,通常他们的umask为002,即保留同用户组写入的权力。

2、文件隐藏属性chattr、lsattr

chattr只能在Ext2/Ext3的文件系统上生效

(1)chattr

[[email protected] ~]# chattr [+-=] [ASacdistu]

参数:

+:增加某一个特殊参数,其他原本存在的参数则不动

-:删除某一个特殊参数,其他原本存在参数则不动

=:仅有后面接的参数

A:当设置了A这个属性时,若你有访问此文件(或目录)时它的访问时间atime将不会被修改,可避免I/O较慢的机器过度访问磁盘(目前建议使用档案系统挂载参数处理这些项目)

S:一般文件是异步写入磁盘的,如果加上S这个属性时,当你进行任何文件的修改,该改动会“同步”写入磁盘

a:当设置a之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root才能设置这个数据

c:当这个属性设置之后,将会自动将此文件压缩,在读取的时候将会自动解压缩,但在存储的时候,将会先进行压缩后再存储,对大文件比较有用

d:当dump程序被执行的时候,设置d属性将可使该文件(或目录)不会被dump备份

i:可以让一个文件“不能被删除、改名,设置连接也无法写入或添加数据”,对系统安全性有很大的帮助,只有root才能设置此属性

s:当文件设置了s属性时,如果这个文件被删除,他将会被完全从这个硬盘空间中删除

u:与s相反,当使用u来配置文件时,如果该文件被删除了,则数据内容其实还存在磁盘中,可以使用来找回该文件

例:

[[email protected] ~]# cd /tmp

[[email protected] tmp]# touch attrtest

[[email protected] tmp]# chattr +i attrtest

[[email protected] tmp]# rm attrtest

[[email protected] tmp]# chattr -i attrtest

(2)显示文件隐藏属性

[[email protected] ~]# ls attr [-adR] 文件或目录

参数:

-a:将隐藏文件的属性也显示出来

-d:如果接的是目录,仅列出目录本身的属性而非目录内的文件名

-R:连同子目录的数据也一并列出来

例:

[[email protected] tmp]# chattr +aij attrtest

[[email protected] tmp]# lsattr attrtest

----ia---j--- attrtest

3、文件特殊权限:SUID,SGID,SBIT

[[email protected] ~]# ls -ld /tmp; ls -l /usr/bin/passwd

drwxrwxrwt 7 root root 4096 sep 27 18:23 /tmp

-rwsr-xr-x 1 root root 22984 Jan 7 2007 /usr/bin/passwd

(1)Set UID

当S这个标志出现在文件所有者的x权限上时就被称为Set UID,简称为SUID的特殊权限,SUID的限制于功能为:

a.SUID仅对二进制程序(binary program)有效;

b.执行者对于该程序需要具有x的可执行权限;

c.本权限仅在执行该程序过程中(run-time)有效;

d.执行者将具有该程序所有者(owner)的权限。

如:vbird对于/usr/bin/passwd这个程序是具有x权限的,表示vbird能执行passwd,但passwd的拥有者是root这个账号,vbird执行passwd的过程中,会“暂时”获得root权限,/etc/shadow可以被vbird所执行的passwd所修改,而/bin/cat并无此权限,故无法执行。

(2)Set GID

当s在用户组的x权限上时就被称为Set GID,简称为SGID

例:

[[email protected] ~]# ls -l /usr/bin/locate

-rwx--s--x root slocate 23856 mar 15 2007 /usr/bin/locate

与SUID不同的是,SGID可以针对文件或目录来设置,如果是对文件来说,SGID有如下功能:

a.SGID对二进制程序有用;

b.程序执行者对于该程序来说,需具备x的权限;

c.执行者在执行的过程中将会获得该程序用户组的支持。

如:

[[email protected] ~]# ll /usr/bin/locate /var/lib/mlocate/mlocate.db

-rwx--s--x l root slocate 23856 Mar 15 2007 /usr/bin/locate

-rw-r----- l root slocate 3175776 sep 23 24:02 /var/lib/mlocate/mlocate.db

与SUID非常类似,若使用vibird这个账号去执行locate时,那vibird会获得slocate用户组的支持,因此能读取到mlocate.db

SGID也可以用在目录上,有以下功能:

a.用户若对于此目录具有r与x的权限时,该用户能进入此目录

b.用户在此目录下的有效用户组(effective group)将会变成该目录的用户组

c.若用户在此目录下具有w的权限,则用户所创建的新文件的用户组与此目录的用户组相同。

(3)Sticky BiT

目前只对目录有效,对于文件已经没有效果了,对目录的作用是:

当用户对于此目录具有w,x权限,即具有写入权限时,用户在该目录下创建文件或目录时,仅有自己与root才有权利删除、重命名、移动该文件。

如/tmp本身权限为“drwxrwxrwt”,任何人都能在/tmp内添加、修改文件,但仅有文件、目录创建者与root能够删除、重命名、移动自己的目录或文件。

(4)SUID/SGID/SBIT权限设置

数字形态更改权限的方式为“三个数字”的组合,那么如果在这三个数字之间再加上一个数字的话,最前面的那个数字就代表这几个权限了。

4:代表SUID

2:代表SGID

1:代表SBIT

例:

[[email protected] tmp]# touch test

[[email protected] tmp]# chmod 4755 test; ls -l test

-rwsr-xr-x 1 root root 0 sep 29 03:06 test

[[email protected] tmp]# chmod 6755 test; ls -l test

-rwsr-sr-x 1 root root 0 sep 29 03:06 test

[[email protected] tmp]# chmod 1755 test; ls -l test

-rwxr-xr-t 1 root root 0 sep 29 03:06 test

[[email protected] tmp]# chmod 7666 test; ls -l test

-rwSrwSrwT 1 root 7666 test; ls -l test

注:在最后一个例子中S/T均为大写,因为user,group,others都没有x这个可执行的标识,所以S/T代表的就是“空的”。

也可以通过符号法来处理,其中SUID为u+s,SGID为g+s,SBIT则是o+t

例:

[[email protected] tmp]# chmod u=rwxs,go=x test;ls -l test

-rws--x--x 1 root root 0 Aug 18 23:47 test

[[email protected] tmp]# chmod g+s,o+t test;ls -l test

-rws--s--t 1 root root 0 Aug 18 23:47 test

4、查看文件类型

如果想知道某个文件的基本数据,例如是属于ASCII或者是data文件,或者是binary,且其中有没有使用到动态函数库(share library)等等信息,可以利用file这个命令来查看。

例:

[[email protected] ~]# file ~/.bashrc

5、命令与文件的查询

(1)脚本文件名的查询(which)

[[email protected] ~]# which [-a] command

-a:将所有由PATH目录中可以找到的命令均列出,而不只第一个被找到的命令名称

例:

[[email protected] ~]# which ifconfig

/sbin/ifconfig

[[email protected] ~]# su - vbird

[[email protected] ~]$ which ifconfig

/usr/bin/which:no ifconfig in (/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:

/home/vbird/bin)

注:which是根据用户设置的PATH变量内的目录去查找可执行文件的,所以不同的PATH设置内容所找到的命令不一样,因为/sbin不在vbird的PATH中,所以找不到

5、文件名查找

(1)whereis(寻找特定文件)

[[email protected] ~]# whereis [-bmsu] 文件名或目录名

-b:只找二进制格式文件

-m:只找在说明文件manual路径下的文件

-s:只找source源文件

-u:查找不在上述三个选项当中的其他特殊格式文件

例:

[[email protected] ~]# whereis ifconfig

注:因为LINUX系统会将系统内所有文件都记录在一个数据库文件中而当使用whereis或者是locate时,都会以数据库文件的内容为准,因此查找速度会比find快很多,而且有时还会发现使用这两个执行文件时,会找到已经被删掉的文件,找不到最新的刚创建文件。

(2)locate

[[email protected] ~]# locate [-ir] keyword

-i:忽略大小写的差异

-c:不输出档名,仅计算找到的档案数量

-l:仅输出几行的意思,如输出5行则是-l 5

-S:输出locate所使用的资料档案的相关资讯,包括该资料库记录的档案/目录数量等

-r:后面可接正则表达式的显示方法

例:

[[email protected] ~]# locate -l 5 passwd

注:locate在其后输入文件的部分名称后,就会显示出包含此部分名称的文件名及路径,但locate寻找的数据是由已创建的数据库/var/lib/mlocate/里面的数据所查到的,优点是可以快速查到,缺点是因为根据distribution不同或一天更新一次,新创建文件无法查找到,需手动更新数据库,可使用updatedb命令。

updatedb根据/etc/updatedb.conf的设置去查找系统硬盘内的文件名,并更新/var/lib/mlocate内的数据文件。

(3)find

[[email protected] ~]# find [PATH] [option] [action]

a.时间参数-atime、-ctime、-mtime(以mtime为例):

-mtime n:n为数字,意义为n天之前的“一天内”被更改过的文件;

-mtime +n:列出在n天之前(不含n天本身)被更改过的文件名;

-mtime -n:列出在n天之内(含n天本身)被更改过的文件名;

-newer file:file为一个存在的文件,列出比file还要新的文件。

例:

[[email protected] ~]# find / -mtime 0

[[email protected] ~]# find /etc -newer /etc/passwd

注:0代表目前的时间,所以从现在开始到24小时前,有改动过内容的文件都会被列出来。

b.用户或用户组名有关的参数

-uid n:n为数字,这个数字是用户的账号ID,即UID

-gid n:n为数字,这个数字时用户组名的ID,即GID

-user name:name为用户账号名称

-group name:name为用户组名

-nouser:寻找文件所有者不存在/etc/passwd不存在的人

-nogroup:寻找文件用户组不存在于/etc/group中的文件

[[email protected] ~]# find /home -user vbird

[[email protected] ~]# find / -nouser                  #查找不属于任何人的档案

c.与文件权限及名称有关的参数

-name filename:查找文件名为filename的文件

-size [+-] SIZE:查找比SIZE还要大(+)或小(-)的文件,这个SIZE规格有:

c:代表byte,k:代表1024bytes

-type TYPE:查找文件的类型为TYPE的,类型主要有:一般正规文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、及FIFO(p)等属性

-perm mode:查找文件权限“刚好等于”mode的文件

-perm -mode:查找文件权限“必须要包括mode的权限”的文件

-perm +mode:查找文件权限“包含任一mode的权限”的文件

例:

[[email protected] ~]# find / -name passwd

[[email protected] ~]# find / -name "*passwd*"

[[email protected] ~]# find /var -type s

[[email protected] ~]# find / -perm +7000

[[email protected] ~]# find /bin /sbin -perm +6000

d.其他可执行的操作

-exec command:command为其他命令,-exec后面可再接其他的命令来处理查找到的结果

-print :将结果打印到屏幕,这个操作是默认操作

例:

[[email protected] ~]# find / -perm +7000 -exec ls -l {} /;

[[email protected] ~]# find / -size +1000K

注:{}代表“由find找到的内容”,find的结果会被放置到{}位置中

-exec一直到“/;”代表find额外命令的开始(-exec)到结束(/;),在这中间的就是find命令的额外命令

因为“;”在bash环境下是有特殊意义的,所以用反斜杠来转义

例:

[[email protected] ~]# find /etc -size +50k -a -size -60k -exec ls -l {} \;

[[email protected] ~]# find /etc -size +50k -a ! -user root -type f -exec ls -l {} \;

[[email protected] ~]# find /etc -size +1500k -o -size 0

时间: 2024-09-30 15:22:24

鸟哥私房菜第七章 Linux文件与目录管理的相关文章

《鸟哥的Linux私房菜》7章 Linux文件与目录管理 习题答案

自己整理了一下,分享给大家,这些习题确实是非常经典的! 1.什么是绝对路径与相对路径? 绝对路径是相对于/目录的路径的,比如/home/user: 相对路径是相对于当前工作目录的,比如你的系统上有个/home/user/test目录,此时你在/home/user目录下,那么./test就是相对路径. 2.如何更改一个目录的名称?例如/home/test变为/home/test2. mv /home/test /home/test2 3.PATH这个环境变量的意义是什么? 这里先看一下PATH:

鸟哥的Linux私房菜_基础版_学习笔记3:第七章 Linux文件与目录管理

第七章 Linux文件与目录管理 7.1目录与路径: 7.1.1相对路径与绝对路径: 绝对路径:路径的写法『一定由根目录 / 写起』,例如: /usr/share/doc 这个目录. 相对路径:路径的写法『不是由 / 写起』,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:『cd ../man』这就是相对路径的写法啦!相对路径意指『相对於目前工作目录的路径!』 7.1.2目录的相关操作: . 代表此层目录 .. 代表上一层目录 - 代表前一个工作目录

鸟哥私房菜--第1章 Linux 是什么

[只做搬运工,在搬运的时候窃看其中乐趣.] 历史渊源 Linus Torvalds(请记住这个名字)当年(1991)在写Linux的时候,初衷是针对386型机器的,当时只是一套裸露的操作系统并不包含任何的应用程序.未完待续…… Linux的可移植性 相比Win的X86架构机器而言,Linux提供了一套完整的操作系统当中最底层的硬件控制与资源管理的完整架构.可以在个人计算机X86架构上面稳定运行. Linux之前Unix的历史 在那个只有卡片阅读机的时代,为了提高效率,MIT(麻省理工学院)自主研

鸟哥私房菜 第6章 Linux的文件权限与目录配置 课后习题

请说明/bin 与/usr/bin 目录所放置的执行文件有何不同之处. /bin 和 /usr/bin 放置的都是执行文件,但是/bin 放置的在单用户维护模式下能够执行的命令,比如cat,cp等,与开机过程有关,usr/bin 放置的是一般用户能够执行的命令,与开机过程无关. 请说明/bin 与/sbin 目录放置的执行文件有何不同之处. /sbin 放置的是与开机过程有关的命令,比如开机,修复,还原系统等. 哪几个目录不能够与根目录 ( / ) 放置到不同的分区中?并请说明该目录放置的数据是

第5章 LINUX文件及目录管理命令基础

第5章 LINUX文件及目录管理命令基础5.1 操作LINUX必知必会基础知识5.1.1 Linux命令行组成结构root @ oldboy ~ # :当前用户名 分隔符 主机名 当前用户登陆后的位置,这是个变量 提示符 5.1.2 基本的Linux命令操作语法示例5.1.3 Linux与Windows的目录结构对比5.2 Linux文件及目录核心命令5.2.1 pwd:显示当前所在位置信息"print working directory"-L:逻辑路径:-P:物理路径系统Bash命令

鸟哥私房菜基础篇:Linux是什么习题

猫宁!!! 参考链接:http://cn.linux.vbird.org/linux_basic/0110whatislinux.php#ex 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-你在你的主机上面安装了一张网络卡,但是开机之后,系统却无法使用,你确定网络卡是好的,那么可能的问题出在哪里?该如何解决? 因为所有的硬件都没有问题,所以,可能出问题的地方在于系统的核心(kernel) 不支持这张网络卡.解决的方法,(1)到网络卡的开发商网站,(2)下载支持你主机操作系统的驱动程序, (3)

第七章 Linux文件和目录相关的知识 作业题

1. rmdir -p  用来删除一串目录,比如 rmdir  -p /tmp/test/1/2/3  如果 /tmp/1/2/ 下面除了3目录外还有个4目录,4目录里还有个5目录,那么是否可以成功删除?   rmdir -p  删除一个不存在的目录时是否报错呢?rmdir -p 不能成功删除非空目录,rmdir -p 删除一个不存在的目录时会报错,提示"没有那个文件或目录" 2. 删除一个目录或者文件时,在删除之前会先问一下我们是否删除,如果直接回车,是否删除呢?如果输入的不是'y'

鸟哥私房菜--第0章 计算机概论

CPU种类 精简指令集(Reduced Instructions Set Computer - RISC) 指令较为精简,每个指令执行周期较短,完成的操作简单,执行性能较佳:Sun公司SPARC系列,IBM的Power Archite系列以及ARM(手机.PDA.导航系统.网络设备等)系列. 复杂指令集(Complex Instructions Set Computer - CIRS) 每一条指令可以执行一些较低阶的硬件操作,指令数目多,复杂,指令长度不一.指令执行时间较长. 常见CISC微指令

第7章 Linux文件与目录管理

目录与路径 特殊目录 .:此层目录 ..:上层目录 ~:目前用户身份所在的主文件夹 -account:account用户所在的主文件夹 处理目录的命令 cd:切换目录 change directory的缩写 pwd:显示目前所在目录 -P:显示当前路径,而非连接路径 mkdir:新建新目录 -m:配置文件的权限,而非使用默认权限(umask) -p:递归创建 mkdir创建目录时,要求存在父目录,否则报错,因此可以使用-p参数,此时父目录不存在时会创建父目录 rmdir:删除空的目录 -p:连同