Linux基础

一、Linux文件系统根目录下的目录及他们的作用

一切皆文件

根目录下存多个文件夹(名称系统定义,不能修改):

  • /bin[常用] (/usr/bin 、/user/local/bin)

    为Binary缩写,存放着最常使用的命令

  • /sbin (/usr/sbin、/user/local/sbin)

    s即SuperUser,存放管理员的系统管理程序

  • /home[常用]

    用于存放不同用户创建的文件,结构为/home/用户名/……

  • /root[常用]

    系统管理员,超级权限者的主目录

  • /lib

    系统开机需要最基本的动态链接库,同时存放程序需要的动态链接库

  • /lost+found (隐藏目录)

    存放非法关机后生成的文件

  • /etc [常用]

    系统管理需要的配置文件和子目录,例如mysql的my.conf

  • /usr [常用]

    非常重要,放置用户的很多应用程序和文件,类似programfiles

  • /boot [常用]

    系统启动的核心文件,一些连接文件和镜像文件

  • /proc [不能动]

    是一个虚拟的目录,是系统内存的映射,访问这个目录获得系统信息

  • /srv [不能动]

    是service的缩写,存放一些服务启动后的数据

  • /sys [不能动]

    这是Linux 2.6版本的拜年话,安装了内核新出现的文件系统sysfs

  • /tmp

    存放临时文件

  • /dev

    是device的缩写,把硬件当作文件形式储存,类似设备管理器

  • /media [常用]

    系统会识别一些设备,如u盘、光驱,识别后,系统会将被识别的设备挂载在此目录下

  • /mnt [常用]

    系统提供该目录让用户挂载其他文件系统,我们可以将外部储存挂载在该目录,然后进入就可以查看其中的内容了

  • /opt

    默认将安装文件放在该目录下(安装前)

  • /user/local [常用]

    安装软件的目录(安装后),一般是以源码方式安装的程序

  • /var [常用]

    存放不断扩充的内容,常用的就是一些日志等等

  • /selinux [security-enhanced-Linux]

    一种安全子系统,控制程序访问的文件,可以自行开启关闭

linux的隐藏文件是以.开头的

二、Linux实用指令

1.帮助指令

man+space+[指令名]

输出帮助,一般会显示命令作用及各个参数,在linux中,各个参数可以组合使用,例如,ls指令有参数-l-a,可以直接简化为-la

help+[shell命令]

输出shell命令的帮助。

2.文件目录指令

pwd指令:

作用:pwd指令用于显示当前绝对路径

ls指令:

作用:
ls指令用于列出目录下的内容
基本用法:
ls [选项] [目录或文件]
常用选项:
-a:显示当前目录下的所有文件(包括隐藏文件)
-l: 以列表的形式显示详细信息
-lh:以列表的形式显示详细信息并且增加可读性(转化单位)

cd指令:

作用:
cd指令用于切换目录
基本语法:
cd [参数]
特殊用法:
cd ~或者cd : 回到家目录
cd ..回到上一级目录

mkdir指令:

作用:
mkdir指令用于创建目录
基本语法:
mkdir [选项] 要创建的目录
常用选项:
-p:创建多级目录

rmdir指令:

作用:
rmdir指令删除空目录
基本语法:
rmdir [选项] 要删除的目录
使用细节:
rmdir删除的目录是空的,如果目录下有内容是无法删除的

如果要删除非空目录,使用**rm -rf [目录]**来强制删除非空目录。

touch指令:

创建空文件

cp指令

作用:
cp指令拷贝文件到指定目录
基本语法:
cp [选项] source destination
常用选项:
-r :递归赋值整个文件夹
常见用法:
使用\cp表示默认覆盖原有文件

rm指令

作用:
删除文件或目录
基本语法:
rm [选项] 要删除的文件或目录
常用选项:
-r:递归删除整个文件夹
-f:强制删除不提示

mv指令:

作用:
移动文件与目录或重命名
基本语法:
mv oldNameFile newNameFile(重命名)
mv /temp/movefile /targetFolder(移动)

cat指令:

作用:
查看文件内容(只读)
基本语法:
cat [选项] 要查看的文件
常用选项:
-n显示行号

tail指令:

作用:
tail指令用于输出文件尾部的内容,默认为十行,一般用与监听文件内容变化
基本语法:
tail 文件(查看文件尾十行内容)
tail -n 5 文件(查看文件尾五行内容)
tail -f 文件(监听文档的所有更新)

>指令和>>指令:

作用:
用于进行重定向和追加(即覆盖和添加)
基本语法:
1)ls -l >a.txt(将列表的内容写入文件a.txt中)
2)ls -al >>b.txt(将列表内容追加到b.txt文件后)
3)cat 文件1 > 文件2(用文件1的内容覆盖文件2)
4)echo “text”>>文件 (将内容追加到文件中)

ln指令:

作用:
添加软链接(类似快捷方式)
基本语法:
ln -s [原文件或目录] [软链接名] (给源文件创建一个软链接)

history指令:

查看最近执行的n(默认500)条指令
语法:直接使用!5执行最近执行的第5条指令

3、时间指令

date(时间)cal(日历)

4、搜索查找指令

find指令:

作用:
从指定目录向下递归遍历各个子目录,将满足条件的文件或目录显示在终端
基本语法:
find [搜索范围] [选项]
选项说明:
-name 按照指定的文件名查找
-user按照指定用户所拥有的文件
-size按照指定的大小查找文件文件

举例:
find /home -name hello.txt(在home目录下查找名为hello.txt的文件)
find /opt -user nobody (在opt目录下查找所有者为nobody的文件)
find / -size +200M(查找系统中大于200M的文件)
其中,文件大小的表示放大(-小于,+大于,无符号大呢关于,单位有kMG)

locate指令:(过时,需要自行安装)

作用:
快速定位文件路径
基本语法:
locate [文件名]
前趋指令:
updatedb

三、Linux权限管理

1.权限基本介绍

例:ls -l 中显示的内容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

对最前面的十个(0~9位)字符进行说明:

​ 第 0 位确定文件类型(d, - , l , c , b)
l 是链接,相当于 windows 的快捷方式
d 是目录,相当于 windows 的文件夹
c 是字符设备文件,鼠标,键盘
b 是块设备,比如硬盘

​ 第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。—User

​ 第 4-6 位确定所属组(同用户组的)拥有该文件的权限,—Group

​ 第 7-9 位确定其他用户拥有该文件的权限 —Other;

2. rwx权限详解

1)rwx作用到文件:

[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被执行

2)rwx作用到目录

[ r ]代表可读(read): 可以读取,ls 查看目录内容
[ w ]代表可写(write): 可以修改, 对目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录,使用cd指令

3)rwx的数字表示

可用数字表示为: r=4,w=2,x=1 因此 rwx=4+2+1=7 , 数字可以进行组合;

因此,一位数字就可以对应一类用户的权限。

3.修改权限

通过chmod指令,可以修改文件或者目录的权限,有以下两种方法:

1)+ 、-、= 变更权限

u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)

  1. chmod u=rwx,g=rx,o=x 文件/目录名
  2. chmod o+w 文件/目录名
  3. chmod a-x 文件/目录名

举例说明:

  1. 给 abc 文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。

chmod u=rwx,g=rx,o=rx abc

  1. 给 abc 文件的所有者除去执行的权限,增加组写的权限

chmod u-x,g+w abc

  1. 给 abc 文件的所有用户添加读的权限

chmod a+r abc

2)通过数字变更权限

按照chmod nnn 文件/目录名的方式转化即可:

其中n对应rwx的数字表示

三位n分别对应u:所有者 g:所有组 o:其他人

举例说明:

​ 由于r=4 w=2 x=1 rwx=4+2+1=7

​ 因此chmod u=rwx,g=rx,o=x a.txt

​ 相当于chmod 751 a.txt