天天看点

linux目录和文件管理

目录和文件管理(一)

要求:

练习目录和文件管理的基本命令。

查看及切换目录:pwd、cd、ls、du。

步骤:

pwd命令—查看当前的工作目录(Print Working Directory)

cd命令—切换工作目录(Change Directory)

cd -:返回上一级

cd:返回根目录

cd ~:返回宿主目录

ls命令—列表(List)显示目录内容

-l:以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。不使用-l选项时,ls命令默认以短格式显示目录名或文件名信息

-a:显示所有(All)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件

-A:与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示:表示当前目录的“.”,表示父目录的“. .”。

-d:显示目录(Directory)本身的属性,而不是显示目录中的内容

-h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节,使用-h选项后将显示为K、M等单位。此选项需要结合-l选项一起使用。

-R:以递归(Recursive)的方式下是指定目录及其子目录中的所有内容。

--color:在字符模式中以颜色区分不同的文件,如果使用“—color=tty”,表示使用终端预定义的颜色方案。一般是这样的:深蓝色表示目录、白色表示一般文件、绿色表示可执行的文件、***表示设备文件、红色表示压缩文件。

经验总结:

对于经常使用的比较长的命令行,可以通过alias别名机制进行简化,以提高使用效率。例如执行下列命令可以定义一个名为myls的命令别名,以后再执行“myls”时即等同于执行“ls –alh”命令。如下所示:

du命令—统计目录及文件的空间占用情况(Disk Usage)

-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。

-h:以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果,使用-h选项后将显示出K、M等单位。

-s:只统计每个参数所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小。

创建目录和文件:mkdir、touch、ln。

mkdir命令—创建新的目录(Make Directory)

touch命令—创建空文件

ln命令—创建链接(Link)文件

默认创建的是硬链接,如果需要创建软链接,必须结合“-s”选项明确进行指定。硬链接能同步更新。基本使用格式:

ln     [ -s ]       源文件或目录…              链接文件或目标位置

复制、删除、移动目录和文件:cp、rm、mv。

cp命令—复制(Copy)文件或目录

基本使用格式:

cp    [ 选项]…   源文件或目录…              目录文件或目录

-f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。

-i:覆盖目标同名文件或目录是提醒用户确认(Interactive,交互式)。

-p:复制时保持(Preserve)源文件的权限、属主及时间标记等属性不变。

-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。

rm命令—删除(Remove)文件或目录

-f:删除文件或目录时不进行提醒,而直接强制删除。

-i:删除文件或目录时提醒用户确认。

-r:删除努鲁时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。

mv命令—移动(Move)文件或目录

如果目标位置与源位置相同,则效果相当于为文件或目录改名。基本使用格式:

mv   [选项 ]      …    源文件或目录…              目标文件或目录

查找目录和文件:which、find。

Which命令—查找Linux命令文件并显示所在的位置

Find命令—查找文件或目录

Find        [查找范围 ]     [ 查找条件表达式]

按名称查找:关键字为“-name”,根据目标文件的名称进行查找,允许使用“*”及“?”通配符。

按文件大小查找:关键字为“-size”,根据目录文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件。常用的容量单位包括k(注意是小写)、M、G。

按文件属主查找:关键字为“-user”,根据文件是否属于目标用户进行查找。

按文件类型查找:关键字为:“-type”,根据文件的类型进行查找,这里的类型指的是普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等。块设备指的是成块读取数据的设备(如硬盘、内存等),而字符设备指的是按单个字符读取数据的设备(如键盘、鼠标等)。

练习命令帮助信息的获取。

使用man、--help选项查看find命令的帮助信息,比较它们的异同。

find --help:

              man find:

使用man工具查看man本身的手册页信息,并保存为man.txt文本文件。

使用man工具查看wget下载工具、date日期显示工具的手册页信息,并用date命令输出“YYYY-mm-dd HH:MM”格式的时间信息(执行命令date+“%F+%R”或者date+“%Y-%m-%d %H:%M”)。

查看wget下载工具:

查看date日期工具:

输入date命令查看日期时间:

查看系统目录/sbin、/bin、/usr/bin、/usr/sbin中有哪些命令或程序,对教材中未学习到的命令,使用man工具查看其帮助,了解这些命令的作用及使用方法。

 目录和文件管理(二)

练习文件查看及检索操作

查看/etc/filesystems文件,确认当前系统支持的文件系统类型

cat命令—显示并连接(Concatenate)文件的内容

分页查看/etc/services文件,了解各种服务默认使用的协议、端口号

more和less命令—分页查看文件内容

从/proc/meminfo文件中过滤出物理内存大小、空闲内存大小

grep命令—检索、过滤文件内容

grep           [ 选项 ]……             查找条件        目标文件

-i:查找内容时忽略大小写(lgnore  Case)

-v:反转查找(inVert),即输出与查找条件不相符的行。

4,wc命令—统计文件内容中德单词数量(Word Count)、行数等信息

         -c:统计文件内容中的字节数

         -l:统计文件内容中的行数

         -w:统计文件内容中单词个数(以空格或制表位作为分隔)

练习备份与恢复操作

tar命令—归档和释放工具(既可以压缩文件,也可以压缩目录)

-c:创建(Create).tar格式的包文件

-C:解包时指定释放的目标文件夹

-f:表示使用归档文件

-j:调用bzip2程序进行压缩或解压。

-p:打包时保留文件及目录的权限

-P:打包时保留文件及目录的绝对路径

-t:列表查看包内的文件

-v:输出详细信息(Verbose)

-x:解开.tar格式的包文件

-z:调用gzip程序进行压缩或解压

1,备份整个/etc目录树,制作成归档压缩包文件etc.tar.gz

2,查看etc.tar.gz文件中包含的目录及文件列表

         输入命令:tar  ztvf  etc.tar.gz

将etc.tar.gz文件恢复到/tmp目录下,确认后再删除/tmp/etc文件夹

gzip和gunzip命令—压缩和解压缩工具(只能压缩文件)

bzip2和bunzip2命令—压缩和解压缩工具(只能压缩文件)

练习vi编辑器的基本使用

1,通过“man man | col -b> man.txt”操作创建man命令的文本手册页,用vi编辑

   打开man.txt文件,以此文件作为练为素材

2,切换到末行模式,并输入“:set  nu”命令显示出行号

     步骤:先按“ESC”键,然后输入冒号“:”切换到末行模式,然后再输入命令“set  nu”,按回车键。如图所示:

3,将第6行的内空复制到第2行,并删除第2行以后的几个空行

         步骤:

先按“ESC”键,切换到命令模式,然后将光标移到第6行,按两下小写的“y”键,再将光标移到第2行,按大写的“P”键。如图所示:

复制操作:使用按键命令yy复制当前行整行的内容到剪贴板,使用#yy的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换)。复制的内容需要粘贴后才能使用。

粘贴操作:在vi编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲器中,按p键即可将缓冲区中的内容粘贴到光标位置处之后,按P键则会粘贴到光标位置处之前。

再将光标移至第3行,然后快速的按下数字“3”键和两下小写“d”键,删除空行。如图所示:

删除操作:

使用x或Del按键删除光标处的单个字符

使用按键命令dd删除当前光标所在行,使用#dd的形式还可以删除从光标处开始的#行内容(其中“#”号用具体数字替换)

使用按键命令d删除当前光标之前到行首的所有字符

使用按键命令d$删除当前光标处到行尾的所有字符

4,在文件中查找“-k”字符串

步骤:在末行模式中,按“/”键后可以输入指定的字符串,从当前光标处开始向后进行查找(如果按“?”键则向前查找)。完成查找后可以按n键向后查找,N键向前查找。如图所示:

将文件中的所有“string”字符串运替换为“BENET”

使用替换功能时的末行命令格式:

:[ 替换范围 ]      sub          /旧的内容/新的内容[ /g ]

%:在整个文件内容中进行查找并替换

如图所示:

n,m:在指定行数范围以内的文件内容中进行查找

例如:若要将文档中第5-15行中的“initdefault”字符串替换为“DEFAULT”,可以执行以下操作:

  :5,15     sub   /initdefault/ DEFAULT/g

最末尾的“/g”部分也是可选内容,表示对替换范围内每一行的所有匹配结果都进行替换,省略“/g”时将只替换每行中的第一个匹配结果。

保存该文件后退出vi编辑器

切换到末行模式,然后输入“wq”键,再按下回车键,保存并退出。如图所示:

撤销编辑及保存和退出:

           在对文件内容进行编辑时,有时候会需要对一些失误的编辑操作进行撤销,这时可以使用按键命令u、U键。其中,u键命令用于取消最近一次的操作,并回复操作结果,可以多次重复按u键恢复已进行的多步操作;U键命令用于取消对当前行所做的所有编辑。当需要保存当前的文件内容并退出vi编辑器时,可以按ZZ命令。

保存文件及退出vi编辑器:

保存文件:对文件内容进行修改并确认以后,需要执行“: w”命令进行保存。

 若需要另存为其他文件,则需要指定新的文件名,必要时还可以指定文件路径。例如,执行“: w  /root/newfile”操作将把当前编辑的文件另存到/root目录下,文件名为newfile。

退出编辑器:需要退出vi编辑器时,可以执行“: q”命令。若文件内容已经修改却没有保存,仅使用“: q”命令将无法成功退出,这时需要使用“: q!”命令强行退出(不保存即退出)

保存并退出:  既要保存文件又要退出vi编辑器可以使用一条末行命令“: wq” 或 “: x”实现。其效果与命令模式中的ZZ命令相同。

重新打开man.txt文件,只保留前5行,删除其余所有内容

切换到命令模式,将光标移到第6行,然后快速的按数字键“1000”和两下小写的“d”键。如图所示:

复制/root/.bashrc文件的内容到第5行以后,然后另存为man2.txt文件

切换到末行模式,然后输入“: r  /root/.bashrc”,在按回车键。如图所示:

接着在末行模式输入命令“: w  man2.txt”,然后按回车键。如图所示:

打开新文件或读入其他文件内容:

打开新的文件进行编辑:在当前vi编辑器中,执行“: e新的文件”形式的末行命令可以编辑(Edit)新文件。

在当前文件中读取其他文件内容:执行“: r 其他文件”形式的末行命令可以读入(Read)其他文件中的内容,并将其复制到当前光标所在位置。

使用vi修改系统配置

继续阅读