Linux基础知识+文件属性权限+FHS+目录树

1.基础的命令

日期:date +%Y/%m/%d
日历:cal
计算器:bc 输出所有的小数 scale=number
eg:scale=3 1/3=0.333
[Tab]的应用:2个Tab 以此为开头所有的命令全部显示出来
[Tab]文件补齐和命令补全
ctrl+C 将正在运行的命令终止
ctrl+D 键盘输入结束

2.错误信息查看

a.这个命令不存在,因为该软件没有安装之故
b.这个命令所在的目录目前的用户并没有将它加入命令搜索路径中
c.打错命令

3.man page

man(manual)操作说明
eg: man date
DATE(1)
代号(1,5,8较重要)
1:用户在shell环境中可以操作的命令或可执行文件
2:系统内核可调用的函数与工具
3:一些常用的函数(function)与函数库(library),大部分为C的函数库(libc)
4:设备文件的说明,通常在/dev下的文件
5:配置文件或者某些文件的格式
6:游戏(games)
7:惯例与协议等,例如Linux文件系统,网络协议,
ASCII code等说明
8:系统管理员可用的管理命令
9:跟Kernel有关的文件
man page常用的按键:

/string 向下查询string字符串,如果要查询vbrid的话,就输入/vbrid
?string 向上查询string字符串
q 结束这次的man page
man -f man (whatis)查出系统还有哪些跟man这个命令相关的说明文件
man 1 man man(1)相关的文件数据
man -k man(apropos) 系统中只要有man这个关键字就将该说明列出来

4.超简单文本编辑器nano

打开命令 nano text.txt 使用简单
^表示ctrl M表示Alt

5.常用命令

查看系统的使用状态

who 查看谁在线
netstat -a  查看网络的联机状态
ps -aux 查看后台执行的程序
通知在线用户关机的时刻
sync 将数据同步写入硬盘
shutdown 惯用的关机命令
reboot halt poweroff 重启关机

数据同步写入磁盘 sync
在linux系统中,为了加快数据的读取速度,所有在默认的情况中,某些已经加载内存中的数据不会直接被写会硬盘,而是暂存在内存中。防止在某些特殊情况下造成不正常关机,数据丢失。
常用关机命令 shutdown

-t :后面加秒数,过多少秒后关机
-k:不要真的关机,只是发出警告消息出去
-r:将系统的服务停掉之后就重启
-h:将系统的服务停掉之后,立即关机

shutdown -r +30 ‘then system will reboot’

6.切换执行等级 init

linux共有七种执行等级:

run level 0:关机
run level 3:纯命令行模式
run level 5:含有图形界面模式
run level 6:重启

关机除了shutdown -h now 以及poweroff
还可以 init 0 关机

7.忘记root密码

单用户维护模式登录更改root密码,grub引导装载程序
a.先将系统重启,在读秒的时候按下任意键就会出现grub管理程序菜单界面。按下e键就能够进入grub的编辑模式下。
b.将光标移动到kernel那一行,再按一次e进入kernel行的编辑界面中,然后在最后方输入 single
c.按下[Enter]确定之后,按下b就可以开机进入单用户维护模式。
在这个模式下面,会在tty1的地方不需要输入密码就可取得终端的控制权(而且是root的身份),之后用passwd修改root密码。

8.linux文件属性

#a.查看文件属性等 ls -al

ls(list)显示文件的文件名与相关属性。而al则表示列出所有的文件详细的权限与属性

这里写图片描述

b.第一列代表这个文件的类型与权限(permisson)

drwxr-xr-x 14 root root 4096 2月 3 21:13 .config

文件权限 连接数 文件所有者 文件所属用户组 文件大小 文件最后被修改的时间 文件名

drwxr-xr-x 共有10个字符,第一个字符表示这个文件是“目录,文件或链接文件等“

若[

d]—目录/[-]—文件/[l]—连接文件/[b]—设备文件里面有可供存储的接口设备/[c]串行端口设备,键盘鼠标等

rwx [r]—表示可读,[w]—表示可写,[x]—可执行

d rwx r-x r-x

文件类型 文件所有者权限 文件所属用户权限 其他人对此文件的权限

c.第二列表示有多少文件名连接到此节点(i-node)
d.第三列表示这个文件或(目录)的”所有者账号“
e.第四列表示这个文件的所属用户组。
f.第五列表示这个文件的容量大小,默认单位B
g.第六列表示这个文件的创建文件日期或者最近的修改日期

显示完整的时间格式 ls -l –full-time

h.第七列表示该文件名

如果文件名之前多了一个”.” 表示该文件为隐藏文件。

9.改变文件属性与权限

chgrp:改变文件所属用户组

chown:改变文件所有者

chmod:改变文件的权限
a.改变所属用户组:chgrp(change group)

改变的用户组名必须在/etc/group文件内存在才行

chgrp [-R] dirname/filename….

[-R] :进行递归(recursive)的持续更新,也即连同子目录下的所有文件,目录

b.改变文件所有者:chown(change owner)

用户必须是已经存在于系统中的账号,在/etc/passwd这个文件中有记录的用户才可以改变

chown [-R] 账号名称,文件或目录

c.改变权限:chmod
数字类型改变文件权限

Linux文件的基本权限就有9个,分别是owner,group,others三种身份各有自己的read,write,execute权限。

r,w,x权值分别为4,2,1

chmod [-R] xyz 文件或目录

xyz:为rwx属性的相加

比如,将.bashrc这个文件所有权限都设置启用

这里写图片描述

符号类型改变文件权限

有u,g,o分别代表user,group,others3种身份,a表示所有的all所有的身份。

这里写图片描述

假如是“-rwxr-xr”这样的权限,可以使用chmod u=rwx,g=rx,o=r filename 来设置

下面是a+w,a-x等用法:

这里写图片描述

10.目录与文件的权限意义

a.权限对文件的重要性

文件是实际含有数据的地方,包括一般文本文件,数据库内容文件,二进制可执行文件(binary program)等

r(read):可读取此文件的实际内容,如读取文本文件的文字内容等

w(write):可以编辑,新增或者是修改文件的内容(但不含删除该文件)

x(execute):该文件具有可以被系统执行的权限(不同于windows中根据后缀区分是否可以执行,Linux下文件是否能被执行则是由是否具有X这个权限来决定,而跟文件名没有绝对的关系)

b.权限对目录的重要性

文件是存放实际数据的所在,目录主要的内容是记录文件名列表,文件名与目录有强烈的关联。

r:read contents in directory 表示具有读取目录结构列表的权限,比如ls

w:modify contents of directory 具有更改该目录结构列表的权限,比如新建新的文件与目录,删除已经存在的文件与目录(不论该文件的权限为何),将已存在的文件或目录进行重命名,转移该目录中的文件,目录位置。

x:access directory 目录不能被执行,表示用户能进入该目录成为工作目录的用途,能否进入该目录。

eg:如果在某个目录下不具有X的权限,那么就无法切换到该目录下,也就无法执行该目录下的任何命令,即使具有该目录的r权限。

11.Linux文件种类与扩展名

任何设备在Linux下面都是文件,数据接口也有专门的文件负责。

a.文件种类

一般文件(-rwxrwxrwx)中第一个属性为-的。

纯文本文件(ASCII):内容为我们可以直接读到的数据,例如数字,字母。可以执行cat 可以看到文件的内容。

二进制文件(binary):Linux中可执行文件(scripts,文件批处理文件不算),执行的命令cat就是一个binary file。

数据格式文件(data):有些程序在运行的过程当中会读取某些特定格式的文件。比如,用户登录时,就会将登录的数据文件记录在/var/log/wtmp那个文件内,能够通过last这个命令读出来,使用cat会乱码。

目录(drwxrwxrwx)中第一个属性为d的,为目录文件。

连接文件(link):类似windows下的快捷方式,第一个属性为l。

块设备文件(block):集中在/dev这个目录,存储数据,以提供系统随机访问的接口设备,例如硬盘,软盘等,第一个属性为b。

字符设备文件(character):一些串行端口的接口设备,例如键盘,鼠标等,“一次性读取'',中途不能截断,第一个属性为c。

套接字(sockets):数据接口文件,客户端可以通过socket来进行数据通信,通常在/var/run目录中可以看到,第一个属性为s。

管道(FIFO,pipe):在解决多个程序同时访问一个文件所造成的错误问题,第一个属性为p。
b.Linux文件扩展名

一个Linux文件能不能被执行,与它第一列的10个属性相关,与文件名没有关系。

可以通过常用的扩展名来了解该文件是什么。数种常用的文件扩展名如下:

*.sh:脚本或者批处理文件。

*Z *.tar *.tar,gz *.zip *.tgz :经过打包的文件,不同的压缩软件,取其扩展名也不同。

.html .php :网页相关文件。

c.Linux文件长度限制

在linux下面,使用默认的的Ext2/Ext3文件系统时,针对文件的文件名长度限制为:

单个文件或目录的最大容许文件名为255个字符;

包含完整路径名称及目录(/)的完整文件名为4096个字符;

d.Linux文件名的限制

在设置文件名的时候,应该尽量避免一些特殊字符,例如*?<>;&![]|\'"( ){} - +(等开头)。

12.Linux目录配置标准:FHS

FHS(Filesystem Hierarchy Standard):让使用者可以了解到已安装软件通常放置于哪个目录下。

这里写图片描述

可分享的:可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据, 是能够分享给
网络上其他主机挂载用的目录;

不可分享的:自己机器上面运作的装置文件或者是与程序有关的 socket 文件等, 由于仅与自身机器有关。

不变的:有些数据是不会经常变动的,跟随着 distribution 而不变动。 例如函式库、文件说明文件、系统管
理员所管理的主机服务配置文件等等;

可变动的:经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等。

FHS针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是底下这三个目录的定义:

  • / (root, 根目录):与开机系统有关;
  • /usr (unix software resource):与软件安装/执行有关;
  • /var (variable):与系统运作过程有关。
根目录 (/) 的意义与内容:

所有的目录都是由根目录衍生出来的,也与开机/还原/系统修复等动作有关。

根目录不要放在非常大的分区槽内, 因为越大的分区槽妳会放入越多的数据,如此一来根目录所在分区槽就可能会有较多发生错误的机会。根目录(/)所在分区槽应该越小越好, 且应用程序所安装的软件最好不要与根目
录放在同一个分区槽内,保持根目录越小越好。

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

事实上 FHS 针对根目录所定义的标准就仅有上面的列举的数据。不过也有几个非常重要的目录。

这里写图片描述

/etc:配置文件       
/bin:重要执行文件     
/dev:所需要的设备文件   
/lib:执行文件所需的函数库与内核所需的模块     
/sbin:重要的系统文件

这五个目录千万不可以与根目录分开放在不同的分区。

/usr 的意义与内容:Unix Software Resource

Unix 操作系统软件资源所放置的目录,而不是用户的数据。此这个目录有点类似 Windows 系统的C:\Windows\ (当中的一部份) + C:\Program files\这两个目录的综合体,系统刚安装完毕时,这个目录会占用最多的硬盘容量。一般来说,/usr 的次目录建议有底下这些:

这里写图片描述

/var 的意义与内容:

/var 就是在系统运作后才会渐渐占用硬盘容量的目录。 因为/var 目录主要针对常态性变动的文件,包括快取(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序文件(lock file, run file),或者例如 MySQL 数据库的文件等等。常见的次目录有

这里写图片描述

13.目录树(directory tree)

在Linux底下,所有的文件与目录都是是由根目录开始,那是所有目录与文件的源头。然后,再一个一个的分支下来,有点像树枝状,故称这种目录配置方式为目录树。主要特征如下:

1.目录树的启始点为根目录 (/, root);

2.每一个目录不止能使用本地端的文件系统,也可以使用网络上的文件系统 。举例来说, 可

​   以利用 Network File System (NFS) 服务器挂载某特定目录等。

3.每一个文件在此目录树中的文件名(包含完整路径)都是独一无二的。

用ls -l / 命令查看目录树

这里写图片描述

整个目录树以图标的方法来显示,并且将较为重要的文件数据列出来的话,那么目录树架构如下:
这里写图片描述

14.绝对路径与相对路径

根据档名写法的不同,可将所谓的路径(path)定义为绝对路径(absolute)与相对路径(relative)。

绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc;
相对路径:相对于目前路径的文件名写法。 例如 ./home/dmtsai 或 ../../home/dmtsai/ 等等。反正开头不是 /
就属于相对路径的写法.

相对路径是以你当前所在路径的相对位置来表示的。举例来说,你目前在 /home 这个目录下, 如果想要进入 /var/log 这个目录时,可以这样写:

1. cd /var/log (absolute)
2. cd ../var/log (relative)

因为在 /home 底下,所以要回到上一层 (../) 之后,才能继续往 /var 来移动的。

特别的有两个特殊的目录:

 . :代表当前的目录,也可以使用 ./ 来表示;
 .. :代表上一层目录,也可以 ../ 来代表。

比如从进入/var/spool/mail/目录,再进入到/var/spool/cron/目录内:

1. cd /var/spool/mail
2. cd ../cron

15.Linux系统的观察

uname -r 查看核心版本

uname -m 查看操作系统的位版本

lsb_release -a LInux Standard Base标准

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值