本篇文章给大家带来了关于linux中文件系统的相关知识,其中包括部分目录说明以及文件操作的相关问题,希望对大家有帮助。
内存使用
部分目录说明
-
/bin
- bin是Binary的缩写,这个目录存放着最经常使用的命令
-
/boot
- 存放的是启动Linux时使用的一些核心文件,包括一些连接文件和镜像文件
-
/etc
- 用来存放所有的系统管理员所需要的配置文件和子目录
-
/lib
- 存放着系统最基本的动态连接共享库,其作用类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
-
/lost+found
- 一般情况下是空的,当系统非法关机后,这里就存放了一些文件
-
/media
- linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
-
/mnt
- 系统提供该目录是为了让用户临时挂载别的文件系统的,可以将光驱挂载到/mnt/上,然后进入该目录就可以查看光驱里的内容了
-
/opt
- 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下,默认是空的。
-
/proc
- 这个目录是一个虚拟的目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。
- 这个目录的内容不在硬盘上而是内存里,可以直接修改里面的某些文件。
- 比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
-
/root
- 该目录为系统管理员,也称为超级权限者的用户主目录
-
/sbin
- s就是Super user的意思,这里存放的是系统管理员使用的系统管理程序
-
/srv
- 该目录存放一些服务启动之后需要提取的数据
-
/sys
- 这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs。
- sysfs文件系统集成了下面3种文件系统的信息,针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。
- 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建
-
/tmp
- 这个目录是用来存放一些临时文件的
-
/usr
- 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录
-
/usr/bin
- 系统用户使用的应用程序
-
/usr/sbin
- 超级用户使用的比较高级的管理程序和系统守护程序
-
/usr/src
- 内核源代码默认的放置目录
-
/var
- 这个目录中存放着不断扩充着的东西,习惯将那些经常被修改的目录放在这个目录下,包括各种日志文件
-
/run
- 是一个临时的文件系统,存储系统启动以外的信息,当系统重启时,这个目录下的文件应该被删掉或者清除。
文件操作
-
ll
文件属性:Linux的文件基本上分为3个属性:可读(r),可写(w),可执行(x)。权限位置排序顺序是(以-rw-r–r–为例):
-rw(使用者)-r(同组用户group)–r(其他用户)–
使用者可读可写,同组用户可读,其他用户可读
文件个数:如果是文件,文件数就是1;如果是目录,文件数就是目录内文件的个数
所属的组:每一个拥有者都可以拥有一个以上的组,不过大部分的使用者应该都只属于同一个组,只有当系统管理员希望给予使用者特殊权限时,才可能会给他另一个组
文件大小:文件大小用byte表示,空目录一般都是1024byte
创建日期:以“月、日、时间的格式“
-
cd
cd | 更改目录命令 |
cd / | 返回根目录 |
cd /home | 切换到home目录下 |
cd .. | 返回上一级目录 ‘.‘表示当前目录 |
cd /var/ftp/pub | 一次性切换到pub目录下 |
cd /root | 切换到root用户目录下(注:root用户目录显示为“~”) |
目录操作可使用绝对路径(从根目录开始),也可以使用相对路径(从当前目录开始)。为了能够快速准确的更改目录,目录操作应善于使用TAB键进行目录名称的自动补齐 |
-
cp
cp | 拷贝命令 |
cp 123 /var/ftp/pub | 把名为123的文件拷贝到pub目录下 |
cp 123 /var/ftp/pub/456 | 把名为123的文件拷贝到pub目录下同时改名为456 |
cp -r /var/ftp/pub /home | 把pub目录拷贝到home目录下 |
-
mv
mv | 移动命令 |
mv 123 /var/ftp/pub | 把名为123的文件移动到pub目录下 |
mv 123 /var/ftp/pub/456 | 把名为123的文件移动到pub目录下并改名为456 |
mv /var/ftp/pub /home | 把pub目录移动到home目录下 |
mv 123 456 |
将当前目录下的文件123更名为456 |
-
rm
rm | 删除命令 |
rm 123 | 删除目录下名为123的文件(文件存在),需要按y确认 |
rm -f 123 | 删除该文件,强行删除 ,不需要确认 |
rm -r abc | 删除目录下名为abc的目录(目录存在),需要按y确认 |
rm -fr abc | 强行删除该目录,不需要确认 |
rm -f a* | 强行删除目录下以a开头的所有文件,不需要确认 |
-
touch
touch | 创建文件 |
touch 123 | 创建名为123的文件 |
touch a b c | 新建多个文件 |
-
stat
Inode:文件标识符
Links:指向Inode的链接
Access:最后一次查看文件内容的时间
Modify:最后一次修改文件内容的时间
Change:最后一次修改文件权限或其他文件属性的时间
使用stat可以让上述三个时间重新一致
-
ln
ln | 链接(快捷方式) |
ln -s yyy syyy | 创建yyy的链接(软链接)syyy,然后使用cat syyy也可以查看yyy中的内容 |
ln yyy hyyy | 创建yyy的链接(硬链接)hyyy,然后使用cat hyyy也可以查看yyy中的内容 |
-
cat/tac/less
cat/less | 查看文本内容命令 |
cat /etc/passwd | 查看文本文件passwd的内容,只能查看最后一页,只适合查看一屏以内的小文本文件 |
less /etc/passwd | 可使用上下光标键及上下翻页来滚动查看文本文件passwd的全部内容,查看完毕后按q退出 |
tac | 和cat命令类似,只是显示的内容是从后往前 |
-
head/tail
head -3 yyy | 显示yyy文件的前三行内容 |
tail -3 yyy | 显示yyy文件的后三行内容 |
head -3 yyy | tail -1 | 显示yyy文件第三行的内容 |
tail -f yyy | 监控yyy的内容(监控Inode,当文件删除后,监控就停止,再次创建同名文件时,不会继续监控) |
tail -F yyy | 监控yyy文件的内容(监控文件名,当文件删除后,监控会暂停,再次创建同名文件时,监控会继续) |
移除yyy后
tail -F yyy停止
因为还有一个hyyy指向和yyy一样的Inode,所以
tail -f yyy还在继续监控
移除hyyy后
tail -f yyy停止监控
再次创建yyy后,并向yyy中追加“hello”
tail -F yyy追加hello
tail -f yyy没有反应
再次向yyy中追加数据
ping www.baidu.com >> yyy//将ping的内容追加到yyy文件中
tail -F yyy继续追加新的信息
-
find
find / -name yyy | 全局搜索yyy文件的位置 |
find /ect -name yyy | 在etc目录及子目录查找yyy文件 |
find /etc -name a*a |
在etc目录及子目录查找a开头a结尾的文件 |