目录
一、Linux权限设置
更改文件属性
chgrp - 更改文件属组
chown - 更改文件所有者,也可以同时更改文件所属组。
chmod - 更改文件属性
二、Linux文件与目录管理
处理目录的常用命令
ls(list files)- 列出目录及文件名
cd(change directory)- 切换目录
pwd(print work directory)- 显示当前目录
mkdir(make directory)- 创建新目录
rmdir(remove directory)- 删除空目录
cp(copy file)- 复制文件或目录
rm(remove)- 删除文件或目录
mv(move file)- 移动文件与目录,或修改文件与目录的名称
Linux文件内容查看
cat - 从第一行开始显示文件内容
tac - 从最后一行开始显示,正好是cat倒着写
nl - 显示的时候,输出行号
more - 一页一页的显示文件内容
less - 往前翻页显示文件内容
head - 显示文件前几行
tail - 显示文件后几行
三、Linux 进程命令
ps - 查看进程
top - 动态显示运行中的进程
kill - 结束进程
四、Linux用户和用户组管理
用户管理
useradd - 添加用户
userdel - 删除用户
usermod - 修改用户
用户组管理
groupadd - 添加用户组
groupdel - 删除用户组
groupmod - 修改用户组
五、Linux磁盘管理
df(disk free)- 列出文件系统的整体磁盘使用量
du(disk used)- 检查磁盘空间使用量
fdisk - 用于磁盘分区
mkfs - 磁盘格式化
mount - 磁盘挂载
umount - 磁盘卸载
六、Linux yum命令
yum常用命令
七、Linux apt命令
apt 常用命令
一、Linux权限设置
在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:
- chown (change owner) : 修改所属用户与组。
 - chmod (change mode) : 修改用户的权限。
 
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。
- 当为 d 则是目录
 - 当为 - 则是文件
 - 若是 l 则表示为链接文档
 - 若是 b则表示为装置文件里面的可供储存的接口设备(可随机存取装置)
 - 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标
 
剩下的字符三个为一组,且均为 rwx三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x代表可执行(execute)。 这三个权限的位置不会改变,如果没有权限,就会出现减号 - 。每个文件的属性由左边第一部分的 10 个字符来确定。

从左至右用 0-9 这些数字来表示。
第 0 位确定文件类型。
第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。
第 4-6 位确定属组(所有者的同组用户)拥有该文件的权限。
第 7-9 位确定其他用户拥有该文件的权限。
第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。
更改文件属性
chgrp - 更改文件属组
语法:
chgrp [-R] 属组名 文件名 
参数选项
- -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。
 
chown - 更改文件所有者,也可以同时更改文件所属组。
语法:
chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名 
进入 /root 目录(~)将test.log的拥有者改为bin这个账号:
[root@www ~]# chown bin test.log
 
将test.log的拥有者与群组改回为root:
[root@www ~]# chown root:root test.log 
chmod - 更改文件属性
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。
我们可以使用数字来代表各个权限,各权限的分数对照表如下:
- r : 4
 - w : 2
 - x : 1
 
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx--x 分数则是:
- owner = rwx = 4+2+1 = 7
 - group = rwx = 4+2+1 = 7
 - others= --- = 0+0+1 = 1
 
所以等一下我们设定权限的变更时,该文件的权限数字就是 771。
变更权限的指令 chmod 的语法:
 chmod [-R] xyz 文件或目录 
选项与参数:
- xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
 - -R : 进行递归的持续变更,以及连同次目录下的所有文件都会变更
 
例如:如果要将 .env这个文件所有的权限都设定启用,命令如下:
[root@www ~]# chmod 777 .env 
二、Linux文件与目录管理
处理目录的常用命令
ls(list files)- 列出目录及文件名
语法:
  ls [options] 目录名称 
选项与参数:
- -a :列出全部的文件,包含隐藏文件
 - -d :仅列出目录本身,而不是列出目录内的文件数据
 - -l :长数据串列出,包含文件的属性与权限等数据
 
cd(change directory)- 切换目录
语法:
cd [相对路径或绝对路径]
 
# 表示回到自己的家目录
cd ~
# 表示去到目前的上一级目录
cd .. 
pwd(print work directory)- 显示当前目录
语法:
pwd [-P] 
选项与参数:
- -P :显示出确实的路径,而非使用链接 (link) 路径。
 
mkdir(make directory)- 创建新目录
语法:
  mkdir [options] 目录名称 
选项与参数:
- -m :配置文件的权限
 - -p :将所需要的目录(包含上一级目录)递归创建
 
mkdir -m 711 test2
mkdir -p test1/test2/test3/test4 
rmdir(remove directory)- 删除空目录
语法:
 rmdir [-p] 目录名称 
选项与参数:
- -p :从该目录起,一次删除多级空目录
 
cp(copy file)- 复制文件或目录
语法:
  cp [options] 源文件 目标文件 
选项与参数:
-  
-a:相当于 -pdr 的意思
 -  
-d:若来源档为链接档的属性(link file),则复制链接档属性而非文件本身
 -  
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次
 -  
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行
 -  
-l:进行硬式链接(hard link)的链接档创建,而非复制文件本身
 -  
-p:连同文件的属性一起复制过去,而非使用默认属性
 -  
-r:递归持续复制,用於目录的复制行为
 -  
-s:复制成为符号链接档
 -  
-u:若 destination 比 source 旧才升级 destination !
 
rm(remove)- 删除文件或目录
语法:
 rm [options] 文件或目录 
选项与参数:
- -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息
 - -i :互动模式,在删除前会询问使用者是否动作
 - -r :递归删除
 
mv(move file)- 移动文件与目录,或修改文件与目录的名称
语法:
 mv [options] source destination 
选项与参数:
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
 - -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
 - -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
 
Linux文件内容查看
cat - 从第一行开始显示文件内容
语法:
cat [options] 文件 
选项与参数:
- -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已
 - -b :列出行号,仅针对非空白行做行号显示,空白行不标行号
 - -E :将结尾的断行字节 $ 显示出来
 - -n :列印出行号,连同空白行也会有行号
 - -T :将 [tab] 按键以 ^I 显示出来
 - -v :列出一些看不出来的特殊字符
 
tac - 从最后一行开始显示,正好是cat倒着写
语法:
tac [options] 文件 
nl - 显示的时候,输出行号
语法:
nl [options] 文件 
选项与参数:
- -b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值); - -n :列出行号表示的方法,主要有三种:
-n ln :行号在荧幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ; - -w :行号栏位的占用的位数。
 
more - 一页一页的显示文件内容
- 空白键 (space) :代表向下翻一页
 - Enter :代表向下翻『一行』
 - /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字
 - :f :立刻显示出档名以及目前显示的行数
 - q :代表立刻离开 more ,不再显示该文件内容
 - b 或 [ctrl]-b :代表往回翻页,只对文件有用
 
less - 往前翻页显示文件内容
- 空白键 :向下翻动一页
 - [pagedown] :向下翻动一页
 - [pageup] :向上翻动一页
 - /字串 :向下搜寻『字串』的功能
 - ?字串 :向上搜寻『字串』的功能
 - n :重复前一个搜寻 (与 / 或 ? 有关)
 - N :反向的重复前一个搜寻 (与 / 或 ? 有关)
 - q :离开 less 这个程序
 
head - 显示文件前几行
语法:
head [-n number] 文件  
选项与参数:
- -n :后面接数字,代表显示几行
 
tail - 显示文件后几行
语法:
tail [-n number] 文件  
选项与参数:
- -n :后面接数字,代表显示几行
 - -f :表示持续监测后面所接的档名
 
三、Linux 进程命令
ps - 查看进程
语法:
ps [options] 
选项与参数:
- -a:显示所有进程信息
 - -e:显示系统内的所有进程信息
 - -l:(long)使用长格式显示进程信息
 - -f:(full)使用完整的格式显示进程信息
 - -u:使用用户为主的格式来显示程序状态
 - -x:不区分终端机
 - -r:仅显示终端机正在执行中的程序
 - -w 显示加宽可以显示较多的资讯
 - -au 显示较详细的资讯
 - -aux 显示所有包含其他使用者的进程
 
aux输出格式:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 
- USER: 行程拥有者
 - PID: pid
 - %CPU: 占用的 CPU 使用率
 - %MEM: 占用的记忆体使用率
 - VSZ: 占用的虚拟记忆体大小
 - RSS: 占用的记忆体大小
 - TTY: 终端的次要装置号码
 -  
STAT: 该行程的状态:
- D: 无法中断的休眠状态 (通常 IO 的进程)
 - R: 正在执行中
 - S: 静止状态
 - T: 暂停执行
 - Z: 不存在但暂时无法消除
 - W: 没有足够的记忆体分页可分配
 - <: 高优先序的行程
 - N: 低优先序的行程
 - L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
 
 - START: 行程开始时间
 - TIME: 执行的时间
 - COMMAND:所执行的指令
 
ps常用命令
ps -elf                   # 显示所有命令
ps -u username            # 查看名为 username 的用户进程
ps -ef | grep 进程关键字   # 查找指定进程
ps -aux                   # 显示所有包含其他使用者的进程 
top - 动态显示运行中的进程
语法:
top [options] 
选项与参数:
-d <秒数>:指定 top 命令的刷新时间间隔,单位为秒。-n <次数>:指定 top 命令运行的次数后自动退出。-p <进程ID>:仅显示指定进程ID的信息。-u <用户名>:仅显示指定用户名的进程信息。-H:在进程信息中显示线程详细信息。-i:不显示闲置(idle)或无用的进程。-b:以批处理(batch)模式运行,直接将结果输出到文件。-c:显示完整的命令行而不截断。-S:累计显示进程的 CPU 使用时间。
kill - 结束进程
语法:
kill [-signal] pid 
选项与参数:
- -signal:信号值
 - -pid:进程号
 
kill常用命令
kill -9 pid            # 强制结束进程
kill -1 pid            # 重新加载进程
kill -15 pid           # 正常停止一个进程 
四、Linux用户和用户组管理
用户管理
useradd - 添加用户
语法:
 useradd 选项 用户名 
选项与参数:
- -c 指定一段注释性描述
 - -d 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
 - -g 指定用户所属的用户组
 - -G 指定用户所属的附加组
 - -s 指定用户的登录Shell
 - -u 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
 
userdel - 删除用户
语法:
  userdel 选项 用户名 
选项与参数:
- -r 一起删除用户的主目录
 
usermod - 修改用户
语法:
 usermod 选项 用户名 
选项与参数:
- -c 指定一段注释性描述
 - -d 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
 - -g 指定用户所属的用户组
 - -G 指定用户所属的附加组
 - -s 指定用户的登录Shell
 - -u 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
 
用户组管理
groupadd - 添加用户组
语法:
 groupadd 选项 用户组 
选项与参数:
- -g GID 指定新用户组的组标识号(GID)。
 - -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
 
groupdel - 删除用户组
语法:
 groupdel  用户组 
groupmod - 修改用户组
语法:
 groupmod 选项 用户组 
选项与参数:
- -g GID 为用户组指定新的组标识号。
 - -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
 - -n新用户组 将用户组的名字改为新名字
 
五、Linux磁盘管理
df(disk free)- 列出文件系统的整体磁盘使用量
语法:
df [options] [目录或文件名] 
选项与参数:
- -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统
 - -k :以 KBytes 的容量显示各文件系统
 - -m :以 MBytes 的容量显示各文件系统
 - -h :以较易阅读的 GBytes, MBytes, KBytes 等格式显示
 - -H :以 M=1000K 取代 M=1024K 的进位方式
 - -T :显示文件系统类型
 - -i :不用硬盘容量,而以 inode 的数量来显示
 
du(disk used)- 检查磁盘空间使用量
语法:
du [options] 文件或目录名称
 
选项与参数:
- -a :列出所有的文件与目录容量
 - -h :以较易读的容量格式 (G/M) 显示
 - -s :仅显示指定目录或文件的总大小
 - -S :包括子目录下的总计,与 -s 有点差别
 - -k :以 KBytes 列出容量显示
 - -m :以 MBytes 列出容量显示
 
fdisk - 用于磁盘分区
语法:
fdisk [options] 装置名称 
选项与参数:
- -l :输出后面接的装置所有的分区内容
 
mkfs - 磁盘格式化
语法:
mkfs [-t 文件系统格式] 装置文件名 
选项与参数:
- -t :可以接文件系统格式
 
mount - 磁盘挂载
语法:
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点 
umount - 磁盘卸载
语法:
umount [-fn] 装置文件名或挂载点 
选项与参数:
- -f :强制卸除
 - -n :不升级 /etc/mtab 情况下卸除
 
六、Linux yum命令
yum 语法:
yum [options] [command] [package ...] 
- -h:帮助
 - -y:当安装过程提示选择全部为 "yes"
 - -q:不显示安装的过程
 - command:要进行的操作
 - package:安装的包名
 
yum常用命令
1. 列出所有可更新的软件清单命令:yum check-update
2. 更新所有软件命令:yum update
3. 仅安装指定的软件命令:yum install <package_name>
4. 仅更新指定的软件命令:yum update <package_name>
5. 列出所有可安裝的软件清单命令:yum list
6. 删除软件包命令:yum remove <package_name>
7. 查找软件包命令:yum search <keyword>
8. 清除缓存命令:
- 清除缓存目录下的软件包:yum clean packages
 - 清除缓存目录下的 headers:yum clean headers
 - 清除缓存目录下旧的 headers:yum clean oldheaders
 - 清除缓存目录下的软件包及旧的 headers:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
 
七、Linux apt命令
apt 语法:
  apt [options] [command] [package ...] 
- -h:帮助
 - -y:当安装过程提示选择全部为 "yes"
 - -q:不显示安装的过程
 - command:要进行的操作
 - package:安装的包名
 
apt 常用命令
-  
列出所有可更新的软件清单命令: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
 



















