0、Linux文件目录
命令 | 说明 |
---|---|
/bin | 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等 |
/boot | 放置linux系统启动时用到的一些文件。/boot/vmlinuz 为 linux 的内核文件,以及 /boot/gurb。建议单独分区,分区大小100M即可 |
/dev | 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等 |
/etc | 系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份 |
/home | 系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~edu 表示用户 edu 的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据 |
/lib | /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为 /lib/modules |
/lost+fount | 系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于 /disk 中,此目录下就会自动产生目录 /disk/lost+found |
/mnt: /media | 光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。 |
/opt | 给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的 KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下 |
/proc | 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。 |
/root | 系统管理员root的家目录,系统第一个启动的分区为 /,所以最好将 /root和 /放置在一个分区下 |
/sbin | /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能”查看”而不能设置和使用 |
/tmp | 一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下 |
/srv | 服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内 |
/usr | 应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls 时会查询 /usr/share/man/man1/ls.1.gz 的内容建议单独分区,设置较大的磁盘空间 |
/var | 放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间 |
一:文件目录处理指令
除了ls命令,还有ll命令,可以显示详细信息。
ls -i 值得注意,linux中,所有文件都会有一个inode编号,为该文件独有,系统查找文件,就是通过inode来查找。
例如:假如要在test目录下创建hello文件,命令:mkdir test/hello
但是不存在test目录的情况下,会报错
正确命令:mkdir -p test/hello
linux 懂得目录补全和命令补全,例如我要进入user目录,cd /u 会显示出以u开头的所有目录
在centos中,使用rm -rf / 表示删除根目录,此命令一旦执行,该系统则不能使用,但是不会崩溃。而在ubuntu中,root用户不能执行该命令,sudo才能执行。
对于mv指令,如果源目录和目标目录一致,则是重命名操作
linux区分普通用户指令和超级用户指令是通过bin 和 sbin文件夹,bin存放普通用户指令,sbin存放超级用户指令
链接分为硬链接和软链接,
对于硬链接和软链接:假如我对test文件创建了一个硬链接,然后删除源文件,此硬链接文件仍然可用,也就是说,硬链接文件和源文件其实是完全一样的;但是如果创建的是软链接,删除掉原文件,此软链接文件就不可用了。
二:文件搜索命令
locate和find命令的区别:
locate只能按照文件名来搜索,且是搜索后台数据库,因此更快;
locate的搜索规则在 etc/updatedb.conf,会出现一种问题,在temp文件中创建文件,更新数据库 updatedb 之后,搜索文件但是不能搜索出来,是因为,配置文件中默认配置了不搜索temp文件中的文件
如果创建完文件test,马上搜索文件test:locate test 会搜索不到,是因为没有更新后台数据库(后台数据库的默认更新时间间隔是1天)
whereis 和 which 都依赖于path环境变量
还有whatis命令,它的意思是我是谁 ,例如whatis ls 意思是ls命令是干嘛的
使用 find /root nouser 搜素的除了linux内核的文件,其他都是没有用户的文件,属于垃圾文件
可以根据时间段来查找
可以根据文件大小来查找
复杂的查询
三:帮助命令
info命令相对之前的几个帮助命令来说,是最不常用的,而且比较复杂
四:压缩和解压缩命令
.gz和.bz2都不能压缩目录,并且是linux中最常见的压缩格式,要压缩目录,可以借助tar打包
对tar格式文件,只查看不解压缩,-ztvf,命令:tar -ztvf test.tar.gz
五:关机和重启命令
六:挂载命令
挂载通俗的理解,当我们的光盘或u盘插入后,必须挂载到linux中才能使用。
这里比较常用的是 rw/ro 和 exec/noexec 选项。
exec是指挂载后具有文件执行权限,而noexec则相反,没有文件执行权限。
例如这里对home分区重新挂载,挂载选项为 noexec,之后创建一个可执行文件,执行该文件会报错,提示权限不足!
这里有几点需要注意:
1. 挂载点必须为空目录
2. 这里的sr0和cdrom其实指向同一个文件,cdrom是sr0的软链接,因此使用哪一个都可以。
3. 光盘类型为iso9660,其实linux会自动识别光盘,因此也可以省略光盘类型。
七:用户信息指令
八:Shell基础
shell就是linux的命令界面,它把指令等abcd,解释成二进制传给linux内核执行
shell有很多种,我们平时使用最多的是Bash,同时在shell界面中,我们还可以切换不同的shell,也可以一层一层得往下调用shell,例如在Bash—> sh —> psh。
使用shell 编写一个shell脚本,并运行:
下面介绍我们平时最常使用的Bash Shell:
用命令创建的别名,不是永久的,重启后便还原,当然也有永久的创建别名方式,自然就是修改配置文件:
有别名之后,可能会存在相同的别名,这是哪个命令应该先执行?这就是命令执行的顺序。
在shell中的快捷方式能够大大简化我们的操作,提高我们的速度,这几个快捷键要记住!
history命令看到的历史命令比bash_history文件中的多,原因是因为bash_history中保存的是上次注销前留下的历史命令
一般常用的就只有上下箭头和!字符串两种
要注意:
错误输出 2>> 和 2> 和文件名都是没有间隔的
这里的1代指正确输出,2代指错误输出
这里的指令,245比较常用。
特殊得:
ls &>> /dev/null 表示执行命令时,不想看到过程和结果。/dev/null表示linux的黑洞
例子:
管道符的使用,例如查看dev下的文件,文件很大,想要分屏显示
> 1. 使用输出重定向,把ls的结果输出到一个文件中,在用more对文件操作
> ls /dev >> abc
> more abc
> 2. 或者使用管道符
> ls /dev | more
九:vim的使用
- vim +3 abc 指得是打开abc文件,同时光标指在第三行
- vim +/imooc abc 指得是打开abc文件,同时光标指在第一个imooc字符串所在的行
- vim aa bb cc 指得是同时打开aa,bb,cc文件,并且可以通过n(下一个文件),N(上一个文件)切换打开的文件
:w 保存修改
:q 退出当前文件
:! 强制执行
前三个指令可结合使用
:ls 列出当前vim打开的文件
:n 切换下一个文件
:N 切换上一个文件
:15 快速定位到第15行
/xxx 从上往下搜索定位到第一个出现xxx的行
?xxx 从下往上搜索定位到第一个出现xxx的行