Linux基础知识总结
目录
pwd(print work directory)-?显示当前目录
rmdir(remove directory)-?删除空目录
mv(move file)-?移动文件与目录,或修改文件与目录的名称
一、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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!