最近租了一台华为云的服务器,主要是为了练习一些常用的linux命令。
话不多说,发车了。
文件基本属性
首先是文件基本属性的设定了,这个我们时常接触到,比如使用ll命令来查询文件时:
可以看到在文件名前出现了很多参数,其所代表的含义如下:
在Linux系统中,用户是按照组来分类的,对于一个文件,下面介绍其不同用户所具有的权限。
首先属主权限指的便是文件所有者,属组权限指的是与属主同一组的用户,其他用户则是与属主不同组的用户。
更改文件属性
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,也就是可以使用下表的方式来看:
文件目录管理
处理目录的常用命令:
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 列出容量显示;
进程管理
ps命令为查看进程
-e:显示系统内所有进程的信息。与 -A 选项功能相同
-f:使用完整 (full) 的格式显示进程信息,如果只有 ps -e 则输出进程信息的格式和只使用 ps 一样
(都只有PID TTY TIME CMD这几项,但是输出信息的内容和ps的不一样)
各字段含义如下:
UID:启动该进程的用户的 ID 号
PPID:代表该进程的父进程的 ID 号
C:进程的 CPU 处理器利用率
STIME/START:表示进程的启动时间
ps -aux可以更好的查看详细信息:
a:显示当前终端下的所有进程信息,包括其他用户的进程
u:实验以永固为主的格式输出进程信息
x:显示当前用户在所有终端下的进程
e:显示系统内所有的进程信息
f:使用完整的(full)格式显示进程信息。
压缩与解压缩
压缩文件:
zip [选项] 压缩包名 源文件或源目录
选项:
-r:压缩目录
解压缩,若不指定,则会在当前文件夹下解压
unzip [选项] 压缩包名
选项:
-d:指定解压缩位置
Vim命令
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