环境


debian 12

(提示:作者记录的是debian 12的笔记,如果你的是不同的Linux系统,命令可能不一样。)

基本说明


闲来无事,记录一下学习linux的笔记,一来可以备忘,假如忘了翻自己的笔记就是最有效的回忆方法,二来可以在别人需要的时候给他推我的笔记。

基础概念


绝对路径和相对路径:绝对路径是从根目录开始到某个目录的完整路径;相对路径是相对当前所在目录来说的。比如我在“/home/biamxine”目录下,假设该目录下有目录“test”,则“test”就是我在“/home/biamxine”下“test”的相对路径,而它的绝对路径是“/home/biamxine/test”。假如你在“/home/biamxine”目录下,想知道“test”目录下有什么,你可以用相对路径(ls test),也可以用绝对路径(ls /home/biamxine/test),在任何地方用绝对路径都不会有问题,相对路径需要以当前目录作为参照目录。

笔记


目录和文件


cd:change directory,进入目录,可以是绝对路径,也可以是相对路径。

pwd:print working directory,输出当前目录绝对路径。


ls:list,显示当前所在目录的子目录和文件。

常用选项 选项作用
a 显示当前所在目录的所有子目录和文件,包括隐藏目录和文件,还有“.”(当前目录)和“..”(当前目录的父目录)
A 显示当前所在目录的所有子目录和文件,包括隐藏目录和文件,不包括“.”(当前目录)和“..”(当前目录的父目录)
l 列出目录和文件的详细信息
h 以适合人类阅读的单位显示存储信息

“ls -l”列出的文件和目录详细信息有7列,例如“drwxr-xr-x 3 root root 4096 Jul 20 00:03 test”,从左到右每一列的含义如下

  1. 文件类型和文件权限,“drwxr-xr-x”首字符是文件类型,常见的有“d”(目录)和“-”(文件);后面9个字符每连续三个为一组,分别表示所有者、所属组和其他人对该目录或文件的权限。对于文件来说,“r”表示可读,“w”表示可写,即修改,“x”表示可执行;对于目录来说,“r”表示可读,即可查看目录的子目录和文件,“w”表示具有删除、移动目录的子目录和文件的权限,“x”表示可进入目录。
  2. 该目录或文件的一级子目录数目,文件的为1,即只有它自己,可以通过“ls 文件路径”查看,只会打印文件自己;目录的就看该目录有几个一级子目录,包含“.”和“..”。
  3. 目录或文件的所有者。
  4. 所属的组。
  5. 目录或文件的大小。
  6. “Jul 20 00:03”,文件或目录最后的修改日期和时间。
  7. 文件或目录名。

mkdir:make directory,创建一个或多个目录。

常用选项 选项作用
p 默认只允许在已存在目录创建新目录,加了此选项可以在创建新目录时也创建新目录不存在的父目录

touch:touch,创建一个或多个文件。


rm:remove,删除一个或多个文件或目录(删除目录需要带r选项)。

常用选项 选项作用
r 递归删除目录及其内容
f 强制,忽略不存在的文件和参数,且从不询问

clear:clear,清空屏幕。

ln:

vim编辑器


介绍


vim是Linux里一款非常好用的编辑器,它有着众多的快捷键,熟练使用的话能极大提高你的工作效率。

基本操作


编辑文件命令

1
vim <file_name>

最基本快捷键和命令

  1. 切换模式
    i:从光标当前位置进入插入模式,插入模式可以输入内容。
    ESC键:退出到正常模式,比如在插入模式插入内容完成,需要按“ESC”键退出插入模式再保存并退出。
    ::命令模式,冒号后面跟命令,按回车执行命令。

  1. 保存和退出

    快捷键:
    ZZ(shift+zz):保存更改并退出。
    ZQ(shift+zq):不保存更改退出。

    命令:
    命令 命令作用
    :wq 保存更改并退出
    :q! 不保存更改退出

想了解更多vim相关快捷键及命令请参阅我另外一篇博文“vim 常用快捷键及命令(点我跳转)”。


用户和群组


命令

useradd:user add,创建新用户。

常用选项 选项左右
m 创建用户家目录,debian中创建新用户默认不创建用户家目录,即使用d选项指定也不会创建新的家目录,故若要在创建用户时创建家目录则必须带着该选项
d 指定新用户的家目录
D 显示或更改默认的useradd配置,比如“useradd -D -s /bin/bash”表示更改创建新账户的默认登录shell为bash
g 新账户主组的名称或 ID
G 新账户的附加组列表
s 新账户的登录 shell

userdel:user delete,删除用户,默认不删除用户主目录。

常用选项 选项作用
r 删除主目录和信件池

usermod:user modify,用于修改用户账户的属性和配置。

常用选项 选项作用
d 用户的新家目录
e 设置用户账户的过期时间,例如“usermod -e 2023-7-25 user_name”表示修改user_name的账户过期时间为2023-7-25,过期账户无法登录系统。e选项参数为“-1”表示永不过期
g 参数为一个组,强制设置参数为用户新主组
G 新的附加组列表GROUPS,会将用户从G中没有提到的原有附加组中移除
a 需要配合G选项使用,将用户追加至上边G选项中提到的附加组中,并不从其它组中删除此用户
l 修改登录名称
s 更改用户新登录shell
u 更改用户ID
L 锁定用户,将无法使用密码登录该用户,但我试了一下,使用ssh公钥登录仍可以登录账户
U 解锁被锁定的用户,解锁之前需要给用户改密码,不然无法解锁

passwd:password,更改用户密码。

常用选项 选项作用
d 删除用户密码,就是让用户可以不使用密码登录
e 强制使用户密码过期
k 仅在密码过期后修改密码????????
w 设置过期警告天数
m 设置到下次修改密码所须等待的最短天数
x 设置到下次修改密码所须等待的最多天数
l 锁定用户
u 解锁用户

chage:change age,修改用户密码过期时间或查看用户密码过期时间等信息(需带选项)。

常用选项 选项作用
l 显示指定用户年龄信息,参数为用户名
E 设置用户过期时间,如“chage -E 2023-7-25 user_name”,参数为“-1”表示永不过期,若要取消过期仍然是用这个选项为用户指定新的过期时间
m 设置用户连续两次修改密码的最短天数
M 设置用户连续两次修改密码的最长天数
W 设置密码过期警告天数

id:打印一个或多个用户的用户和组信息。

常用选项 选项作用
g 仅显示有效组ID
G 仅显示所有组ID
u 仅显示有效用户ID
n 配合u或g或G选项使用,仅显示名称而非数字

groupadd:group add,创建群组。

常用选项 选项作用
g 指定新建组GID
U 将后面的用户新加到该新建群组

groupdel:group delete,删除群组,一次只能删除一个群组。

常用选项 选项作用
f 即便是用户的主组也强制删除

groupmod:更改群组信息,添加组成员等。

常用选项 选项作用
g 更改组的GID
n 更改组名
U 参数为群组的用户列表,可以用来添加用户至组,但会把参数中没有的原组中成员移出群组,若不想移出,则需带a参数一起使用
a 配合U选项使用,添加U选项的参数用户至组并不把参数中没有的原组中成员移出群组

gpasswd:更改组密码,添加组成员等。不跟选项参数为组就可以更改组密码,例如“gpasswd biamxine”是更改组biamxine的密码,输入命令按下回车就会在下一行提示让你输入密码。

常用选项 选项作用
a 选项参数是用户,将用户添加至组
d 选项参数是用户,将用户从组中移出
r 移除组密码
M 参数为组的用户列表,会将组原有但列表中没有的成员移出组
A 参数为管理员列表

文件

Linux中用户和组的信息会存放在一些相关的配置文件中,这里将介绍几个相关文件。若要修改用户和组相关信息,请使用命令更改,不要直接更改配置文件。

用户基本信息文件

文件路径为“/etc/passwd”,是一个包含所有用户账户信息的文件。每一行记录一位用户的信息。例如“biamxine:x:1000:1000::/home/biamxine:/bin/bash”,一行共有7个字段,字段之间用冒号分隔,从左到右每个字段含义如下:

  1. 用户名。
  2. 用户登录密码,但实际上密码已经不存放在这,在现代系统中,这个字段通常是 “x”,表示密码已经存储在“/etc/shadow”文件中。
  3. 用户UID。
  4. 用户主组GID。
  5. 用户信息,可以是用户的全名或注释等信息。
  6. 家目录,用户登录后所在的初始目录。
  7. 用户登录后默认使用的Shell。

用户密码信息文件

文件路径为“/etc/shadow”,是Linux系统中存储用户账户的加密密码和相关信息的重要文件。它通常只能由root访问,用于保护用户密码信息。每行记录代表一个用户账户,字段之间使用冒号分隔,总共有 9 个字段。如“biamxine::19563:0:99999:1:::”,从左到右每个字段的含义分别是

  1. 用户名。
  2. 用户密码加密后的形式。
  3. 上次更改密码的日期,为自1970年1月1日至今的天数。
  4. 用户更改密码之间的最小天数。
  5. 密码的有效期限,从上次更改密码的日期开始计算。超过该天数后,密码将过期,用户需要更改密码。
  6. 密码过期提前警告天数。
  7. 不活动天数,如果用户在这么多天内没有登录,用户账户将自动锁定。
  8. 用户账户的有效期限。
  9. 保留字段,无含义,等待未来使用。

群组文件

文件路径为“/etc/group”,是一个包含所有用户组信息的文件,用于管理用户组及其成员的关联,每行代表一个用户组。例如“biamxine:x:1000:”,一行共有4个字段,由冒号分隔开,从左到右每个字段的含义如下:

  1. 组名。
  2. 在早期的Unix系统中,这个字段用于设置用户组密码,现代系统通常将其设置为 “x”,表示密码已经存储在“/etc/gshadow”文件中。
  3. 组的GID。
  4. 组成员,用户名之间用逗号分隔。

群组密码文件

文件路径为“/etc/gshadow”,用于存放组密码的文件。每一行代表一个组。例如“biamxine:!::”,一行共有4个字段,由冒号分隔开,从左到右每个字段含义如下:

  1. 组名。
  2. 加密后的组密码。
  3. 组管理员。
  4. 组附加用户列表。

硬盘管理


命令

df

du

fdisk

mkfs

文件

/etc/fstab

网络配置


命令

ifconfig

文件

进程和内存管理


ps

kill

free

jobs

nohup

disown

top

其他

arch