在linux命令行执行命令,Linux大小写敏感!
【例1】显示当前使用的shell
[root@centos7 ~]# echo ${SHELL}
/bin/bash
【例2】显示当前系统使用的所有shell
[root@centos7 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
【例3】查看/etc/passwd文件最后1行内容,查看/etc/passwd文件第1行内容
[root@centos7 ~]# tail -n 1 /etc/passwd
linux:x:1004:1004::/home/linux:/bin/bash
[root@centos7 ~]#head -n 1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
在linux系统的命令行中,即在shell中可行的命令有两类:内部命令和外部命令,判断是哪种命令:
1、type命令:判断内部或外部
格式:type COMMAND
【例4】type查看内部显示的结果
[root@centos7 ~]# type cd
cd is a shell builtin
【例5】type查看外部命令显示的结果
[root@centos7 ~]# type top
top is /usr/bin/top
2、alias命令:查看或设置命令别名
格式:alias NAME='VALUE'
取消别名:unalias [-a] NAME
-a:表示取消所有别名。
NAME:表示自定义的命令别名名称。
如果别名同原命令同名,要执行原命令时,可使用方式有多种:
\命令名称
'命令名称'
/路径/命令名称
【例6】设置命令别名为bkmysql,实现拷贝/etc/my.cnf到/data/back/my.cnf.bak,设置后查看别名
[root@centos7 ~]# alias bkmysql='cp /etc/my.cnf /data/my.cnf.bak'
[root@Centos7 ~]# alias
alias bkmysql='cp /etc/my.cnf /data/my.cnf.bak'
alias cman='man -M /usr//share/man/zh_CN'
alias cp='cp -i'
alias egrep='egrep --color=auto'
lias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
【例7】把上例中别名设置写在配置文件里,永久生效
有两个文件可以写,~/.bashrc文件仅当对当前用户,/etc/bashrc文件是对所有用户有效。
[root@centos7 ~]# echo "alias bkmysql='cp /etc/my.cnf /data/back/my.cnf.bak'" >>~/.bashrc
[root@centos7 ~]# tail -1 ~/.bashrc
alias bkmysql='cp /etc/my.cnf /data/back/my.cnf.bak'
【例8】不使用ls的别名
上例分别演示了执行4次ls命令的执行结果,第一行是使用命令别名执行,第三行、第五行、第七行都是使用ls原命令执行,观察期不同之处,很直观,别名有颜色显示的区别。
linux简单命令
1、date命令:日期和时间设置
常用选项:
-s:指定时间和日期
%F:日期,显示为数字,格式为:2018-09-05;
%D:显示英制格式,月日年,显示格式为:03/14/18;
%T:时间,显示为数字,格式为:15:52:16;
%Y:年份,只显示完整年份数字(4位数字),显示格式为:2018;
%y:显示年份的后两位,显示格式为:16;
%m:月份,只显示数字,显示格式为:03;
%d:日期,只显示数字,显示格式为:02;
%H:小时,只显示数字,显示格式为(00..23):15;
%k:小时,显示格式为(0..23);
%I:小时,格式为(01..12);
%l:小时,显示格式为(1..12);
%h:显示月份,显示格式为:3月;
%M:分钟,只显示数字,显示格式为:52;
%S:秒钟,只显示数字,显示格式为:16;
%a:缩写星期;
%A:完整星期;
%b:缩写月份;
%B:完整月份;
%r:显示格式为(11:11:04 PM);
%R:同%H%M,格式为(23:37)
%s:从1970年1月1日至此刻所经历的秒数;timestamp;显示格式为:1456905397。
【例9】设定日期为2018年5月24日,11点27份30秒
[root@centos7 ~]# date -s "2018-5-24 11:27:30"
Thu May 24 11:27:30 EDT 2018
【例10】显示当前时间
[root@centos7 ~]# date
Wed Sep 5 23:26:45 CST 2018
2、cal命令:显示日历
格式:cal [options] [[[day] month] year]
常用选项:
-y:显示整年日历。
【例11】显示当前年的年历
[root@centos7 ~]#cal -y
2019
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 1 2 1 2
6 7 8 9 10 11 12 3 4 5 6 7 8 9 3 4 5 6 7 8 9
13 14 15 16 17 18 19 10 11 12 13 14 15 16 10 11 12 13 14 15 16
20 21 22 23 24 25 26 17 18 19 20 21 22 23 17 18 19 20 21 22 23
27 28 29 30 31 24 25 26 27 28 24 25 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 2 3 4 5 6 1 2 3 4 1
7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 8
14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29
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 2 3 4 5 6 1 2 3 1 2 3 4 5 6 7
7 8 9 10 11 12 13 4 5 6 7 8 9 10 8 9 10 11 12 13 14
14 15 16 17 18 19 20 11 12 13 14 15 16 17 15 16 17 18 19 20 21
21 22 23 24 25 26 27 18 19 20 21 22 23 24 22 23 24 25 26 27 28
28 29 30 31 25 26 27 28 29 30 31 29 30
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 1 2 1 2 3 4 5 6 7
6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
【例12】显示当前月的月历
[root@centos7 ~]#cal
June 2019
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
关机命令:halt、poweroff
重启命令:reboot
3、shutdown命令:关机或重启命令
格式:shutdown [OPTIONS...] [TIME] [WALL...]
常用选项:
-h:相当于halt关机命令。
4、用户登录信息查看命令
Whoami命令
Who命令
W命令
这几个命令都能查看用户登录信息,稍有区别。
【例13】whoami命令查看当前登录系统的用户
[root@centos7 ~]# whoami
root
【例14】使用who命令查看当前所有系统登录的用户
[root@centos7 ~]#who
root pts/0 2018-09-05 22:19 (192.168.31.197)
【例15】使用w显示系统当前使用登录会话及所做操作
[root@centos7 ~]#w
23:05:01 up 46 min, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.31.197 22:19 5.00s 0.11s 0.00s w
5、echo命令:显示字符
格式:
echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION
常用选项:
-n:不自动换行;
-e:启用\字符的解释功能。
\a 警报 (声音,无视觉效果)
\n 新行
\0nnn (nnn代表三位ASCII 的八进制编码,查看ASCII表可用命令 man ascii)
\b 退格键(后面的t吃掉前面的a,\b后面不添加内容则不起作用)
\r 回车,光标移至行首,不换行(\r后面的内容从第一行重新写入,因为没有换行,后面无内容则不起作用)
\c 不换行
【例16】显示字符abc
[root@centos7 ~]# echo "abc"
abc
[root@centos7 ~]#echo -e "abc\c"
abc[root@centos7 ~]#
【例17】显示PATH变量的值
[root@centos7 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
【例18】显示abc不换行
[root@centos7 ~]# echo -n "abc"
abc[root@centos7 ~]#
6、命令行扩展:$()或``
【例19】把一个命令的输出打印给另一个命令的参数
[root@centos7 ~]# echo "i am `whoami`"
i am root
[root@centos7 ~]# echo "i am $(whoami)"
i am root
[root@centos7 ~]# echo "i am whoami"
i am whoami
7、大括号扩展:{}
【例20】数子、字符扩展
[root@centos7 ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@centos7 ~]# echo {a..f}
a b c d e f
8、Tab键补全:
功能:为了减少用户输入完整的命令或路径,而自动显示出来。系统会根据现有环境,自动搜寻匹配的字符,如果单击一次Tab键,能找出匹配项,则显示;如果不能,可以敲击两次Tab键,列出可选择的项目,但如果没有列出项目,则说明无匹配项。
9、命令历史使用方法:
在linux系统里,所有敲击过的命令,会有历史记录,这个历史记录由配置文件设定相关的属性。命令历史的配置文件在~/.bash_histroy。
重复前一个命令:
-
按方向键上,调出,按回车即执行
-
输入!!并回车执行
-
输入!-1并回车执行
-
history命令查看命令历史记录
-
输入!n,执行history命令输出对应序号n的命令
-
!string:
【例21】分别演示以上几种方法
[root@centos7 ~]# ll test.txt
-rw-r--r-- 1 root root 39 May 22 05:33 test.txt
[root@centos7 ~]# !!
ll test.txt
-rw-r--r-- 1 root root 39 May 22 05:33 test.txt
[root@centos7 ~]# !-1
ll test.txt
-rw-r--r-- 1 root root 39 May 22 05:33 test.txt
[root@centos7 ~]# history
...
1050 ll test.txt
1051 history
[root@centos7 ~]# !1050
ll test.txt
-rw-r--r-- 1 root root 39 May 22 05:33 test.txt
[root@centos7 ~]# !his
history
10、调用上一次命令最后一个参数:有多种方法
1.输入:!$
2.按Esc键松开后,再按.(点号)
【例22】调用上一次命令最后一个参数
[root@centos7 ~]#ll /etc/fstab
-rw-r--r--. 1 root root 784 Aug 11 22:13 /etc/fstab
[root@centos7 ~]#file !$
file /etc/fstab
/etc/fstab: ASCII text
11、命令历史环境变量:
系统默认的环境变量都使用大写字母,显示环境变量的内容,则需要使用echo $环境变量名称的形式查看其值。而要想修改或设置环境变量,有两种方法,一种是可直接在命令行使用export命令方式设置环境变量,则立即生效,退出shell登录或服务器重启失效,另一种是把export命令设置环境变量代码写到配置文件里,重读配置文件则永久生效。重读配置文件生效有两种方法:一种是使用source命令重读配置文件生效,另一种使用点号。
HISTISIZE:命令历史记录条数
【例23】查看命令历史记录条数
[root@centos7 ~]# echo $HISTSIZE
1000
【例24】临时修改环境变量历史记录条数为2000
[root@centos7 ~]# export HISTSIZE=2000
[root@centos7 ~]# echo $HISTSIZE
2000
【例25】永久修改环境变量历史记录条数为2000
[root@centos7 ~]# echo "export HISTSIZE=2000" >> ~/.bash_profile
[root@centos7 ~]# source ~/.bash_profile
或使用点号使配置文件永久生效:
[root@centos7 ~]# . ~/.bash_profile
HISTFILE:历史文件保存的变量
【例26】显示历史文件保存的完整路径
[root@centos7 ~]# echo $HISTFILE
/root/.bash_history
当然也可随意设置,方法同上。
HISTFILESIZE:历史文件记录历史的条数
【例27】查看历史文件记录历史的条数
[root@centos7 ~]# echo $HISTFILESIZE
1000
HISTTIMEFRMAT:历史命令记录的格式
【例28】设置历史命令显示执行的日期和时间
[root@centos7 ~]# export HISTTIMEFORMAT="%F %T "
[root@centos7 ~]# history
1066 2018-09-05 23:21:27export HISTTIMEFORMAT="%F %T"
1067 2018-09-05 23:21:29history
...
12、Bash中常用快捷键:
Ctrl+l:清屏,相当于clear命令。
Ctrl+c:终止命令。
Ctrl+z:挂起命令。
Ctrl+a:光标移到命令行首,相当于Home键。
Ctrl+e:光标移到命令行尾,相当于End键。
Ctrl+u:从光标处删除至命令行首。
Ctrl+k:从光标处删除至命令行尾。
Alt+r:删除当前命令行整行。注意在xshell软件中Alt键冲突,若想要使用则需要重置。
13、命令的使用帮助:
在日常学习命令中,如果遇到不熟悉的命令或要了解一个命令的详细参数功能,就需要查找相关手册,知道如何获取相关命令帮助,就显得尤为重要,下面为大家介绍几种获取帮助的命令和方法。
【例29】使用man命令查看man命令的使用手册
[root@centos7 ~]# man man
解释在该界面内容表示的意义:
各部分功能说明:
SECTION:
name:命令的名称及功能描述;
SYNOPSIS:命令使用格式摘要;
DESCRIPTION:详细描述信息;
OPTIONS:选项详细说明;
AUTHOR:作者;
BUGS:报告程序bug的途径;
EXAMPLES:使用示例;
SEE ALSO:额外参考;
FILES:相关配置文件。
SYNOPSIS:
[]:可选内容;
<>:必须提供的内容;
a|b|c:多选一;
...:同类内容可出现多次。
man章节:
1 Executable programs or shell commands用户命令帮助文档;
2 System calls (functions provided by the kernel)系统调用帮助文档(由内核提供的函数);
3 Library calls (functions within program libraries)库调用帮助文档(由库程序提供的函数);
4 Special files (usually found in /dev)特殊文件帮助文档;
5 File formats and conventions eg /etc/passwd配置文件的格式的帮助文档;
6 Games游戏帮助文档;
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)杂项帮助文档;
8 System administration commands (usually only for root)系统管理命令使用帮助文档;
9 Kernel routines [Non standard]内核程序代码的帮助文档。
注意:当一个命令在多个章节都有时,默认显示第一个检索到的章节;
知道了里面内容分别表示什么意思后,再查询的相关操作:
因为man命令里面查询翻页等功能,是调用less命令的功能实现的,因此,打开的man命令手册界面,查询操作同less命令使用:
翻屏:
空格键,Ctrl+f:向文件尾部翻一屏;
b:向文件首部翻一屏;
d:向文件尾部翻半屏;
u:向文件首部翻半屏;
回车键,Ctrl+#:向文件尾部翻一行;
y,k:向文件首部翻一行;
G:跳转至最后一行;
#G:跳转至第#行;
关键字搜索:
/KEYWORD:可使用模式搜索:向文件尾部搜索;
?KEYWORD:向文件首部搜索;
n:与查找命令方向相同;
N:与查找命令方向相反。
退出:
q:退出。
14、COMMAND -help:查询命令的简要帮助
【例30】查询top命令的简要帮助
[root@centos ~]# top --help
top: inappropriate '-help'
Usage:
top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
在日常学习中,有时使用网络非常方便,通过互联网查询相关的知识也是一种能力,例如使用google搜索引擎。还有就是直接访问发行版或linux相关技术社区的官方站点。相信大家可自行在网络搜索各种技术站点。