2024年1月12日发(作者:)

重启命令

立刻重启(root用户使用)

reboot

shutdown -r now

init 6

10分钟后自动重启(root用户使用)

shutdown -r 10

在时间为20:35时候重启(root用户使用)

shutdown -r 20:35

如果是通过shutdown命令设置重启的话,可以取消重启

shutdown -c

关机命令

立刻关机(root用户使用)

halt

poweroff

shutdown -h now

init 0

10分钟后自动关机

shutdown -h 10

hostname命令

查看主机名

hostname

设置主机名

临时修改

hostname 主机名

永久修改

vi /etc/hostname

网络服务

查看IP信息

ip a

网络连通性测试

ping [选项] 目标主机

设置网络信息

vi /etc/sysconfig/network-scripts/ifcfg-ens32

重启network网络服务

service network restart

防火墙设置

查看防火墙状态

systemctl status firewalld

关闭防火墙

systemctl start firewalld

禁止开机启动

systemctl disable firewalld

主机映射文件

修改主机名与IP映射关系

vi /etc/hosts

目录操作命令

查看工作目录(Print Working Directory)

pwd

切换工作目录(Change Directory)

cd [目录位置]

列表(List)显示目录内容

ls [选项]... [目录或文件名]

常用命令选项

-l :详细信息显示

-a:显示所有子目录和文件的信息,包括隐藏文件

-A:类似于“-a”,但不显示“.”和“…”目录的信息

-R:递归显示内容

创建新的目录(Make Directory)

mkdir [-p] [/路径/]目录名

统计目录及文件的空间占用情况(estimate file space usage)

du [选项]... [目录或文件名]

常用命令选项

-a:统计时包括所有的文件,而不仅仅只统计目录

-h:以更易读的字节单位(K、M等)显示信息

-s:只统计每个参数所占用空间总的大小

文件操作命令

新建空文件,或更新文件时间标记

touch 文件名

查看文件类型

file 文件名

复制(copy)文件或目录

cp [选项] 源文件或目录… 目标文件或目录

常用命令选项

-r:递归复制整个目录树

-p:保持源文件的属性不变

-f:强制覆盖目标同名文件或目录

-i:需要覆盖文件或目录时进行提醒

删除(Remove)文件或目录

rm [选项] 文件或目录

常用命令选项

-f:强行删除文件,不进行提醒

-i:删除文件时提醒用户确认

-r:递归删除整个目录树

移动(Move)文件或目录

mv [选项]... 源文件或目录… 目标文件或目录

如果目标位置与源位置相同,则相当于改名

显示系统命令所在目录

which <选项> command(命令名称)

常用命令选项

-a:将所有由PATH路径中可以找到的指令均列出,而不止第一个被找到的指令名称

文件内容操作命令

显示出文件的全部内容

cat

全屏方式分页显示文件内容

more

交互操作方法

按Enter键向下逐行滚动

按空格键向下翻一屏、按b键向上翻一屏

按q键退出

与more命令相同

less

查看文件开头的一部分内容(默认为10行)

head -n 文件名

查看文件结尾的少部分内容(默认为10行)

tail -n 文件名

统计文件中的单词数量(Word Count)等信息

wc [选项] 目标文件

常用命令选项

-l:统计行数

-w:统计单词个数

-c:统计字节数

查找文件里符合条件的字符串

grep [选项] <关键字> <文件…>

常用选项

-c:计算匹配关键字的行数

-i:忽略字符大小写的差别

-n:显示匹配的行及其行号

-s:不显示不存在或不匹配文本的错误信息

-h: 查询多个文件时不显示文件名

-l:查询文件时只显示匹配字符所在的文件名

–color=auto:将找到的关键字部分加上颜色显示

压缩命令

压缩(解压)文件或目录,压缩文件后缀为gz

gzip [选项] 压缩(解压缩)的文件名

常用选项

-d将压缩文件解压(decompress)

-l显示压缩文件的大小,未压缩文件的大小,压缩比(list)

-v显示文件名和压缩比(verbose)

-num用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6

压缩(解压)文件或目录,压缩文件后缀为bz2

bzip2 [-cdz] 文档名

常用选项

-c将压缩的过程产生的数据输出到屏幕上

-d解压缩的参数(decompress)

-z压缩的参数(compress)

-num 用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6

压缩、解压文件

tar [cvf]... 压缩名 文件名(压缩文件)

tar [xvf]... 文件名.tar(解压文件)

常用命令选项

-c:创建 .tar 格式的包文件

-x:解开.tar格式的包文件

-v:输出详细信息

-f:表示使用归档文件

文本编辑器

vi/vim编辑器

类Unix系统中默认的文本编辑器

vi可以执行输出、删除、查找、替换、块操作等众多文本操作, 而且用户可以根据自己的需要对其进行定制

维护Linux系统中的各种配置文件

vim编辑器

vi编辑器的增强版本,习惯上也称为vi

插入命令

定位命令

删除命令

dd:删除当前行

ndd:删除光标所在当前行向下数n行

D:删除当前行光标所在的位置后面的字符

x:向后删除光标所在位置的字符

X:向前删除光标前面的字符

nX:删除前面的n个字符,光标所在的字符将不会被删

复制和粘贴命令

yy或Y:复制当前行

nyy或nY:复制以下n行

p:在光标后面插入buffer中的内容

P:在光标前面插入buffer中的内容

替换和撤销命令

r:取代光标所在处的字符

R:从光标所在处开始替换字符,按esc结束

u:撤销上一步操作

定位命令

h:左移一个字符

l:右移一个字符

j:下移一行

k:上移一行

$:移至行尾

0:移至行首

nG:移到第n行

替换操作

: s /old/new 将当前行中查找到的第一个字符“old” 串替换为“new”

: s /old/new/g 将当前行中查找到的所有字符串“old” 替换为“new”

:#,# s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”

:% s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new”

:%s/old/new 查找文件中所有行第一次出现的old,替换为new

其他命令

:W[文件路径]保存当前文件

:q 如果未对文件做改动则退出

:q! 放弃存储名退出

:wq或:x 保存退出

可视模式

v:可视模式

V:可视行模式

Ctrl+v:可视块模式

注意:

在所有可视模式中,d和x键可以用删除选定的内容

在可视块模式中,选中所需行,按I键输入内容,之后按两次esc键,可在所有选定行光标处添加同样的内容。

用户和组

配置文件

保存用户信息的文件:

/etc/passwd

用于保存用户的帐号基本信息

每一行对应一个用户的帐号记录,一行有7个段位,用“:”隔开

保存密码的文件:

/etc/shadow

用于保存密码字串、密码有效期等信息

每一行对应一个用户的密码记录

保存用户组的文件:

/etc/group

保存组账号基本信息

文件每一行表示一组记录,包括组名、GID和组的成员,(组成员显示次组成员)

保存用户组密码的文件:

/etc/gshadow

保存组帐号的密码信息

用户组

用户组密码,如果是空或者有“!”,表示没有密码

用户组管理者

组成员,用逗号“,”隔开

用户配置文件:

/etc/default/useradd

用户角色

root用户,系统唯一,可以操作系统任何文件和命令,拥有最高权限,UID=0

虚拟用户(系统账户),不具有登录系统能力,但却是系统运行不可缺少的用户。如:bin、daemon、ftp、mail等,UID为1—499之间

普通真实用户,可以登录系统,权限有限,靠管理员创建,UID为500—60000之间

用户管理

添加用户命令

useradd

-u 指定组ID(uid)

-g 指定所属的组名(gid)

-G 指定多个组,用逗号“,”分开(Groups)

-c 用户描述(comment)

-e 失效时间(expire date)

设置密码

passwd [选项] <用户名>

-d:清空用户的密码,使之无需密码即可登录

-l:锁定用户帐号

-S:查看用户帐号的状态(是否被锁定)

-u:解锁用户帐号

-x: 最大密码使用时间(天)

-n: 最小密码使用时间(天)

修改用户命令

usermod

-l 修改用户名 (login)usermod -l a b(b改为a)

-g 添加组 usermod -g sys tom

-G添加多个组 usermod -G sys,root tom

–L 锁定用户账号密码(Lock)

–U 解锁用户账号(Unlock)

删除用户命令

userdel [选项] 用户名

-r 删除账号时同时删除目录(remove)

组管理

添加组

groupadd

1

-g 指定gid

修改用户组的属性

groupmod [选项] <用户名>

1

-g:设置想要使用的GID

-o:使用已经存在的GID

-n:设置想要使用的群组名称

添加/删除组成员

gpasswd [选项] 组帐号名

1

-a:向组内添加一个用户

-d:从组内删除一个用户成员

-M:定义组成员列表,以逗号分隔

删除组账号

groupdel <组账号名>

1

只能删除那些没有被任何用户指定为主组的组

显示用户所属组

groups [用户名]

1

权限和权限值

读( r ):读取文件的内容;列出目录里的对象

写( w ):允许修改文件;在目录里面新建或者删除文件

执行( x ):允许执行文件;允许进入目录里

除了用字母rwx来表示权限,还可以使用3位数字来表 达文件或目录的权限

读:4

写:2

执行:1

chmod命令

chmod [ugoa] [+-=] [rwx] file/dir 或 chmod nnn file/dir

1

u:属主 g:属组 o:其他用户 a:所有用户

+:添加权限 -:删除权限 =:赋予权限

nnn:三位八进制的权限

-R 递归修改指定目录下的所有子文件及文件夹的权限

-f 强制改变文件访问特权;如果是文件的拥有者,则得 不到任何错误信息

chown命令

chown 属主 file/dir

chown :属组 file/dir

chown 属主:属组 file/dir

1

2

3

-R:递归的修改指定目录下所有文件、子目录的归属

软件包管理

RPM命令使用

rpm

1

-i:安装应用程序(install)

-e:卸载应用程序(erase)

-vh:显示安装进度;(verbose hash)

-U:升级软件包;(update)

-qa: 显示所有已安装软件包(query all)

YUM命令

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum install gcc-c++

yum remove gcc-c++

yum update gcc-c++

开关机命令异同

在linux下一些常用的关机/重启命令。

wn

shutdown命令安全地将系统关机。

有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。

shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机

〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。

shutdown 参数说明:

[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。

[-r] 重启计算器。

[-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。

[-h] 关机后关闭电源〔halt〕。

[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。

[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。

[-f] 在重启计算器〔reboot〕时忽略fsck。

[-F] 在重启计算器〔reboot〕时强迫fsck。

[-time] 设定关机〔shutdown〕前的时间。

例如:

/sbin/shutdown -h now-----立即关机;

/sbin/shutdown -h 20:49----20:49分关机

/sbin/shutdown -h +10-----10分钟后关机

/sbin/shutdown -r now -----立即重启

/sbin/shutdown -r +10 ‘The system will reboot'----10分

钟后系统重启并给每个登录用户发通知

/sbin/shutdown -k now ‘The system will reboot'----仅给每个登录用户发通知并不真关机

—-最简单的关机命令

其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

参数说明:

[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。

[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。

[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。

[-f] 没有调用shutdown而强制关机或重启。

[-i] 关机〔或重启〕前﹐关掉所有的网络接口。

[-p] 该选项为缺省选项。就是关机时调用poweroff。

reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。

init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。

ff

关机,在多用户方式下(Runlevel 3)不建议使用.

/*********************************************************************************************************/

命令简介

shutdown,poweroff,reboot,halt,init都可以进行关机,大致用法。

/sbin/halt [-n] [-w] [-d] [-f] [-i] [-p] [-h]

/sbin/reboot [-n] [-w] [-d] [-f] [-i]

/sbin/poweroff [-n] [-w] [-d] [-f] [-i] [-h]

[root@linux ~]$ reboot --h

usage: reboot [-n] [-w] [-d] [-f] [-h] [-i]

-n: 停系统之前不同步

-w: 只写wtmp reboot记录并离开

-d: 不写wtmp记录

-f: 强制停机或重启

-h: 让硬盘处于单机模式

-i: 关闭所有的网络接口

关机流程

1. 刷新硬盘缓存:

2. 记录重启事件:(/var/run/utmp,/var/log/wtmp)

3. 杀掉所有进程:

4. 最后重启机器:

关机例子

# shutdown -h now #立刻关机

# shutdown -h 2:30 'halt' #2点30分关机,注意以本机时间为准

# halt -p #立刻关机

# init 0 #立即将系统运行级别切换为0,即关机

# shutdown now #切换至单人操作模式(不加任何选项时)

重启例子

# shutdown -k now 'reboot' #发出警告讯息,但没有真的关机.

# shutdown -t5 -r now #立刻重启, 但在警告和删除进程之间,延迟5秒钟.

# init 6 #立即将系统运行级别切换为6,即重启

# shutdown -r +10 'reboot' #10分钟后重启

# shutdown -c #取消之前的shutdown命令

# shutdown -r now #立刻重启

关机准备

Linux不比Windows,如果不能正常关机,因来不及将数据写回文件,可能会导致文件系统损坏。所以在关机前要注意:

1. 观察系统状态

用who命令,查看在线用户

用netstat -a命令,查看网络联机状态

用ps aux命令,查看后台执行程序

2. 通知在线用户 #shutdown -k now 'System will reboot in 30 minutes!'

3. 使用正确命令 #首先要搞清楚是关机还是重启,其次要注意参数

4. 注意数据同步 #使用sync数据同步写入磁盘

其他说明

1. 查看重启记录

# last reboot

2. 远端启动机器

# ssh root@server /sbin/reboot

# ssh root@192.168.0.1 /sbin/shutdown -r now