1.2Linux下的文件管理
文件管理命令
touch
//touch #新建文件,修改文件时间戳
touch file1 file2... ##建立空文件
touch file ##把文件时间同步到当前时间
touch -t YYYYMMDDHHmm file ##把文件时间更改到指定时间
mkdir
//mkdir (make directory) #新建目录
mkdir dir1 dir2 ... ##建立空目录
mkdir -p test/redhat/linux ##建立多层目录
rm
//rm #删除文件或者目录
rm file file1 ... ##删除文件有提示
rm -f file ##强制删除文件不提示
rm -r dir dir1... ##删除目录
rm -rf dir ##删除目录及目录下的所有文件
gedit
//gedit #图形的文本编辑器
gedit file file1... ##编辑file file1
#gedit 在使用时必须有图形,file file1可以不存在
vim
//vim #文本编辑器
vim file ##进入到vim的浏览模式
##浏览模式不能编辑文件
##在浏览模式中按<i>进入插入模式
#在vim中鼠标不能控制光标用上下左右移动光标
#按<ESC>退出插入模式
#按:wq保存更改
#:q 当vim打开文件后未作任何操作可以直接退出
#:q! 当vim打开文件后修改文件内容但不想保存可以强制退出
//vim异常退出
##当vim编写文件时在未保存更改内容被强制关闭
##vim出现异常时
#[O] 只读打开文件
#(E) 继续编辑
#(R) 恢复未保存内容编辑
#(D) 删除.swp文件进入编辑
#(Q) 退出当前文件编辑
#(A) 推出vim程序
//vim同时打开多个文件
vim -o file1 file2 ##上下模式打开两个文件
##<ctrl>+<w> <上|下>来转换控制窗口
vim -p file1 file2 ##左右打开两个不同文件
##:tabn 进入到下一个窗口
##:tabp 进入到上一个窗口
cat
//cat ##显示文件的全部内容
cat file ##浏览文件内容
cat -b file ##显示文件内容并显示行号,不显示空行的行号
cat -n file ##显示文件内容并显示行号
head
//head ##查看文件前多少行
head westos ##默认显示文件前10行
head -n westos ##n 代表数字 显示文件的前n行
tail
//tail ##查看文件的后多少
tail westos ##默认显示文件后10行
tail -n westos ##n 代表数字 显示文件的后n行
less
//less ##分页浏览
##less file ##进入到less模式查看westos
#less模式中 <上><下> 逐行查看文件内容
#<pgup><pgdn> 逐页查看文件内容
#/关键字 搜索关键字 n 向下匹配 N 向上匹配
#<v> 有less模式进入到vim 编辑完成:wq退出返回less
#在less中<q> 退出
cp
//cp ##复制文件
cp 文件 目的地文件 ##复制文件到指定目录
cp 文件1 文件2 目的地目录 ##复制多个文件到指定目录
cp -r 目录1 目录2 ##复制目录1到目录2
#复制原理:
#按照源文件建立新文件(抄作业)
mv
//mv ##移动文件
mv file file1 dir ##移动多个文件到指定目录
mv dir dir1 dir ##移动多个目录到指定目录
mv file 不存在file ##文件重命名
#移动原理:
#相同设备分区中的文件移动是重命名过程
#不同分区的文件移动是建立删除过程
#ls -i file ##查看文件节点号(相当与文件身份证号)
file
//file ##文件类型的查看
file file ##查看file文件的真实类型
wc
//wc ##文件容量统计
wc -l ##统计行数
wc -m ##统计字符数
wc -w ##统计单词数
wc -c ##统计字节数
Linux文件系统结构
文件系统层次结构标准(英语:Filesystem Hierarchy Standard,FHS)定义了Linux操作系统中的主要目录及目录内容。
Linux中一切都是文件!
/ 是Linux顶级目录,rm -rf /* 此命令千万不要在服务器上运行,会删除根下所有文件
系统二级目录
系统启动必须:
/boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
/etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
/lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中
指令集合:
/bin:存放着最常用的程序和指令
/sbin:只有系统管理员能使用的程序和指令。
外部文件管理:
/dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
/media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
/mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
临时文件:
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
/lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
/tmp:这个目录是用来存放一些临时文件的。
账户:
/root:系统管理员的用户主目录。
/home:用户的主目录,以用户的账号命名的。
/usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin:系统用户使用的应用程序与指令。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
运行过程中要用:
/var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
/proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。
扩展用的:
/opt:默认是空的,我们安装额外软件可以放在这个里面。
/srv:存放服务启动后需要提取的数据(不用服务器就是空)
相对路径和绝对路径
绝对路径 :
文件在系统中的真实位置,在任何场景下都可以使用;
通常以/开头,不会考虑当前系统位置
路径的写法:由根目录 / 写起,例如: /usr/share/doc 这个目录
相对路径:
绝对路径名称的简写,省略了用户当前所在的系统位置;
此名称只有在管理当前所在系统目录中子文件时才能使用;
系统中不以/开头的文件名称都为相对路径在程序操作时会自动识别当前路径的信息并关联操作目标
路径的写法:不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法。
关于文件寻址的命令
//pwd ##显示当前的工作目录
//cd ##切换当前的工作目录
"cd ~-" = "cd -" CDIR <--> ODIR
//ls ##显示文件信息
ls ##显示当前目录中文件的名称
ls file ##显示指定文件名称
ls dir ##显示指定目录中内容的名称
ls -d dir ##显示目录本身的名称
ls -l file ##显示文件属性
ls -l dir ##显示目录中内容的属性
ls -ld dir ##显示目录本身属性
ls -a dir ##显示目录中所有文件名称包括隐藏文件案
ls -s ##显示文件大小
ls -R dir ##第归显示目录中的内容
***********************************************
~ ##默认代表当前用户家目录
~username ##指定的用户家目录
"~+" = "." ##当前目录
~- ##当前目录之前所在目录
.. ##当前目录的上级目录
文件批量处理
* ##匹配0~任意字符
? ##匹配单个字符
[[:alpha:]] ##匹配单个字母
[[:lower:]] ##匹配单个小写字母
[[:upper:]] ##匹配单个大写字母
[[:digit:]] ##匹配单个数字
[[:alnum:]] ##匹配单个数字或字母
[[:punct:]] ##匹配单个符号
[[:space:]] ##匹配单个空格
字符集合表示方法
//[] ##条件是或者关系是模糊匹配,对象和几个对比匹配就操作
[1-10] ##1到10
[!d-f]|[^d-f] ##除了d-f以外
//{} ##点名机制,经精确指定集合中的每一个元素
{1..10} ##1到10
{a..z} ##a到z