Linux 目录结构及常用命令

这一篇博客主要介绍一些Linux的常用命令,整理如下,便于以后回顾学习。

一、Linux目标结构

目录描述
/Linux系统根目录
/binbin代表binary,表示二进制。/bin目录放置可执行文件,如cat、cp、chmod、mv、mkdir、kill、rm等命令。 /bin下放置的文件在单用户模式下还能被操作。
/boot这个目录主要存放开机会使用的文件,如Linux内核和系统启动文件,包括Grub、lilo启动器程序。
/dev存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB、tty等。注:在Linux系统上,任何设备与接口设备都是以文件的形式存在于这个目录当中的。 (Linux中万物皆文件)
/etc存放系统的所有配置文件,例如/etc/passwd存放用户账户信息,/etc/hostname文件存放主机名,也有一些目录,如/etc/nginx是目录,里面存储nginx的很多配置文件。
/home用户主目录
/lib存放开机时会用到的函数库,以及/bin和/sbin目录下的命令调用的函数库
/lost+found当档案系统发生错误时(比如断电), 将一些遗失的片段放置到这个目录下,在这里能找回来用来存放fsck过程中部分修复的文件。
/media它下面存放可删除的设备,包括软盘,光盘,DVD等设备文件
/mnt如果你想要暂时挂载某些额外的设备,一般建议你可以放置到这个目录中。
/proc这个目录本身是一个虚拟文件系统。它放置的数据都是在内存当中,例如系统内核,进程等
/rootroot用户的主目录
/run最常用的就是存放进程的ID。要特别注意的是:它使用tmpfs文件系统,这是一种存储在内存中的临时文件系统,当机器关闭的时候,文件系统自然就被清空了。
/sbinsbin即system binary,用来设置系统的可执行命令,这些命令只有root用户才能用设置系统,其他用户最多只能用来查询
/srvsrv是service的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录。常见的服务有WWW, FTP等。比如WWW服务需要的网页数据就可以放在/srv/www/目录下。
/sys这个目录跟/proc 非常类似,也是一个虚拟的文件系统,主要也是记录与内核相关的信息。这个目录同样不占硬盘容量。
/tmp用来存放临时文件的地方,所有用户都可以访问。建议该目录不要放重要数据
/usr注意usr并不是user的缩写,而是Unix Software Resource的缩写,即“Unix 操作系统软件资源”放在该目录,而不是用户的数据。这个目录相当于Windows操作系统的“C:\Windows\”和“C:\Program files\”这两个目录的综合体,系统安装完毕后,这个目录会占用最多的硬盘容量。
/usr/X11R6X Window系统重要数据所放置的目录
/usr/bin用户可使用的大部分命令都放在这里
/usr/include存放C/C++等程序语言的头文件(head)和目标文件(include)
/usr/lib包含各应用软件的函数库,目标文件(object file),比如它下面有jvm目录,就是java
/usr/local系统管理员在本机自行下载自行安装的软件(非Ubuntu发行版默认提供的软件)一般放在该目录。该目录下也有bin,etc, include, lib等子目录。比如我在Ubuntu上安装的cuda就放在/usr/local/cuda目录下
/usr/sbin非系统正常运行所需要的系统命令。最常见的就是某些网络服务器软件的daemon命令,如nginx, ntpd, mysqld
/var/var 就是在系统运行过程中渐渐占用硬盘容量的目录。包括缓存cache,日志log,以及某些软件运行所产生的文件,包括程序文件(lock file, run file)。mysql的数据库文件也是放置在这个目录下,具体为/var/lib/mysql/目录下
/var/cache应用程序缓存目录
/var/lib存放程序执行过程中,需要使用到的数据文件。比如mysql数据库的数据放在/var/lib/mysql/目录下
/var/lock它是/run/lock目录的软链接,某些设备或文件一次只能被一个应用所使用。这样当这些资源使用时,就要加锁 特别注意:它使用临时文件系统,主机重启后会清空
/var/log日志文件目录
/var/mail电子邮件,当主机做邮件服务端时,发送的邮件都会放在这个目录,建议定期清理
/var/run进程ID,它是/run目录的软连接 特别注意:它使用临时文件系统,主机重启后会清空
/var/spool存放电子邮件,打印任务等的队列目录。它的子目录/var/spool/mail其实是/var/mail的软链接
此部分参考

二、linux常用命令

1、磁盘管理
(1) ls(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

 ls [-alrtAFR] [name...]
-a all 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r reverse 将文件以相反次序显示(原定依英文字母次序)
-t time 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录)".." (父目录)
-F file 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R recurrence 若目录下有文件,则以下之文件亦皆依序列出

(2) cd 英文全拼:change directory)命令用于切换当前工作目录。

cd /home/user #去到/home/user目录下
.  当前目录
.. 上级目录
~  home目录
-  跳转回原来的目录

(3) df (英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。

df [选项]... [FILE]...
df 后面不加文件默认显示文件系统的磁盘情况
文件 -a, --all 包含所有的具有 0 Blocks 的文件系统
文件 --block-size={SIZE} 使用 {SIZE} 大小的 Blocks
文件 -h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
文件 -H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
文件 -i, --inodes 列出 inode 资讯,不列出已使用 block
文件 -k, --kilobytes 就像是 --block-size=1024
文件 -l, --local 限制列出的文件结构
文件 -m, --megabytes 就像 --block-size=1048576
文件 --no-sync 取得资讯前不 sync (预设值)
文件 -P, --portability 使用 POSIX 输出格式
文件 --sync 在取得资讯前 sync
文件 -t, --type=TYPE 限制列出文件系统的 TYPE
文件 -T, --print-type 显示文件系统的形式
文件 -x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
文件 -v (忽略)
文件 --help 显示这个帮手并且离开
文件 --version 输出版本资讯并且离开

(3) du(英文全拼:disk usage)命令用于显示目录或文件的大小。

du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或--dereference-args 显示指定符号连接的源文件大小。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-k或--kilobytes 以1024 bytes为单位。
-l或--count-links 重复计算硬件连接的文件。
-L<符号连接>--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或--megabytes 以1MB为单位。
-s或--summarize 仅显示总计。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>--exclude-from=<文件><文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。
--max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
--help 显示帮助。
--version 显示版本信息。

(4) mkdir (英文全拼:make directory)命令用于创建目录。

mkdir test #创建一个test文件夹
-p 确保目标名称存在,如果不存在就创建。

(5) pwd (英文全拼:print work directory) 命令用于显示工作目录。

pwd #显示当前绝对路径
--help 在线帮助。
--version 显示版本信息。

(6) mount,它用于挂载Linux系统外的文件。

mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
-V:显示程序版本
-h:显示辅助讯息
-v:显示较讯息,通常和 -f 用来除错。
-a:将 /etc/fstab 中定义的所有档案系统挂上。
-F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
-f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
-n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
-s-r:等于 -o ro
-w:等于 -o rw
-L:将含有特定标签的硬盘分割挂上。
-U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
-t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
-o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。
-o sync:在同步模式下执行。
-o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
-o auto、-o noauto:打开/关闭自动挂上模式。
-o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
-o dev、-o nodev-o exec-o noexec允许执行档被执行。
-o suid、-o nosuid:
允许执行档在 root 权限下执行。
-o user、-o nouser:使用者可以执行 mount/umount 的动作。
-o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
-o ro:用唯读模式挂上。
-o rw:用可读写模式挂上。
-o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统。

以上参考

未完待续

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值