linux完整

wpshqr1年前LINUX424

命令

man

man 命令中常用按键以及用途

 

按键

用途

空格键

向下翻一页

PaGe down

向下翻一页

PaGe up

向上翻一页

home

直接前往首页

end

直接前往尾页

/

从上至下搜索某个关键词,如“/linux

?

从下至上搜索某个关键词,如“?linux

n

定位到下一个搜索到的关键词

N

定位到上一个搜索到的关键词

q

退出帮助文档

man 命令帮助信息的结构以及意义

 

结构名称

代表意义

NAME

命令的名称

SYNOPSIS

参数的大致使用方法

DESCRIPTION

介绍说明

EXAMPLES

演示(附带简单说明)

OVERVIEW

概述

DEFAULTS

默认的功能

OPTIONS

具体的可用选项(带介绍)

ENVIRONMENT

环境变量

FILES

用到的文件

SEE ALSO

相关的资料

HISTORY

维护历史与联系方式

echo:ech命令用于在终端输出字符串或变量提取后的值,格式为“ech[字符串 $变量]

date:date 命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。

date 中的参数以及作用:

 

参数

作用

%t

跳格[Tab ]

%H

小时(0023

%I

小时(0012

%M

分钟(0059

%S

秒(0059

%j

今年中的第几天

reboot:reboot 命令用于重启系统,其格式为 reboot。

poweroff poweroff 命令用于关闭系统,其格式为 poweroff。

wget :wget 命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。

wget 命令的参数以及作用

 

参数

作用

-b

后台下载模式

-P

下载到指定目录

-t

最大尝试次数

-c

断点续传

-p

下载页面内所有资源,包括图片、视频等

-r

递归下载

ps :ps 命令用于查看系统中的进程状态,格式为“ps [参数]”。

ps 命令的参数以及作用

 

参数

作用

-a

显示所有进程(包括其他用户的进程)

-u

用户以及其他详细信息

-x

显示没有控制终端的进程

Linux进程状态:

R(运行):进程正在运行或在运行队列中等待。

S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。

D(不可中断):进程不响应系统异步信号,即便用 kill 命令也不能将其中断。

Z(僵死):进程已经终止,但进程描述符依然存在,  直到父进程调用 wait4()系统函数后将进程释放。

           T(停止):进程收到停止信号后停止运行

注意:在 Linux 系统中的命令参数有长短格式之分,长格式和长格式之间不能合并,长格式和短格式之间也不能合并,但短格式和短格式之间是可以合并的合并后仅保留一个-(减号)即可。另外 ps 命令可允许参数不加减号(-),因此可直接写成 ps aux 的样子。

top:动态监视进程活动与负载等信息,格式为top。

pidof:用于查询某个指定服务进程的PID值,格式为"pidof[参数][服务名称]"。例如:pidof sshd

kill:用于终止某个指定PID的服务进程,格式为"kill [参数][进程PID]"

killall:用于终止某个指定名称的服务所对应的全部进程,格式为:"killall[参数][进程名称]"

ifconfig:用于获取网卡配置与网络状态等信息

uname:用于查看系统内核与系统版本等信息,格式为"uname [-a]".查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。如果要查看当前系统版本的详细信息,则需要查看 redhat-release 文件.

uptime:查看系统的负载信息,格式为uptime。

free:显示当前系统中内存的使用量信息,格式为"free [-h]".

who:用于查看当前登入主机的用户终端信息,格式为"who[参数]"

last:用于查看所有系统的登录记录,格式为"last[参数]"。

history:显示历史执行过的命令,格式为"history [-c]",-c参数用来清空所有的命令

历史命令会被保存在家目录的.bash_history文件中。

sosreport:用于收集系统配置以及架构信息并输出诊断文档,格式为sosreport。

pwd:用于显示用户当前所处的工作目录,格式为"pwd [选项]"。

cd:用于切换工作路径,格式为“cd [目录名称]”

ls:用于显示目录中的文件信息,格式为“ls [选项] [文件] ”,如果想要查看目录属性信息,则需要额外添加一个-d 参数

cat:用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”。如果显示行号,可以在cat命令后面加-n

more:用于查看纯文本文件(内容较多的),格式为“more [选项]文件”。

head:用于查看纯文本文档的前 N 行,格式为“head [选项] [文件]”。

tail:用于查看纯文本文档的后 N 行或持续刷新内容,格式为“tail [选项] [文件]”。想要实时查看最新日志文件时,这特别有用,此时的命令格式为“tail -f  文件名”。

tr:用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。先使用 cat 命令读取待处理的文本,然后通过管道符把这些文本内容传递给 tr 命令进行替换操作即可

wc:用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。

wc 的参数以及作用

 

参数

作用

-l

只显示行数

-w

只显示单词数

-c

只显示字节数

stat:用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。

cut:用于按“列”提取文本字符,格式为“cut [参数] 文本”。如果按列搜索,不仅要使用-f 参数来设置需要看的列数,还需要使用-d 参数来设置间隔符号

diff:diff 命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。在使用 diff 命令时,不仅可以使用--brief 参数来确认两个文件是否不同,还可以使用-c 参数来详细比较出多个文件的差异之处

touch命令:用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。

touch 命令的参数及其作用

 

参数

作用

-a

仅修改“读取时间”atime

-m

仅修改“修改时间”mtime

-d

同时修改atime mtime

mkdir:mkdir 命令用于创建空白的目录,格式为“mkdir [选项]  目录”。

cp:用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。

cp 命令的参数及其作用

 

参数

作用

-p

保留原始文件的属性

-d

若对象为“链接文件”,则保留该“链接文件”的属性

-r

递归持续复制(用于目录)

-i

若目标文件存在则询问是否覆盖

-a

相当于-pdrpdr 为上述参数)

mv:用于剪切文件或将文件重命名,格式为“mv [选项]  源文件 [目标路径|目标文件名]”。

rm:rm 命令用于删除文件或目录,格式为“rm [选项] 文件”。

dd:用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。

dd 命令的参数及其作用

 

参数

作用

if

输入的文件名称

of

输出的文件名称

bs

设置每个“块”的大小

count

设置要复制“块”的个数

file:用于查看文件的类型,格式为“file 文件名”

tar:用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。

tar 命令的参数及其作用

 

参数

作用

-c

创建压缩文件

-x

解开压缩文件

-t

查看压缩包内有哪些文件

-z

Gzip 压缩或解压

-j

bzip2 压缩或解压

-v

显示压缩或解压的过程

-f

目标文件名

-p

保留原始的权限与属性

-P

使用绝对路径来压缩

-C

指定解压到的目录

grep:grep 命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。

grep 命令的参数及其作用

 

参数

作用

-b

将可执行文件(binary)当作文本文件(text)来搜索

-c

仅显示找到的行数

-i

忽略大小写

-n

显示行号

-v

反向选择—仅列出没有“关键词”的行

find:用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。

nd 命令中的参数以及作用

 

参数

作用

-name

匹配名称

-perm

匹配权限(mode 为完全匹配,-mode 为包含即可)

-user

匹配所有者

-group

匹配所有组

-mtime -n +n

匹配修改内容的时间(-n n 天以内,+n n 天以前)

-atime -n +n

匹配访问文件的时间(-n n 天以内,+n n 天以前)

-ctime -n +n

匹配修改文件权限的时间(-n n 天以内,+n n 天以前)

-nouser

匹配无所有者的文件

-nogroup

匹配无所有组的文件

-newer f1 !f2

匹配比文件f1 新但比f2 旧的文件

 

--type b/d/c/p/l/f

匹配文件类型后面的字幕参数依次表示块设备、目录、字符设备、管道、

链接文件、文本文件)

 

-size

匹配文件的大小(+50KB 为查找超过 50KB 的文件,而-50KB 为查找小于

50KB 的文件)

-prune

忽略某个目录

-exec …… {}\;

后面可跟用于进一步处理搜索结果的命令(下文会有演示)

管道符、重定向与环境变量

标准输入重定向(STDIN,文件描述符为 0:默认从键盘输入,也可从其他文件或命令中输入。

标准输出重定向(STDOUT,文件描述符为 1:默认输出到屏幕。

错误输出重定向(STDERR,文件描述符为 2:默认输出到屏幕。

输入重定向中用到的符号及其作用

 

符号

作用

命令 < 文件

将文件作为命令的标准输入

命令 << 分界符

从标准输入中读入,直到遇见分界符才停止

命令 < 文件 1 > 文件 2

将文件 1 作为命令的标准输入并将标准输出到文件 2

输出重定向中用到的符号及其作用

 

符号

作用

命令 > 文件

将标准输出重定向到一个文件中(清空原有文件的数据)

命令 2> 文件

将错误输出重定向到一个文件中(清空原有文件的数据)

命令 >> 文件

将标准输出重定向到一个文件中(追加到原有内容的后面)

命令 2>> 文件

将错误输出重定向到一个文件中(追加到原有内容的后面)

命令 >> 文件 2>&1

命令 &>> 文件

将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)

对于重定向中的标准输出模式,可以省略文件描述符 1 不写,而错误输出模式的文件描述符 2 是必须要写的

反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。

单引号(''):转义其中所有的变量为单纯的字符串。

双引号(""):保留其中的变量属性,不进行转义处理。

反引号(``):把其中的命令执行后返回结果。

Linux 系统中最重要的 10 个环境变量

 

变量名称

作用

HOME

用户的主目录(即家目录)

SHELL

用户在使用的 Shell 解释器名称

HISTSIZE

输出的历史命令记录条数

HISTFILESIZE

保存的历史命令记录条数

MAIL

邮件保存路径

LANG

系统语言、语系名称

RANDOM

生成一个随机数字

PS1

Bash 解释器的提示符

PATH

定义解释器搜索用户执行命令的路径

EDITOR

用户默认的文本编辑器

计划任务

一次性计划任务:at 时间

查看已设置好但还未执行的一次性计划任务:at -l

删除计划任务:atrm任务序号

使用at命令设置计划任务时,默认采用的是交互式方法。

创建、编辑计划任务的命令:crontab -e

查看当前计划任务:crontab -l

删除某条计划任务:crontab -r

以管理员身份登录时,可以在crontab命令中加上-u参数来编辑他人的计划任务。

使用 crond 设置任务的参数字段说明

 

字段

说明

取值为 059 的整数

取值为 023 的任意整数

取值为 131 的任意整数

取值为 112 的任意整数

星期

取值为 07 的任意整数,其中 0 7 均为星期日

命令

要执行的命令或程序脚本

用户身份与文件权限

管理员 UID 0:系统的管理员用户。

系统用户 UID 1999Linux 系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。

普通用户 UID 1000 开始:是由管理员创建的用于日常工作的用户。

UID 是不能冲突的,而且管理员创建的普通用户的 UID 默认是从 1000开始的(即使前面有闲置的号码

useradd:创建新的用户,格式为“useradd [选项] 用户名”。

使用该命令创建用户账户时,默认的用户家目录会被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组。这些默认设置可以使用如下参数去设置:

useradd 命令中的用户参数以及作用

 

参数

作用

-d

指定用户的家目录(默认为/home/username

-e

账户的到期时间,格式为 YYYY-MM-DD.

-u

指定该用户的默认 UID

-g

指定一个初始的用户基本组(必须已存在)

-G

指定一个或多个扩展用户组

-N

不创建与用户同名的基本用户组

-s

指定该用户的默认 Shell 解释器

groupadd:创建用户组,格式为groupadd [选项] 群组名

usermod:修改用户的属性,格式为“usermod[选项]用户名”。

usermod 命令中的参数及作用

参数

作用

-c

填写用户账户的备注信息

-d -m

参数-m 与参数-d 连用,可重新指定用户的家目录并自动把旧的数据转移过去

-e

账户的到期时间,格式为 YYYY-MM-DD

-g

变更所属用户组

-G

变更扩展用户组


续表

参数

作用

-L

锁定用户禁止其登录系统

-U

解锁用户,允许其登录系统

-s

变更默认终端

-u

修改用户的 UID


passwd:修改用户密码、过期时间、认证信息等,格式为“passwd[选项][用户名]”

passwd 命令中的参数以及作用

参数

作用

-l

锁定用户,禁止其登录

-u

解除锁定,允许用户登录

--stdin

允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username

-d

使该用户可用空密码登录系统

-e

强制用户在下次登录时修改密码

-S

显示用户的密码是否被锁定,以及密码所采用的加密算法名称

userdel:删除用户,格式为userdel [选项] 用户名

userdel 命令的参数以及作用

参数

作用

-f

强制删除用户

-r

同时删除用户及用户家目录

文件权限与归属

-:普通文件。

d:目录文件。

l:链接文件。

b:块设备文件。

c:字符设备文件。

p:管道文件。

文件权限的字符与数字表示

权限分配

文件所有者

文件所属组

其他用户

权限项

执行

执行

执行

字符表示

r

w

x

r

w

x

r

w

x

数字表示

4

2

1

4

2

1

4

2

1

文件的特殊权限

SUID:是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效

SGID:

让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置

在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。

SGID 的第一种功能是参考 SUID 而设计的,不同点在于执行程序的用户获取的不再是文件所有者的临时权限,而是获取到文件所属组的权限。

SBIT:SBIT 特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件。换句话说,当对某个目录设置了 SBIT 粘滞位权限后,那么该目录中的文件就只能被其所有者执行删除操作了。当目录被设置 SBIT 特殊权限位后,文件的其他人权限部分的 x 执行权限就会被替换成 t 或者 T,原本有 x 执行权限则会写成 t,原本没有 x 执行权限则会被写成 T

chattr:设置文件的隐藏权限,格式为“chattr [参数] 文件”。如果想要把某个隐藏功能添加到文件上,则需要在命令后面追加“+参数”,如果想要把某个隐藏功能移出文件, 则需要追加“-参数”。

chattr 命令中用于隐藏权限的参数及其作用

 

参数

作用

 

i

无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而

不能新建或删除文件

a

仅允许补充(追加)内容,无法覆盖/删除内容(Append Only

S

文件内容在变更后立即同步到硬盘(sync

s

彻底从硬盘中删除,不可恢复(用 0 填充原文件所在硬盘区域)

A

不再修改这个文件或目录的最后访问时间(atime


 

续表

参数

作用

b

不再修改文件或目录的存取时间

D

检查压缩文件中的错误

d

使用 dump 命令备份时忽略本文件/目录

c

默认将文件或目录进行压缩

u

当删除该文件后依然保留其在硬盘中的数据,方便日后恢复

t

让文件系统支持尾部合并(tail-merging

X

可以直接访问压缩文件中的内容

lsattr:显示文件的隐藏权限,格式为“lsattr [参数] 文件”。

文件访问控制列表:

setfacl:管理文件的 ACL 规则,格式为“setfacl [参数] 文件名称”。文件的 ACL 提供的是在所有者、所属组、其他人的读//执行权限之外的特殊权限控制,使用 setfacl 命令可以针对单一用户或用户组、单一文件或目录来进行读//执行权限的控制。其中,针对目录文件需要使用-R 递归参数;针对普通文件则使用-m 参数;如果想要删除某个文件的 ACL, 则可以使用-b 参数。

getfacl:显示文件上设置的 ACL 信息,格式为“getfacl 文件名称”。

sudo:sudo 命令用于给普通用户提供额外的权限来完成原本root 管理员才能完成的任务,格式为“sudo [参数] 命令名称”。

sudo 服务中的可用参数以及作用

 

参数

作用

-h

列出帮助信息

-l

列出当前用户可执行的命令

-u 用户名或 UID 

以指定的用户身份执行命令

-k

清空密码的有效时间,下次执行 sudo 时需要再次进行密码验证

-b

在后台执行指定的命令

-p

更改询问密码的提示语

sudo 命令具有如下功能:

限制用户执行指定的命令:

记录用户执行的每一条命令;

配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;

验证密码的后 5 分钟内(默认值)无须再让用户再次验证密码。

如果担心直接修改配置文件会出现问题,则可以使用 sudo 命令提供的 visudo 命令来配置用户权限。这条命令在配置用户权限时将禁止多个用户同时修改 sudoers 配置文件,还可以对配置文件内的参数进行语法检查,并在发现参数错误时进行报错。

只有 root 管理员才可以使用 visudo 命令编辑 sudo 服务的配置文件。

存储结构与磁盘划分

Linux 系统中常见的目录名称以及相应内容

 

目录名称

应放置文件的内容

/boot

开机所需文件—内核、开机菜单以及所需配置文件等

/dev

以文件形式存放任何设备与接口

/etc

配置文件

/home

用户家目录

/bin

存放单用户模式下还可以操作的命令

/lib

开机时用到的函数库,以及/bin /sbin 下面的命令要调用的函数

/sbin

开机过程中需要的命令

/media

用于挂载设备文件的目录

/opt

放置第三方的软件

/root

系统管理员的家目录

/srv

一些网络服务的数据文件目录

/tmp

任何人均可使用的“共享”临时目录

/proc

虚拟文件系统,例如系统内核、进程、外部设备及网络状态等

/usr/local

用户自行安装的软件

/usr/sbin

Linux 系统开机时不会使用到的软件/命令/脚本

/usr/share

帮助与说明文件,也可放置共享文件

/var

主要存放经常变化的文件,如日志

/lost+found

当文件系统发生错误时,将一些丢失的文件片段存放在这里

常见的硬件设备及其文件名称

 

硬件设备

文件名称

IDE 设备

/dev/hd[a-d]

SCSI/SATA/U

/dev/sd[a-p]

软驱

/dev/fd[0-1]

打印机

/dev/lp[0-15]

光驱

/dev/cdrom

鼠标

/dev/mouse

磁带机

/dev/st0 /dev/ht0

系统采用 ap 来代表 16 块不同的硬盘(默认从 a 开始分配,而且硬盘的分区编号也很有讲究:

主分区或扩展分区的编号从 1 开始,到 4 结束;

逻辑分区从编号 5 开始。


相关文章

0x01-linux基础

0x01-linux基础

linux账户实质Linux操作系统是多用户的操作系统,它允许多个用户同时登录到系统上,使用系统资源。当多个用户同时使用系统时,为了系统自身安全和稳定,必须建立一种秩序,使每个用户的权限都能得到规范。...

0x00-Linux基础

0x00-Linux基础

·Shellshell:shell是系统的用户界面,提供了用户与内核进行进行交互的一种接口(命令解释           器),Shell接收用户输入...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。