一. 当我们进入一个目录时,我们需要让此目录具有可执行权限,我们才可以进入此目录
当我们在目录中touch(创建)一个文件时,我们需要该目录具有wx权限
当我们在目录中执行ls时,我们需要该目录具有rx权限
当我们在目录中执行rm时,我们需要该目录具有wx权限
当我们在目录中执行mv时,我们需要该目录具有wx权限
二. Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp
/proc:Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口.
/sys:文件系统访问 Linux内核
/SElinux:SELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。
/bin:/usr/lib:/usr/local/lib: 系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。 /proc: 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
/usr/lib:应用程序存放目录,/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: 程序或服务启动
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
三.linux重要命令. du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password
du:
1、-h 以人类可读性较好的格式显示文件的大小,如MB、KB、GB
2、-s参数,统计文件和目录的总大小(只显示总计大小)
3、-a参数,统计目录下每个文件夹下的文件大小,最后一行是总计占用空间
4、d 设置查看目录深度,与--max-depth参数相同,需要注意的是这个参数在centos系统以前是没有的,最近的新版本的Linux系统才加入,以前的centos使用的是--max-depth参数
5、-b 以字节为单位显示文件大小
6、-k 以KB为单位显示文件大小
7、-m 以MB为单位显示文件大小
df
Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
- 文件-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 输出版本资讯并且离开
top.
top命令经常用来监控linux的系统状况,比如cpu、内存的使用
top - display Linux tasks 显示linux任务
free.
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
-b:以Byte为单位显示内存使用情况; -k:以KB为单位显示内存使用情况; -m:以MB为单位显示内存使用情况; -o:不显示缓冲区调节列; -s<间隔秒数>:持续观察内存使用状况; -t:显示内存总和列; -V:显示版本信息。
pstack
pstack命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。
su
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份; -f或——fast:适用于csh与tsch,使shell不用去读取启动文件; -l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量; -m,-p或--preserve-environment:变更身份时,不要变更环境变量; -s<shell>或--shell=<shell>:指定要执行的shell; --help:显示帮助; --version;显示版本信息。
sudo
sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers
中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
-b:在后台执行指令; -h:显示帮助; -H:将HOME环境变量设为新身份的HOME环境变量; -k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。 -l:列出目前用户可执行与无法执行的指令; -p:改变询问密码的提示符号; -s<shell>:执行指定的shell; -u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份; -v:延长密码有效期限5分钟; -V :显示版本信息。
adduser:
adduser: 用于新增使用者帐号或更新预设的使用者资料。
- -c comment 新使用者位于密码档(通常是 /etc/passwd)的注解资料
- -d home_dir 设定使用者的家目录为 home_dir ,预设值为预设的 home 后面加上使用者帐号 loginid
- -e expire_date 设定此帐号的使用期限(格式为 YYYY-MM-DD),预设值为永久有效
- -f inactive_time。
password:用于设置用户的认证信息,包括用户密码、密码过期时间等