Linux常用命令(bash的使用、关机和重启命令)

Linux常用命令(博客地图):https://blog.csdn.net/sysukehan/article/details/105804511

 

1、bash的登录与欢迎信息

登录信息:/etc/issue

欢迎信息:/etc/motd

 

2、bash shell的功能

命令记忆能力:history

在命令行中按上下键就能找到前一个后一个输入的命令,命令记录在主文件夹内的.bash_history中。需要注意的是,~/.bash_history记录的是前一次登录以前所执行过的命令,至于这一次登录所执行的命令都被暂存在临时内存中,当成功注销系统之后,该命令记忆才会记录到.bash_history当中。

history [n]

history [-c]

history [-raw] histfiles

参数:

n:数字,列出最近的n条命令行的意思。

-c:将目前shell中的所有history内容全部消除。

-a:将目前新增的history命令新增入histfiles中,若没有加histfiles,则默认写入~/.bash_history。

-r:将histfiles的内容读到目前这个shell的history记忆中。

-w:将目前的history记忆内容写入histfiles中。

Linux常用命令(bash的使用、关机和重启命令)_第1张图片

 

命令与文件补全功能([Tab]按键的好处)

[Tab]接在一串命令的第一个字后面,则为命令补全;[Tab]接在一串命令的第二个字以后时,则为文件补齐。

 

命令别名设置功能(alias)

为一个命令设置别名,如alias lm=’ls -al’,这样在当前bash中,执行lm命令就相当于执行ls -al命令。取消别名用unalias lm。

 

3、查看命令是否是bash内置命令:type

type [-tpa] name

参数:

不加任何参数时,type会显示出name是外部命令还是bash内置命令。

Linux常用命令(bash的使用、关机和重启命令)_第2张图片

-t:当加入-t参数时,type会将name以下面这些字眼显示出它的意义:

       file:表示为外部命令。

       alias:表示该命令为命令别名所设置的名称。

       builtin:表示该命令为bash内置的命令功能。

-p:如果后面接的name为外部命令时,才会显示完整文件名。

-a:会在PATH变量定义的路径中,将所有含name的命令都列出来,包含alias。

 

4、变量的显示和设置

变量:以一组文字或符号等,来替代一些设置或者是一串保留的数据。

 

变量的显示:echo

 

变量的设置

将myname这个变量名称的内容设置为kehan

Linux常用命令(bash的使用、关机和重启命令)_第3张图片

变量的设置规则:

1)变量与变量内容以一个等号“=”来连接;

2)等号两边不能直接接空格符(错误示例:my name=kehan或myname=ke han);

3)变量名称只能是英文字母与数字,但是开头字符不能是数字(错误示例:2myname=kehan)

4)变量内容若有空格符可使用双引号“””或单引号“‘”将变量内容结合起来,但是

  • 双引号内的特殊字符如$等,可以保有原本的特性,如下所示:

若var=”lang is $LANG”,则echo $var可得lang is en_US

  • 单引号内的特殊字符仅为一般字符(纯文本),如下所示:

若var=’lang is $LANG’,则echo $var可得lang is $LANG

5)可用转义字符“\”将特殊字符(如[Enter]、$、\、空格符、!等)变成一般字符。

6)在一串命令中,还需要通过其他的命令提供的信息,可以使用反单引号“`命令`”或“$(命令)”,例如想要取得内核版本的设置:

version=$(uname -r)再echo $version可得4.15.0-45-generic

Linux常用命令(bash的使用、关机和重启命令)_第4张图片

7)若该变量为了增加变量内容时,则可用“$变量名称”或${变量}累加内容,如下所示:

PATH=”$PATH”:/home/bin

8)若该变量需要在其他子进程执行,则需要以export来使变量变成环境变量:

export PATH

9)通常大写字符为系统默认变量,自行设置变量可以使用小写字符,方便判断。

10)取消变量的方法:unset 变量名称

如:unset myname

Linux常用命令(bash的使用、关机和重启命令)_第5张图片

 

5、环境变量

查看环境变量(列出目前的shell环境下的所有环境变量):env

Linux常用命令(bash的使用、关机和重启命令)_第6张图片

HOME:用户的主文件夹。

SHELL:目前环境使用的shell是哪个程序。

MAIL:使用mail命令在收信时系统会去读取的邮件信箱文件。

PATH:执行文件查找的路径,目录与目录中间以冒号(:)分隔,由于文件的查找是依序由PATH的变量内的目录来查询,所以目录的顺序也是重要的。

LANG:语系数据

 

查看所有变量(含环境变量和自定义变量):set

 

自定义变量转为环境变量:export

因为子进程只会继承父进程的环境变量,不会继承自定义变量,因此如果需要让子进程使用父进程的自定义变量,需要把父进程的自定义变量转为环境变量。如export myname。

 

6、命名别名的设置和取消:alias、unalias

1、给惯用命令起一个别名,达到简化输入的目的,如alias lm=’ls -l | more’;

2、用别名替换现有的命令,达到减少危险误操作的目的,如alias rm=’rm -i’;

直接用alias命令可以查看目前有哪些别名:

Linux常用命令(bash的使用、关机和重启命令)_第7张图片

unalias可以用于取消别名,如unalias rm。

 

7、路径与命令查找顺序

1、以相对/绝对路径执行命令,例如“/bin/ls”或“./ls”;

2、由alias找到该命令来执行;

3、由bash内置的命令来执行;

4、通过$PATH这个变量的顺序找到的第一个命令来执行;

 

8、bash的环境配置文件

1、/etc/profile:系统整体的设置,最好不要修改;

Linux常用命令(bash的使用、关机和重启命令)_第8张图片

2、~/.bash_profile或~/.bash_login或~/.profile:属于用户个人设置,修改自己的设置就写入这里;

 

/etc/profile还会调用/etc/profile.d/目录下的所有sh文件。只要在/etc/profile.d/这个目录内且扩展名为.sh,另外用户能够具有r的权限,那么该文件就会被/etc/profile调用。

bash在读完整体环境设置的/etc/profile并借此调用其他配置文件后,接下来则是会地区用户的个人配置文件。在login shell的bash环境中,所读取的个人偏好配置文件其实主要有三个,依次是:

~/.bash_profile

~/.bash_login

~/.profile

bash只会按顺序读取三个中的一个,如果~/.bash_profile存在,那么~/.bash_login和~/.profile不会被读取。

 

读入环境配置文件的命令:source

利用source或小数点(.)都可以将配置文件的内容读进目前的shell环境中。举例来说,如果修改了~/.bash_profile文件,执行source ~/.bash_profile或. ~/.bash_profile命令就可以把环境变量重新加载一遍。

 

9、Linux系统的在线求助:man

在不知道某个命令如何使用时,可以使用man command来获取帮助,man是manual(操作说明)的简写,如man date

Linux常用命令(bash的使用、关机和重启命令)_第9张图片

 

10、不考虑命令相关性的连续命令执行:cmd;cmd

希望一次性执行多个命令的时候,可以用分号;把命令隔开。这样一来,分号前的命令执行完后就会立刻接着执行后面的命令了。如:sync;sync;sync;sync;shutdown –r now

 

11、正确的关机方法

数据同步写入磁盘:sync

在默认的情况中,某些已经加载到内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,如此一来,如果一个数据被你重复改写,那么由于它尚未被写入硬盘中,因此可以直接由内存当中读取出来,在速度上会提升很多。但是万一系统因为某些特殊情况造成不正常关机(如机房掉电等情况)时,由于数据尚未被写入硬盘当中,所以就会造成数据的更新不正常。这个时候就需要sync这个命令来进行数据的写入操作。直接在命令行界面输入sync,在内存中尚未被更新的数据就会被写入硬盘中。所以,这个命令在系统关机或重启之前最好多执行几次。

虽然目前的shutdown/reboot/halt等命令均已在关机前进行了sync这个工具的调用,还是手动调用几次比较保险,一般会在关机或重启前执行sync;sync;sync;sync。

 

惯用的关机命令:shutdown

/sbin/shutdown [-t 秒] [-arkhncfF] 时间 [警告信息]

参数:

-t sec:-t后面加秒数,也即“过几秒后关机”的意思。

-k:不要真的关机,只是发送警告信息出去。

-r:在将系统的服务停掉之后就重启。

-h:将系统的服务停掉后,立即关机。

-f:关机并开机之后,强制略过fsck的磁盘检查。

-F:系统重启之后,强制进行fsck的磁盘检查。

-c:取消已经在进行的shutdown命令内容。

时间:这是一定要加入的参数,指定系统关机的时间。

举例:

shutdown -h now,立刻关机,now相当于时间为0的状态。

shutdown -h 20:25,系统在今天的20:25分会关机,如果当前时间已经过了20:25(如当前时间是21:25),那么隔天的20:25才会关机。

shutdown -h +10,系统再过10分钟后自动关机。

shutdown -r now,系统立刻重启。

shutdown -r +30 ‘The system will reboot’,再过三十分钟系统会重启,并显示后面的消息给所有在线的用户。

shutdown -k now ‘The system will reboot’,仅发出警告信件,系统并不会关机。

 

参考资料

《鸟哥的Linux私房菜基础学习篇(第三版)》

 

 

你可能感兴趣的:(Linux)