您的位置:首页 > 运维架构 > Linux

Linux命令简介

2017-11-22 20:34 399 查看

1. 命令格式说明

command [-options] parameter1 parameter2 ...


上述命令详细说明如下:

一行命令中第一个输入的部分绝对是[命令(command)]或可执行文件(shell、script等);

command为指令的名称,例如切换工作目录的命令cd等;

[]意思为可选项,并不存在于实际的命令中,加入选项通常会在选项前加”-“符号,例如
-h
;有时候会使用选项的完整全名,则选项前加”–”符号,例如
--help


parameter1 parameter2…为依附在选项后面的参数,或者是command的参数;

命令,选项,参数等这几个元素之间以空格来区分,不论空几格,shell都视为一格。所以空格是很重要的特殊字符,例如

[root@repo ~]# ls -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  install.log         .ssh     .viminfo
..  .bash_history    .bash_profile  .cshrc   install.log.syslog  .tcshrc
[root@repo ~]# ls       -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  install.log         .ssh     .viminfo
..  .bash_history    .bash_profile  .cshrc   install.log.syslog  .tcshrc


按下[Enter]后,命令开始执行。[Enter]代表着一行指令的开始启动;

指令太长的时候,可以使用反斜杠
\
来换行,加入
\
后按[Enter]后命令不会执行,而是转到下一行继续编辑,例如:

[root@repo ~]# ls \
> -l
total 44
-rw-------. 1 root root  1233 Nov 21 01:57 anaconda-ks.cfg
-rw-r--r--. 1 root root 28268 Nov 21 01:57 install.log
-rw-r--r--. 1 root root  7572 Nov 21 01:56 install.log.syslog


在Linux系统中,严格区分大小写,例如
date
Date
并不同

[root@repo ~]# date
Tue Nov 21 04:47:25 CST 2017
[root@repo ~]# Date
-bash: Date: command not found


2. 几个日期语言相关的命令

(1) 显示日期与时间的命令:date

[root@repo ~]# date
Tue Nov 21 04:51:05 CST 2017
[root@repo ~]# date +%Y/%m/%d
2017/11/21
[root@repo ~]# date +"%Y-%m-%d %H:%M"
2017-11-21 04:53


从上面的例子可以知道,命令之后的选项前面除了带有”-“符号,也有可能带有”+”符号,如果空格是作为选项或参数的一部分,要用
""
引起来

(2) 显示日历的命令:cal

# 显示今天的日历
[root@repo ~]# cal
November 2017
Su Mo Tu We Th Fr Sa
1  2  3  4
5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

# 显示指定年份的日历
[root@repo ~]# cal 2017
2017

January               February                 March
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
1  2  3  4  5  6  7             1  2  3  4             1  2  3  4
8  9 10 11 12 13 14    5  6  7  8  9 10 11    5  6  7  8  9 10 11
15 16 17 18 19 20 21   12 13 14 15 16 17 18   12 13 14 15 16 17 18
22 23 24 25 26 27 28   19 20 21 22 23 24 25   19 20 21 22 23 24 25
29 30 31               26 27 28               26 27 28 29 30 31

April                   May                   June
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
1       1  2  3  4  5  6                1  2  3
2  3  4  5  6  7  8    7  8  9 10 11 12 13    4  5  6  7  8  9 10
9 10 11 12 13 14 15   14 15 16 17 18 19 20   11 12 13 14 15 16 17
16 17 18 19 20 21 22   21 22 23 24 25 26 27   18 19 20 21 22 23 24
23 24 25 26 27 28 29   28 29 30 31            25 26 27 28 29 30
30
July                  August                September
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
1          1  2  3  4  5                   1  2
2  3  4  5  6  7  8    6  7  8  9 10 11 12    3  4  5  6  7  8  9
9 10 11 12 13 14 15   13 14 15 16 17 18 19   10 11 12 13 14 15 16
16 17 18 19 20 21 22   20 21 22 23 24 25 26   17 18 19 20 21 22 23
23 24 25 26 27 28 29   27 28 29 30 31         24 25 26 27 28 29 30
30 31
October               November               December
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
1  2  3  4  5  6  7             1  2  3  4                   1  2
8  9 10 11 12 13 14    5  6  7  8  9 10 11    3  4  5  6  7  8  9
15 16 17 18 19 20 21   12 13 14 15 16 17 18   10 11 12 13 14 15 16
22 23 24 25 26 27 28   19 20 21 22 23 24 25   17 18 19 20 21 22 23
29 30 31               26 27 28 29 30         24 25 26 27 28 29 30
31
# 显示指定年月的日历
[root@repo ~]# cal 10 2016
October 2016
Su Mo Tu We Th Fr Sa
1
2  3  4  5  6  7  8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

# 非法的命令会被系统提示
[root@repo ~]# cal 13 2016
cal: illegal month value: use 1-12


(3) 简单好用的计算器:bc

# 输入bc,看到一些版本信息,然后进入等待输入状态
[root@repo ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
# 可以手动输入要计算的式子,Enter看结果
1+2+3+4
10
10-5
5
10*6
60
10%3
1
10^2
100
10/100 # bc程序预设仅输出整数,如果需要输出小数,需要指定小数点位数
0
scale=3 # 指定小数点位数为3
10/100
.100
1/3
.333
quit # quit退出计算器程序
[root@repo ~]#


(4) 显示系统支持的语言:locale

[root@repo ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

# 这里只支持英文,如果支持中文,可以进行语言环境的切换
[root@repo ~]# LANG=cn_ZH.UTF-8
# LANG只与输出信息有关,如果需要更改其他不同的信息,要同步更新LC_ALL才行
[root@repo ~]# export LC_ALL=cn_ZH.UTF8
-bash: warning: setlocale: LC_ALL: cannot change locale (cn_ZH.UTF8)
# 因为我们没有安装中文的语言环境,所以是设置失败的


根据以上例子我们可以得出,下达一个命令后,会发生两个主要的情况:

- 一种是该命令直接显示结果然后回到命令提示符等待下一个命令

- 一种是进入到该命令的环境,知道结束时才回到提示字符的环境

3. 常见系统管理命令

(1) 挂载外部设备

挂载是一个非常重要的功能,使用非常频繁。它指将一个设备(通常是存储设备,可以挂载

光盘、硬盘、磁带、光盘镜像文件等)挂接到一个已存在的目录上(这个目录可以不为空,

但挂载后这个目录下以前的内容将不可用)。

需要理解的是,Linux 操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成

一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存

在的目录上,然后通过访问这个目录来访问存储设备。

挂载需要有挂载源挂载点

<1> 挂载光驱

在常用挂载目录/mnt 下创建一个目录 cdrom 用来进行挂载:

mkdir /mnt/cdrom


将挂载源设备/dev/cdrom 挂载到该挂载点(/mnt/cdrom)上:

mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/


注:

-t 文件系统类型,iso9660 表示光盘或者光盘镜像

-o:挂载方式,ro 表示以只读方式,loop 表示把挂载的设备当做一个磁盘分区

<2> 挂载光盘镜像文件(.iso 文件)

我们准备一个镜像文件:
CentOS-6.7-x86_64-bin-DVD1.iso


再准备一个挂载目录:
mkdir /mnt/centos


mount -t iso9660 -o loop /root/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/centos


<3> 设置挂载配置永久有效

挂载的资源在重启后即失效,需要重新挂载。要想自动挂载,可以将挂载信息设置到

/etc/fstab
配置文件中,如下:

/dev/cdrom  /mnt/cdrom  iso9660     defaults    0   0
/root/CentOS-6.7-x86_64-bin-DVD1.iso    /mnt/centos     iso9660     defaults(或者ro,loop)    0   0


信息意义
第一列/dev/cdrom挂载源,要挂在的磁盘分区或者存储设备,或者文件系统
第二列/mnt/cdrom挂载点,挂载位置
第三列iso9660文件系统类型,ext4 文件系统,swap 表示交换分区,……
第四列defaults挂载参数
第五列0表示 dump 选项,dump 工具通过这个选项位置上的数字来决定文件系统是否需要备份。如果是 0,dump 就会被忽略,事实上大多数的 dump 设置都是 0
第六列0读取文件系统时候的检查顺序,允许的数字是 0,1,2,根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为 2,0 表示不检查

<4> 卸载,使用 umount 命令

umount /mnt/cdrom


(2) 统计文件或者文件夹大小

<1> 存储空间查看:df -h

[root@repo ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        18G  3.2G   14G  19% /
tmpfs           491M     0  491M   0% /dev/shm
/dev/sda1       190M   36M  145M  20% /boot
/dev/sr0        2.1G  2.1G     0 100% /mnt/cdrom1
/dev/sr1        3.7G  3.7G     0 100% /mnt/cdrom2


<2> 统计指定路径下的所有子目录和文件的大小:du -sh

[root@repo ~]# du -sh /mnt/cdrom1/Packages
2.1G    /mnt/cdrom1/Packages


(3) 系统服务管理

<1> 跟服务相关的基本使用命令

service --status-all # 查看系统所有的后台服务进程
service 服务名(比如sshd) status # 查看指定的后台服务进程的状态
service sshd stop # 停止
service sshd start # 开始
service sshd restart # 重启


<2> 配置后台服务进程的开机自启

chkconfig httpd on ## 让 httpd 服务开机自启
chkconfig httpd off ## 让 httpd 服务开机不要自启
[root@hadoop01 mnt]# chkconfig httpd off
[root@hadoop01 mnt]# chkconfig --list | grep httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# 设置在指定的系统启动级别中httpd服务的开启
[root@hadoop01 mnt]# chkconfig --level 35 httpd on
[root@hadoop01 mnt]# chkconfig --list | grep httpd
httpd 0:off 1:off 2:off 3:on 4:off 5:on 6:of
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 常用命令