• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Linux命令大全(1)

互联网 diligentman 2周前 (10-16) 16次浏览

Linux命令大全(1)

所用的参考书:Linux实用教程第三版、Linux操作系统项目化教程

所需的软件为CENTos7和VMWAREworkstationpro

字符界面基础:

安装Linux系统后,系统启动默认进入的图形化界面,可以通过使用以下命令来进入字符界面,重启之后再生效

[root@rhel ~]#systemctl get-default

会出现graphical.target,这条语句表示图形化界面

[root@rhel ~]#systemctl set-default multi-user.target

将multi-user.target目标设置为启动计算机系统后要进入的默认目标multi-user.target表示字符界面

虚拟控制台

Linux系统可以同时接收多个用户登录,还允许用户在同一时间进行多次登录,因为Linux提供了虚拟控制台的访问方式。在字符界面下,虚拟控制台的选择可以通过按下【ALT】键和一个功能键来实现。通常使用【F1】-【F6】键

Eg:用户登录后,按【ALT+F2】组合键,用户可以看到login:提示符,说明用户进入了第二个虚拟控制台然后只需按【ALT+F1组合键】就可以回到第一个控制台

如果用户在图形界面下,那么可以使用【Ctrl+alt+F2】~【Ctrl+alt+F6】组合键切换字符虚拟控制台,使用【ctrl+Alt+F1】组合键可以切换到图形界面,虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性

关闭和重启Linux系统

  1. shutdown命令

shutdown命令可以安全的关闭或重启Linux系统

在系统关机前使用shutdown命令,系统管理员会通知一条警告信息给所有登录的用户,告诉他们系统将要关闭,新的用户不能在登录,直接关机或者延迟一定时间才关机都是可能的,还可能重启

Shutdown命令还允许用户指定一个时间参数,该参数可以是一个精确地时间,也可以是现在开始的一个时间段,精确时间的格式是hh:mm,表示小时和分钟,时间段由+和分钟数表示。

命令语法

Shutdown [选项]  [时间]  [警告信息]

当选项为-k时,意味着并不执行shutdown,只是发出警告信息给所有用户。

当选项为-r时,意味着重新启动系统

当选项为-h时,意味着关闭系统

当选性为-c时,意味着取消运行shutdown

Eg:

立即关闭计算机系统

[root@rhel ~]# shutdown -h now

定时45分钟后关闭计算机系统

[root@rhel ~]#shutdown -h +45

//在这里使用shutdown -h  45和shutdown -h +45起到一样作用

立即重新启动计算机系统,并发出警告信息

[root@rhel ~]#shutdown -r now  “system will be reboot now.”

定时在1点38分重新启动计算机系统

[root@rhel ~]# shutdown  -r  01:38

  1. halt命令

使用halt命令就是调用shutdown -h命令执行关机任务

命令语法

Halt [选项]

当选项为-w时,意味着并不真正的关闭系统,只是写入到/var/log/wtmp文件中

当选性为-d时,意味着关闭系统,不把记录写到/var/log/wtmp文件中

当选项为-f时,意味着没有调用shutdown而强制关闭系统

Eg:

使用halt命令关闭系统

reboot命令

Reboot的工作过程与halt相似,不过reboot是引发计算机重启,而halt是引发计算机关闭,它的选项与halt相似

当选项为-w时,意味着并不真正的关闭系统,只是写入到/var/log/wtmp文件中

当选项为-d时,意味着重启系统,不把记录写到/var/log/wtmp文件中

当选项为-f时,意味着没有调用shutdown而强制重新启动系统

在Linux系统下获得帮助

使用man手册页

man是一种显示Unix/Linux在线手册的命令,可以用来查看命令、函数或者是文件的帮助手册,另外它还可以显示一些gzip压缩格式的文件,有不懂的命令可以用man查看这个命令,写程序时有不会用的函数可以用man查看这个函数有不懂的文件也可以用man查看文件

一般情况下man手册页的资源主要位于/usr/share/man目录下,使用以下命令显示

[root@rhel ~]# ls -d /usr/share/man/man?

可以用一个数字来表示手册页的不同类型

语法格式类型

Man [选项] [名称]

帮助参数类型

当选项为-a时意味着在所有的man帮助手册中搜索

当选项为-f时意味着等价于whatis命令,显示给定关键字的简短描述信息

当选项为-p时意味着指定内容使用分页程序

当选项为-M时意味着制定man手册搜索的路径

当选项为-d时,主要用于检查,如果用户加入了一个新的文件,就可以用这个选项检查是否出错,这个选项并不会列出文件内容

当选项为-w时,不显示手册页内容,只显示将被格式化和显示的文件所在位置

Eg:查询cat命令的帮助信息

[root@rhel ~]#man -a cat

显示pwd命令的man手册页

[root@rhel ~]# man pwd

使用-help选项获取帮助

使用-help选项可以显示命令的使用方法以及命令的选项含义,只需在所需要显示的命令后面输入–help选项,就可以看到所查命令的帮助内容了

命令语法:

[命令] –help

Eg:使用–help选项查看mkdir命令的帮助信息

[root@rhel ~]#mkdir –help

Shell基础

linux系统中,shell是最常使用的程序,其主要作用是侦听用户指令、启动命令所指定的进程并将结果返回给用户,bash目前是大多数Linux系统默认的shell

Bash命令

当登录系统或打开一个终端窗口时,首先看到的是bash Shell 提示符。Linux系统的标准提示符包括了用户登录名、登录的主机名,当前所在的工作目录路径和提示符号。

以普通用户zhangsan登录名为rhel的主机,它的工作目录是/home/zhangsan

[zhangsan@rhel ~]$

以root用户登录系统的提示符如下所示

[root@rhel ~]#

除了不同的用户外,提示符号由$变成了#,根据bash的传统,普通用户的提示符以$结尾,而超级用户以#结尾,提示符的每个部分都可以定制

要运行命令的话,只需要在提示符后敲进命令,然后按回车键,shell将在其路径中搜索这个命令,找到以后就运行,并在终端里输出相应的结果,命令结束后,再给出新的提示符。

例:[zhangsan@rhel ~]$ whoami

Zhangsan

//显示当前登录Linux系统的用户是zhangsan

普通用户向超级用户的转换

[zhangsan@rhel ~]$su root 更改普通用户到超级用户

在这里属于密码

[zhangsan@rhel ~]#                                     //变为这个超级用户

一个shell命令可能含有一些选项和参数,其一般格式为

[Shell命令] [选项] [参数]

下面举一个例子来详细描述Shell命令格式

[root@rhel ~]#ls -l /root

其中-l 是命令ls的一个选项,而/root则是参数

选项有短命令选项和长命令选项两种

例1:[root@rhel ~]# ls -l /root

//这个命令为短命令

下面两种方法使用了一样的效果

[root@rhel ~]#ls -l  -a /root

[root@rhel ~]#ls -la /root

 

下面这个实例就使用了长命令行选项

[root@rhel ~]# ls –size /root

linux系统中,命令可以分为以下两大类

Bash内置的命令和应用程序

如果是bash内置的命令,则由bash负责回应,如果是应用程序,那么shell会找出该应用程序,然后将控制权交给内核,由内核执行该应用程序,执行完之后,再将控制权交给shell

使用which命令可以查看哪些命令是bash内置的命令,哪些是应用程序

例:查看echo和ls命令

[root@rhel ~]#which echo

[root@rhel ~]#which ls

 

3.4 使用bash

常用控制组合键

Ctrl+L:清屏

Ctrl+o:执行当前命令,并选择上一条命令

Ctrl+s:阻止屏幕输出

Ctrl+q:允许屏幕输出

Ctrl+c:终止命令

Ctrl+z:挂起命令

Ctrl+m:相当于按回车键

Ctrl+d:输入结束,即EOF的意思,或者注销Linux系统

光标操作

Ctrl+a:移动光标到命令行首

Ctrl+e:移动光标到命令行尾

Ctrl+f:按字符前移(向右)

Ctrl+b:按字符后移(向左)

Ctrl+xx:在命令行首和光标之间移动

Ctrl+u:删除从光标到命令行首的部分

Ctrl+k:删除从光标到命令行尾的部分

Ctrl+w:删除从光标到当前单词开头的部分

Ctrl+d:删除光标处的字符

Ctrl+h:删除光标前的一个字符

Ctrl+y:插入最近删除的单词

Ctrl+t:交换光标处字符和光标前面的字符

ALT+f:按单词前移(向右)

ALT+b:按单词后移(向左)

ALT+d:从光标处删除至单词尾

ALT+c:从光标处更改单词为首字母大写

ALT+u:从光标处更改单词为全部大写

ALT+L:从光标处更改单词为全部小写

ALT+t:交换光标处单词和光标前面的单词

ALT+Backspace:与ctrl+w功能类似,分隔符有些差别

特殊字符

~:用户主目录

`:反引号,用来命令替代

#:注释

$:变量取值

&:后台进程工作

(:子shell开始

):子shell结束

:使命令持续到下一行

|:管道

<:输入重定向

>:输出重定向

>>:追加重定向

‘:单引号(不具有变数置换的功能)

“:双引号(具有置换功能)

/:路径功能

;:命令分隔符

通配符

如果命令的参数中含有文件名,那么通配符可以带来十分便利的操作

?:代表任何单一字符

*:代表任何字符

[字符组合]:在中括号中的字符都符合,比如[a-z]代表所有的小写字母

[!字符组合]:不在中括号中的字符都符合,比如[!0-9]代表非数字的都符合

Shell使用功能

命令行自动补全

使用命令行自动补全功能可以快速地写出文件名和命令名

Eg:从当前目录跳转到/usr/src/kernels/目录,可以执行以下操作:

[root@rhel ~]# cd /u<Tab>/sr<Tab>/k<Tab>

<TAB>是按【tab】键的意思,使用【tab】键也称为命令行自动补全

命令历史记录

可以查看使用以前操作的命令

使用history命令可以查看命令历史记录,每一条命令前面都会有一个序列号标示

命令语法:

History[选项]

当选项为-c时,意思为清除命令历史记录

当选项为-w时,表示将当前的历史命令写到.bash_history文件,覆盖.bash_history文件的内容

当选项为n时显示最近n个命令历史记录,n代表数字

当选项为-r时,读取历史文件的内容,并把他们作为当前历史

命令排列

如果希望一次执行多个命令,shell允许在不同的命令之间放上特殊的排列字符。命令排列符可以使用两种 ;和&&

  1. 使用;

使用;命令时先执行命令1,不管命令1是否出错,接下来执行命令2

命令语法

命令1;命令2

Eg:使用排列命令;同时执行两个命令

[root@rhel~]# ls /boot;du -hs /root

  1. 使用&&

使用&&命令时,只有当命令1正确运行完毕后,才能执行命令2

命令语法:

命令1&&命令2

使用排列命令&&同时执行两个命令

[root@rhel~]# ls -a /root/bogusdir&&du -sh

命令替换

在Linux系统中,Shell命令的参数可以由另外一个命令的结果来替代,这称为命令替换,命令替换可以使用两种替换字符 $()和’

使用$()

命令语法

命令1 $(命令2)

杀死一个名为less的进程前先得用命令pidof找出相应的进程号,然后以这个进程号为参数运行kill命令,这样就可以结束less进程

使用以下命令

[root@rhel~]#pidof less

7552  //less进程号为7522

[root@rhel~]#kill -9 7552 //杀死进程号为7552的进程

Eg:使用命令替换功能杀死less进程

[root@rhel~]#kill -9 $(pidof less)

//pidof less的命令的输出7552作为命令kill -9的参数,然后就杀死该进程

使用` (tab键上面那个键)

语法:

命令1  `命令2`

这样虽然能减少输入,但可读性差,而且容易和没有替换功能的一般单引号混淆

使用命令替换功能杀死less进程

[root@rhel~]#kill -9 `pidof less`

文件名匹配

文件名匹配使得用户不必一一写出文件名称就可以指定多个文件,这将用到一些特殊的字符,称之为通配符

  1. 通配符

*可匹配一个或多个字符,假设想用rm命令删除当前目录下所有以字符串.bak结尾的文件

除了在rm命令后面写上所有文件名作为参数,还可以使用通配符*

[root@rhel~]#rm *.bak

在本例中告诉shell将命令rm的参数扩展到所有以.bak结尾的文件,shell就将扩展后的参数告诉rm命令,shell在命令执行前,将读取并解释命令行

例如当前目录下包含文件124.bak、346.bak和583.bak,如果只想保留文件583.bak将其余两个文件删除,使用以下命令

[root@rhel~]# rm *4*.bak

Shell就将*4*.bak扩展成所有含4并以.bak结尾的字符串

第二个通配符?在匹配时只能代表一个字符,

[root@rhel~]# ls *.????

重定向

希望将命令的输出结果保存到文件中。或者以文件内容作为命令的参数,这时就需要用到重定向,重定向不使用系统的标准输入端口、标准输出端口或是标准错误端口,而是进行重新的指定

重定向有4种方式分别是:输出重定向、输入重定向。错误重定向,以及同时实现输出和错误重定向

输出重定向

即将某一命令执行的输出保存到文件中,如果已经存在相同的文件,那么覆盖源文件的内容

命令语法

[命令] > [文件]

使用输出重定向将/boot目录的内容保存到/root/abc文件中

[root@rhel~]#ls /boot > /root/abc

使用echo命令和输出重定向创建/root/mm文件,文件内容是hello

[root@rhel~]# echo hello > /root/mm

[root@rhel~]# cat /root/mm

Hello

//显示/root/mm文件,可以看到文件的内容是hello


喜欢 (0)