讨论linux下的文件寻址及文件管理
一 linux系统的结构
类似于windows中文件夹的东西在linux中叫做目录。而linux是一个倒树行结构,linux中最大的目录是 “/”,根目录。
“/”目录中的二级目录多为系统在安装过程中建立的。
二 linux系统中的二级目录
/bin ##二进制可执行文件,系统常规命令,如cat,mkdir,mv,cptar,chmod等;
/boot ##启动目录,存放系统自动启动文件,内核,初始化程序;
/dev ##系统设备管理文件,如disk,dvd,floppy,fd0,hdc,stdin等;
/etc ##大多数系统配置文件存放路径,如gconf,yum,conf,hosts等;
/home ##普通用户家目录,在此目录下创建并默认有Desktop目录;
/lib ##函数库,是一组二进制文件,如iptables等;
/lib64/ ##64位函数库;
/media ##临时挂载点;
/mnt ##临时挂载点,专门外挂文件系统的,里面可能包含cdrom,hgfs,floopy等;
/run ##自动临时设备挂载点;
/opt ##第三方软件安装路径,如linux,QQ,linux opero等;
/proc ##系统硬件信息和系统进程信息;
/root ##超级用户家目录,存放Desktop等;
/sbin ##系统管理命令,通常只有root可以执行,如shutdown,domp等;
/srv ##系统数据目录;
/var ##系统数据目录,如cache,ftp,mail,www等;
/sys ##内核相关数据;
/tmp ##临时文件产生目录;
/usr/ ##用户相关信息数据,如bin,sbin,lib,include等,且bin下含有gcc,python等。
三 文件的寻址
文件的地址分为:
1> 绝对路径:
1)绝对路径是文件在系统的真实位置;
2)此命令是以“/”开头的;
3)此命令在命执行时系统不会考虑现在所在位置的信息。
2> 相对路径:
1)相对与当前系统所在目录的一个文件名称的简写;
2)此名称省略了系统当前所在目录的名称;
3)此名称不以“/”开头;
4)此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值。
四 常用的关于路径的命令
1> 显示当前工作目录(pwd)
2> 切换路径(cd)
cd 目录名称 ##进入到指定目录中
cd - ##当前目录和当前目录值前所在目录之间的切换
cd ~ ##进入当前用户家目录
cd ~user ##进入user家目录,一般适用于root用户
cd .. ##进入当前目录的上级目录
五 文件管理命令
1> 文件的建立(touch)
touch filename
注意:
touch不但可以建立文件也可以修改文件的时间戳 (stat命令可以查看文件的时间戳)
时间戳分为:
atime:文件内容被访问的时间标识
mtime:文件内容被修改的时间标识
ctime:文件属性或文件内容被修改的时间标识
2> 目录建立(mkdir)
mkdir directory
mkdir -p dir1/dir2/dir3
注意:
-p建立递归目录时,当上层目录不存在自动建立
3> 文件删除(rm)
rm file
rm -f file -f=force 表示强制删除不提示
4> 目录删除(rm)
rm -r directory -r标示递归删除,也就是删除目录本身和里面的所有内容
rm -r -f dir 删除目录不提示
rm -rf dir 在命令参数使用过程中,-a -b -c =-abc =-bac ,顺序是不需要注意的。
rm -fr dir
5> 编辑文件(gedit & vim)
1)gedit=GHOME EDIT (图形的文本编辑器)
gedit file ##开启file,并且进行编辑
注意:
Ctrl + s ##保存
Ctrl + n ##打开新的编辑界面
Ctrl + o ##打开新文件
2)vim
vim file ----> 按[i] 进入insert模式----> 书写内容----> 按[esc] 退出insert模式----> :wq退出保存
如果你没有按照上面的步骤来的话,那么vim编辑可能会出现异常。
注意:Swap file ".hello.swp" already exists!
[O]pen Read-Only (E)dit anyway (R)ecover (D)elete it (Q)uit (A)bort:
只读打开 继续编辑 恢复数据 删除swap文件 退出 退出
无论按[O] (E) (R) (Q) (A) 任何一个都不会删除.swp文件
那么再次打开hello文件是还会出现以上界面直到按(D),.swp文件被删除
vim恢复正常工作
6> 文件的复制(cp)
cp 源文件 目的地文件
cp -r 源目录 目的地目录
cp 源文件1 源文件2 目的地目录 ##目的地目录必须存在
cp -r 源目录1 源目录2 目的地目录 ##目的地目录必须存在
7> 文件的移动(mv)
mv 源文件 目的地文件 ##重命名
mv 源目录 目的地目录
注意:
相同磁盘的文件移动只是一个重明名过程
不同磁盘的文件移动是复制删除过程
8> 文件查看
1)cat=concatenate files (显示文件的标准输出)
cat file ##查看文件的全部内容
cat -b file ##-b显示行号
2)less file (分页浏览)
当文件过长时:
上|下 ##逐行移动
pageup|pagedown ##逐页移动
/关键字 ##高亮显示关键字,n向下匹配,N向上匹配
v ##进入vim模式 在vim模式中按:wq 退回到less模式
q ##退出
3)ls=list (显示文件信息)
ls -l file ##文件属性
ls dir ##目录中保函的内容
ls -d dir ##目录本身
ls -a dir ##所有文件保函隐藏的
ls -S dir ##查看并且按照大小排序
4)head & tail
head file ##查看文件前10行
head -n 3 file ##查看文件前3行
tail file ##查看文件后10行
tail -n 3 file ##查看文件后3行
tail -f file ##监控文件后10行内容的变化
9> 文件大小统计
wc=word counts
wc -l file ##行数
wc -w file ##单词数
wc -m file ##字符数
wc -c file ##字节数
五 <Tab> 键的作用
在linux中对系统操作主要是以命令为主,在输入命令时命令或者文件名称较长时会给我们的命令带来麻烦。
<Tab>键可以补全存在的命令或者名称
一些命令键的参数也可以用<Tab>键来补齐
当按一次<Tab>键补齐不了要录入的内容时:1)内容不存在 2)内容不唯一
这时可以按两下<Tab>键来查看都有哪些内容
六 shell中的历史调用
history ##查看历史
history -c ##清空当前环境中的历史
!数字 ##调用此行历史比如"!5"时执行历史中地5条命令
!test ##执行以test关键字开头的最近一条历史
ctrl +r +关键字 ##调用历史中最近一条含有此关键字的历史
示例:
(reverse-i-search)`':test
(reverse-i-search)`test': sh test.sh 10 ##会调用最近一条命令中含有test字符的历史
七 在系统中如何获得帮助
1> 查看命令大用途
whatis 命令 ##查看命令的用途
2> 查看命令的用法
命令 --help ##查看命令的基本用法,适用于多数命令
[] ##标示选项可以加也可以不加
... ##标示选项加入的个数任意
<> ##标示选项是必须要加入的
Userage: ##标示命令用法
Opetions: ##对参数的作用做说明
3> man查看命令或文件的说明手册
man 命令
man 5 文件
man的级别
1 ##命令
2 ##系统调用接口
3 ##函数库调用接口
4 ##特殊设备文件
5 ##系统配置文件
6 ##游戏规则说明
7 ##包说明
8 ##系统管理命令
9 ##内核调用规则
man的基本用法
上|下 ##逐行查看
pgup|pgdn ##分页查看
/关键字 ##高亮显示关键字,n向下匹配,N上向匹配
:q ##退出
man -k 字符串 ##下看当前字符串在系统中拥有的man的级别
其中 /usr/share/doc ##系统中所有安装过的软件的帮助文档
八 系统中的通用配置符号
* ##匹配0到任意字符
? ##匹配单个字符
[[:alpha:]] ##单个字母
[[:lower:]] ##单个小写字母
[[:upper:]] ##单个大写字母
[[:digit:]] ##单个数字
[[:punct:]] ##单个符号
[[:space:]] ##单个空格
[[:alnum:]] ##单个数字或字母
示例:
[1-9] ##表示1位,这位是1-9的任意数字
[!3-5] ##表示1位,不是3-5的数字
[^3-5] ##表示1位,不是3-5的数字
[a-z] ##表示1位,a-z的任意字母
{1..3} ##表示3个,1 2 3
{1,4,7} ##表示3个1,4,7这三个数