登录 Linux 系统后,在命令行窗口输入如下命令:
ls /
可以看到如下所示的输出结果:
[root@iZuf6du4njy79sqwovmzfzZ ~]# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
"/" 便是 Linux 系统的根目录,而以上的所有输出内容,都是根目录中的子目录。它们的作用分别为:
在 Linux 中,一切皆文件。因此,在处理 Linux 系统的目录时,实际执行的命令与处理文件完全相同。通常,有以下几个常用的命令:
ls
:列出当前目录下的所有文件和目录ls -a
:列出包含隐藏文件的全部文件和目录ls -l
(或 ll
):列出目录的详细信息,包括属性和权限ls -al
(或 ll -a
):列出包含隐藏文件的全部文件和目录的详细信息,包括属性和权限cd [相对路径 或 绝对路径]
:切换至指定目录pwd
:是 Print Working Directory 的缩写,作用是显示当前所在的目录。mkdir [目录名称]
:创建目录mkdir -m [权限编号] [目录名称]
:创建目录并配置其权限mkdir -p [多级目录]
:创建多级目录rmdir [目录名称]
:删除一个空目录rmdir -p [目录名称]
:删除多级空目录cp [来源文件] [目标位置]
:复制文件或目录cp -p [来源文件] [目标位置]
:连同属性一起复制(常用于备份文件)cp -i [来源文件] [目标位置]
:目标位置若有同名文件,则询问是否覆盖cp -r [多级目录] [目标位置]
:复制多级目录rm [目标文件]
:删除文件或目录rm -f [目标文件]
:强制删除rm -i [目标文件]
:询问是否删除rm -r [多级目录]
:删除多级目录rm -rf /
:清空整个 Linux 系统(千万不要尝试!!!)mv [来源文件] [目标位置/新文件名]
:移动文件或目录,也可以重命名文件或目录mv -f [来源文件] [目标位置]
:强制移动文件或目录,当有重名文件时,不进行询问,直接覆盖mv -i [来源文件] [目标位置]
:移动文件或目录,当有重名文件时,询问是否覆盖mv -u [来源文件] [目标位置]
:覆盖到已存在的文件上ln [来源文件] [目标位置]
:创建来源文件在目标位置的硬链接,二者指向同一份文件。删掉前者,不影响后者。ln -s [来源文件] [目标位置]
:创建来源文件在目标位置的软链接,后者指向前者。删掉前者,后者失效。各个命令更详细的使用方式,可以通过命令 man [命令]
来查看。
Linux 系统是一种典型的多用户系统。不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同用户访问同一文件(包括目录文件)的权限做了不同的规定。使用 ll
或 ls –l
命令可以显示当前目录内所有文件的属性字符串。
该字符串的第一个字符代表这个文件是目录、文件,还是链接:
接下来,共有九个字符。而这九个字符,又以三个为一组,每组均为 r、w、x 三个字母或减号(-)的组合。
其中,'r' 代表可读(read)、'w' 代表可写(write)、'x' 代表可执行(execute),而减号(-)则代表没有该权限。
因此,每个文件的属性由左边第一列的共 10 个字符来确定:
[root@iZuf6du4njy79sqwovmzfzZ ~]# ll /
total 20
lrwxrwxrwx. 1 root root 7 Nov 3 2020 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 May 21 11:39 boot
drwxr-xr-x 19 root root 2880 Jun 21 16:53 dev
drwxr-xr-x. 98 root root 8192 Jun 21 16:54 etc
drwxr-xr-x. 4 root root 28 Jun 20 18:24 home
lrwxrwxrwx. 1 root root 7 Nov 3 2020 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Nov 3 2020 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Nov 3 2020 media
drwxr-xr-x. 2 root root 6 Nov 3 2020 mnt
drwxr-xr-x. 3 root root 24 Jun 20 17:42 opt
dr-xr-xr-x 121 root root 0 Jun 21 16:53 proc
dr-xr-x---. 5 root root 190 Jun 20 18:36 root
drwxr-xr-x 32 root root 960 Jul 2 17:34 run
lrwxrwxrwx. 1 root root 8 Nov 3 2020 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Nov 3 2020 srv
dr-xr-xr-x 13 root root 0 Jun 22 00:53 sys
drwxrwxrwt. 5 root root 147 Jul 5 18:39 tmp
drwxr-xr-x. 12 root root 144 May 21 11:27 usr
drwxr-xr-x. 21 root root 4096 May 21 03:32 var
从上面的示例中可以看出,除了最左侧的属性字符串以外,还出现了两个 "root" 字符串,它们分别代表文件的所属用户和用户组。
在 Linux 中,每个文件都有一个特定的所有者,也就是对该文件具有所有权的用户。同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。而这,也正是属性字符串中三组权限对应的用户。
想要修改文件的权限属性和所属用户、用户组,可以使用以下命令:
chown 属主名 文件名 # 修改指定文件的所属用户
chown –R 属主名 目录名 # 修改指定目录及其子目录中所有文件的所属用户
chown -R 属主名:属组名 目录名 # 修改指定目录及其子目录中所有文件的所属用户和用户组
chgrp 属组名 文件名 # 修改指定文件的用户组
chgrp -R 属组名 目录名 # 修改指定目录及其子目录中所有文件的用户组
chmod -R 权限字符串 文件/目录 # 修改指定文件的权限字符串
其中,权限字符串除了使用 "wrx" 的九个字母组合以外,还可以使用三个整数代替。具体的规则如下:
每组由三个字母变为一个整数,这个整数便是三个字母的和。因此,rwxr-x--x
就等价于 751
。
在 Linux 系统中,可以使用以下命令来查看文件的内容:
除此之外,可以通过 man [命令]
的方式来查看各个命令的使用文档。
Vim 是从 Vi 发展出来的一个文本编辑器。由于其代码补完、编译及错误跳转等便于编程的功能特别丰富,因而在程序员中被广泛使用。虽然 Vi 作为老式的文字处理器,功能已经很齐全了,但是还是有可以进步的地方。Vim 就是在程序开发方面做出延伸的一项很好用的工具。甚至就连 Vim 的官网也说自己是一款程序开发工具,而不是文字处理软件。
Vim 中共有三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的具体作用如下:
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
按 ESC 键可随时退出底线命令模式。
以下是 Vim 中详细的按键说明:
移动光标的方法 | |
---|---|
h 或 向左箭头键(←) | 光标向左移动一个字符 |
j 或 向下箭头键(↓) | 光标向下移动一个字符 |
k 或 向上箭头键(↑) | 光标向上移动一个字符 |
l 或 向右箭头键(→) | 光标向右移动一个字符 |
[Ctrl] + [f] | 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用) |
[Ctrl] + [b] | 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用) |
[Ctrl] + [d] | 屏幕『向下』移动半页 |
[Ctrl] + [u] | 屏幕『向上』移动半页 |
+ | 光标移动到非空格符的下一行 |
- | 光标移动到非空格符的上一行 |
n< space> | 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。 |
0 或功能键[Home] | 这是数字『 0 』:移动到这一行的最前面字符处 (常用) |
$ 或功能键[End] | 移动到这一行的最后面字符处(常用) |
H | 光标移动到这个屏幕的最上方那一行的第一个字符 |
M | 光标移动到这个屏幕的中央那一行的第一个字符 |
L | 光标移动到这个屏幕的最下方那一行的第一个字符 |
G | 移动到这个档案的最后一行(常用) |
nG | n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu) |
gg | 移动到这个档案的第一行,相当于 1G 啊!(常用) |
n< Enter> | n 为数字。光标向下移动 n 行(常用) |
搜索替换 | |
---|---|
/word | 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!(常用) |
?word | 向光标之上寻找一个字符串名称为 word 的字符串。 |
n | 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串! |
N | 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。 |
删除、复制与粘贴 | |
---|---|
x, X | 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用) |
nx | n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。 |
dd | 删除游标所在的那一整行(常用) |
ndd | n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用) |
d1G | 删除光标所在到第一行的所有数据 |
dG | 删除光标所在到最后一行的所有数据 |
d$ | 删除游标所在处,到该行的最后一个字符 |
d0 | 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符 |
yy | 复制游标所在的那一行(常用) |
nyy | n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用) |
y1G | 复制游标所在行到第一行的所有数据 |
yG | 复制游标所在行到最后一行的所有数据 |
y0 | 复制光标所在的那个字符到该行行首的所有数据 |
y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
p, P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行!举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢?那么原本的第 20 行会被推到变成 30 行。(常用) |
J | 将光标所在行与下一行的数据结合成同一行 |
c | 重复删除多个数据,例如向下删除 10 行,[ 10cj ] |
u | 复原前一个动作。(常用) |
[Ctrl]+r | 重做上一个动作。(常用) |
进入输入或取代的编辑模式 | |
---|---|
i, I | 进入输入模式(Insert mode):i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。(常用) |
a, A | 进入输入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用) |
o, O | 进入输入模式(Insert mode):这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』;O 为在目前光标所在处的上一行输入新的一行!(常用) |
r, R | 进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用) |
[Esc] | 退出编辑模式,回到一般模式中(常用) |
指令行的储存、离开等指令 | |
---|---|
:w | 将编辑的数据写入硬盘档案中(常用) |
:w! | 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊! |
:q | 离开 vi (常用) |
:q! | 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 |
注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~ | |
:wq | 储存后离开,若为 :wq! 则为强制储存后离开 (常用) |
ZZ | 这是大写的 Z 喔!若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开! |
:w [filename] | 将编辑的数据储存成另一个档案(类似另存新档) |
:r [filename] | 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面 |
:n1,n2 w [filename] | 将 n1 到 n2 的内容储存成 filename 这个档案。 |
:! command | 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如 『:! ls /home』即可在 vi 当中看 /home 底下以 ls 输出的档案信息! |
:set nu | 显示行号,设定之后,会在每一行的前缀显示该行的行号 |
:set nonu | 与 set nu 相反,为取消行号! |
Linux 系统是一个多用户多任务的分时操作系统。任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
用户账号的管理工作主要涉及到用户账号的添加、修改和删除。
添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录 Shell 等资源。
常用的指令如下:
useradd [参数] [用户名]
其中,参数主要有如下几种:
其实,增加用户账号就是在 /etc/passwd 文件中为新用户增加一条记录,同时更新其他系统文件,如 /etc/shadow, /etc/group 等。
su [用户名]
sudo su
userdel [参数] [用户名]
usermod [选项] [用户名]
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,哪怕先指定空口令。指定和修改用户口令的命令都是 passwd
。超级用户可以为自己和其他用户指定口令,普通用户则只能用它修改自己的口令。
命令的格式为:
passwd [参数] [用户名]
常用的参数列表如下:
如果是普通用户,在用户名位置留空,也可以修改自己的口令:
$ passwd
Old password:********
New password:********
Re-enter new password:********
如果是超级用户,则可以通过此命令修改任意用户的口令:
# passwd kuangshen
New password:********
Re-enter new password:********
普通用户修改自己的口令时,passwd 命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,并不需要知道原口令。为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用 8 位长度的口令,口令中包含有大写、小写字母和数字,并且不应包含姓名、生日等个人信息。
如果想要清除某用户的口令,可以执行下列形式的命令:
# passwd -d [用户名]
此命令将该用户的口令删除。这样一来,该用户下一次登录时,系统就不再允许其登录了。
passwd 命令还可以用 -l 参数锁定某一用户,使其不能登录;也可以使用 -u 参数解锁,使其恢复登录的能力:
# passwd -l [用户名]
# passwd -u [用户名]
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。Linux 下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改,这些操作实际上就是对 /etc/group 文件的更新。
groupadd [参数] [用户组]
常用的参数有:
groupmod [参数] [用户组]
常用的参数有:
除此之外,如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
用户可以在登录后,使用命令 newgrp 切换到其他用户组,这个命令的参数就是目的用户组:
newgrp [用户组]
Linux磁盘管理常用命令为 df 和 du。
其中,df
命令的功能为:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。其语法如下:
df [参数] [目录或文件名]
常用参数如下:
du
命令也是用来查看使用空间的,但是与 df
命令不同的是,du
命令是查看文件和目录的磁盘使用空间。其语法如下:
du [参数] [目录或文件名]
常用参数如下:
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有