最近租了一台华为云的服务器,主要是为了练习一些常用的linux命令。
话不多说,发车了。

文件基本属性

首先是文件基本属性的设定了,这个我们时常接触到,比如使用ll命令来查询文件时:

Linux学习记录_服务器

可以看到在文件名前出现了很多参数,其所代表的含义如下:

Linux学习记录_服务器_02

在Linux系统中,用户是按照组来分类的,对于一个文件,下面介绍其不同用户所具有的权限。
首先属主权限指的便是文件所有者,属组权限指的是与属主同一组的用户,其他用户则是与属主不同组的用户。

Linux学习记录_文件名_03

更改文件属性

chgrp:更改文件属组

chgrp [-R] 属组名 文件名

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

chown:更改文件属主,也可以同时更改文件属组

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

chmod:更改文件9个属性

Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

这九个权限是三个三个一组的!那么便可使用使用数字来代表各个权限,各权限的分数对照表如下:

  • r:4
  • w:2
  • x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx— 分数则是:

owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 =0

那么执行语法为:

chmod [-R] xyz 文件或目录

符号类型改变文件权限

还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:

  • user:用户
  • group:组
  • others:其他

那么我们就可以使用 u, g, o 来代表三种身份的权限。

此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:

Linux学习记录_文件名_04

文件目录管理

处理目录的常用命令:

ls(英文全拼:list files): 列出目录及文件名

cd(英文全拼:change directory):切换目录

pwd(英文全拼:print work directory):显示目前的目录

mkdir(英文全拼:make directory):创建一个新的目录

rmdir(英文全拼:remove directory):删除一个空的目录

cp(英文全拼:copy file): 复制文件或目录

rm(英文全拼:remove): 删除文件或目录

mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

这里记录一个常用的cd命令:

cd -#切换到前一个目录

Linux 用户和用户组管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

关于删除用户后主目录依旧存在的问题

若仅删除了用户,可以带参数运行连目录一起删除。

1,userdel username,删除用户,不删除用户主目录。
2,userdel -r username,-r表示连用户主目录一起删除。
3,如果删除用户后主目录还在,可手动删除。rm -rf /home/username/

Linux 磁盘管理

Linux 磁盘管理好坏直接关系到整个系统的性能问题。
Linux 磁盘管理常用三个命令为 df、du 和 fdisk。

df(英文全称:disk free):列出文件系统的整体磁盘使用量

du(英文全称:disk used):检查磁盘空间使用量

fdisk:用于磁盘分区

比较喜欢使用du

du [-ahskm] 文件或目录名称

选项与参数:

-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;

Linux学习记录_服务器_05


Linux学习记录_学习_06

进程管理

ps命令为查看进程

-e:显示系统内所有进程的信息。与 -A 选项功能相同

-f:使用完整 (full) 的格式显示进程信息,如果只有 ps -e 则输出进程信息的格式和只使用 ps 一样

(都只有PID TTY TIME CMD这几项,但是输出信息的内容和ps的不一样)

各字段含义如下:

  UID:启动该进程的用户的 ID 号

  PPID:代表该进程的父进程的 ID 号

  C:进程的 CPU 处理器利用率

  STIME/START:表示进程的启动时间

Linux学习记录_文件名_07

ps -aux可以更好的查看详细信息:

a:显示当前终端下的所有进程信息,包括其他用户的进程

u:实验以永固为主的格式输出进程信息

x:显示当前用户在所有终端下的进程

e:显示系统内所有的进程信息

f:使用完整的(full)格式显示进程信息。

Linux学习记录_服务器_08

压缩与解压缩

压缩文件:

zip [选项] 压缩包名 源文件或源目录
选项:
 -r:压缩目录

解压缩,若不指定,则会在当前文件夹下解压

unzip [选项] 压缩包名
选项:
 -d:指定解压缩位置

Vim命令

Linux学习记录_主目录_09

Linux yum 命令

yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。

基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum [options] [command] [package ...]

Linux apt 命令

apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。

apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

apt 命令执行需要超级管理员权限(root)。

apt [options] [command] [package ...]

options:可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package:安装的包名。

列出所有可更新的软件清单命令:sudo apt update

升级软件包:sudo apt upgrade

列出可更新的软件包及版本信息:apt list --upgradeable

升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade

安装指定的软件命令:sudo apt install <package_name>

安装多个软件包:sudo apt install <package_1> <package_2> <package_3>

更新指定的软件命令:sudo apt update <package_name>

显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>

删除软件包命令:sudo apt remove <package_name>

清理不再使用的依赖和库文件: sudo apt autoremove

移除软件包及配置文件: sudo apt purge <package_name>

查找软件包命令: sudo apt search <keyword>

列出所有已安装的包:apt list --installed

列出所有已安装的包的版本信息:apt list --all-versions