Linux学习笔记-文件与目录
目前从电子信息科学与技术转到了计算机专业,因此想趁着大四比较闲的时候补一些计算机的知识。我想说:你好,生活[斜眼笑]!愿生活温柔以待!哈哈,这是我写的第一篇博客,谨以此纪念自己的学习生活吧!
简介
我的电脑是ubuntu-18.04与windows双系统,如果要装双系统的同学可以参考以下链接:
双系统安装:https://blog.csdn.net/qq_31192383/article/details/78876905
显卡驱动安装:https://blog.csdn.net/wf19930209/article/details/81877822
logo卡死问题:https://blog.csdn.net/tjuyanming/article/details/79267984
我用的书是《鸟哥的LINUX私房菜》,不过鸟哥用的红帽的CentOS系统,但两者也差不多,而且鸟哥这个人好有意思,也特别推荐这本书。emmm,废话不多说了,进入正题:
1.Linux文件属性
wei@wei:~$ sudo -i # 进入root,ubuntu用sudo -i,rentos用su -
[sudo] wei 的密码:
root@wei:~# ls -al #显示文件名与属性
总用量 54372
drwx------ 4 root root 4096 12月 11 21:15 .
drwxr-xr-x 24 root root 4096 11月 24 19:30 ..
-rw------- 1 root root 7999 12月 12 16:29 .bash_history
-rw-r--r-- 1 root root 3106 4月 9 2018 .bashrc
...... #省略显示不完的
这7个字段的含义如下:
[1] [2] [3] [4] [5] [6] [7]
-rw-r--r-- 1 root root 3106 4月 9 2018 .bashrc
[文件类型权限] [链接数] [拥有者] [所属用户组] [文件大小] [最后修改时间] [文件名]
第一栏10个字符代表了文件的类型与权限,按含义可分为4部分
[-] [rwx] [r--] [r--]
文件类型 拥有者权限 所属用户组权限 其他人权限
1.第一组字符代表了文件类型
字符 | d | - | l | b | c |
---|---|---|---|---|---|
含义 | 目录 | 文件 | 链接文件 | 可读写设备 | 端口设备 |
2.第2、3、4组字符分别代表了文件拥有者、所属用户组及其他人的权限
r(read):可读 w(write):可写 x(execute):可执行
这三个权限的位置不会改变,如果没有权限,就会出现[-]的标志,以上面10个字符[-rw-r–r--]为例
[-]:代表了这个文件为目录
[rwx]:拥有者权限,可读可写可执行
[r- -]:所属用户组权限,仅为可读
[r- -]:其他人权限,仅为可读
不过需要了解的是,root基本不受系统权限的限制,无论文件权限,root均能读写。
既然已经了解了文件的权限,那么怎么修改呢?
2.文件权限修改
2.1修改文件用户组
root@wei:~# chgrp [-R] dirmame/filename
选项与参数:-R :递归(recursive)修改,连同子目录下的所有文件、目录都会所属为这个用户组
2.2修改文件拥有者
root@wei:~# chown [-R] 账号名称 文件或目录
root@wei:~# chown [-R] 账号名称:用户组名称 文件或目录
2.3修改权限
采用命令:chmod,有两种办法,分别是数字设置与符号修改
文件的权限为:[-rwxrwxrwx]
数字设置:
r:4 w:2 x:1
假如权限为为:[-rwxrwx—] 数字应该为:
owner =rwx=4+2+1=7
group =rwx=4+2+1=7
others=- - -=0+0+0=0
语法是:
chmod [-R] xyz 文件或目录 如:
root@wei:~# chmod 777 .bashrc
root@wei:~# ls -al
......
-rwxrwxrwx 1 root root 3106 4月 9 2018 .bashrc
......
符号修改:
chmod | u | + / - / = | r / w / x | 文件或目录 |
---|---|---|---|---|
chmod | g | + / - / = | r / w / x | 文件或目录 |
chmod | o | + / - / = | r / w / x | 文件或目录 |
chmod | a | + / - / = | r / w / x | 文件或目录 |
如:
root@wei:~# chmod u=rwx,go=rx .bashrc
root@wei:~# chmod a+w .bashrc
2.4文件与目录权限的意义
组件 | 内容 | r | w | x |
---|---|---|---|---|
文件 | 数据 | 读取文件内容 | 修改文件内容 | 执行文件内容 |
目录 | 文件名 | 读取文件名 | 修改文件名 | 进入该目录 |
3.目录与路径
3.1路径
绝对路径: 由根目录(/)开始写起的文件名或目录名称,例如/home/wei/.bashrc
相对路径: 相对于当前路径的写法,如:./home/wei/
只要不是/开头的就属于相对路径,以下为特殊路径的表示方法:
. 代表此层目录
.. 代表上层目录
- 代表前一个工作目录
~ 代表目前使用者身份所在的家目录
小技巧:写目录时可以采用[Tab]建自动补全,真的很很好用,还不用担心写错,真好。
3.2目录
首先FHS(Filesystem Hierarchy Standard)标准:文件系统层次结构标准,定义了三个目录
- /(root,根目录):与启动系统有关
- /usr(unix software resource)(不是user):与软件的安装有关
- /var(variable):与系统的运行有关
如果说/usr是安装时会占用较大硬盘的目录,那么/var就是在系统运行后才会逐渐占用硬盘的目录。
下面了解一下关于目录的命令:
- cd: 切换目录(change directory)
- pwd:显示当前目录(print working directory)
pwd [-P] 显示真正的路径,而非链接路径
- mkdir:建立一个新目录(make directory)
mkdir [-mp] 目录名称
-m:设置文件权限,直接设置 不是用默认权限
-p:直接递归创建目录,每一级都可创建,不过一旦创建错就会很乱
- rmdir:删除一个目录(remove directory)
rmdir [-p] 目录名称 #不过只能删除空目录
-p:连同上级目录一起删除 依旧:只能删除空目录
如果删除非空目录,试试[rm -r 目录]
3.3执行文件路径的变量:$PATH
以ls举例:先列举一个问题,为什么可以在任何地方执行ls这个命令?对,因为他,是他,是他,就是他:$PATH。在你执行ls的时候,系统会依照PATH的设置,去每个PATH定义的目录下查找文件名为ls的可执行文件,可执行
root@wei:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
查看PATH变量包含了哪些目录。
我发现:只要“可执行”的可执行文件,在终端列举,就会执行。
emmm,最后
root@wei:~# shutdown -h now
睡觉它不香吗?