由于培训,所以也整理一份文档以便日后复习。该文章将会根据我的学习进程不断更新,暂时不会另开一篇文章
用户管理
root 的权限很大,可以接近完全控制整个操作系统,规则不受限。一般情况下用普通用户进行操作,到需要提权的命令就使用 sudo
。
Linux 文件系统
文件结构
Linux 的文件结构为 单根倒树状(头上是根,下面是枝与叶)
- 如何理解单根倒树状,就像整个树木的结构倒过来,
最顶部为根(/),
根下面就是枝(/etc、/home、/var),
枝下面就是叶(文件名),
/root/1.txt 的根是 /,枝为 /root/ ,叶就是 1.txt
Windows 为多根倒树状
- 如何理解,Windows 很多盘符,每个盘符就一个根,其余跟 Linux 一样
规则
起始点为 /
,即根目录;/home 可能是挂载点。地址字符对大小写敏感(基于 ANSI 码存储文件名),路径需要用 /
分隔。
文件名不能超过 255 个字符,所输入的所有字符都是有效的,除了 / 。
为何说 /home 是挂载点呢?
Linux 系统可能会多有个分区,/home 可能会存放在哪个分区,也许会在 /dev/sda1/home1,但如果安装的时候没有特意分区的话,一般会跟在 / 的分区中
[root@izwz96ke9g2f4192imvgeoz Areseia]# df -h /home
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 15G 23G 39% /
硬盘命名
sda1/sda2 是指第一块磁盘的第一个分区/第二个分区,没有指定的挂载点,在根的目录如果没有再做安装指定的话,一般会跟着根目录的分区的硬盘。
sda1-4,前 4 个分区是为主分区,第五个分区后的分区都被称作为逻辑分区
- sda:一般是指SATA接口的硬盘
- hda:一般是指IDE接口的硬盘
根目录的目录
在系统的根目录中,会看到以下目录:
家目录: /home/username , /root
- 主要是存放用户的数据
用户可执行 :/bin , /usr/bin, /usr/local/bin
- 很多可执行的命令都在这里,在这个目录的命令可以用,所有用户都可以用这类命令,例如 cat 存放在此
系统可执行:/sbin , /usr/sbin/ , /usr/local/sbin
- 系统才能执行的命令在这里,只能给root用,例如 fdisk 存放在此
其他挂载点 :
- /media (移动设备会自动挂载到这个目录)
- /mnt (只提供目录,相当于自己在这里建立个挂载点)
配置设置 : /etc/
- 例如网卡配置、DNS 解析等应用配置
临时文件 : /tmp/
- 放的是系统或应用产生的临时文件
- 内核和引导程序 :/boot/
服务数据:/var , /srv
- 例如 Apache、数据库的文件 一般会存放在此
系统信息:/proc/ ,/sys/
- 数据会存档在内存,主要存放 CPU 信息或其他硬件信息,为动态数据,无法更改
共享链接库:/lib , /usr/lib/ , /usr/local/lib
- 类似于运行库,运行某个程序需要调用的文件
相对路径与绝对路径
absolution:绝对路径
- "/etc/sysconfig/network-scripts/ifcfg-eth1" ,在 / 作为开始点,是相对于根开始的
relative:相对路径
- 'network-script/ifcfg-eth1',从当前工作目录作为开始点(要提前 cd /etc/sysconfig/)
相关命令
cd 命令
cd ..
:返回上级目录(对于相对路径来说)cd
:回到用户的工作目录cd -
:回到刚刚离开前的目录(返回上一次的工作目录)cd ~
:回到用户的家目录cd ~user1
:去 user1 用户的家目录
ls 命令
ls -l
,会输出一下内容
-rwxr-xr-x 1 www www 596 Oct 20 15:30 404.php
权限 (目录里面的子目录) | 可以删除多少次 | 文件的拥有人 | 文件的拥有组 | 文件的大小 | 时间 | 文件名 |
---|---|---|---|---|---|---|
-rwxr-xr-x | 1 | www | www | 596 | Oct 20 15:30 | 404.php |
开头的 d 代表目录(drwxr-xr-x),否则为文件。
第二个会写目录里面的子目录,其中包括当前目录(.) 和 上一级目录 (..) 如果是文件的话代表可以删多少次
- ls -R
递归查询所有目录的子目录,会到尽头未知(最后一层)(安装tree可以让显示好看) - ls -ld
显示目录本身 ls -ld /home 会显示这个home目录本身的属性
增删改
- cp /xxz/1.txt
将1.txt这个文件复制到当前目录 - cp file1 file2 file3 目录
将多个文件复制到这个目录 - cp -r test/ test1/
将 test/ 目录的所有内容复制到 test1 目录
如果源目录和目的目录同名,将会覆盖目的目录里面的文件
如果源文件复制到目的文件,将会覆盖目的文件
cp 1.txt 2.txt,如果2.txt有内容,那么2.txt 将会变成1.txt的内容
如果目标文件不存在,那么复制后将会改名
cp 1.txt 2.txt,如果2.txt不存在,将会复制1.txt到2.txt的目录,并且把复制过去的1.txt改名为2.txt
- cp -r
复制目录用,将目录的所有内容全部复制到目的目录 - mv 移动文件,或剪切并重命名
会将所有内容搬过去,不需要像 cp 要加 -r - touch :创建空文件或更新文件的时间戳
stat 文件/目录:查看文件的时间戳
[root@izwz96ke9g2f4192imvgeoz Areseia]# stat /rootFile: ‘/root’ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: fd01h/64769d Inode: 131073 Links: 26 Access: (0550/dr-xr-x---) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-10-26 14:34:11.154075954 +0800 Modify: 2019-10-26 14:34:06.170098386 +0800 Change: 2019-10-26 14:34:06.170098386 +0800 Birth: -
access 最后一次文件被访问时间
modify 最后一次文件内容被修改的时间
change 文件状态被修改的时间,例如大小和权限- rm 移除文件,加上 -rf 可以强制相关内容,不会产生提醒
- mkdir:创建目录
- file 查看文件是什么类型
[root@izwz96ke9g2f4192imvgeoz Areseia]# file 404.php
404.php: PHP script, UTF-8 Unicode text, with CRLF line terminators
发表评论