Linux:Linux入门

在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

关机命令:haltpoweroff

重启命令: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. 按方向键上,调出,按回车即执行

  2. 输入!!并回车执行

  3. 输入!-1并回车执行

  4. history命令查看命令历史记录

  5. 输入!n,执行history命令输出对应序号n的命令

  6. !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相关技术社区的官方站点。相信大家可自行在网络搜索各种技术站点。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值