1.Linux 系统中,文件和目录的命名规则如下:
(1)除了字符 "/" 之外,所有字符都可以使用,但是要注意,在目录名或文件名中,使用某些特殊字符并不是明智之举。应避免使用 <、>、?、* 和非打印字符等。
(2)目录名或文件名的长度不能超过 255 个字符。
(3)目录名或文件名是区分大小写的。
(4)与 Windows 操作系统不同,文件的扩展名对 Linux 操作系统没有特殊的含义,换句话说,Linux 系统并不以文件的扩展名开分区文件类型。例如,dog.exe 只是一个文件,其扩展名 .exe 并不代表此文件就一定是可执行文件。
2.命令提示符:
[root@localhost~]#
[ ]:这是提示符的分隔符号,没有特殊含义。
root位置:显示当前登陆的用户
@:at 没有特殊含义
localhost:当前系统的简写主机名(完整的主机名是 localhost.localdomain)
~位置:当前所在的目录, 此例所在的目录是家目录
#命令提示符,超级用户#,普通用户$
3.基本命令
(1) ls list的缩写,显示当前目录下的内容。
若加选项 ls -l 明显显示的内容变多了。“-l” 是长格式(long list )的意思,显示文件的详细信息。
ls -a 显示所有的文件,包括隐藏文件(开头以.的文件)
ls -A 显示所有的文件,包括隐藏文件,但不包含. 与 ..这两个目录
-d 仅列出目录本身,而不是列出目录内的文件数据
h 将文件的大小以有单位大小的更友好而形式显示出来。
补充说明:linux下隐藏文件的目的是告诉用户,此文件非常重要,若非必要,不要乱动。
ls 命令-l ,显示出文件的详细信息,有7列。
1.是否是目录
2.(文件所有者,所属组,其他用户)的权限信息
3. 硬链接数量
4.所有者,属于哪个用户
5.大小,默认是字节
6.文件修改时间
7.文件名或目录
(2) cd 命令
基本格式: cd [相对路径或绝对路径]
cd 代表回到当前登陆用户的主目录
cd ~ 代表当前登陆用户的主目录
cd ~ 用户名 表示切换至指定用户的主目录
- 表示回到刚刚那个目录
. 当前用户
.. 代表上级用户
(3)pwd 显示当前目录的绝对路径 (Print Working Directory)打印工作目录。显示当前用户所处的工作目录。不同的目录中,目录名是可以重复的,因此,仅通过 [root@localhost mail]
中的 mail,根本无法判断其所在的具体位置,而使用 pwd 命令,可以输出当前所在目录的完整路径。
(4) whoami 用于确定当前登陆的用户。
(5)mkdir 创建目录(文件夹)
用于创建新目录,此命令所有用户都可以使用。
mkdir 文件名
使用 -p 选项递归建立目录
-p 选项递归创建所有目录,以创建 /home/test/demo 为例,在默认情况下,你需要一层一层的创建各个目录,而使用 -p 选项,则系统会自动帮你创建 /home、/home/test 以及 /home/test/demo。
-m 选项设定权限部分。例如: mkdir -m 711 test2 (711) rwx--x--x
(6) rmdir 命令:删除空目录 (remove empty directories 的缩写)命令用于删除空目录
-p 选项用于递归删除空目录
命令后面加目录名称即可,但命令执行成功与否,取决于要删除目录是否是空目录,因为 rmdir 命令只能删除空目录。
rmdir -p 路径1/路径2/路径3 先删除最底一层的目录(先删除路径3),然后逐层删除上层目录。也需要检查是否是空目录。
(7)touch 命令的简单接触 (待补充)
用来创建文件,当指定的文件不存在的时候,该命令会在当前位置建立一个空文件。更重要的功能是修改文件的时间参数。
(8)rm 命令:删除文件或目录
选项:
- -f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。
- -i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。
- -r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。
rm 命令 如果任何选项都不加,则默认执行的是" rm -i 文件名",也就是再删除一个文件之前会询问是否删除。
如果删除的是一个目录,则需要加-r
(9)mv 命令:移动文件或者改名 (move) (待补充)
(10)群组可以让多个用户具有相同的权限,同时也可以这样理解,一个用户可以所属多个群组,并同时拥有这些群组的权限,这就引出了初始组(有时也称主组)和附加组。
useradd lamp
groupadd users
usermod -G users lamp 将用户lamp加入users群组 在 root 管理员使用 useradd 命令创建新用户时,若未明确指定该命令所属的初始组,useradd 命令会默认创建一个同用户名相同的群组,作为该用户的初始组。一个用户可以所属多个附加组,但只能有一个初始组。那么,如何知道某用户所属哪些群组呢?使用 groups 命令即可
(11)passwd 修改用户密码
(12) usermod命令: seradd 命令添加用户,但如果不小心添错用户信息,后期如何修改呢?修改用户信息 u这里一定要分清 useradd 命令和 usermod 命令的区别,前者用于添加用户,当然,添加用户时可以对用户信息进行定制;后者针对与已存在的用户,使用该命令可以修改它们的信息。
usermod [选项] 用户名
-c 用户说明:修改用户的说明信息
-g 组名:修改用户的初始组
-u 修改用户的UID
-G组名:修改用户的附加组,就是把用户加入到其他用户组,即修改 /etc/group
-i 用户名:修改用户名称。
-l;临时锁定用户(lock)
-u :解锁用户(Unlock)
-s shell :修改用户登陆的shell
#把lamp用户加入root组
[root@localhost ~]# usermod -G root lamp
#锁定用户
[root@localhost ~]# usermod -L lamp
#解锁用户
[root@localhost ~]# usermod -U lamp
(13)userdel命令详解:删除用户
[root@localhost ~]# userdel -r 用户名
-r 选项表示在删除用户的同时删除用户的家目录。
[root@localhost ~]# usermod -G root lamp
#把用户加入root组
[root@localhost ~]# id lamp
uid=501(lamp) gid=501(lamp) groups=501(lamp),0(root)
#大家发现root组中加入了lamp用户的附加组信息
(14)
[root@localhost ~]# groupadd group1
#添加group1组
(15) groupmod 修改用户组
[root@localhost ~]# groupmod -n testgrp group1
#把组名group1修改为testgrp
(16)Linux gpasswd命令用法详解:把用户添加进组或从组中删除
为了避免系统管理员(root)太忙碌,无法及时管理群组,我们可以使用 gpasswd 命令给群组设置一个群组管理员,代替 root 完成将用户加入或移出群组的操作。
-r | 移除群组的密码,仅 root 用户可用。 |
-R | 让群组的密码失效,仅 root 用户可用。 |
-a user | 将 user 用户加入到群组中。 |
-d user | 将 user 用户从群组中移除。 |
#以lamp用户登陆系统,并将用户 lamp 和 lamp1 加入group1群组。
[lamp@localhost ~]#gpasswd -a lamp group1
[lamp@localhost ~]#gpasswd -a lamp1 group1
(17)chgrp 命令的用法很简单,其基本格式为:
[root@localhost ~]# chgrp [-R] 所属组 文件名(目录名)
[root@localhost ~]# umask
0022
#root用户默认是0022,普通用户默认是 0002