Linux设计概念:
所有的程序或系统装置都是文件(一切皆文件) 不管构建编辑器还是附属文件,所写的程序只有一个目的,且要有效的完成目标。
LINUX目录树:
详细的参照【FHC标准】
/:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中。
/bin,/usr/bin:该目录为命令文件目录,也称为二进制目录。包含了供系统管理员及普通用户使用的重要的linux命令和二进制(可执行)文件,包含shell解释器等。
/boot: 该目录中主要放置开机会使用到的文件包括Linux核心文件以及开机所需配置的文件,/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可。
/dev: 设备(device)文件目录,存放linux系统下的设备文件。
/etc: 系统配置文件存放的目录,该目录存放系统的大部分配置文件和子目录,不建议在此目录下存放可执行文件。
/home: 系统默认的用户家目录,新增用户账号时,用户的宿主目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据。
/lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,该目录下存放了各种编程语言库。典型的linux系统包含了C、C++和FORTRAN语言的库文件。/lib目录下的库映像文件可以用来启动系统并执行一些命令,目录/lib/modules包含了可加载的内核模块,/lib目录存放了所有重要的库文件,其他的库文件则大部分存放在/usr/lib目录下。
/mnt、/media: mnt目录主要用来临时挂载文件系统,为某些设备提供默认挂载点,如floppy,cdrom。
/opt: 给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下。
/proc: 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间。
/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: 程序或服务启动后。建议单独分区,设置较大的磁盘空间。
/tmp:存放临时文件目录,一些命令和应用程序会用的到这个目录。该目录下的所有文件会被定时删除,以避免临时文件占满整个磁盘。
目录树的起始点为根目录(/,root);
每一个目录不止能使用本地段的partition的文件系统,也可以使用网络上的filesystem;
每一个文件在此目录树中的文件名(包含完整路径)都是独一无二的。
【ls -l /】
绝对路径与相对路径
绝对路径:由根目录(/)开始写起的文件名或目录名称。(/home/test/666)
相对路径:相对于目前路径的文件名写法。(./home/test/666)
.:代表当前的目录;
..:代表上一层目录;
-:代表前一个工作目录;
~:代表目前用户所在的家目录
~【username】:代表usernamet这个用户的家目录
系统状态检测命令
【who】:哪些用户在线 【netstat -a】:网络的联机状态 【ps -aux】:正在运行的程序
【top】:任务管理器
pidof【服务名称】:查询某个服务进程的PID值
kil【进程PID】:终止某个指定PID的服务进程
killall【进程名称】:终止某个指定名称的服务所对应的全部进程
【ifconfig】:获取网卡配置和网络状态
【uptime】:查看系统负载信息 【uname -r】:查阅linux核心版本
free【-h】:查看当前系统负载信息
【who】:查看当前登入主机的用户终端信息
【last】:查看所有系统的登陆记录
【history】:显示历史执行过的命令
【history -c】:清空所有历史命令信息(还是可以通过【cat ~/.bash_history】查看)
【locale】:显示目前所支持的语系 【date】:显示日期与时间 【cal】+【month】【year】:显示日历
工作目录切换命令
【pwd】:显示用户当前所处的工作目录
cd【目录名称】:进入工作目录
【cd ..】:返回上一级目录
【cd -】:返回上一次所处的目录
【cd ~】:返回当前用户的家目录
【cd ~username】:切换其他用户的家目录
ls【-l】:显示所有文件(不包括隐藏文件)
ls【 -al】:显示文件的文件名与相关属性 + 列出所有的文件详细的权限与属性(包含隐藏文件)
【man ls】
文本文件编辑命令
cat 【-n】【文件】:第一行开始查看纯文本文件和行号(内容较少的)
tac【文件】:从最后一行开始显示
more【文件】:查看纯文本文件(内容较多的)
Space:向下翻页
Enter:向下翻行
b/ctrl-b:往回翻页(只对文件有效)
/字符串:向下搜寻这个关键词
:f:显示文件名和行号
less【文件】:也是查看文本文件
head【-n *】【文件】:查看纯文本文件的前n行
tail【-n *】【文件】:查看纯文本文件的后n行
tail 【if】【文件】:查看纯文本文件实时刷新的文件内容
tr【原始字符】【目标字符】:替换文本文件中的字符
wc【 -l / -w / -c 】【文本】:统计指定文本的行数、字数、字节数
stat【文件】:查看文件的具体存储信息和时间
文件权限目录
【ls -l --full-time】:显示出年、月、日、时间
【chgrp】:改变文件所属群组
【chown】:改变文件拥有着
【chmod】:改变文件的权限
drwxr-xr-x. 2 root root 6 4月 10 11:58 下载
文件类型权限 连接数 拥有着 所属群组 大小 最后被修改的时间 文件名
第一栏:文件的类型与权限
第1个字符:
【d】:目录
【-】:文件
【l】:快捷方式
【b】:接口设备
【c】:串口设备
第2-10个字符:
三个为一组,且均为【rwx】——【r】:可读(read) 【w】:可写(write) 【x】:可执行(execute)。三个权限的位置不会改变,如果没有权限,就会出现【-】号。(tips:文件和目录的权限含义不一样
【rwx】针对文件:文件的内容
针对目录:目录内的文件名列表)
组件 |
操作对象 |
比喻 |
r |
w |
x |
文件 |
详细资料data |
文件文件夹 |
读到文件内容 |
修改文件内容 |
执行文件内容 |
目录 |
文件名 |
可分类抽屉 |
读到文件名(ls) |
修改文件名 |
进入该目录的权限(cd) |
第一组【文件拥有者的权限】
第二组【加入此群组的账号的权限】
第三组【非本人且没有加入本群组的其他账号的权限】
第二栏:有多少文件连接到此节点
第三栏:这个文件的拥有者
第四栏:这个文件的所属群组
第五栏:文件大小,单位为bytes
第六栏:最近修改日期
第七栏:文件名(文件名之前多一个【.】则是隐藏文件)
文件目录管理命令
touch【-a/-m/-d】【文件】:创建空白文件文件——修改读取时间(atime)/修改修改时间(mtime)/同时修改两者{黑客常用} (可以同时创建多个文件touch【文件】【文件】【文件】)
mkdir【-p】【目录】:创建目录/创建嵌套目录
cp【源文件】【目标文件】:复制文件或目录
mv【源文件】【目标路径/目标文件名】:剪切文件或将文件重命名
rm【-f(强制删除且不提醒)】【-r(删除目录)】【文件/目录】:删除文件或目录
file【文件名】:查看文件的类型
打包压缩与搜索命令
tar【选项】【文件】:对文件进行打包压缩或解压
【-c】:创建压缩文件
【-x】:解开压缩文件
【-z】:用Gzip压缩或解压
【-j】:用bzip压缩或解压
【-f】:目标文件名(必须放在最后一位)
【-C】:指定解压到的目录
grep【选项】【文件】:在文本中哦执行关键词搜索,并显示匹配结果
【-n】:显示搜索到信息的行号
【-v】:显示没有包含关键词的所有行
fing【查找路径】【寻找条件】【操作】:按照指定条件来查找文件
【-name】:匹配名称
【-perm】:匹配权限
【-user】:匹配所有者
【-group】:匹配所有组
【-mtime -n +n】:匹配修改内容的时间(-n指n天以内,+n指n天以前)
【-atime -n +n】:匹配访问文件的时间(-n指n天以内,+n指n天以前)
【-ctime -n +n】:匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
【-size】:匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
【-print】:将操作结果输出到屏幕
【find /etc -name "host*" -print】
【su -】:切换为root su 【用户名】:切换用户 【Alt】+【Ctrl】+【Backspace】:重新启动X Window
【Ctrl】+【Alt】+【F2~F6】:文字接口登入tty2~tty6终端机 【Ctrl】+【Alt】+【F1】:图形接口桌面
【exit】/【Ctrl】+d:注销linxu(离开系统并不是关机) 【shutdown】/【poweroff】:关机 【reboot】:重启
指令 +【--help】:列举指令的说明 【man】+ 指令:列举指令的详细用法
【bc】:简单好用的计算器(quit)
【Tab】:命令/文件/选项补全 【Ctrl】+c :中断目程序 【Ctrl】+d :键盘输入结束 【Shift】+【Page Up】:往前翻页 【Shift】+【Page Down】:往后翻页
【sync】:数据同步写入磁盘(根据账号权限写入)
echo【字符串】:打印字符串
【echo password | od -t oCc】:查看password的ACII码